Die neuen OWASP Top 10 - 2021

Erstmals seit 2017 wurde die Liste der OWASP Top 10 der häu­figs­ten Sicher­heits­risiken für Weban­wendun­gen aktualisiert. Auf unserem Blog wurde bereits über die deutsche Version der OWASP Top 10 - 2017 berichtet.

Das Open Worldwide Application Security Project (kurz OWASP) veröffentlichte am 24. September die neuen Top 10 der häu­figs­ten Sicher­heits­risiken für Weban­wendun­gen. Zum ersten Mal seit 2010 stellen nicht mehr Injections, sondern ungenügende Zugangs­be­schränkungen die größte Gefahr für Web­an­wen­dung­en dar. Seit der letzten Aus­ga­be der OWASP Top 10 aus dem Jahr 2017 wurden drei neue Kategorien ein­ge­führt und vier Kategorien geändert.

Die Änderungen im Überblick

Injections wurden auf den dritten Platz herabgestuft und enthalten jetzt auch Cross-Site-Scripting (XSS). Diese Änderung erscheint logisch, da XSS schluss­en­dlich auch nur das Ein­fü­gen von nicht ver­trau­ens­wür­digem Code in einen neuen Kontext ist. Mit unseren Ansätzen rund um den Secure Soft­ware De­ve­lop­ment Life­cycle (SSDL) und Threat Modeling fühlen wir uns bei aramido mit dem auf der vier­ten Po­si­tion neu hinzu­ge­kom­menen Risiko Unsicheres Design be­stätigt. Unsere Pe­ne­tra­tions­tes­ter entdecken immer wieder Schwach­stel­len, die bereits im Pla­nungs­pro­zess hätten berück­sichtigt werden müssen. Ein weiterer Neu­an­köm­mling in der Top-10-Liste ist auf dem achten Platz die Fehlerhafte Integritätsprüfung von Software und Daten. Dieser etwas sperrige Punkt be­in­hal­tet unter anderem die in der 2017er-Liste separat ge­führ­te un­sichere De­ser­ia­li­sier­ung, will aber auch die Kategorie der Supply-Chain-Angriffe abdecken, welche spätestens durch die SolarWinds-Angriffe bekannt ge­worden ist. An zehnter Stelle ist schließlich noch mit Server Side Request Forgery (SSRF) eine sehr konkrete Schwach­stel­le aufgenommen worden.

Die Grenzen der OWASP Top Ten

Die Übersicht der Änderungen an der Top-10-Liste zeigt recht gut die Probleme, die eine solche Auf­stel­lung mit sich bringt. Während einige Schwach­stel­len zu breiteren Ka­te­go­rien zu­sam­men­ge­fasst wurden, gibt es andere, enger definierte Schwach­stel­len­arten, die nicht einmal mit den anderen Ka­te­go­rien über­schnei­dungs­frei sind. Dieses Identitäts­pro­blem, was die OWASP-Top-10-Liste eigentlich sein will, wird auch von anderen diskutiert. Dass eine Top-10-Liste nur eine Aus­wahl aller möglichen Schwach­stel­len und nicht das gesamte Risiko­po­ten­tial von Web­an­wen­dun­gen und deren Wahrscheinlichkeiten ausreichend abbildet, liegt in der Natur einer Top-Liste. Die OWASP Top Ten sind also kein Standard, gegen den man Web­an­wen­dungen verifizieren und für sicher befinden könnte (OWASP bietet für diesen Zweck den Application Security Verification Standard (ASVS)). Wie die Autoren der Liste selbst schreiben, sind die Top Ten ein Sensibilisierungs­dokument. Dafür hat die Liste in der Vergangenheit sehr gute Dienste geleistet und wird das auch in Zukunft tun. Zum Beispiel orientieren wir uns bei aramido bei Sen­sibili­sierungs­ver­an­stal­tungen für Entwickler an den Top 10, um für mögliche Schwach­stel­len zu sensibilisieren und eine Diskussion zu Gegen­maß­nahmen einzuleiten.

Die Liste der kritischsten Sicherheitslücken von Webanwendungen

Die OWASP Top 10 - 2021 beschreiben die zehn kritischsten Sicherheits­risiken für Weban­wendungen, zeigen Angriffsvektoren auf und empfehlen Schutzmaß­nahmen, wie man sich vor den Angriffen schützen kann. Sie basieren auf einer umfangreichen Daten­er­hebung der Autoren mit Hilfe der Security Community.

A01:2021 - Broken Access Control

Fehler im Zugriffsmanagement rückt von der fünften Position (2017) auf den ersten Platz (2021). Wird die Autorisierung in einer Webanwendung nicht stringent umgesetzt, können Benutzer auf Daten zugreifen, die nicht für sie freigegeben sind. Beim Design einer Anwendung (A04:2021) muss deshalb zwingend und klar definiert werden, wie Benutzer sich gegenüber einer Anwendung authentifizieren und im Folgeschritt, wenn die Identität festgestellt wurde, wozu der Benutzer berechtigt ist.

A02:2021 - Cryptographic Failures

Zuvor wurde diese Kategorie als „Veröffentlichung sensitiver Informationen“ bezeichnet. Die neue Bezeichnung konzentriert sich auf Fehler im Zusammenhang mit der Kryptografie, wie es zuvor implizit der Fall war. Die Schwachstellen führen häufig zur Offenlegung sensibler Daten wie Passwörter oder privater Schlüssel.

A03:2021 - Injection

