Was die OWASP API Top 10 ist

Die OWASP API Security Top 10 ist die bekannteste Liste der kritischsten Sicherheitsrisiken für APIs. Herausgegeben wird sie vom OWASP API Security Project, einem offenen Community-Projekt der OWASP Foundation (Open Worldwide Application Security Project). Die aktuelle Ausgabe von 2023 ist die zweite, vier Jahre nach der Erstausgabe von 2019.

OWASP versteht die Liste als Dokument zur Sensibilisierung. Sie zeigt, wo APIs typischerweise brechen, ersetzt aber keinen Prüfstandard. Für die Ausgabe 2023 gibt es bisher keine offizielle deutsche Übersetzung, nur für 2019. Diese Seite erklärt die aktuelle Ausgabe deshalb auf Deutsch und verlinkt jedes Risiko auf die englische Originalquelle.

Die zehn Risiken im Überblick

Im Fokus

Drei der zehn Einträge sind reine Autorisierungsfehler: API1 (BOLA), API3 (BOPLA) und API5 (BFLA). Sie prüfen jeweils eine andere Ebene: Gehört dem Nutzer dieses Objekt? Darf er dieses Feld ändern? Darf er diese Funktion aufrufen?

API1

Broken Object Level Authorization

Zugriff auf fremde Objekte über manipulierte IDs (BOLA). Das häufigste und folgenreichste API-Risiko.

API2

Broken Authentication

Schwächen bei Login, Token oder Sitzungen, die eine fremde Identität ermöglichen.

API3

Broken Object Property Level Authorization

Zugriff auf oder Änderung einzelner Objekt-Eigenschaften jenseits der eigenen Rechte (BOPLA).

API4

Unrestricted Resource Consumption

Fehlende Limits führen zu Überlast oder hohen Kosten, etwa durch teure Abfragen ohne Drosselung.

API5

Broken Function Level Authorization

Aufruf von Funktionen, die der eigenen Rolle nicht zustehen, etwa Admin-Aktionen als normaler Nutzer (BFLA).

API6

Unrestricted Access to Sensitive Business Flows

Automatisierter Missbrauch sensibler Abläufe, etwa Massen-Buchungen oder Käufe.

API7

Server Side Request Forgery

Die API wird verleitet, Anfragen an interne Systeme zu stellen (SSRF).

API8

Security Misconfiguration

Unsichere Standardeinstellungen, offene Debug-Endpunkte oder fehlende Härtung.

API9

Improper Inventory Management

Veraltete, undokumentierte oder vergessene Endpunkte, Schatten- und Orphan-APIs.

API10

Unsafe Consumption of APIs

Blindes Vertrauen in Daten von Drittanbieter-APIs, ohne eigene Prüfung.

Die zehn Risiken im Detail

API1:2023 Broken Object Level Authorization (BOLA)

Die API prüft, ob ein Nutzer angemeldet ist, aber nicht, ob er genau das angefragte Objekt sehen oder ändern darf. Angreifer tauschen die Objekt-ID in der Anfrage aus und erhalten fremde Daten.

Beispiel: Ein Shop-Betreiber ruft seine Umsatzdaten über GET /shops/{shopName}/revenue_data.json ab und setzt der Reihe nach die Namen anderer Shops ein.

Mehr zu BOLA

API2:2023 Broken Authentication

Schwächen beim Login, bei Tokens oder Sitzungen erlauben es, sich als jemand anderes auszugeben. Login- und Reset-Endpunkte sind für jeden erreichbar und deshalb ein bevorzugtes Ziel.

Beispiel: Ein Limit von drei Login-Versuchen pro Minute wird umgangen, indem viele Versuche in einer einzigen GraphQL-Anfrage gebündelt werden.

Mehr zu Broken Authentication

API3:2023 Broken Object Property Level Authorization (BOPLA)

Die API prüft den Zugriff auf das Objekt, aber nicht auf seine einzelnen Felder. Angreifer lesen Felder, die sie nicht sehen dürften, oder ändern Felder, die tabu sein sollten. BOPLA fasst die früheren Risiken „Excessive Data Exposure“ und „Mass Assignment“ zusammen.

Beispiel: Ein Nutzer ändert die Beschreibung seines gesperrten Videos und schickt ein internes Feld mit, das die Sperre aufhebt.

Mehr zu BOPLA

API4:2023 Unrestricted Resource Consumption

Es fehlen Grenzen für CPU, Speicher, Bandbreite oder kostenpflichtige Drittanbieter-Dienste. Schon einfache, massenhaft wiederholte Anfragen verursachen Ausfälle oder hohe Kosten.

Beispiel: Jeder Klick auf „Passwort vergessen“ löst eine kostenpflichtige SMS aus. Ohne Limit verschickt ein Skript Zehntausende davon.

Mehr zu Resource Consumption

API5:2023 Broken Function Level Authorization (BFLA)

Die API prüft nicht, ob die Rolle des Nutzers eine Funktion überhaupt ausführen darf. Normale Nutzer rufen so Admin-Funktionen auf, oft nur über eine andere HTTP-Methode oder einen erratenen Pfad.

Beispiel: Statt GET /api/invites/{id} schickt ein Angreifer POST /api/invites/new und lädt sich selbst als Admin ein.

Mehr zu BFLA

API6:2023 Unrestricted Access to Sensitive Business Flows

Jeder einzelne Aufruf ist korrekt und erlaubt, aber der Ablauf als Ganzes lässt sich automatisiert missbrauchen, etwa bei Käufen, Buchungen oder Kommentaren.

Beispiel: Ein Bot kauft beim Verkaufsstart einer limitierten Spielkonsole den gesamten Bestand und verkauft ihn teurer weiter.

