Das Open Webanwendung Security Project (OWASP) ist eine gemeinnützige Organisation mit dem Ziel, die Sicherheit von Webanwendungen zu verbessern. OWASP verfolgt diese Mission, indem es Entwicklern kostenlosen Zugriff auf eine Vielzahl von Sicherheitsressourcen bietet, darunter Schwachstellenlisten, bewährte Sicherheitspraktiken, absichtlich anfällige Systeme zum Üben von Webanwendungstests und mehr. OWASP hat auch die Entwicklung von Anwendungssicherheitstesttools unterstützt und veranstaltet mehrere jährliche Konferenzen auf der ganzen Welt.
OWASP hat eine Reihe von Ressourcen entwickelt, die die häufigsten Schwachstellen beschreiben, die in verschiedenen Systemen vorhanden sind, darunter Webanwendung, API, mobile Geräte und mehr. Die bekannteste davon ist die OWASP Top Ten, die die zehn häufigsten und wirkungsvollsten Schwachstellen beschreibt, die in produktiven Webanwendungen auftreten. Diese Liste wird alle paar Jahre aktualisiert und basiert auf einer Kombination aus Sicherheitstestdaten und Umfragen unter Fachleuten der Branche.
Die aktuellste Version der OWASP-Top-10-Liste wurde 2021 veröffentlicht. Diese Ressource bietet Informationen zu den häufigsten Schwachstellen, Beispiele für jeden Typ, bewährte Methoden zu deren Vermeidung und Beschreibungen, wie die Schwachstelle ausgenutzt werden kann. Darüber hinaus enthält jede Schwachstelle Verweise auf verwandte Common Weakness Enumeration (CWE)-Spezifikationen, die eine bestimmte Instanz einer Schwachstelle beschreiben. Beispielsweise fällt die Verwendung hartcodierter Passwörter (CWE-259) unter die Schwachstelle „Identification and Authentication Failures“ innerhalb der OWASP-Top-Ten-Liste.
Die OWASP-Top-Ten-Liste basiert auf einer Kombination aus der Analyse von Benutzerdaten und einer Umfrage unter Fachleuten in der Branche. Basierend auf den von der Community übermittelten Daten ermittelt das OWASP-Team die acht größten Schwachstellen auf seiner Liste und bietet so Einblick in die Schwachstellen, die heute im Produktionscode am häufigsten vorkommen. Organisationen wurden gebeten, die CWEs einzureichen, die sie beim Testen sahen, sowie die Anzahl der getesteten Anwendungen, die mindestens eine Instanz eines CWE enthielten. Die resultierenden 400 CWEs wurden dann auf der Grundlage ihrer Auswirkungen und Ausnutzbarkeit analysiert und klassifiziert, um acht der zehn besten Kategorien zu ergeben.
Mit der Aktualisierung der Liste im Jahr 2021 hat das OWASP-Team jedoch die letzten beiden Plätze auf der Liste für Beiträge aus einer Community-Umfrage reserviert. Ziel war es, neuere und aufkommende Trends bei Schwachstellen widerzuspiegeln, bei denen ein Mangel an Daten oder die Unfähigkeit, eine Schwachstelle zu testen, dazu führen könnte, dass sie von einem Prozess unterschätzt wird, der sich ausschließlich auf beim Testen entdeckte Schwachstellen stützt.
Die neueste Version der OWASP Top Ten enthielt mehrere Änderungen gegenüber der Vorgängerversion. Die Liste 2021 umfasst folgende Schwachstellen:
Davon sind vier Schwachstellen (4, 8 und 10) brandneu, vier sind bis auf das Ranking unverändert und der Rest konsolidiert oder benennt Kategorien aus der vorherigen Version der Liste um.
Zugriffskontrollsysteme sollen sicherstellen, dass nur berechtigte Benutzer Zugriff auf Daten oder Funktionen haben. Zu den Schwachstellen in der Kategorie „kaputte Zugangskontrolle“ zählen alle Probleme, die es einem Angreifer ermöglichen, Zugangskontrollen zu umgehen oder das Prinzip der geringsten Rechte nicht umzusetzen. Beispielsweise könnte eine Webanwendung einem Benutzer den Zugriff auf das Konto eines anderen Benutzers ermöglichen, indem die bereitgestellte URL geändert wird.
Kryptografische Algorithmen sind für den Schutz der Privatsphäre und der Datensicherheit von unschätzbarem Wert. Allerdings können diese Algorithmen sehr empfindlich auf Implementierungs- oder Konfigurationsfehler reagieren. Zu kryptografischen Fehlern zählen die fehlende Verschlüsselung, Fehlkonfigurationen kryptografischer Algorithmen und eine unsichere Schlüsselverwaltung. Beispielsweise könnte eine Organisation einen unsicheren Hash-Algorithmus für die Passwortspeicherung verwenden, keine Salt-Passwörter verwenden oder denselben Salt-Algorithmus für alle gespeicherten Benutzerpasswörter verwenden.
Injektionsschwachstellen werden dadurch ermöglicht, dass Benutzereingaben vor der Verarbeitung nicht ordnungsgemäß bereinigt werden. Dies kann insbesondere in Sprachen wie SQL problematisch sein, in denen Daten und Befehle vermischt sind, sodass böswillig fehlerhafte, vom Benutzer bereitgestellte Daten als Teil eines Befehls interpretiert werden können. SQL verwendet beispielsweise häufig einfache (') oder doppelte (“) Anführungszeichen, um Benutzerdaten innerhalb einer Abfrage abzugrenzen, sodass Benutzereingaben, die diese Zeichen enthalten, möglicherweise den verarbeiteten Befehl ändern können.
Schwachstellen können während des Entwicklungsprozesses auf verschiedene Weise in Software eingebracht werden. Während sich viele der Schwachstellen auf der OWASP-Top-Ten-Liste auf Implementierungsfehler beziehen, beschreibt diese Schwachstelle Designfehler, die die Sicherheit des Systems untergraben. Wenn beispielsweise das Design einer Anwendung, die sensible Daten speichert und verarbeitet, kein Authentifizierungssystem enthält, ist eine perfekte Implementierung der Software in der entworfenen Form immer noch unsicher und kann diese sensiblen Daten nicht ordnungsgemäß schützen.
Die Sicherheit einer Anwendung wird neben ihrem Design und ihrer Implementierung auch durch ihre Konfiguration bestimmt. Ein Softwarehersteller verfügt über Standardkonfigurationen für seine Anwendung, und die Benutzer können außerdem verschiedene Einstellungen aktivieren oder deaktivieren, die die Sicherheit des Systems verbessern oder beeinträchtigen können. Beispiele für Sicherheitsfehlkonfigurationen könnten das Aktivieren unnötiger Anwendungen oder Ports, das aktive und unveränderte Belassen von Standardkonten und Passwörtern oder das Konfigurieren von Fehlermeldungen sein, um einem Benutzer zu viele Informationen preiszugeben.
Schwachstellen in der Lieferkette sind in den letzten Jahren zu einem großen Problem geworden, insbesondere da Bedrohungsakteure versucht haben, bösartigen oder anfälligen Code in häufig verwendete Bibliotheken und Abhängigkeiten von Drittanbietern einzuschleusen. Wenn eine Organisation keinen Einblick in den externen Code hat, der in ihrer Anwendung verwendet wird – einschließlich verschachtelter Abhängigkeiten – und es versäumt, ihn auf Abhängigkeiten zu scannen, dann ist sie möglicherweise anfällig für Ausnutzung. Wenn Sicherheitsupdates nicht rechtzeitig auf diese Abhängigkeiten angewendet werden, könnte dies dazu führen, dass ausnutzbare Schwachstellen angreifbar werden. Beispielsweise kann eine Anwendung eine Bibliothek eines Drittanbieters importieren, die über eigene Abhängigkeiten verfügt, die bekannte ausnutzbare Schwachstellen enthalten könnten.
Viele Anwendungen und Systeme erfordern irgendeine Form der Identifizierung und Authentifizierung, z. B. indem ein Benutzer seine Identität gegenüber einer Anwendung nachweist, oder wenn ein Server beim Einrichten einer TLS-verschlüsselten Verbindung einem Benutzer ein digitales Zertifikat zur Verifizierung seiner Identität bereitstellt. Identifikations- und Authentifizierungsfehler treten auf, wenn eine Anwendung auf schwache Authentifizierungsprozesse angewiesen ist oder Authentifizierungsinformationen nicht ordnungsgemäß validiert. Beispielsweise könnte eine Anwendung ohne mehrstufige Authentifizierung (MFA) anfällig für einen Credential-Stuffing-Angriff sein, bei dem ein Angreifer automatisch Kombinationen aus Benutzername und Passwort aus einer Liste schwacher, allgemeiner, standardmäßiger oder kompromittierter Anmeldeinformationen ausprobiert.
Die Schwachstelle „Software and Data Integrity Failures“ in der OWASP-Top-10-Liste befasst sich mit Schwachstellen in der Sicherheit der DevOps-Pipeline und Software-Update-Prozessen eines Unternehmens, die denen ähneln, die den SolarWinds-Hack ermöglicht haben. Zu dieser Schwachstelle-Klasse gehört es, sich auf Code von Drittanbietern aus nicht vertrauenswürdigen Quellen oder Repositorys zu verlassen, den Zugriff auf die CI/CD-Pipeline nicht zu sichern und die Integrität automatisch angewendeter Updates nicht ordnungsgemäß zu überprüfen. Wenn ein Angreifer beispielsweise ein vertrauenswürdiges Modul oder eine vertrauenswürdige Abhängigkeit durch eine modifizierte oder bösartige Version ersetzen kann, könnten Anwendungen, die mit dieser Abhängigkeit erstellt wurden, bösartigen Code ausführen oder anfällig für Ausnutzung sein.
Fehler bei der Sicherheitsprotokollierung und -überwachung sind die ersten Schwachstellen, die aus Umfrageantworten abgeleitet werden, und sind vom zehnten Platz in der vorherigen Iteration der Liste nach oben gerückt. Viele Sicherheitsvorfälle werden dadurch ermöglicht oder verschärft, dass eine Anwendung wichtige Sicherheitsereignisse nicht protokolliert oder dass diese Protokolldateien nicht ordnungsgemäß überwacht und verarbeitet werden. Beispielsweise generiert eine Anwendung möglicherweise keine Protokolldateien, generiert möglicherweise Sicherheitsprotokolle, denen kritische Informationen fehlen, oder diese Protokolldateien sind möglicherweise nur lokal auf einem Computer verfügbar, sodass sie nur für die Untersuchung nützlich sind, nachdem ein Vorfall erkannt wurde. All diese Ausfälle beeinträchtigen die Fähigkeit eines Unternehmens, einen potenziellen Sicherheitsvorfall schnell zu erkennen und in Echtzeit zu reagieren.
Serverseitige Anforderungsfälschung (SSRF) ist unter den in der OWASP-Top-Ten-Liste aufgeführten Schwachstellen ungewöhnlich, da sie eher eine sehr spezifische Schwachstelle oder einen ganz bestimmten Angriff als eine allgemeine Kategorie beschreibt. SSRF-Schwachstellen sind relativ selten; Sie haben jedoch erhebliche Auswirkungen, wenn sie von einem Angreifer identifiziert und ausgenutzt werden. Der Capital One-Hack ist ein Beispiel für einen aktuellen, schwerwiegenden Sicherheitsvorfall, bei dem eine SSRF-Schwachstelle ausgenutzt wurde.
Eine SSRF-Schwachstelle kann auftreten, wenn eine Webanwendung eine von einem Benutzer bereitgestellte URL beim Abrufen einer Remote-Ressource unter dieser URL nicht ordnungsgemäß validiert. Wenn dies der Fall ist, kann ein Angreifer, der die Schwachstelle ausnutzt, die anfällige Webanwendung nutzen, um eine vom Angreifer erstellte Anfrage an die angegebene URL zu senden. Dadurch kann der Angreifer Zugriffskontrollen wie eine Firewall umgehen, die direkte Verbindungen des Angreifers zur Ziel-URL blockieren würde, aber so konfiguriert ist, dass sie den Zugriff auf die anfällige Webanwendung ermöglicht.
Die Webanwendungen eines Unternehmens gehören zu den sichtbarsten und am besten ausnutzbaren Teilen seiner digitalen Angriffsfläche. Diese Anwendungen enthalten jedoch häufig auch ausnutzbare Schwachstellen, was häufig auf mangelndes Bewusstsein für diese Schwachstellen und mangelnde Sicherheitsmaßnahmen zu deren Vermeidung zurückzuführen ist. Die OWASP Top Ten-Liste ist ein Versuch der OWASP Foundation, dieses Problem anzugehen und Sicherheitsrisiken für Webanwendungen zu reduzieren, indem sie auf diese Schwachstellen aufmerksam macht und Ressourcen bereitstellt, die Entwicklern helfen, diese zu identifizieren, zu vermeiden und zu beheben.
Das Scannen, Beheben und Schützen vor den in der OWASP-Top-Ten-Liste beschriebenen Schwachstellen ist ein guter Ausgangspunkt für Webanwendung DevSecOps. Diese Schwachstellen gehören zu den häufigsten und wirkungsvollsten Schwachstellen in der Webanwendung, und ihre Sichtbarkeit macht sie zu häufigen Zielen von Cyber-Bedrohungsakteuren.
Da Anwendungen zunehmend in die Cloud verlagert werden, ist der Schutz von Cloud-Workloads von entscheidender Bedeutung, um sie vor den OWASP Top Ten und anderen führenden Anwendungssicherheitsrisiken zu schützen. Weitere Informationen zu den Sicherheitsbedrohungen für Ihre Cloud-basierte Anwendung finden Sie in diesem E-Book.
Check Point CloudGuard AppSec bietet umfassenden Schutz vor den OWASP Top Ten und anderen gängigen Webanwendungs-Schwachstellen. Erfahren Sie in diesem Whitepaper mehr darüber, wie CloudGuard AppSec Ihre Cloud-Anwendung schützen kann. Dann überzeugen Sie sich selbst von den Möglichkeiten, indem Sie sich für eine kostenlose Demo anmelden.