Blog
Informativ, aktuell und spannend - der Oneconsult Cybersecurity Blog.

OWASP Top 10:2021 – Kalter Kaffee neu aufgekocht?

Die Top 10 von OWASP (Open Web Application Security Project) zeigen die zehn kritischsten Sicherheitsschwachstellen von Webanwendungen auf.

Diese Hitliste wird von Sicherheitsexperten für Webanwendungen auf regelmässiger Basis alle 3 Jahre aktualisiert – wobei es bei den letzten beiden Veröffentlichungen aus verschiedenen Gründen einige Verzögerungen gab. Im September 2021 wurde ein erster Entwurf der OWASP Top 10 veröffentlicht. Lena Mohr von Oneconsult berichtete darüber: Entwurf zu OWASP Top 10 für 2021 veröffentlicht. Anfangs November 2021 wurde die definitive Liste bekanntgegeben.

OWASP Top 10:2021

Einmal mehr fragt sich OWASP: Wie können Sicherheitsrisiken von Anwendungen minimiert werden?

Einmal mehr fragt sich die Fachwelt: Kalter Kaffee neu aufgekocht?

Keineswegs! Es gibt einige Unterschiede zur letzten Version aus dem Jahr 2017. Insbesondere für Entwickler und Sicherheitsverantwortliche gut zu wissen, welche das sind.

Kurzgefasst: Die Liste 2021 wurde um drei neue Kategorien erweitert:

  • Unsicheres Design
  • Software- und Datenintegritätsfehler
  • Server-Side Request Forgery

Einige Schwachstellen wurden umbenannt, zusammengefasst und neu sortiert:

Quelle: https://owasp.org/Top10/

Schon in der Version aus 2017 liess sich OWASP etwas mehr in die Karten schauen und publizierte Details zu ihrer Datenanalyse (github.com/OWASP/Top10). Für Interessierte sind vergleichbare Rohdaten zu den neu publizierten OWASP Top 10 ebenfalls auf GitHub abrufbar: github.com/OWASP/Top10/tree/master/2021/Data.

Als Datenbasis dienen die sogenannten CWEs. CWE steht für Common Weakness Enumeration und stellt eine Auflistung von typischen Schwachstellen in Software und Hardware dar. Diese Liste ist ebenfalls ein Produkt einer Community, die für die Pflege verantwortlich ist, während die MITRE Corporation für die Veröffentlichung zuständig ist.

Frühere Datenerhebungen legten den Fokus auf eine vorgeschriebene Teilmenge von etwa 30 CWEs mit einem Feld, in dem nach zusätzlichen Erkenntnissen gefragt wurde. OWASP stellte fest, dass sich die Unternehmen in erster Linie auf diese 30 CWEs konzentrierten und nur selten zusätzliche CWEs hinzufügten, die sie sahen. In dieser Iteration wurde das Feld geöffnet und ohne Einschränkung auf CWEs nach Daten gefragt. Gefragt wurde nach der Anzahl der getesteten Anwendungen für ein bestimmtes Jahr (ab 2017) und nach der Anzahl der Anwendungen, bei denen mindestens ein CWE im Test gefunden wurde. Anhand dieses Formats kann nachvollzogen werden, wie häufig jedes CWE in der Anwendungspopulation vorkommt. Ob eine Anwendung vier Instanzen eines CWEs oder 4’000 Instanzen aufweist, ist nicht Teil der Berechnung für die Top 10. Die Anzahl der von OWASP im Datensatz analysierten CWEs ist dabei von etwa 30 auf fast 400 gestiegen. Zudem sind in Zukunft weitere Datenanalysen als Ergänzung geplant. Diese beträchtliche Zunahme der Anzahl von CWEs macht Änderungen in der Struktur der Kategorien erforderlich.

Bei jeder Ausgabe verbringt OWASP mehrere Monate damit, CWEs zu gruppieren und zu kategorisieren (und könnte dies wohl nahezu ewig fortsetzen). Es gibt sowohl Ursachen- als auch Symptomtypen von CWEs, wobei Ursachen wie «kryptografisches Versagen» und «Fehlkonfiguration» im Gegensatz zu Symptomtypen wie «Gefährdung sensibler Daten» und «Denial of Service» stehen. Es wurde entschieden, sich wann immer möglich, auf die Grundursache zu konzentrieren. Die Konzentration auf die Grundursache statt auf das Symptom ist kein neues Konzept; die Top Ten sind ohnehin seit Jahren eine Mischung aus Symptom und Grundursache.

