Die wichtigsten Sicherheitslücken in Web-Anwendungen: OWASP Top Ten
Die OWASP TOP 10 bietet einen einfachen Überblick über relevante Sicherheitslücken. Sie wird regelmäßig vom Open Web Application Security Project erstellt.

Die OWASP TOP 10 bietet Unternehmen einen kompakten Überblick über die relevantesten Sicherheitslücken des Jahres. Sie wird regelmäßig vom Open Web Application Security Project erstellt und dient als Grundlage für die Planung und Umsetzung wirksamer Sicherheitsmaßnahmen. Das OWASP ist eine Non-Profit-Organisation mit dem Ziel, die Sicherheit von Webanwendungen zu verbessern.
Die OWASP Top 10 im Überblick
Injektion
Injektionen zählen seit Jahrzehnten zu den kritischsten Sicherheitslücken. Viele große Datenleaks in der Vergangenheit basierten auf SQL-Injektionen. Dabei wird eine reguläre, vom Nutzer gesteuerte Datenübermittlung missbraucht, um sich Zugang zur Datenbank zu verschaffen. Eine Injektions-Schwachstelle entsteht, wenn vom Nutzer übermittelte Daten nicht vom System validiert werden. Solche Angriffspunkte lassen sich im Rahmen einer Code-Analyse aufspüren und schließen.
Fehlerhafte Authentifizierung
Auf Platz 2 der OWASP Top 10 findet sich das Eingangstor selbst. Ein fehlerhaftes Authentifizierungssystem erlaubt es Angreifern, sich durch die Vordertür Zugriff auf das System zu verschaffen. Ein typischer Fehler ist beispielsweise der Verzicht auf eine Zwei-Faktor-Authentifizierung. Fehlt diese zusätzliche Barriere, ist das System nur so sicher wie die Zugangsdaten des nachlässigsten Nutzers. Kommen dann noch vorhersagbare Nutzernamen zum Einsatz (z. B. [email protected]), können Angreifer Passwörter per Brute-Force-Angriff erraten.
Sensible Daten
Webanwendungen basieren auf Kommunikation. Dabei werden auch sensible Daten wie personenbezogene Informationen, Passwörter oder Kontodaten ausgetauscht. Bei einem Man-in-the-Middle-Angriff schaltet sich der Angreifer zwischen die beiden kommunizierenden Systeme und liest die übertragenen Daten mit. Dabei gibt er sich gegenüber dem System als legitimes Ziel aus. Den wirksamsten Schutz bietet die Verschlüsselung des gesamten Datenaustauschs. Ohne den passenden Schlüssel können sich Angreifer dann nicht mehr als berechtigter Empfänger ausgeben.
XML
XML ist eine Markup-Sprache, die lange genutzt wurde, um sowohl menschen- als auch maschinenlesbare Daten zu übermitteln. XML-Dateien kommen in der IT-Welt nahezu überall zum Einsatz: Jede .doc-Datei besteht aus mehreren XML-Dateien in einem Container, und auch Webanwendungen setzen auf XML. Aufgrund seiner Komplexität entstehen dabei jedoch häufig Sicherheitslücken. Angreifer können beispielsweise den XML-Parser manipulieren, sodass er sensible Daten an externe Entitäten sendet. XML wird daher zunehmend seltener eingesetzt. Den besten Schutz bietet die Umstellung auf ein einfacheres Format wie JSON, das ebenfalls von Menschen und Maschinen lesbar ist und in nahezu jeder Programmiersprache verarbeitet werden kann.
Lückenhafte Zugriffskontrolle
Während der Angreifer bei einem Authentifizierungsangriff durch die Vordertür kommt, klettert er bei einer lückenhaften Zugriffskontrolle durch das offene Fenster direkt daneben. Ein einfaches Beispiel: Versucht ein Nutzer über die Hauptseite auf unternehmen.de/mitglieder zuzugreifen, wird er auf die Login-Seite weitergeleitet. Gibt er jedoch unternehmen.de/mitglieder/sensibledaten direkt in den Browser ein, findet keine Berechtigungsprüfung statt. Unternehmen können ihre Zugriffskontrolle durch Autorisierungstokens verbessern. Jeder Nutzer erhält nach der Anmeldung einen Token, den das System bei jeder Anfrage abfragt. So wird jeder einzelne Zugriff kontrolliert, ohne dass ständige Passwortabfragen die Nutzererfahrung beeinträchtigen.
Sicherheitsrelevante Fehlkonfiguration
Fehlkonfigurationen treten beispielsweise dann auf, wenn die Standardkonfiguration unverändert übernommen wird. Sicherheitsrelevant wird dies, wenn die Standardkonfiguration Lücken aufweist oder zu detaillierte Fehlermeldungen erzeugt, die interne Systeminformationen preisgeben.
Cross-Site Scripting
Cross-Site-Scripting bezeichnet die Ausführung von schädlichem JavaScript-Code, der in einer URL eingebettet ist. Ein Angreifer könnte beispielsweise in einem E-Mail-Link Code verstecken, der anschließend im Browser des Empfängers ausgeführt wird. Moderne Entwicklungsframeworks bieten integrierten Schutz vor XSS-Angriffen. Durch die Umstellung auf ReactJS oder Ruby on Rails lässt sich diese Sicherheitslücke weitgehend schließen.
Unsichere Deserialisierung
Serialisierung und Deserialisierung gewinnen mit der zunehmenden Verbreitung von Video-Streaming und Cloud-Anwendungen an Bedeutung. Serialisierung bezeichnet die Umwandlung von Objekten in ein anderes Format, etwa zur Übertragung oder Speicherung. Die Deserialisierung wandelt diese Objekte zurück in ein für die Anwendung nutzbares Format. Dabei können Angreifer potenziell schädliche Daten in das Objekt einschleusen. Dies ermöglicht unterschiedlichste Angriffe -- von DDoS-Attacken bis hin zur Remote Code Execution.
Die Sicherheitslücke bei der Deserialisierung lässt sich nicht grundsätzlich schließen, da die Datenkonvertierung dem Vorgang inhärent ist. Nur das vollständige Verbot der Deserialisierung aus nicht vertrauenswürdigen Quellen beseitigt das Risiko. Ist die Anwendung auf Deserialisierung angewiesen, bleibt nur die kontinuierliche Überwachung des Vorgangs, um potenzielle Angriffe frühzeitig zu erkennen.
Veralteter Code, Bibliotheken und mehr
Moderne Webentwicklung ist hochgradig arbeitsteilig: Entwickler erfinden nicht jedes Mal das Rad neu, sondern greifen auf Bibliotheken, Frameworks und Module anderer Entwickler zurück. Das machen sich Angreifer zunutze, indem sie die eingesetzten Komponenten systematisch auf Schwachstellen untersuchen. Besonders lohnend ist das, weil manche Komponenten auf Millionen von Websites zum Einsatz kommen. Eine einzige Sicherheitslücke kann Angreifern so potenziell Zugriff auf eine Vielzahl von Websites verschaffen. In der heutigen Entwicklungslandschaft ist der Verzicht auf externe Komponenten keine realistische Option. Stattdessen sollten Sie nicht mehr benötigte Komponenten konsequent entfernen, um die Angriffsfläche so gering wie möglich zu halten.
Unzureichende Protokollierung und Überwachung
Neben Schwachstellen, die direkten Zugriff auf das System ermöglichen, sind häufig auch die Überwachungs- und Protokollierungsmaßnahmen unzureichend. Die Folge: Bis ein Angriff erkannt wird, vergeht wertvolle Zeit, in der der Angreifer weiteren Schaden anrichten kann. Um Angriffe schnell zu erkennen und Schäden zu minimieren, sollten Sie Überwachungsmaßnahmen daher von Anfang an implementieren.
OWASP TOP 10 von Anfang an berücksichtigen und Anwendungssicherheit verbessern
Die OWASP Top 10 sind ein wertvolles Werkzeug, das Sie bereits in der Planungsphase berücksichtigen sollten. So lassen sich bestimmte Sicherheitslücken schon auf Architekturebene schließen. Das macht die Anwendung sicherer und die Umsetzung kostengünstiger.