
OWASP Top 10 API-Security-Risiken: Fehlerhafte Autorisierung auf Funktionsebene
Nummer fünf auf der Liste der „Top 10 API-Sicherheitsrisiken“ des Open Worldwide Application Security Project® (OWASP) ist eine fehlerhafte Autorisierung auf Funktionsebene.
Eine fehlerhafte Autorisierung auf Funktionsebene (BFLA) tritt auf, wenn Endpunkte unbefugten Benutzern zugänglich gemacht werden.
Angriffsvektoren
Angreifer senden legitime API-Aufrufe an einen Endpunkt, auf den sie keinen Zugriff haben sollten. Diese Aufrufe können von anonymen Benutzern oder regulären Benutzern stammen, die keine Zugriffsrechte haben sollten.
Wenn Endpunkte offengelegt werden, können sie ganz leicht von Cyberkriminellen ausgenutzt werden. Da API-Aufrufe im Allgemeinen strukturiert sind, können Bedrohungsakteure kleine Änderungen an Zeichenfolgen auf vorhersehbare Weise vornehmen. Dieser Angriff ähnelt BOLA-Exploits (Broken Object Level Authorization), allerdings konzentrieren sich die Angreifer in diesem Fall auf API-Funktionen statt auf API-Objekte. Häufig werden beide Angriffsarten kombiniert eingesetzt, um die Sicherheit zu testen.
Security-Schwächen
Eine unsachgemäß implementierte oder falsch konfigurierte Autorisierung kann zu Sicherheitslücken führen. Das kommt überraschenderweise häufig vor, da API-Endpunkte oft Teil einer komplexen Infrastruktur sind und eine große Anzahl von Benutzern, Gruppen und Rollen enthalten, darunter Benutzer mit mehreren Rollen. Cloud-native Designs und Verteilungsarchitekturen können die Verwaltung besonders kompliziert machen.
Solche Schwachstellen lassen sich in der Regel durch eine sorgfältige Auswertung der Zugriffsrechte leicht aufdecken, aber das kann aufgrund der schieren Anzahl von Benutzern und Zugriffsrechten innerhalb von Anwendungen eine Herausforderung sein.
Geschäftliche Auswirkungen
Wenn Angreifer uneingeschränkten Zugriff auf die API-Funktionalität haben, können die Auswirkungen auf das Unternehmen schwerwiegend sein. Dies kann zur Offenlegung sensibler Daten, zur Beschädigung oder zum Verlust von Daten oder zu Dienstunterbrechungen führen. Angreifer können beispielsweise auf Benutzerkonten zugreifen, Konten oder Daten erstellen oder löschen, Konten übernehmen oder Berechtigungen ausweiten.
So funktioniert die Autorisierung auf Funktionsebene
Die Autorisierung auf Funktionsebene ermöglicht die detaillierte Steuerung bestimmter Funktionen in einer Anwendung. Ohne geeignete Zugriffskontrollen auf Funktionsebene kann es zur Offenlegung von Daten kommen. Dies kann auf verschiedene Arten geschehen, wie zum Beispiel:
- Falsche Einstellungen innerhalb der rollenbasierten Zugriffskontrolle (RBAC)
- Codierungsfehler, falsche Konfigurationen oder fehlende Autorisierungsprüfungen für Funktionen
- Übermäßig vorhersehbare Muster wie sequenzielle IDs oder Muster, die leicht zu erraten sind
- Offenlegung von Implementierungs- oder Konfigurationsdetails, wie z. B. Datenbankschlüsseln oder Kennungen
In den meisten Fällen treten diese Exploits auf, weil API-Endpunkte so eingerichtet sind, dass sie Benutzer bei der Verbindung authentifizieren, aber sobald eine Sitzung eingerichtet wurde, überprüfen die Endpunkte nicht, ob die Benutzer zum Ausführen bestimmter Befehle berechtigt sind.
Beispiele aus der Praxis
Zwei konkrete Beispiele für BFLA-Exploits aus dem Jahr 2022 zeigen, wie viel Schaden dies anrichten kann.
Es kam zur Offenlegung persönlicher Daten von Einwohnern von Texas aus fast zwei Millionen Versicherungsansprüchen. Die API im Texas Department of Insurance (DPI) erlaubte den Zugriff auf App-Funktionen, die geschützt hätten werden sollten. Der Fehler blieb fast drei Jahre lang unbemerkt und wurde bei einem Datenmanagement-Audit entdeckt.
Ende 2022 wurden fast 10 Millionen Kundendatensätze in einem Exploit auf Funktionsebene von Optus, dem zweitgrößten Telekommunikationsunternehmen in Australien, kompromittiert. Die Daten wurden exfiltriert und das Unternehmen erhielt Lösegeldforderungen, um eine Offenlegung zu verhindern.
Erkennen von Schwachstellen bei der Autorisierung auf Funktionsebene
Es gibt verschiedene Ansätze, um Schwachstellen bei der Autorisierung auf Funktionsebene zu erkennen, darunter manuelle Codeüberprüfungen mit Schwerpunkt auf API-Zugriffskontrollen. Andere Methoden beinhalten:
- Penetrationstests, wobei manuelle oder automatisierte Penetrationstests zur Untersuchung von Schwachstellen auf Funktionsebene für ähnliche reale Angriffe eingesetzt werden
- Fuzz-Tests, zu denen auch das Testen von API-Endpunkten mit unerwarteten oder ungültigen Eingaben oder unbefugten Benutzern gehört
- Überprüfen von Benutzerrollen und Berechtigungen auf Funktionsebene
Verhinderung von Schwachstellen bei der Autorisierung auf Funktionsebene
Um BFLA zu stoppen, müssen entsprechende Autorisierungsprüfungen durchgeführt werden. Kann ein regulärer Benutzer zum Beispiel auf einen administrativen Endpunkt zugreifen?
Zu den spezifischen Strategien gehören:
Validierung auf Funktionsebene
Die Autorisierung von Benutzern sollte für jede Funktion geprüft werden und nicht nur auf Anwendungsebene. Jeder Vorgang sollte eine Autorisierung erfordern, um den Zugriff von unbefugten Benutzer auf API-Funktionen zu verhindern.
Zero Trust Network Access (ZTNA)
Unternehmen sollten in der gesamten Infrastruktur Zero-Trust-Praktiken anwenden. Selbst befugte Benutzer müssen für jede Aktion validiert werden, d. h. auch wenn sie die Perimetersicherheit passiert haben, müssen sie immer noch auf Funktionsebene autorisiert werden.
Zero Trust beinhaltet auch das Prinzip der geringsten Berechtigung (Principle of Least Privilege, PoLP), um Benutzern lediglich das Mindestmaß an Zugriff und Berechtigungen zu gewähren, das sie zum Ausführen autorisierter Funktionen benötigen.
Sicheres Sitzungsmanagement
Die Verwendung von sicheren Sitzungstoken, einer beschränkten Gültigkeitsdauer und Token-Widerruf bei Abmeldung kann auch dazu beitragen, den unbefugten Zugriff auf API-Funktionen einzuschränken.
Kontinuierliche Überwachung
Durch den Vergleich der Basisaktivität mit der aktuellen Aktivität kann die Überwachungsfunktion nach Anomalien suchen, die auf verdächtige Aktivitäten hindeuten, und den Zugriff sperren oder eine Markierung zur Überprüfung setzen. Beispielsweise können schnelle API-Aufrufe für sequentielle Kennungen Warnungen auslösen.
Den gesamten administrativen Zugriff verwalten
Alle Admin-Controller sollten separate Autorisierungsprüfungen durchführen, die auf der Gruppe und Rolle des Benutzers basieren. Es ist auch wichtig, Administratorrechte von allgemeinen API-Funktionen zu trennen und so den Zugriff auf Administratorebene ohne entsprechende Autorisierung zu verhindern.
Regelmäßige Sicherheitsprüfungen
Wie bei anderen potenziellen API-Exploits kann mit regelmäßigen Sicherheitsüberprüfungen und -tests sichergestellt werden, dass starke Sicherheits- und Zugriffskontrollen vorhanden sind, um unbefugten Zugriff auf API-Endpunkte und -Funktionen zu verhindern.

Der Ransomware Insights Bericht 2025
Wichtige Erkenntnisse über die Erfahrungen und Auswirkungen von Ransomware auf Unternehmen weltweit
Abonnieren Sie den Barracuda-Blog.
Melden Sie sich an, um aktuelle Bedrohungsinformationen, Branchenkommentare und mehr zu erhalten.

Managed Vulnerability Security: Schnellere Behebung von Schwachstellen, weniger Risiken, einfachere Compliance
Erfahren Sie, wie einfach es sein kann, die von Cyberkriminellen bevorzugte Schwachstellen zu finden.