Lesen Sie nun, wie die Hitparade der Schwachstellen für die nächsten drei Jahre aussieht:

Broken Access Control auf Platz 1

Das grösste Risiko ist laut der OWASP Top Ten 2021 eine defekte Zugriffskontrolle. Dieser Punkt war in der Vorgängerliste bereits auf Platz 5 vertreten und hat nun den Sprung nach oben auf den ersten Platz geschafft.

Nennenswerte gemeinsame Schwachstellenaufzählungen (CWEs) sind CWE-200: Preisgabe von sensiblen Informationen an einen nicht autorisierten Akteur, CWE-201: Preisgabe von sensiblen Informationen durch gesendete Daten und CWE-352: Cross-Site Request Forgery.

Kryptographie weiterhin ein Hauptproblem

Cryptographic Failures (Verschlüsselungsfehler) rücken um eine Position nach oben auf Platz 2, zuvor bekannt als A3:2017-Sensitive Data Exposure (Preisgabe sensibler Daten), das eher ein Symptom als eine Ursache darstellte. Der erneute Fokus liegt hier auf Fehlern im Zusammenhang mit der Kryptographie, die häufig zur Offenlegung sensibler Daten oder zur Kompromittierung von Systemen führen.

Da die meisten Webbrowser inzwischen Seiten ohne HTTPS geradezu piesacken, ist von einem weiteren Rückgang auszugehen. Der Einsatz von HTTPS bietet zudem zusätzlichen – wenn auch nicht vollständigen – Schutz gegen Session Hijacking. Das Erzwingen von HTTPS lässt sich durch HTTP Strict Transport Security (HSTS) zusätzlich verschärfen; das «secure»-Flag für Cookies verhindert, dass sie über ungesicherte Kommunikationskanäle transportiert werden.

Nennenswerte Common Weakness Enumerations (CWEs) sind CWE-259: Verwendung eines hartcodierten Passworts, CWE-327: Gebrochener oder riskanter Kryptoalgorithmus und CWE-331 Unzureichende Entropie.

Injection abgerutscht

Injection ist auf den dritten Platz abgerutscht. 94 % der Anwendungen wurden auf irgendeine Form der Injection getestet, und die 33 CWEs, die dieser Kategorie zugeordnet sind, kommen am zweithäufigsten in Anwendungen vor. Ein häufig vorgebrachter Kritikpunkt an der 2017er-Ausgabe der OWASP Top 10 ist der vormalige Spitzenplatz von Injection. Referenziert wird dabei primär SQL Injection, ein Angriff, gegen den die Verteidigung denkbar einfach ist: Parametrisierte Abfragen beziehungsweise Prepared Statements.

Cross-Site Scripting ist in der aktuellen Ausgabe nun Teil dieser Kategorie. Nennenswerte Common Weakness Enumerations (CWEs) sind CWE-79: Cross-Site Scripting, CWE-89: SQL Injection und CWE-73: Externe Kontrolle von Dateinamen oder -pfaden.

Threat Modeling und Einsatz von Referenzarchitekturen unterrepräsentiert

Die Kategorie «unsicheres Design» ist einer der Neuzugänge.

Der Hintergedanke liegt auf der Hand: Wichtige Sicherheitskonzepte wie Threat Modeling und der Einsatz von Referenzarchitekturen sind in vielen Webapplikationen nicht vorhanden oder mangelhaft umgesetzt.

Gemäss OWASP sollen Risiken im Zusammenhang mit Design- und Architekturfehlern gezielt adressiert werden. Bedrohungsmodelle, sichere Designmuster und Referenzarchitekturen sollen stärker genutzt werden. Da ein sicheres Design wichtig ist, ist die Platzierung in der Liste durchaus berechtigt.

Zu den nennenswerten Common Weakness Enumerations (CWEs) gehört CWE-209: Generierung von Fehlermeldungen mit sensiblen Informationen, CWE-256: Ungeschützte Speicherung von Anmeldeinformationen, CWE-501: Verletzung der Vertrauensgrenze und CWE-522: Unzureichend geschützte Anmeldeinformationen.

Mischung aus Injection und Fehlkonfiguration

