OWASP API Security Top 10 Übersicht und Best Practices

APIs spielen in modernen Anwendungsarchitekturen eine entscheidende Rolle, und dieses OWASP-Projekt konzentriert sich auf die Sensibilisierung für gängige API-Sicherheitsschwächen.

Das Ziel der OWASP -Liste (Open Worldwide Application Security Project) mit den zehn größten API-Sicherheitsrisiken besteht darin, die an der Entwicklung und Wartung von APIs Beteiligten zu schulen und das Bewusstsein für gängige Sicherheitslücken bei APIs zu schärfen. APIs werden zunehmend zum Ziel von Angreifern und das API-Sicherheitsprojekt von OWASP konzentriert sich auf Strategien und Lösungen zum Verständnis und zur Eindämmung der mit APIs verbundenen besonderen Schwachstellen und Sicherheitsrisiken.

Was sind APIs?

APIs (Application Programming Interfaces) sind für die Entwicklung moderner Anwendungen von grundlegender Bedeutung, da sie die Kommunikation und den Datenaustausch von Anwendungen mit anderen Anwendungen, Diensten oder Plattformen ermöglichen. APIs sind ein wichtiger Teil einer App-Modernisierungsstrategie und bilden die Grundlage mobiler Apps. Sie ermöglichen Unternehmen eine einfache Integration mit externen Plattformen und Diensten Dritter sowie den Aufbau umfassender Lösungen durch die Verbindung verschiedener Komponenten. Dies fördert einen modularen Ansatz zur App-Entwicklung, der es Entwicklern ermöglicht, vorhandene Dienste und Funktionen zu nutzen, die Wiederverwendung von Code zu fördern, Entwicklungszyklen zu beschleunigen und die Produktivität zu steigern.

Darüber hinaus vergrößern APIs die Risikofläche und bringen aufgrund ihrer gegenseitigen Abhängigkeiten in Multi-Cloud-Architekturen insbesondere unvorhergesehene Risiken mit sich. Wie Webanwendungen sind auch APIs anfällig für die Ausnutzung von Sicherheitslücken, Missbrauch durch automatisierte Bedrohungen, Denial-of-Service-Angriffe, Fehlkonfigurationen und Angriffe, die Authentifizierungs- und Autorisierungskontrollen umgehen.

APIs legen naturgemäß wichtige Geschäftslogik und vertrauliche Informationen offen, etwa Benutzerdaten, Authentifizierungsinformationen und Finanztransaktionen, und sind zunehmend zum Ziel von Angreifern geworden; dies gilt insbesondere für die Funktionen „Anmelden“, „Konto erstellen“, „In den Einkaufswagen legen“ und „Geldüberweisung“. APIs können zu Einstiegspunkten für Angreifer werden, die Schwachstellen oder Schwächen ausnutzen oder die zugrunde liegende Infrastruktur und Ressourcen offenlegen möchten.  

Was sind die Best Practices für API-Sicherheit?

