SQL-Injection und JSON-Injection

Injektionsfehler wie SQL-, NoSQL-, OS- und LDAP-Injektion treten auf, wenn nicht vertrauenswürdige Daten als Teil eines Befehls oder einer Abfrage an einen Interpreter gesendet werden. Die feindlichen Daten des Angreifers können den Interpreter dazu bringen, unbeabsichtigte Befehle auszuführen oder ohne entsprechende Berechtigung auf Daten zuzugreifen.

Einschleusen von Code über SQL oder JSON sind ernste Gefahren.

Zeta Uploader nutzt für den Datenbank-Zugriff ausschließlich parametrisierte SQL-Abfragen, die über das ORM Microsoft Entity Framework ausgeführt werden. Für JSON-Serialisierung und -Deserialisierung nutzt Zeta Uploader die etablierte und gut getestete sowie stets aktualisierte JSON-Bibliothek Json.NET von Newtonsoft.

Dadurch wird SQL-Injection verhindert.

Defekte Authentifizierung

Anwendungsfunktionen im Zusammenhang mit der Authentifizierung und dem Sitzungsmanagement sind oft falsch implementiert, so dass Angreifer Passwörter, Schlüssel oder Sitzungs-Token gefährden oder andere Implementierungsfehler ausnutzen können, um vorübergehend oder dauerhaft die Identität anderer Benutzer anzunehmen.

Zeta Uploader nutzt als Authentifizierung für eingebaute Benutzerkonten und die Authentifizierung über Active Directory die Forms Authentication von Microsoft und darauf aufbauende Sicherheitsmechanismen.

Wenn Sie Active-Directory-Authentifizierung konfiguriert haben und diese nutzen, werden Kennwörter immer mit dem dahinterliegenden Active Directory ausgetauscht und nie mit der Webanwendung selbst.

Zusätzlich können Sie Zeta Uploader konfigurieren, dass die Benutzer via SAML authentifiziert werden (z. B. mit den Microsoft Active Directory Federation Services ADFS). Das verlagert die komplette Authentifizierung in die externe SAML-Anwendung.

Sensible Datenexposition

Viele Webanwendungen und APIs schützen sensible Daten wie Finanzdaten und Daten aus dem Gesundheitswesen nicht angemessen. Angreifer können solche schwach geschützten Daten stehlen oder ändern, um Kreditkartenbetrug, Identitätsdiebstahl oder andere Verbrechen zu begehen. Sensible Daten können ohne zusätzlichen Schutz, wie z. B. Verschlüsselung im Ruhezustand oder während der Übertragung, gefährdet werden und erfordern besondere Vorsichtsmaßnahmen beim Austausch mit dem Browser.

Zeta Uploader übt sich, wo immer es nur geht, an Datensparsamkeit. Die Übertragung zwischen Client und Server erfolgt standardmäßig immer SSL-Verschlüsselt. Wir empfehlen Ihnen, Ihre Installation von Zeta Uploader ebenfalls nur mit HTTPS zu betreiben.

Zeta Uploader benötigt zum Betrieb keinerlei sensible Daten wie Finanz- oder Gesundheitsdaten. Kennwörter für die Anmeldung werden, sofern überhaupt benötigt, stets gehashed und gesalted in der Datenbank abgelegt.

Benutzer können Anhänge mit Kennwort schützen lassen (optional oder konfigurierbar auch zwingend). Sie können zusätzlich auf Ihrer Zeta-Uploader-Installation die Festplatte mit Microsoft Bitlocker verschlüsseln, so dass auch Anhänge im Dateisystem verschlüsselt abgelegt werden.

Externe XML-Einheiten (XXE)

Viele ältere oder schlecht konfigurierte XML-Prozessoren bewerten externe Entitätsreferenzen in XML-Dokumenten. Externe Einheiten können verwendet werden, um interne Dateien mithilfe des Datei-URI-Handlers, der internen Dateifreigabe, des internen Port-Scans, der Remotecodeausführung und von Denial-of-Service-Angriffen offenzulegen.

Zeta Uploader nutzt das neueste .NET Framework und den darin enthaltenen XML-Stack. Administratoren werden angehalten, ihre Installation von Zeta Uploader mittels Windows Updates stets auf dem neuesten Stand zu halten und so Patches und Fehlerkorrekturen im .NET Framework unmittelbar Zeta Uploader bereit zu stellen.

Defekte Zugriffskontrolle

Einschränkungen dessen, was authentifizierte Benutzer tun dürfen, werden oft nicht ordnungsgemäß durchgesetzt. Angreifer können diese Fehler ausnutzen, um auf unbefugte Funktionen und/oder Daten zuzugreifen, wie z.B. auf die Konten anderer Benutzer zuzugreifen, sensible Dateien anzuzeigen, die Daten anderer Benutzer zu ändern, Zugriffsrechte zu ändern usw.

URL-Aufrufe auf Ressourcen werden in Zeta Uploader jeweils mit Benutzerprüfung durchgeführt. Benutzer erhalten nur Zugriff auf anonym aufrufbare Ressourcen sowie auf Ressourcen, auf die der Benutzer berechtigt ist.

Fehlkonfiguration der Sicherheit

Sicherheitsfehlkonfiguration ist das am häufigsten auftretende Problem. Dies ist in der Regel das Ergebnis von unsicheren Standardkonfigurationen, unvollständigen oder Ad-hoc-Konfigurationen, Open Cloud Storage, falsch konfigurierten HTTP-Headern und ausführlichen Fehlermeldungen mit sensiblen Informationen. Nicht nur alle Betriebssysteme, Frameworks, Bibliotheken und Anwendungen müssen sicher konfiguriert, sondern auch rechtzeitig gepatcht und aktualisiert werden.