Fehlerhafte Sicherheitskonfiguration: Angesichts der zunehmenden Umstellung auf hochgradig konfigurierbare Software ist es nicht überraschend, dass diese Kategorie aufgestiegen ist. Etwas überraschend ist, dass XML External Entities (XXE) in der Liste von 2021 als Unterkategorie der Fehlkonfigurationen geführt werden. XXE waren damals ein Last-Minute-Neuzugang in der OWASP Top Ten 2017, der gleich auf Platz 4 eingestiegen ist. Begründet wurde das damit, dass XXE bei der Umfrage zu fehlenden Punkten äusserst häufig genannt wurden. XXE-Schwachstellen tauchen bei den Web Application Penetration Tests der Oneconsult weiterhin regelmässig auf. Eine Mischung aus Injection und Fehlkonfiguration rechtfertigt durchaus die Einordnung dieser Kategorie auf Rang 5. Nennenswerte CWEs sind CWE-16: Konfiguration und CWE-611: Unzureichende Einschränkung von Referenzen auf XML External Entitites.

Log4j lässt grüssen

Vulnerable and Outdated Components (verwundbare und veraltete Komponenten) trug zuvor den Titel «Using Components with Known Vulnerabilities» (Verwendung von Komponenten mit bekannten Schwachstellen) und steht auf Platz 2 der Top-10-Community-Umfrage, war aber auch durch genügend Daten belegt, um es per Datenanalyse in die Top 10 zu schaffen.

Webanwendungen haben heutzutage häufig viele externe Abhängigkeiten. Es ist überaus sinnvoll, auf bestehende Methoden in Open-Source-Bibliotheken zurückzugreifen, statt alles selbst neu zu implementieren. Die Folge daraus ist jedoch ein erhöhter Aufwand beim Nachverfolgen aller Dependencies. Die kürzlich publizierte Cyberpandemie Log4j (Oneconsult berichtete darüber: Update: Remote-Code-Execution-Schwachstelle (RCE) in bekannter Java-Bibliothek – CVE-2021-44228) ist ein Paradebeispiel dafür.

Nennenswerte CWEs sind CWE-1104: Verwendung von nicht gewarteten Komponenten von Drittanbietern und die beiden CWEs aus den Top 10 2013 und 2017.

Keine Do-it-yourself-Login-Masken mehr

Die Kategorie Identifizierungs- und Authentifizierungsfehler war früher «Broken Authentication» (ehemals Platz 2) und enthält nun CWEs, die eher mit Identifizierungsfehlern zu tun haben. Namentlich sind dies CWEs zu diversen Session-Angriffen wie Session Fixation oder zu lange Session Timeouts. Darüber hinaus sind weitere Probleme im Bereich Authentifizierung enthalten.

Der Rückgang dieses Risikos liegt vermutlich daran, dass Frameworks inzwischen Basisfunktionen im Bereich Authentifizierung mitliefern, welche mehrheitlich sicher umgesetzt sind. Oneconsult hat zu Zeiten, als die Login-Masken noch selbstgebaut waren, durchaus mehr Schwachstellen in diesem Bereich gefunden. Heutzutage gehören solche Sicherheitsfunktionen zum guten Ton eines Frameworks.

Weitere nennenswerte CWEs sind CWE-297: Unzulässige Validierung eines Zertifikats mit fehlender Host-Übereinstimmung, CWE-287: Unzulässige Authentifizierung und CWE-384: Session Fixation.

SolarWinds lässt grüssen

Fehler bei der Software- und Datenintegrität bilden eine neue Kategorie für 2021, die sich auf Annahmen in Bezug auf Software-Updates, kritische Daten und CI/CD-Pipelines ohne Überprüfung der Integrität konzentriert. Eine der am höchsten gewichteten Auswirkungen von «Common Vulnerability and Exposures/Common Vulnerability Scoring System (CVE/CVSS)»-Daten wurde den 10 CWEs in dieser Kategorie zugeordnet. Als Paradebeispiel kann der Angriff auf SolarWinds genannt werden, bei dem ein schadhaftes Update eingeschleust und auf unzählige Systeme verteilt wurde (Oneconsult berichtete darüber: Sunburst Hack: Kompromittierung von SolarWinds Orion).

In der Liste von 2017 war bereits der Sonderfall unsichere Deserialisierung als eigenständiger Punkt aufgeführt. Beim Entgegennehmen von Daten in serialisierter Form wie im JSON- oder XML-Format ist es wichtig, auf dem erwarteten Datentyp zu bestehen, statt blind die Daten zu deserialisieren. Die unsichere Deserialisierung ist nun Teil dieser grösseren Kategorie.

Zu den nennenswerten Common Weakness Enumerations (CWEs) gehören CWE-829: Einbeziehung von Funktionalität aus nicht vertrauenswürdiger Kontrollsphäre, CWE-494: Herunterladen von Code ohne Integritätsprüfung und CWE-502: Deserialisierung von nicht vertrauenswürdigen Daten.