Um Daten vor unberechtigtem Zugriff, Manipulation oder Offenlegung zu schützen , sind robuste API-Sicherheitsmaßnahmen erforderlich. So können die Privatsphäre geschützt und das Vertrauen der Benutzer und Beteiligten bewahrt sowie die Vertraulichkeit, Integrität und Verfügbarkeit von APIs sichergestellt werden. Zu den Best Practices für die API-Sicherheit gehören die folgenden:

  • Implementieren Sie eine starke Authentifizierung und Autorisierung. Erzwingen Sie ordnungsgemäße Autorisierungsprüfungen, um sicherzustellen, dass authentifizierte Clients über die erforderlichen Berechtigungen verfügen, um auf bestimmte Ressourcen zuzugreifen oder bestimmte Aktionen auszuführen. Verwenden Sie detaillierte Zugriffskontrollen, um den Zugriff auf vertrauliche API-Endpunkte oder Daten sowie relevante Objekte und Funktionen zu beschränken.
  • Überprüfen Sie die Eingabe- und Ausgabecodierung. Validieren und bereinigen Sie alle von API-Clients empfangenen Eingaben, um Injektionsangriffe zu verhindern, und kodieren Sie die Ausgabe entsprechend, um die Ausführung bösartiger Skripts zu verhindern.
  • Verwenden Sie sichere Kommunikation. Verwenden Sie sichere Protokolle zur Datenübertragung zwischen API-Clients und Servern und verschlüsseln Sie vertrauliche Informationen während der Übertragung und im Ruhezustand, um die Vertraulichkeit und Integrität der Daten zu gewährleisten. 
  • Implementieren Sie Ratenbegrenzung und Drosselung. Erzwingen Sie Beschränkungen für die Anzahl der Anfragen, die API-Clients innerhalb eines bestimmten Zeitraums stellen können, um übermäßige Nutzung oder unbefugte Zugriffsversuche wie Distributed Denial of Service (DDoS) und Brute-Force-Angriffe zu verhindern.
  • Führen Sie regelmäßige Sicherheitstests und -prüfungen durch. Führen Sie regelmäßig Sicherheitsbewertungen, Penetrationstests und Codeüberprüfungen durch, um potenzielle Schwachstellen in Ihren APIs zu ermitteln und zu beheben. Führen Sie Sicherheitsprüfungen durch, um Schwachstellen zu erkennen und die Einhaltung von Branchenstandards und -vorgaben sicherzustellen. Dies ist besonders wichtig aufgrund der gegenseitigen Abhängigkeiten von APIs und zugrunde liegenden Frameworks und Bibliotheken.
  • Erzwingen Sie die Einhaltung von Schema und Protokoll. Das automatische Erstellen und Durchsetzen eines positiven Sicherheitsmodells mit OpenAPI-Spezifikationen ist ein wertvolles Tool zur Gewährleistung einer konsistenten Sicherheitsrichtlinie.
  • Entdecken und bewerten Sie APIs dynamisch und kontinuierlich. Die zunehmende Verbreitung von APIs hat dazu geführt, dass APIs, darunter auch Schatten-APIs , nicht berücksichtigt oder nicht gewartet werden. Sicherheitskontrollen müssen APIs ständig inventarisieren und schützen und dabei die Paradigmen Zero Trust und Least Privilege Access verwenden, um unvorhergesehene Risiken von Abhängigkeiten von Drittanbietern zu verringern. 
  • Umfassende Bedrohungserkennung. APIs sind einer Vielzahl von Bedrohungen ausgesetzt und müssen vor diesen geschützt werden, darunter Exploits, Fehlkonfigurationen, Bots, Betrug und Missbrauch.

OWASP API-Sicherheit Top 10 – 2023

Die OWASP API Security Top 10 – 2023 wurden entwickelt, um das Bewusstsein für gängige API-Sicherheitsschwächen zu schärfen und Entwicklern, Designern, Architekten, Managern und anderen an der API-Entwicklung und -Wartung Beteiligten dabei zu helfen, einen proaktiven Ansatz zur API-Sicherheit beizubehalten.

