OWASP API Security Top 10: Überblick und Best Practices
APIs spielen in modernen Anwendungsarchitekturen eine entscheidende Rolle. Dieses OWASP-Projekt soll das Bewusstsein für häufige Sicherheitsschwachstellen von APIs schärfen.
Ziel der OWASP-Liste (Open Worldwide Application Security Project) der 10 größten API-Sicherheitsrisiken ist es, die an der Entwicklung und Wartung von APIs Beteiligten zu informieren und das Bewusstsein für häufige API-Sicherheitslücken zu schärfen. APIs geraten zunehmend ins Visier von Angreifern. Das API-Sicherheitsprojekt von OWASP konzentriert sich daher auf Strategien und Lösungen, mit denen sich die besonderen Schwachstellen und Sicherheitsrisiken von APIs verstehen und minimieren lassen.
Was sind APIs?
APIs (Anwendungsprogrammierschnittstellen) sind für die Entwicklung moderner Anwendungen von grundlegender Bedeutung, da sie es Anwendungen ermöglichen, mit anderen Anwendungen, Diensten oder Plattformen zu kommunizieren und Daten auszutauschen. APIs sind ein zentraler Bestandteil einer Strategie zur Anwendungsmodernisierung und bilden die Grundlage mobiler Apps. Sie ermöglichen Unternehmen die einfache Integration externer Plattformen und Dienste von Drittanbietern sowie die Entwicklung umfassender Lösungen durch die Verknüpfung verschiedener Komponenten. Dies fördert einen modularen Ansatz bei der Anwendungsentwicklung, der es Entwicklern ermöglicht, bestehende Dienste und Funktionen zu nutzen, die Wiederverwendung von Code zu fördern, Entwicklungszyklen zu beschleunigen und die Produktivität zu steigern.
APIs vergrößern zudem die Angriffsfläche und bergen aufgrund ihrer Abhängigkeiten innerhalb von Multi-Cloud-Architekturen insbesondere unvorhergesehene Risiken. Wie Webanwendungen sind auch APIs anfällig für die Ausnutzung von Schwachstellen, den Missbrauch durch automatisierte Bedrohungen, Denial-of-Service-Angriffe, Fehlkonfigurationen sowie Angriffe, die Authentifizierungs- und Autorisierungskontrollen umgehen.
APIs legen naturgemäß kritische Geschäftslogik und sensible Informationen wie Benutzerdaten, Anmeldedaten und Finanztransaktionen offen und geraten zunehmend ins Visier von Angreifern. Dies gilt insbesondere für Funktionen wie Anmeldung, Kontoerstellung, Hinzufügen zum Warenkorb und Geldüberweisungen. APIs können Angreifern als Einstiegspunkte dienen, um Schwachstellen auszunutzen oder Zugriff auf die zugrunde liegende Infrastruktur und Ressourcen zu erlangen.
Was sind Best Practices für die API-Sicherheit?
Robuste API-Sicherheitsmaßnahmen sind unerlässlich zum Schutz von Daten vor unbefugtem Zugriff, Manipulation oder Offenlegung. So werden der Datenschutz und das Vertrauen von Nutzern und Stakeholdern gewahrt sowie die Vertraulichkeit, Integrität und Verfügbarkeit von APIs sichergestellt. Zu den Best Practices für API-Sicherheit gehören:
- Implementieren Sie eine starke Authentifizierung und Autorisierung. Führen Sie geeignete Autorisierungsprüfungen durch, um sicherzustellen, dass authentifizierte Clients über die erforderlichen Berechtigungen verfügen, um auf bestimmte Ressourcen zuzugreifen oder bestimmte Aktionen auszuführen. Verwenden Sie granulare Zugriffskontrollen, um den Zugriff auf sensible API-Endpunkte oder Daten sowie auf relevante Objekte und Funktionen zu beschränken.
- Validieren Sie die Ein- und Ausgabecodierung. Validieren und bereinigen Sie alle von API-Clients empfangenen Eingaben, um Injection-Angriffe zu verhindern, und codieren Sie Ausgaben entsprechend, um die Ausführung schädlicher Skripte zu verhindern.
- Sichere Kommunikation verwenden. Verwenden Sie sichere Protokolle für die Datenübertragung zwischen API-Clients und Servern und verschlüsseln Sie vertrauliche Informationen sowohl bei der Übertragung als auch im Ruhezustand, um die Vertraulichkeit und Integrität der Daten zu gewährleisten.
- Ratenbegrenzung und Drosselung implementieren. Begrenzen Sie die Anzahl der Anfragen, die API-Clients innerhalb eines bestimmten Zeitraums stellen können, um eine übermäßige Nutzung oder unbefugte Zugriffsversuche wie Distributed-Denial-of-Service-Angriffe (DDoS) und Brute-Force-Angriffe zu verhindern.
- Führen Sie regelmäßig Sicherheitstests und Audits durch. Führen Sie regelmäßig Sicherheitsbewertungen, Penetrationstests und Codeüberprüfungen durch, um potenzielle Schwachstellen in Ihren APIs zu identifizieren und zu beheben. Führen Sie außerdem Sicherheitsaudits durch, um Schwachstellen aufzudecken und die Einhaltung von Branchenstandards und Vorgaben sicherzustellen. Dies ist aufgrund der Abhängigkeiten zwischen APIs und den zugrunde liegenden Frameworks und Bibliotheken besonders wichtig.
- Schema- und Protokollkonformität durchsetzen. Die automatische Erstellung und Durchsetzung eines positiven Sicherheitsmodells mithilfe von OpenAPI-Spezifikationen ist ein wertvolles Instrument, um eine einheitliche Sicherheitsrichtlinie zu gewährleisten.
- APIs dynamisch erkennen und kontinuierlich bewerten. Die zunehmende Verbreitung von APIs hat dazu geführt, dass APIs nicht erfasst oder nicht gewartet werden, darunter auch Schatten-APIs. Sicherheitskontrollen müssen APIs kontinuierlich inventarisieren und schützen und dabei Zero-Trust- und Least-Privilege-Zugriffsmodelle anwenden, um unvorhergesehene Risiken durch Abhängigkeiten von Drittanbietern zu minimieren.
- Umfassende Bedrohungserkennung. APIs sind einer Vielzahl von Bedrohungen ausgesetzt und müssen davor geschützt werden, darunter Exploits, Fehlkonfigurationen, Bots, Betrug und Missbrauch.
OWASP API Security Top 10 — 2023
Die OWASP API Security Top 10 – 2023 wurden formuliert, um das Bewusstsein für häufige Schwachstellen bei der API-Sicherheit zu schärfen und Entwickler, Designer, Architekten, Führungskräfte und andere an der Entwicklung und Wartung von APIs Beteiligte dabei zu unterstützen, einen proaktiven Ansatz für die API-Sicherheit zu verfolgen.
Die zehn größten API-Sicherheitsrisiken laut OWASP für 2023 sind:
- Fehlerhafte Autorisierung auf Objektebene. Diese Sicherheitslücke tritt auf, wenn eine Anwendung die Zugriffskontrollen auf Objekt- oder Datenebene nicht ordnungsgemäß durchsetzt. Dadurch kann ein Angreifer Autorisierungsprüfungen manipulieren oder umgehen und sich unbefugten Zugriff auf bestimmte Objekte oder Daten innerhalb einer Anwendung verschaffen. Ursache hierfür können eine fehlerhafte Implementierung von Autorisierungsprüfungen, eine unzureichende Validierung oder die Umgehung von Zugriffskontrollen sein. Jeder API-Endpunkt, der die ID eines Objekts empfängt und eine Aktion an diesem Objekt ausführt, sollte Autorisierungsprüfungen auf Objektebene implementieren, um sicherzustellen, dass der angemeldete Benutzer berechtigt ist, die angeforderte Aktion am betreffenden Objekt auszuführen.
- Fehlerhafte Authentifizierung. Authentifizierungsmechanismen in einer API werden häufig fehlerhaft implementiert, sodass Angreifer unbefugten Zugriff auf Benutzerkonten oder sensible Daten erlangen oder unbefugte Aktionen ausführen können. Dies ist in der Regel auf eine fehlerhafte Implementierung oder Konfiguration von Authentifizierungsprozessen, schwache Passwortrichtlinien, Mängel bei der Sitzungsverwaltung oder andere Schwachstellen im Authentifizierungsablauf zurückzuführen.
- Fehlerhafte Autorisierung auf Objekteigenschaftsebene. Diese Bedrohung tritt auf, wenn eine API Zugriffskontrollen und Autorisierungsprüfungen auf Objekteigenschaftsebene nicht ordnungsgemäß durchsetzt. Ein API-Endpunkt ist für solche Angriffe anfällig, wenn er Eigenschaften eines Objekts offenlegt, die als vertraulich gelten und vom Benutzer nicht gelesen werden dürfen. Dieser Angriff wird mitunter als übermäßige Datenoffenlegung bezeichnet. Ein API-Endpunkt ist auch dann für solche Angriffe anfällig, wenn er einem Benutzer erlaubt, den Wert einer vertraulichen Objekteigenschaft zu ändern, hinzuzufügen oder zu löschen. Dieser Angriff wird mitunter als Massenzuweisung bezeichnet.
- Uneingeschränkter Ressourcenverbrauch. Bei diesem Angriff, der auch als Ressourcenerschöpfung bezeichnet wird, werden Schwachstellen in der API-Implementierung ausgenutzt, um absichtlich übermäßig viele Ressourcen wie CPU, Arbeitsspeicher, Bandbreite oder andere Systemressourcen zu verbrauchen. Dieser Denial-of-Service-Angriff (DoS) beeinträchtigt die Leistung oder Verfügbarkeit der API beziehungsweise des zugrunde liegenden Systems und kann zu Ausfallzeiten führen.
- Fehlerhafte Autorisierung auf Funktionsebene. Diese Bedrohung tritt auf, wenn eine API Autorisierungsprüfungen auf Funktions- oder Vorgangsebene nicht ordnungsgemäß durchsetzt, sodass Angreifer auf nicht autorisierte Funktionen zugreifen können. Die Implementierung geeigneter Autorisierungsprüfungen kann kompliziert sein, da moderne Anwendungen zahlreiche Arten funktionaler Rollen und Gruppen definieren und komplexe Benutzerhierarchien umfassen können, die Angreifer manipulieren können.
- Uneingeschränkter Zugriff auf sensible Geschäftsabläufe. Dieser Angriff tritt auf, wenn eine API nicht über geeignete Zugriffskontrollen oder Autorisierungsprüfungen verfügt, sodass Angreifer den Zugriff auf sensible, von der API unterstützte Geschäftsabläufe automatisieren können. Diese Geschäftsabläufe können den massenhaften Kauf hochwertiger, nur begrenzt verfügbarer Produkte wie Eintrittskarten oder Sneaker ermöglichen, die anschließend mit einem Preisaufschlag auf Sekundärmärkten weiterverkauft werden können. Angreifer passen ihre Angriffe häufig mithilfe ausgefeilter Automatisierungs-Toolkits an und nehmen möglicherweise die Geschäftslogik hinter APIs ins Visier, wenn die Webanwendungen des Ziels ausreichend durch Schutzmaßnahmen gegen Automatisierung geschützt sind.
- Server-Side Request Forgery (SSRF). Diese Schwachstelle entsteht, wenn ein Angreifer einen anfälligen API-Endpunkt findet, der von Benutzern bereitgestellte URLs akzeptiert oder serverseitige Anfragen an externe Ressourcen ausführt. Der Angreifer erstellt bösartige Anfragen, in denen er URLs interner Ressourcen oder Systeme angibt, die er angreifen möchte. Ohne die bösartige Absicht zu erkennen, führt der Server die serverseitige Anfrage an die angegebene URL aus, wodurch möglicherweise vertrauliche Informationen oder Dienste offengelegt werden.
- Sicherheitsfehlkonfiguration. Angreifer versuchen, ungepatchte Schwachstellen, gängige Endpunkte, Dienste mit unsicheren Standardkonfigurationen oder ungeschützte Dateien und Verzeichnisse zu finden, um sich unbefugten Zugriff auf die API zu verschaffen. Diese Schwachstelle kann entstehen, wenn auf einer beliebigen Ebene des API-Stacks – von der Netzwerk- bis zur Anwendungsebene – angemessene Maßnahmen zur Sicherheitshärtung fehlen oder Berechtigungen für Cloud-Dienste falsch konfiguriert sind. Fehlkonfigurationen betreffen Webanwendungen und APIs und stellen ein zunehmendes Risiko dar, da Architekturen immer stärker dezentralisiert und über Multi-Cloud-Umgebungen verteilt werden.
- Unzureichende Bestandsverwaltung. APIs werden im Laufe der Zeit geändert und aktualisiert. Veraltete oder unsichere API-Versionen können jedoch weiterhin in der Produktivumgebung verbleiben, oder ältere Endpunkte werden möglicherweise ungepatcht oder mit schwächeren Sicherheitsanforderungen weiterbetrieben, wodurch sich das Risiko von Sicherheitsverletzungen erhöht. Ohne eine ordnungsgemäße Bestandsverwaltung lässt sich nur schwer nachvollziehen, welche Versionen verwendet werden, welche veraltet oder nicht mehr unterstützt sind und welche Schwachstellen behoben wurden. Schatten- und Zombie-APIs bergen erhebliche Risiken, was die Bedeutung einer kontinuierlichen Erkennung und automatisierter Schutzmaßnahmen unterstreicht.
- Unsichere Nutzung von APIs. Entwickler neigen dazu, Daten von Drittanbieter-APIs zu vertrauen, insbesondere wenn diese APIs von bekannten Unternehmen angeboten werden. Daher stellen sie geringere Sicherheitsanforderungen an diese Daten, etwa hinsichtlich der Eingabevalidierung und -bereinigung oder der Transportsicherheit. Eine unsichere Nutzung kann auch vorliegen, wenn über unsichere Protokolle auf APIs zugegriffen wird oder keine geeigneten Verschlüsselungsmechanismen zum Einsatz kommen. Dies kann zum Abhören und Abfangen von Daten sowie zum unbefugten Zugriff auf vertrauliche Informationen führen.
Argumente für integrierte Sicherheitskontrollen
F5 begegnet OWASP-Sicherheitsrisiken
F5 unterstützt die OWASP Foundation und ihr Engagement für die Verbesserung der Softwaresicherheit sowie für die Sensibilisierung für Sicherheitsrisiken und Schwachstellen von Webanwendungen auf verschiedenen Ebenen. Tatsächlich gibt es Sicherheitsrisiken, die sowohl Anwendungen als auch APIs betreffen und bei der Implementierung von Sicherheitslösungen berücksichtigt werden müssen. Zum Beispiel:
- Schwache Kontrollen für Authentifizierung und Autorisierung
- Fehlkonfiguration
- Missbrauch der Geschäftslogik (Credential Stuffing, Kontoübernahme)
- Server-Side Request Forgery (SSRF).
F5 begegnet den in den OWASP API Security Top 10 aufgeführten Risiken mit Lösungen, die Schutz für die wachsende Angriffsfläche und vor neuen Bedrohungen bieten, während sich Anwendungen weiterentwickeln und die Zahl der API-Bereitstellungen zunimmt. Die Web Application and API Protection (WAAP)-Lösungen von F5 schützen die gesamte Angriffsfläche moderner Anwendungen mit umfassenden Schutzmaßnahmen, darunter WAF, API-Sicherheit, L3-L7-DDoS-Abwehr und Bot-Schutz vor automatisierten Bedrohungen und Betrug. Die verteilte Plattform erleichtert die Implementierung einheitlicher Richtlinien und die Skalierung der Sicherheit über Ihre gesamte Anwendungs- und API-Landschaft hinweg – unabhängig davon, wo diese gehostet werden – sowie die Integration von Schutzmaßnahmen in den API-Lebenszyklus und umfassendere Sicherheitsökosysteme.
F5 bietet hybride Sicherheitsarchitekturen an, die Anwendungen und APIs vom Rechenzentrum über die Cloud bis zum Edge konsistent und kontinuierlich schützen. F5-Lösungen erkennen dynamisch kritische Geschäftslogik hinter APIs und schützen sie automatisch mithilfe von Bedrohungsinformationen, ML-basierter Sicherheit und Zero-Trust-Prinzipien. So sorgen sie für die nötige Resilienz und Agilität, um in der API-getriebenen digitalen Wirtschaft wettbewerbsfähig zu bleiben.
F5 Web Application Firewall solutions blockieren und mindern außerdem ein breites Spektrum an Risiken, die in den OWASP Top 10, einer weithin anerkannten Liste der kritischsten Sicherheitsrisiken für Webanwendungen, aufgeführt sind. APIs sind ebenso wie Webanwendungen anfällig für Fehlkonfigurationen und automatisierte Bedrohungen und können durch das Ausnutzen von Schwachstellen, SSRF sowie Angriffe ins Visier genommen werden, die versuchen, Authentifizierungs- und Autorisierungskontrollen zu umgehen. F5 WAF-Lösungen kombinieren signatur- und verhaltensbasierte Schutzmechanismen, einschließlich Bedrohungsinformationen von F5 Labs und ML-basierter Sicherheit, um mit neu auftretenden Bedrohungen Schritt zu halten. Sie können außerdem in spezielle Schutzmechanismen zur Bot-Abwehr integriert werden.
Diese Lösungen reduzieren den Aufwand und die Komplexität einer durchgängigen Absicherung von Anwendungen in Cloud-, On-Premises- und Edge-Umgebungen und vereinfachen zugleich die Verwaltung durch eine zentralisierte SaaS-Infrastruktur. F5 WAFs optimieren zudem die Anwendungssicherheit, indem sie Schutzmechanismen mit zentralen Sicherheitsfunktionen in Entwicklungsframeworks und CI/CD-Pipelines integrieren und über ein einziges Dashboard eine zentrale Orchestrierung und Überwachung mit einem 360-Grad-Überblick über die Anwendungsleistung und Sicherheitsereignisse in verteilten Anwendungen ermöglichen.
F5 bietet außerdem Lösungen zur Bewältigung der im OWASP-Projekt „Automatisierte Bedrohungen für Webanwendungen“ beschriebenen Risiken an. F5 Distributed Cloud Bot Defense verhindert Betrug und Missbrauch, die bestehende Bot-Management-Lösungen umgehen können, und bietet Echtzeitüberwachung und -informationen sowie ML-basierte retrospektive Analysen, um Unternehmen vor automatisierten Angriffen zu schützen, ohne die Benutzerfreundlichkeit zu beeinträchtigen oder das Kundenerlebnis zu stören. Distributed Cloud Bot Defense bleibt unabhängig davon wirksam, wie Angreifer ihre Methoden anpassen – ob sie ihre Angriffe von Webanwendungen auf APIs verlagern oder versuchen, Schutzmaßnahmen gegen Automatisierung zu umgehen, indem sie Telemetriedaten fälschen oder menschliche CAPTCHA-Löser einsetzen.
F5 bietet außerdem mehrstufigen DDoS-Schutz für erweiterte Online-Sicherheit als verwalteten, cloudbasierten Mitigationsdienst, der groß angelegte Angriffe auf Netzwerk-, Protokoll- und Anwendungsebene in Echtzeit erkennt und abwehrt. Dieselben Schutzmechanismen sind auch als lokale Hardware-, Software- und Hybridlösungen verfügbar. F5 Distributed Cloud DDoS Mitigation wehrt volumetrische und anwendungsspezifische Angriffe auf Layer 3–4 sowie komplexe Angriffe auf Layer 7 ab, bevor sie Ihre Netzwerkinfrastruktur und Anwendungen erreichen.
Weitere Informationen dazu, wie die Komponenten der F5 ADSP-Plattform vor OWASP-Sicherheitsrisiken schützen, finden Sie in den folgenden Ressourcen:
- „Minderung der Risiken aus den OWASP API Security Top 10 – 2023 mit F5 BIG-IP“
- "Minimierung der OWASP Top 10 API-Sicherheitsrisiken 2023 mit F5 NGINX App Protect"
- "Abwehr der OWASP API Security Top 10 2023 mithilfe der F5 Distributed Cloud Platform"
- „K000135973: Einführung und Inhalt des Betriebshandbuchs zu den OWASP API Top 10 2023“
- "OWASP Tactical Access Defense-Reihe: Fehlerhafte Authentifizierung und BIG-IP APM"