Nachvollziehbarkeit ist das A und O

Das Thema Logging und Monitoring tauchte erstmals 2017 in den Top Ten auf. In der Neuauflage klettert die ehemals als «Unzureichende Protokollierung und Überwachung» bezeichnete Kategorie einen Platz nach oben und heisst neu «Security Logging and Monitoring Failures». Die Ausarbeitung von konkreten Massnahmen scheint aber eher schwierig zu sein. Der Aufruf lautet, es soll mehr und aussagekräftiger geloggt und die Logs dabei auch aktiv ausgewertet werden.

Diese Kategorie wurde erweitert, um mehr Fehlertypen zu erfassen, ist schwierig zu testen und ist in den CVE/CVSS-Daten nicht stark vertreten. Fehler in dieser Kategorie können sich jedoch direkt auf die Sichtbarkeit, die Alarmierung bei Vorfällen und die Forensik auswirken. Diese Kategorie geht über CWE-778: Unzureichende Protokollierung hinaus und umfasst auch CWE-117: Unsachgemässe Output-Neutralisierung für Protokolle, CWE-223: Auslassung sicherheitsrelevanter Informationen und CWE-532: Einfügen sensibler Informationen in Protokolldateien.

Ungewollte Anfragen aus Community-Umfrage

Auf dem letzten Platz der Schwachstellen-Hitparade findet sich mit SSRF ein weiterer Neuzugang, der in der Community-Umfrage Platz 1 belegt hat.

Die Rede ist von Server-Side Request Forgery, kurz SSRF. Die Namensähnlichkeit zu CSRF ist durchaus beabsichtigt. Während es bei Cross-Site Request Forgery meist darum geht, dass der Clientbrowser eine ungewollte HTTP-Anfrage erzeugt, ist es bei SSRF der Server. Der Angriff bringt somit den Webserver dazu, einen HTTP Request zu erzeugen, der an ein System gerichtet sein kann, das von aussen nicht zugänglich wäre. Auf diese Weise lassen sich Firewalls und andere Schutzmassnahmen gezielt umgehen.

Penetration Tests der Oneconsult zeigen, dass SSRF-Schwachstellen eher selten gefunden oder schlecht ausgenutzt werden können. Falls sich ein SSRF ausnutzen lässt, sind die Auswirkungen jedoch deutlich gravierender.

Fazit

Über die Zusammenstellung der OWASP Top 10 lässt sich bekanntlich immer streiten. Es handelt sich hierbei um einen De-facto-Standard, der aber aus der Szene nicht mehr wegzudenken ist. OWASP schafft es aufs Neue, relevante Risiken für Webanwendungen kompakt zusammenzustellen. In den OWASP Top 10 geht es weniger darum, eine Rangliste mit Prioritäten aufzustellen, sondern vielmehr ein offenes Werk zur Förderung von Applikationssicherheit zu schaffen.

Um welche Kaffeesorte mit welcher Röstung es sich dabei handelt, ist jedem/r selbst überlassen. Auch die Menge an Milch oder Rahm und die damit verbundene Trinktemperatur ist Geschmackssache.

Egal ob Entwickler, Softwaretester, Systemadministrator, Penetration Tester, Sicherheitsverantwortliche oder sogar Manager: die OWASP Top 10 sind für alle relevant!

Über den Autor

Yves Kraft ist seit Februar 2011 bei Oneconsult im Penetration Testing und Security Consulting sowie im Bereich Schulungen tätig, wurde 2013 Team Leader und ist seit 2015 Branch Manager Bern. Seit 2022 ist er Head of Security Academy und gibt in Schulungen und Webinaren sein umfassendes Fachwissen an Privatpersonen und Firmen weiter.

Publiziert am: 18.03.2022

Teilen

Nichts verpassen! Melden Sie sich für unseren kostenlosen Newsletter an.

Ihre Sicherheit hat höchste Priorität – unsere Spezialisten unterstützen Sie kompetent.

Erreichbarkeit von Montag bis Freitag 08.00 – 12.00 Uhr und 13.00 – 17.00 Uhr (Ausnahme: Kunden mit SLA – Bitte über die 24/7 IRFA-Notfallnummer anrufen).

Privatpersonen wenden sich bitte an Ihren IT-Dienstleister des Vertrauens oder die lokale Polizeidienststelle.

Weitere Informationen zu unseren DFIR-Services finden Sie hier:

qr_code_emergency_2022
CSIRT zu den Kontakten hinzufügen