Die Top 10 der OWASP API-Sicherheitsrisiken für 2023 sind:  

  1. Beschädigte Autorisierung auf Objektebene. Diese Sicherheitslücke tritt auf, wenn eine Anwendung die Zugriffskontrollen auf Objekt- oder Datenebene nicht ordnungsgemäß durchsetzt, wodurch ein Angreifer Autorisierungsprüfungen manipulieren oder umgehen und unbefugten Zugriff auf bestimmte Objekte oder Daten innerhalb einer Anwendung gewähren kann. Dies kann aufgrund einer unsachgemäßen Durchführung der Autorisierungsprüfungen, einer fehlenden ordnungsgemäßen Validierung oder der Umgehung von Zugriffskontrollen geschehen. Jeder API-Endpunkt, der eine ID eines Objekts empfängt und eine Aktion für das Objekt ausführt, sollte Autorisierungsprüfungen auf Objektebene implementieren, um zu bestätigen, dass der angemeldete Benutzer über die Berechtigung verfügt, die angeforderte Aktion für das angeforderte Objekt auszuführen.
  2. Fehlerhafte Authentifizierung. Authentifizierungsmechanismen in einer API sind häufig falsch implementiert, wodurch Angreifer unbefugten Zugriff auf Benutzerkonten oder vertrauliche Daten erhalten oder nicht autorisierte Aktionen ausführen können. Dies ist in der Regel auf eine unsachgemäße Implementierung oder Konfiguration der Authentifizierungsprozesse, schwache Kennwortrichtlinien, Fehler bei der Sitzungsverwaltung oder andere Schwachstellen im Authentifizierungs-Workflow zurückzuführen. 
  3. Autorisierung auf der Ebene der Objekteigenschaften defekt. Diese Bedrohung tritt auf, wenn eine API Zugriffskontrollen und Autorisierungsprüfungen auf der Objekteigenschaftsebene nicht ordnungsgemäß durchsetzt. Ein API-Endpunkt ist für diese Angriffe anfällig, wenn er Eigenschaften eines Objekts preisgibt, die als vertraulich gelten und nicht vom Benutzer gelesen werden sollten. Dieser Exploit wird manchmal als übermäßige Datenfreigabe bezeichnet. Ein API-Endpunkt ist auch dann anfällig für diese Angriffe, wenn er einem Benutzer ermöglicht, den Wert der Eigenschaft eines sensiblen Objekts zu ändern, hinzuzufügen oder zu löschen. Dieser Exploit wird manchmal als Massenzuweisung bezeichnet.
  4. Uneingeschränkter Ressourcenverbrauch. Bei diesem Angriff, auch Ressourcenerschöpfung genannt, werden Schwachstellen in der API-Implementierung ausgenutzt, um absichtlich übermäßig viele Ressourcen wie CPU, Speicher, Bandbreite oder andere Systemressourcen zu verbrauchen. Dieser Denial-of-Service-Angriff (DoS) beeinträchtigt die Leistung oder Verfügbarkeit der API oder des zugrunde liegenden Systems und kann zu Ausfallzeiten führen.  
  5. Beschädigte Autorisierung auf Funktionsebene. Diese Bedrohung entsteht, wenn eine API Autorisierungsprüfungen auf Funktions- oder Vorgangsebene nicht ordnungsgemäß durchsetzt und Angreifer dadurch auf nicht autorisierte Funktionen zugreifen können. Die Implementierung ordnungsgemäßer Autorisierungsprüfungen kann verwirrend sein, da moderne Anwendungen viele Arten von Funktionsrollen und -gruppen definieren und komplexe Benutzerhierarchien beinhalten können, die Angreifer manipulieren können. 
  6. Uneingeschränkter Zugriff auf sensible Geschäftsabläufe. Dieser Angriff erfolgt, wenn einer API die richtigen Zugriffskontrollen oder Autorisierungsprüfungen fehlen, sodass Angreifer den Zugriff auf vertrauliche Geschäftsabläufe, die von der API unterstützt werden, automatisieren können. Diese Geschäftsabläufe unterstützen möglicherweise den Masseneinkauf hochwertiger, aber in geringem Lagerbestand befindlicher Produkte wie Tickets oder Turnschuhe, die auf Sekundärmärkten mit Aufschlag weiterverkauft werden können. Angreifer rüsten ihre Angriffe häufig mithilfe ausgefeilter Automatisierungs-Toolkits um und zielen möglicherweise auf die Geschäftslogik hinter APIs ab, wenn die Web-Apps des Ziels durch ausreichende Abwehrmaßnahmen gegen die Automatisierung geschützt sind.  
  7. Serverseitige Anforderungsfälschung (SSRF). Diese Sicherheitslücke entsteht, wenn ein Angreifer einen anfälligen API-Endpunkt identifiziert, der vom Benutzer bereitgestellte URLs akzeptiert oder serverseitige Anfragen an externe Ressourcen stellt. Der Angreifer erstellt bösartige Anfragen, die URLs interner Ressourcen oder Systeme angeben, auf die der Angreifer abzielen möchte. Der Server ist sich der böswilligen Absicht nicht bewusst und führt die serverseitige Anfrage an die angegebene URL aus, wodurch möglicherweise vertrauliche Informationen oder Dienste offengelegt werden. 
  8. Sicherheitsfehlkonfiguration. Angreifer versuchen, ungepatchte Fehler, gemeinsame Endpunkte, Dienste mit unsicheren Standardkonfigurationen oder ungeschützte Dateien und Verzeichnisse zu finden, um unbefugten Zugriff auf die API zu erhalten. Diese Sicherheitslücke kann entstehen, wenn auf allen Ebenen des API-Stacks – vom Netzwerk bis zur Anwendungsebene – die entsprechende Sicherheitshärtung fehlt oder wenn die Berechtigungen für Cloud-Dienste nicht richtig konfiguriert sind. Eine Fehlkonfiguration wirkt sich auf Webanwendungen und APIs aus und stellt ein zunehmendes Risiko dar, da die Architektur zunehmend dezentralisiert und auf Multi-Cloud-Umgebungen verteilt wird.
  9. Unsachgemäße Bestandsverwaltung. APIs unterliegen im Laufe der Zeit Änderungen und Aktualisierungen, es können jedoch veraltete oder unsichere API-Versionen in der Produktion verbleiben oder ältere Endpunkte werden möglicherweise ungepatcht oder mit schwächeren Sicherheitsanforderungen ausgeführt, was das Risiko von Sicherheitsverletzungen erhöht. Durch das Fehlen einer geeigneten Bestandsverwaltung lässt sich nur schwer nachverfolgen, welche Versionen im Einsatz sind, welche veraltet oder nicht mehr weiterentwickelt werden und welche Schwachstellen behoben wurden. Schatten- und Zombie-APIs bergen erhebliche Risiken und unterstreichen die Bedeutung kontinuierlicher Erkennung und automatisierter Schutzmaßnahmen.  
  10. Unsichere Verwendung von APIs. Entwickler neigen dazu, Daten zu vertrauen, die sie von APIs von Drittanbietern erhalten, insbesondere von APIs namhafter Unternehmen, und stellen für diese Daten geringere Sicherheitsanforderungen hinsichtlich Eingabevalidierung und -bereinigung oder Transportsicherheit. Zu einer unsicheren Nutzung kann es auch kommen, wenn auf APIs über unsichere Protokolle zugegriffen wird oder wenn keine geeigneten Verschlüsselungsmechanismen verwendet werden, was zu Lauschangriffen, Datenabfangen und unbefugtem Zugriff auf vertrauliche Informationen führen kann. 