Mehr zu Business Flows

API7:2023 Server Side Request Forgery (SSRF)

Die API ruft eine vom Nutzer angegebene URL ab, ohne sie ausreichend zu prüfen. So stellt der Server Anfragen an interne Systeme, die von außen nicht erreichbar sind.

Beispiel: Ein Webhook wird auf die interne Metadaten-Adresse eines Cloud-Servers gesetzt und gibt dessen Zugangsdaten preis.

Mehr zu SSRF

API8:2023 Security Misconfiguration

Fehlende Härtung, unsichere Standardeinstellungen, fehlende Patches oder falsch gesetzte TLS-, CORS- und Header-Konfigurationen, auf jeder Ebene des API-Stacks.

Beispiel: Eine Logging-Bibliothek wertet Platzhalter standardmäßig aus, und ein präparierter Header genügt, um Code auf dem Server auszuführen.

Mehr zu Security Misconfiguration

API9:2023 Improper Inventory Management

Organisationen verlieren den Überblick über ihre APIs. Alte Versionen, vergessene Beta- oder Test-Hosts und undokumentierte Endpunkte laufen weiter, oft ohne die Schutzmaßnahmen der Produktion.

Beispiel: Ein Beta-Host ohne vorgeschaltetes Rate-Limiting erlaubt Brute Force auf die Passwort-Zurücksetzung.

Mehr zu Improper Inventory

API10:2023 Unsafe Consumption of APIs

Die API vertraut Daten von Drittanbieter-APIs mehr als Nutzereingaben und prüft sie weniger streng. Angreifer greifen deshalb den integrierten Dienst an statt die API selbst.

Beispiel: Ein kompromittierter Speicherdienst antwortet mit einer Weiterleitung, die die API ungeprüft befolgt, und sensible Daten landen beim Angreifer.

Mehr zu Unsafe Consumption

Was sich gegenüber 2019 geändert hat

Die Ausgabe 2023 übernimmt die Grundstruktur von 2019, setzt aber neue Schwerpunkte:

  • Zusammengelegt: „Excessive Data Exposure“ (2019: API3) und „Mass Assignment“ (2019: API6) bilden jetzt gemeinsam API3 BOPLA. Beide haben dieselbe Ursache, die fehlende Prüfung auf Feldebene.
  • Neu: API6 Unrestricted Access to Sensitive Business Flows, API7 Server Side Request Forgery und API10 Unsafe Consumption of APIs.
  • Geschärft und umbenannt: „Lack of Resources & Rate Limiting“ heißt jetzt API4 Unrestricted Resource Consumption, mit dem Fokus auf dem Verbrauch selbst statt nur auf der Drosselung. „Broken User Authentication“ heißt jetzt API2 Broken Authentication, „Improper Assets Management“ heißt API9 Improper Inventory Management.
  • Nicht mehr in der Liste: „Injection“ und „Insufficient Logging & Monitoring“. Beide bleiben wichtig, siehe Injection und Logging & Monitoring.
  • Unverändert an der Spitze: BOLA bleibt API1.

Welche Risiken Scanner finden und welche nicht

Die zehn Risiken unterscheiden sich stark darin, wie man sie findet:

  • Oft automatisch erkennbar: viele Fälle von Security Misconfiguration (API8), fehlende Limits (API4) und bekannte Schwächen der Authentifizierung (API2). Sie zeigen sich an der Konfiguration oder am Verhalten einzelner Anfragen.
  • Nur mit Kontext prüfbar: BOLA, BOPLA und BFLA (API1, API3, API5) sowie Business Flows (API6). Ob ein Befund vorliegt, hängt davon ab, wem ein Objekt gehört, welche Rolle ein Nutzer hat und welcher Ablauf erlaubt ist. Dafür braucht es mehrere Test-Identitäten und Wissen über die Geschäftslogik.
  • Nur mit Überblick prüfbar: Improper Inventory Management (API9) setzt voraus, dass man alle laufenden APIs kennt, auch die vergessenen.

Genau bei der zweiten und dritten Gruppe setzt Venedy an: mit der Discovery des echten API-Bestands und mit Angriffen über mehrere Identitäten, jeweils mit Beleg je Befund. So arbeitet Venedy · Vergleich BOLA, BFLA, BOPLA

Häufige Fragen

Gibt es die OWASP API Top 10 auf Deutsch?

Offiziell nur die Ausgabe 2019. Für die aktuelle Ausgabe 2023 bietet OWASP bisher Übersetzungen ins Französische, Persische, Indonesische und Portugiesische an, aber keine deutsche. Diese Seite erklärt die Ausgabe 2023 auf Deutsch und verlinkt jeweils den Originaltext.

Wie entsteht die Liste?

Für 2023 hat OWASP erstmals öffentlich um Daten gebeten, es wurden aber keine beigesteuert. Die Liste beruht deshalb auf der Erfahrung des Projektteams, dem Review durch API-Security-Fachleute und dem Feedback der Community auf einen Release Candidate.

Wie oft wird sie aktualisiert?

Es gibt keinen festen Rhythmus. Die erste Ausgabe erschien 2019, die zweite vier Jahre später.

Was ist der Unterschied zur OWASP Top 10 für Webanwendungen?

Die bekannte OWASP Top 10 deckt Webanwendungen allgemein ab. Die API Security Top 10 konzentriert sich auf Risiken, die bei APIs besonders häufig sind, vor allem Berechtigungsfehler auf Objekt-, Feld- und Funktionsebene. OWASP betont, dass sie die anderen Top-10-Listen nicht ersetzt.

Quellen

Weiterlesen