Was sind API-Angriffe?
API-Angriffe missbrauchen eine API, um Daten zu stehlen oder Dienste zu stören. Risiken der OWASP API Security Top 10 (2023) und wirksame Gegenmaßnahmen.
Was sind API-Angriffe?
API-Angriffe sind Versuche, eine Programmierschnittstelle zu missbrauchen: um Daten zu lesen, die der Aufrufer nicht sehen darf, Daten zu verändern, die er nicht anfassen darf, oder den Dienst so zu überlasten, dass echte Nutzer ihn nicht mehr verwenden können. Sie zielen direkt auf die Endpunkte hinter Web- und Mobil-Apps, sodass eine Schwachstelle, die ein Frontend verbirgt, mit einer einfachen HTTP-Anfrage trotzdem erreichbar bleibt. Sie zu verstehen ist der erste Schritt zur API-Sicherheit. Diese Seite ist defensiver Hintergrund.
Warum Angreifer APIs ins Visier nehmen
- Direkter Datenzugriff: Antworten sind strukturiert und kommen oft direkt aus der Datenbank.
- Vorhersehbare Form: dokumentierte Routen und fortlaufende IDs lassen sich leicht automatisiert abfragen.
- Viele Einstiegspunkte: öffentliche, Partner- und interne APIs vergrößern die Angriffsfläche, und vergessene bleiben bestehen (siehe API-Discovery).
- Kein Browser dazwischen: Bots rufen Endpunkte ohne CAPTCHA oder sichtbare Seiten auf.
Die OWASP API Security Top 10 (2023)
Die maßgebliche Referenz ist die OWASP API Security Top 10, Ausgabe 2023. Die zehn Risiken (Originalbezeichnungen) mit dem jeweiligen Abwehrgedanken:
| Risiko | Was schiefgeht | Kernmaßnahme |
|---|---|---|
| API1:2023 Broken Object Level Authorization | Ein Endpunkt liefert ein Objekt per ID, ohne zu prüfen, ob der Aufrufer darauf zugreifen darf | Eigentumsprüfung bei jedem Objektzugriff |
| API2:2023 Broken Authentication | Schwache Anmeldung oder Token-Behandlung erlaubt es, sich als Nutzer auszugeben | Strenge Token-Prüfung, gedrosselte Anmeldung, MFA |
| API3:2023 Broken Object Property Level Authorization | Aufrufer lesen oder schreiben Felder, die sie nicht dürfen, auch durch zu freigiebige Antworten | Explizite Antwortschemas, erlaubte Schreibfelder per Allowlist |
| API4:2023 Unrestricted Resource Consumption | Anfragen verbrauchen CPU, Speicher, Bandbreite oder kostenpflichtige Dienste | Ratenbegrenzung, Kontingente, Größen- und Seitenlimits |
| API5:2023 Broken Function Level Authorization | Normale Nutzer erreichen Admin- oder privilegierte Funktionen | Standardmäßig verweigern, Rollenprüfung je Funktion |
| API6:2023 Unrestricted Access to Sensitive Business Flows | Automatisierung missbraucht einen legitimen Ablauf, etwa Massenkäufe oder Registrierungen | Limits pro Ablauf und Bot-Erkennung |
| API7:2023 Server Side Request Forgery | Die API ruft eine vom Angreifer vorgegebene URL ab und erreicht interne Ressourcen | Allowlists für ausgehende Ziele, URL-Prüfung |
| API8:2023 Security Misconfiguration | Fehlende Härtung, ausführliche Fehlermeldungen, offenes CORS, unnötige Funktionen | Wiederholbare gehärtete Konfiguration, regelmäßige Prüfung |
| API9:2023 Improper Inventory Management | Alte Versionen und undokumentierte Endpunkte bleiben offen | Inventar führen, alte Versionen abschalten |
| API10:2023 Unsafe Consumption of APIs | Der eigene Dienst vertraut Daten von Drittanbieter-APIs zu sehr | Upstream-Daten validieren, Timeouts setzen |
Eine allgemeinverständliche Einführung zu den wichtigsten Punkten bietet die größten API-Sicherheitsrisiken.
Ein konkretes Beispiel
Nehmen wir BOLA (API1). Ein angemeldeter Nutzer öffnet /api/orders/1001 und sieht seine eigene Bestellung. Prüft der Server nur, ob der Nutzer angemeldet ist, kann die Zahl 1002 die Bestellung einer anderen Person liefern. Ein Skript probiert Tausende IDs in Minuten durch. Die Lösung ist nicht, IDs zu verstecken, sondern bei jeder Anfrage zu prüfen, ob dieser Aufrufer diese Bestellung besitzt.
Häufige Fehler bei der Abwehr
- Sich auf das Frontend verlassen. Einen Button auszublenden schützt den Endpunkt dahinter nicht.
- Authentifizierung ohne Autorisierung. Zu wissen, wer jemand ist, entscheidet nicht, was er anfassen darf.
- Ratenbegrenzung als einzige Maßnahme. Sie bremst Missbrauch (API-Missbrauch), hilft aber nicht gegen BOLA oder Injection.
- Vergessene Versionen. Ein altes
/v1ohne die neuen Prüfungen ist ein häufiger Einstieg. - Partner-APIs vertrauen. Deren Antworten als nicht vertrauenswürdige Eingabe behandeln.
Angriffe erkennen und eindämmen
Maßnahmen schichten: jede Anfrage auf Objekt- und Funktionsebene authentifizieren und autorisieren, Eingaben gegen ein Schema validieren, nur nötige Felder zurückgeben, Raten und Größen je Client begrenzen, ein Inventar aller Endpunkte und Versionen führen und genug protokollieren, um nachzuforschen. Alarmwürdig sind Häufungen von 401- und 403-Antworten, ein Client, der fortlaufende IDs durchläuft, und plötzliche Fehler- oder Latenzspitzen. Zu Überflutung siehe DDoS-Angriffe stoppen und den Leitfaden zur API-Ratenbegrenzung.
Wo Monitoring und Lasttests passen
LoadFocus ist kein Sicherheitsscanner und findet keine Schwachstellen wie Injection oder BOLA. Es hilft bei der Verfügbarkeit. API Monitoring prüft Endpunkte nach Zeitplan (kostenlose Checks laufen alle 5 Minuten) und alarmiert, wenn Statuscodes, Antworten oder Antwortzeiten abweichen, was ein frühes Zeichen sein kann, dass etwas die API belastet. Lasttests zeigen, wie sich die eigene API unter hohem gleichzeitigem Verkehr verhält, sodass Sie prüfen können, ob Ratenlimits greifen und der Dienst geordnet degradiert. Testen Sie nur Systeme, die Ihnen gehören oder für die Sie eine Erlaubnis haben.
Häufige Fragen: API-Angriffe
Was ist der häufigste API-Angriff?
OWASP führt Broken Object Level Authorization als API1:2023, das erste Risiko der Top 10. Es tritt häufig auf, weil es überall entsteht, wo ein Endpunkt einer ID ohne Eigentumsprüfung vertraut.
Wie unterscheiden sich API-Angriffe von Angriffen auf Webanwendungen?
API-Angriffe zielen auf Maschine-zu-Maschine-Endpunkte, die strukturierte Daten liefern, ohne Seite oder CAPTCHA dazwischen. Dadurch lassen sich Autorisierungs- und Eingabefehler leichter finden und automatisieren.
Können WAF oder Ratenbegrenzer sie stoppen?
Sie helfen bei Überflutung, bekannten Angriffsmustern und Brute Force, aber nicht bei Logikfehlern wie BOLA oder Missbrauch von Geschäftsabläufen. Am besten wirken sie zusammen mit Autorisierungsprüfungen und Eingabevalidierung.
Woran erkenne ich, dass meine API angegriffen wird?
Vergleichen Sie mit einer Basislinie: plötzlicher Verkehr einzelner Clients, steigende 401- oder 403-Raten, Durchlaufen fortlaufender IDs und Latenzspitzen. Dauerhaftes Monitoring mit Alarmen macht das schnell sichtbar.
Findet ein Lasttest Sicherheitslücken?
Nein. Er misst Leistung und Stabilität unter Last. Er kann bestätigen, dass Ratenlimits und Kapazität halten, aber Schwachstellen finden eine Sicherheitsprüfung oder ein Scanner.
Verwandte Begriffe
- Was sind API-Cookies? Definition und Sicherheit
- API-Performance-Metriken: Latenz, Durchsatz, Fehlerrate
- Was sind interne APIs?
- Die größten API-Sicherheitsrisiken
- Was ist ein Payload in einer API? JSON, XML, Beispiele
- Was ist ein API-Endpoint? Definition, Beispiele, Best Practices
- Was ist ein API-Schlüssel? Definition, Einsatz und Sicherheit
- Was ist ein API-Sicherheitsaudit?
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um, derselben Plattform, die alles antreibt, was du gerade gelesen hast.