Argumente für integrierte Sicherheitskontrollen

F5 behebt OWASP-Sicherheitsrisiken

F5 unterstützt die OWASP Foundation und ihr Engagement, die Softwaresicherheit zu verbessern und das Bewusstsein für Sicherheitsrisiken und Schwachstellen von Webanwendungen auf mehreren Ebenen zu schärfen. Tatsächlich gibt es Sicherheitsrisiken, die sowohl bei Apps als auch bei APIs bestehen und bei der Implementierung von Sicherheitslösungen berücksichtigt werden müssen. Zum Beispiel: 

  • Schwache Authentifizierungs-/Autorisierungskontrollen  
  • Fehlkonfiguration 
  • Missbrauch der Geschäftslogik (Credential Stuffing, Account Takeover)  
  • Serverseitige Anforderungsfälschung (SSRF).

F5 begegnet den in den OWASP API Security Top 10 identifizierten Risiken mit Lösungen, die die wachsende Angriffsfläche und neu auftretenden Bedrohungen schützen , während sich Apps weiterentwickeln und die API-Bereitstellungen zunehmen. Die WAAP-Lösungen (Web Application and API Protection) von F5 schützen die gesamte Angriffsfläche moderner Apps mit umfassenden Schutzmechanismen, darunter WAF, API-Sicherheit , L3-L7-DDoS-Minderung sowie Bot-Abwehr gegen automatisierte Bedrohungen und Betrug. Mithilfe der verteilten Plattform können Sie ganz einfach einheitliche Richtlinien implementieren und die Sicherheit für Ihren gesamten App- und API-Bestand skalieren, unabhängig davon, wo diese gehostet werden. Zudem können Sie Schutzmaßnahmen in den API-Lebenszyklus und umfassendere Sicherheitsökosysteme integrieren.