Zeta Uploader nutzt die neuesten Web-Technologien von Microsoft, einem der größten Softwareanbieter der Welt, die sehr viel Wert auf Sicherheit und regelmäßige Updates legen. Zeta Uploader nutzt keine externen Cloud-Dienste und kann beispielsweise auch komplett exklusiv für den Betrieb im Intranet konfiguriert werden. Die Fehlerseiten von Zeta Uploader sind Endbenutzer-freundlich gehalten, ausführliche Fehler werden im Server-lokalen Protokoll gespeichert.

Standortübergreifendes Scripting (XSS)

XSS-Fehler treten immer dann auf, wenn eine Anwendung nicht vertrauenswürdige Daten in einer neuen Webseite ohne ordnungsgemäße Validierung oder Flucht enthält, oder wenn sie eine bestehende Webseite mit benutzerdefinierten Daten über eine Browser-API aktualisiert, die HTML oder JavaScript erstellen kann. XSS ermöglicht es Angreifern, Skripte im Browser des Opfers auszuführen, die Benutzersitzungen zu entführen, Websites zu verunstalten oder den Benutzer auf bösartige Websites umzuleiten.

Zeta Uploader beschränkt (konfigurierbar) die Art von Inhalt, die in Felder eingegeben werden können. Konfigurieren Sie möglichst nur Textfelder und keinen HTML-Editor für die Eingabe durch Anwender, um die Angriffsfläche nochmals zu reduzieren.

Unsichere Deserialisierung

Unsichere Deserialisierung führt oft zur Ausführung von Remote-Code. Selbst wenn Deserialisierungsfehler nicht zur Ausführung von Remote-Code führen, können sie zur Ausführung von Angriffen verwendet werden, einschließlich Replay-Angriffen, Injection-Angriffen und Privilegien-Eskalationsangriffen.

Die XML- und JSON-Daten, die die Anwendung verlassen und dort eintreffen werden mit den jeweils neuesten Versionen der im .NET Framework eingebauten XML-Routinen sowie mithilfe der JSON-Bibliothek von Newtonsoft verarbeitet.

Zeta Uploader nutzt jeweils die neues verfügbare stabile Version der Bibliotheken.

Verwendung von Komponenten mit bekannten Schwachstellen

Komponenten wie Bibliotheken, Frameworks und andere Softwaremodule werden mit den gleichen Rechten wie die Anwendung ausgeführt. Wenn eine anfällige Komponente ausgenutzt wird, kann ein solcher Angriff einen schweren Datenverlust oder eine Serverübernahme ermöglichen. Anwendungen und APIs, die Komponenten mit bekannten Schwachstellen verwenden, können den Schutz von Anwendungen beeinträchtigen und verschiedene Angriffe und Auswirkungen ermöglichen.

Zeta Uploader versucht mit möglichst wenigen externen Komponenten auszukommen. Alle verwendeten Bibliotheken werden stets in der aktuellsten verfügbaren stabilen Version im Projekt verwendet.

Unzureichende Protokollierung und Überwachung

Unzureichende Protokollierung und Überwachung, gepaart mit fehlender oder ineffektiver Integration mit der Reaktion auf Vorfälle, ermöglichen es Angreifern, Systeme weiter anzugreifen, die Persistenz aufrechtzuerhalten, zu mehr Systemen zu wechseln und Daten zu manipulieren, zu extrahieren oder zu zerstören. Die meisten Studien zeigen, dass die Zeit bis zur Feststellung einer Verletzung mehr als 200 Tage beträgt, was in der Regel eher von externen Parteien als von internen Prozessen oder der Überwachung erkannt wird.

Zeta Uploader sowie die verwendeten System-Komponenten wie Microsoft Internet Information Services IIS und Microsoft SQL Server sind konfigurierbar in der Lage ausführliche Protokolle zu erstellen. Darüber hinaus gibt es eine schlanke Health-API in Zeta Uploader um die grundlegende Verfügbarkeit zu überprüfen.

In Ihrer Installation von Zeta Uploader sollten Sie die Protokolle der Komponenten entsprechend in Ihre Überwachungs-Infrastruktur integrieren und automatische Trigger bzw. manuelle Prüfungen nutzen, um Verletzungen und Vorfälle schnell zu erkennen.

Weitere Tipps

Nachfolgende Tipps helfen Ihnen, Ihre Installation von Zeta Uploader zu "härten", also immuner gegen potentielle Bedrohungen aus dem Internet zu machen:

  • Nutzen Sie eine Web Application Firewall (WAF) vorgeschaltet vor Zeta Uploader.
  • Installieren Sie einen Virenscanner auf Ihrem Server.
  • Betreiben Sie Zeta Uploader in einer DMZ.
  • Betreiben Sie Zeta Uploader hinter einer Firewall.
  • Nutzen Sie ein Intrusion Detection System um Ihre Server zu schützen.
  • Beschränken Sie die Nutzerkreise (Anzahl, Domains, usw.) von Zeta Uploader auf das absolut nötige Minimum.
  • Konfigurieren Sie Zeta Uploader so, dass möglichst lange Kennwörter verwendet werden.
  • Lassen Sie Penetration Tests auf Ihre Webserver und Web-Infrastruktur durchführen.
  • Fragen Sie uns nach Empfehlungen für Ihre individuelle Netzwerk-Infrastruktur-Konfiguration.