Injections rücken vom ersten auf den dritten Rang. Sie entstehen durch die Verarbeitung von nicht vertrauens­würdigen Daten durch eine Anwendung. Diese Daten wurden hierbei nicht oder nur unzureichend validiert und behandelt. In der Vergangen­heit wurden häufig SQL-Injections ausgenutzt; dennoch müssen ebenso andere Injections wie gegen LDAP-Verzeichnisse oder das Betriebs­system berücksichtigt werden. Teil dieser Kategorie ist jetzt auch Cross-Site-Scripting (XSS), was in den vorangegangenen Versionen separat aufgeführt wurde.

A04:2021 - Insecure Design

Die neue Kategorie konzentriert sich auf Risiken im Zusammenhang mit Designfehlern. Bedrohungsmodelle und sichere Architekturen in der Entwicklung von Webanwendungen werden immer wichtiger, um Angriffe abzuwehren. Unsichere Architekturen können nicht allein durch die Implementierung behoben werden, wenn beispielsweise erforderliche Sicherheitskontrollen nicht frühzeitig im Entwicklungsprozess berücksichtigt wurden.

A05:2021 - Security Misconfiguration

Werden Fehler in der Konfiguration von Systemen wie Firewalls, Webservern oder Weban­wendungen gemacht, kann dies weitreichende Folgen haben. Denkbar sind von der Veröffentlichung sensitiver Informationen über unautorisierten System­zugriff bis hin zu Dienst­versagen viele Fälle. Angesichts der zunehmenden Umstellung auf hochkonfigurierbare Software ist es nicht überraschend, dass diese Kategorie im Vergleich zu den Top 10 - 2017 aufgestiegen ist. Die frühere Kategorie für XML External Entities (XXE) ist nun Teil dieser Risikokategorie. Der XML-Standard sieht es vor externe Daten in ein XML-Dokument nachzuladen. Wer das bei der Verarbeitung dieser Dokumente nicht berücksichtigt, riskiert eine unberechtigte Befehlsaus­führung, den Abfluss interner Informa­tionen oder Dienstversagen.

A06:2021 - Vulnerable and Outdated Components

Wie auch schon 2017 findet sich in dieser Kategorie die Verwendung von unsicheren Komponenten mit bekannten Schwachstellen wieder. In der heutigen Welt von Frameworks und Software­bibliotheken verwenden Entwickler sehr häufig fremden Code. Was Effizienz- und Sicherheits­vorteile bietet, kann gleichfalls zum Einfallstor für Hacker werden. Nachdem Sicherheitslücken von Software­komponenten bekannt werden, muss unverzüglich für ein Update gesorgt werden.

A07:2021 - Identification and Authentication Failures

Die Kategorie Identifizierungs- und Authentifizierungsfehler, die zuvor "Fehler im Authenti­fizierungs­management" hieß, rutscht vom zweiten Platz ab und umfasst nun insbesondere Fehler in der Nutzeridentifikation. Diese Kategorie ist immer noch ein fester Bestandteil der Top 10, wird aber durch die zunehmende Verfügbarkeit von standardisierten Entwicklungs-Frameworks seltener.

A08:2021 - Software and Data Integrity Failures

Die neue Kategorie für 2021 konzentriert sich auf Sicherheitslücken in Bezug auf Software-Updates, kritische Daten und CI/CD-Pipelines ohne Integritätsüberprüfung. Die 2017 als „Unsichere Deseriali­sierung“ bezeichnete Kategorie wird nun dieser Kategorie zugeordnet. Bei einer Serialisierung werden komplexe Datenstrukturen in eine sequentielle Zeichenkette umgewandelt. Der umgekehrte Prozess – die Deserialisierung – kann ausgenutzt werden, um fremde Befehle auszuführen.

A09:2021 - Security Logging and Monitoring Failures

Diese Kategorie war 2017 auf Platz Zehn und wurde dieses Jahr erweitert, um mehr Arten von Sicherheitslücken zu umfassen. Logging und die Analyse von Daten stellen den wichtigsten Weg dar einen Angriff auf die eigenen Systeme zu erkennen. Ebenso müssen Fehler der Anwendung im laufenden Betrieb protokolliert und an die verantwortlichen Stellen kommuniziert werden. Fehlendes und falsches Logging können sich direkt auf die Sichtbarkeit, die Alarmierung bei Vorfällen und die Forensik auswirken.

A10:2021 - Server-Side Request Forgery (SSRF)

Bei der ebenfalls neuen Kategorie handelt es sich um SSRF-Schwachstellen, die immer dann auftreten, wenn eine Webanwendung eine Remote-Ressource abruft, ohne die vom Benutzer angegebene URL zu validieren. Dadurch kann ein Angreifer die Anwendung dazu zwingen, manipulierte Anfragen vom Server zu senden, selbst wenn sie durch eine Firewall, ein VPN oder eine andere Art von Access Control List (ACL) geschützt ist. OWASP weist darauf hin, dass der Schweregrad von SSRF aufgrund von Cloud-Diensten und komplexen Architekturen immer größer wird.

Erhebung der Daten

Die neue Ausgabe der OWASP Top Ten beruht auf statistischen Daten zu häufigen Sicherheitslücken, die in der Vergangenheit über betreffende Branchenkanäle gemeldet wurden. Zudem wurden regelmäßig Umfragen von Branchenexperten durchgeführt, um die vorhandenen Daten mit den aktuellsten Erkenntnissen der Fachleute im Bereich Anwendungssicherheit und Entwicklung abzugleichen.

Mit Information & Sicherheit auf dem Laufenden bleiben.
Mit Anmeldung willigen Sie ein, dass Ihnen aramido regelmäßig E-Mails zu aktuellen Informationssicherheitsthemen zusenden darf. Die Einwilligung kann jederzeit widerrufen werden. Näheres zur Datenverarbeitung in unserer Datenschutzerklärung