F5 bietet hybride Sicherheitsarchitekturen , die Apps und APIs vom Kern über die Cloud bis zum Rand konsistent und kontinuierlich schützen. Mithilfe von Bedrohungsinformationen, ML-basierter Sicherheit und Zero-Trust-Prinzipien erkennen und schützen F5-Lösungen dynamisch und automatisch die kritische Geschäftslogik hinter APIs. So bieten sie die nötige Widerstandsfähigkeit und Agilität, um in der API-gesteuerten digitalen Wirtschaft wettbewerbsfähig zu sein.

Darüber hinaus blockieren und mindern die F5 Web Application Firewall-Lösungen ein breites Spektrum an Risiken, die in den OWASP Top 10, einer allgemein anerkannten Liste der kritischsten Sicherheitsrisiken für Web-Anwendungen, identifiziert wurden. APIs sind ebenso wie Webanwendungen anfällig für Fehlkonfigurationen und automatisierte Bedrohungen und können das Ziel von Exploits zur Ausnutzung von Sicherheitslücken, SSRF und Angriffen sein, die versuchen, Authentifizierungs- und Autorisierungskontrollen zu umgehen. F5 WAF-Lösungen kombinieren Signatur- und Verhaltensschutz, einschließlich Bedrohungsinformationen von F5 Labs und ML-basierter Sicherheit, um mit neuen Bedrohungen Schritt zu halten; sie können auch in spezielle Bot-Abwehrkontrollen integriert werden.

Diese Lösungen verringern den Aufwand und die Komplexität der durchgängigen Sicherung von Anwendungen in Clouds, lokalen Umgebungen und Edge-Umgebungen und vereinfachen gleichzeitig die Verwaltung über eine zentralisierte SaaS-Infrastruktur. F5 WAFs optimieren außerdem die App-Sicherheit, indem sie Schutzmaßnahmen in Entwicklungsframeworks und CI/CD-Pipelines integrieren – mit zentralen Sicherheitsfunktionen, zentraler Orchestrierung und Überwachung über ein einziges Dashboard mit einer 360-Grad-Ansicht der App-Leistung und Sicherheitsereignisse über verteilte Anwendungen hinweg.

F5 bietet außerdem Lösungen zum Umgang mit den im OWASP-Projekt „Automated Threats to Web Applications“ beschriebenen Risiken. F5 Distributed Cloud Bot Defense verhindert Betrug und Missbrauch, die vorhandene Bot-Management-Lösungen umgehen können, und bietet Echtzeitüberwachung und -informationen sowie ML-basierte Retrospektivanalysen, um Unternehmen vor automatisierten Angriffen zu schützen, ohne Reibungsverluste für den Benutzer zu verursachen oder das Kundenerlebnis zu beeinträchtigen. Die Wirksamkeit von Distributed Cloud Bot Defense bleibt unabhängig davon bestehen, wie die Angreifer ihre Werkzeuge umstellen, ob die Angriffe von Webanwendungen auf APIs verlagert werden oder ob sie versuchen, Abwehrmaßnahmen gegen die Automatisierung durch Fälschung der Telemetrie oder den Einsatz menschlicher CAPTCHA-Löser zu umgehen.

F5 bietet außerdem mehrstufigen DDoS-Schutz für erweiterte Online-Sicherheit als verwalteten, über die Cloud bereitgestellten Abwehrdienst an, der groß angelegte, auf Netzwerke, Protokolle und Anwendungen ausgerichtete Angriffe in Echtzeit erkennt und abwehrt; die gleichen Schutzfunktionen sind auch als Hardware-, Software- und Hybridlösungen vor Ort verfügbar. F5 Distributed Cloud DDoS Mitigation schützt vor volumetrischen und anwendungsspezifischen Angriffen der Schichten 3–4 und erweiterten Angriffen der Schicht 7, bevor diese Ihre Netzwerkinfrastruktur und Anwendungen erreichen.