Die Abkürzung BOPLA steht für „Broken Object Property Level Authorization“. BOPLA bezieht sich auf eine Eigenschaft innerhalb eines Objekts und nicht auf ein ganzes Objekt. Der API-Schutz gegen BOLA gewährleistet keinen Schutz vor BOPLA. Daher ist es wichtig, Sicherheitsprodukte zu wählen, die Schutz vor beiden Arten von Angriffen bieten.
API-Schutz umfasst eine Reihe von Prozessen, Praktiken und Technologien, die Programmierschnittstellen (Application Programming Inferfaces, APIs) vor Angriffen und vor Missbrauch durch Cyberkriminelle schützen. API-Schutz ist ein wesentlicher Bestandteil eines modernen Cybersicherheitsprogramms und eine der obersten Prioritäten für Sicherheitsteams.
Was ist eine API?
Eine Programmierschnittstelle (Application Programming Interface, API) ist ein Satz von Protokollen und Definitionen, mit denen verschiedene Softwareprogramme und -komponenten miteinander kommunizieren und Daten und Funktionen gemeinsam nutzen können. APIs steuern auch, wie Anwendungen interagieren, wie Anfragen gestellt werden und welche Arten von Anfragen zwischen Programmen ausgetauscht werden.
APIs sind für Cloudservices, Microservices, serverlose Architekturen und das Internet der Dinge (IoT), von dem viele IT-Umgebungen abhängen, von entscheidender Bedeutung. Da sie Anwendungslogik und -ressourcen offenlegen und häufig am Transfer vertraulicher Informationen beteiligt sind, sind APIs ein attraktives Ziel für Hacker. Eine ungesicherte API kann Cyberkriminellen den Zugriff auf IT-Assets ermöglichen, die sonst sicher sind. Daher ist der API-Schutz entscheidend, um die Sicherheit von Netzwerken und Anwendungen aufrechtzuerhalten und die Offenlegung von Daten und andere Sicherheitsprobleme zu verhindern.
Was sind API-Sicherheitsrisiken?
Die häufigsten Risiken für die API-Sicherheit lassen sich in mehrere Kategorien einteilen.
- Ausnutzung von Schwachstellen. Bei dieser Form von API-Angriff können Cyberkriminelle aufgrund eines Fehlers bei der Erstellung oder Kodierung einer API unbefugt Zugriff darauf erhalten.
- Autorisierungsfehler. Wenn die Autorisierung nicht sorgfältig durchgeführt wird, erhalten Kunden, die mit einer API interagieren, möglicherweise Zugriff auf Daten, die für sie nicht verfügbar sein sollten, was das Risiko von Datendiebstahl erhöht.
- Authentifizierungsprobleme. Wenn Nutzerauthentifizierungsprozesse kompromittiert werden, akzeptieren APIs möglicherweise Anfragen von nicht legitimen oder schädlichen Quellen.
- Distributed-Denial-of-Service-Angriffe. Durch Überlastung von APIs mit zu vielen Anfragen, können DoS- oder DDoS-Angriffe dazu führen, dass APIs nicht mehr reagieren oder abstürzen.
Was ist die OWASP API Security Top 10?
Das Open Worldwide Application Security Project (OWASP) ist eine gemeinnützige Organisation mit dem Ziel, die Softwaresicherheit zu verbessern. Jedes Jahr veröffentlicht OWASP eine Liste der 10 größten Sicherheitsrisiken für APIs. Die OWASP API Security Top 10 2023 enthält die folgenden Sicherheitsbedrohungen:
- Fehlerhafte Autorisierung auf Objektebene (Broken Object Level Authorization – BOLA): APIs erzeugen oft eine große Angriffsfläche durch Probleme mit der Zugriffskontrolle auf Objektebene, indem sie Endpunkte offenlegen, die Objektbezeichner verarbeiten.
- Schwachstellen bei der Nutzerauthentifizierung: Wenn Authentifizierungsmechanismen falsch implementiert werden, können Angreifer Authentifizierungstokens kompromittieren oder Implementierungsfehler ausnutzen.
- Fehlerhafte Autorisierung auf Objekteigenschaftsebene (BOPLA): Eine unsachgemäße Autorisierungsvalidierung auf Objekteigenschaftsebene kann dazu führen, dass Angreifer Informationen offenlegen oder manipulieren.
- Uneingeschränkter Ressourcenverbrauch: Da die Beantwortung von API-Anfragen bestimmte CPU-, Arbeitsspeicher-, Speicher- und Netzwerkbandbreite-Ressourcen belegt, kann die uneingeschränkte Nutzung von APIs zu Denial-of-Service-Angriffen oder höheren Kosten führen.
- Fehlerhafte Autorisierung auf Funktionsebene: Komplexe Richtlinien zur Zugriffskontrolle können zu Autorisierungsfehlern führen.
- Unbeschränkter Zugriff auf sensible Geschäftsabläufe: Wenn Geschäftsabläufe der Öffentlichkeit zugänglich gemacht werden, können sie übermäßig auf automatisierte Weise genutzt werden, um Prozesse zu stören.
- Serverseitige Fälschung von Anfragen: Wenn eine API eine Remote-Ressource abruft, ohne die vom Nutzer angegebene URL zu validieren, können Angreifer die Anwendung zwingen, eine manipulierte Anfrage an ein unerwartetes Ziel zu senden.
- Fehlerhafte Sicherheitskonfiguration: APIs werden oft von Software- und DevOps-Ingenieuren falsch konfiguriert. Das ermöglicht eine Vielzahl von Angriffen.
- Unsachgemäße Bestandsverwaltung: Wenn das Inventar und Dokumente nicht ordnungsgemäß aktualisiert werden, können veraltete API-Versionen und zugängliche Debug-Endpunkte zum Problem werden.
- Unsicherer Verbrauch von APIs: Da sie Daten, die von Drittanbieter-APIs stammen, mehr trauen als Nutzereingaben, wenden Entwickler für bestimmte APIs möglicherweise schwächere Sicherheitsstandards an.
Inwiefern unterscheidet sich die API-Sicherheit von der Anwendungssicherheit?
Der API-Schutz umfasst zwar viele der gleichen Sicherheitsprinzipien wie die Websicherheit, doch der Schutz von APIs vor Angriffen umfasst auch einige einzigartige Herausforderungen. Die schiere Anzahl von APIs, die in modernen Anwendungssystemen verwendet werden, macht es Sicherheitsteams schwer, API-Schwachstellen zu erkennen und Schutzmaßnahmen zu aktualisieren. Da APIs für den Zugriff durch Anwendungen oder Services von Drittanbietern konzipiert sind, sind sie oft einer größeren Bandbreite potenzieller Bedrohungen ausgesetzt als herkömmliche Webanwendungen. Flexibilität und nutzerdefinierte Anpassung machen APIs anfälliger für Angriffe. Und da APIs häufig Tokens oder andere Arten der Authentifizierung verwenden, um den Zugriff zu kontrollieren, können sie Angriffen zum Opfer fallen, die auf gestohlenen oder kompromittierten Tokens basieren.
Was ist API-Gateway-Sicherheit?
Ein API-Gateway ist eine Softwareschicht, die als einzelner Einstiegspunkt für die Verwaltung von API-Aufrufen oder Clientanfragen sowie die Ausgabe von Antworten von API-Endpunkten dient. API-Gateway-Sicherheitslösungen können Ratenbeschränkung und Drosselung anwenden, um sicherzustellen, dass APIs nicht missbraucht werden. Gateways können APIs schützen, indem sie API-Aufrufe autorisieren und an die entsprechenden Backend-Services und Frontend-Endpunkte weiterleiten. API-Gateway-Sicherheit umfasst auch die Authentifizierung von Anmeldedaten und die Validierung von Tokens zur Verifizierung von Identitäten. Während ein Gateway ein wichtiger Bestandteil des API-Schutzes ist, reicht API-Gateway-Sicherheit allein nicht aus, um einen angemessenen Schutz von APIs zu gewährleisten. Gateways bieten keine Transparenz und Kontrolle in Bezug auf die gesamte API-Architektur und können falsch konfigurierte APIs, Shadow-APIs oder Aktivitäten durch schädliche Bots möglicherweise nicht erkennen.
Was sind die Best Practices für API-Sicherheit?
Die folgenden Steuerelemente, Protokolle und Sicherheitslösungen können den API-Schutz verbessern.
- Identifizieren und verfolgen aller APIs. Wenn Sicherheitsteams nicht über APIs informiert sind, sind sie nicht in der Lage, Schwachstellen zu erkennen, Sicherheitspatches zu aktualisieren oder einen angemessenen API-Schutz zu gewährleisten.
- Identifizieren von Schwachstellen. Mithilfe von Sicherheitstools können Schwachstellen innerhalb der einzelnen API identifiziert werden. Sobald Schwachstellen identifiziert wurden, können sie je nach Risikotoleranz so schnell wie möglich behoben und richtig konfiguriert werden.
- Flächendeckende API-Sicherheitsrichtlinien festlegen. Anstatt für jede API einzigartige Richtlinien einzuführen, sollten API-Verwaltungs- und -Sicherheitsteams Richtlinien für alle APIs oder für bestimmte Klassen von APIs festlegen, sodass die Richtlinie nicht direkt in einzelne APIs codiert werden muss.
- Authentifizierung und Autorisierung implementieren. Die Authentifizierung und Autorisierung von Nutzern und Anwendungen ist unerlässlich, um APIs vor Missbrauch zu schützen.
- Ratenbeschränkung und Drosselung implementieren. Diese Techniken bestimmen, wie oft APIs aufgerufen werden können, und verhindern schädliche Anfragenspitzen, die zu Denial of Service führen könnten.
- Daten verschlüsseln. Die Datenverschlüsselung ist für den Schutz sensibler Daten, die über APIs übermittelt werden, unerlässlich.
- Eine Web Application Firewall (WAF) konfigurieren. Die Verwendung einer WAF in der Netzwerksicherheit fügt dem Schutz vor schädlichem API-Traffic von außerhalb des lokalen Netzwerks eine zusätzliche Sicherheitsebene hinzu.
- Ein API-Gateway implementieren. Ein überlegenes Gateway bietet eine Vielzahl von Schutzfunktionen und hilft dabei, zu analysieren, wie auf APIs zugegriffen wird.
- OAuth bereitstellen. OAuth ist ein OpenAPI-Sicherheitsmodell, das APIs schützen kann, indem es Nutzern ermöglicht, den Zugriff auf Ressourcen sicher zu delegieren, ohne ihre ursprünglichen Anmeldedaten weiterzugeben.
- Verhaltensanalysen nutzen. Eine effektive Lösung zur API-Erkennung und -Reaktion kann mithilfe von Verhaltensanalysen das gesamte API-Verhalten aufzeichnen und ungewöhnliches Verhalten identifizieren, auf das Sicherheitsteams dann reagieren können.
- Schutz von B2B-APIs. Obwohl der Fokus der meisten API-Schutzmaßnahmen auf B2C-APIs liegt, werden die sensibelsten Daten manchmal über B2B-APIs geteilt, da sie als sicher gelten. Eine Lösung zur Verhaltensanalyse kann B2B-APIs überwachen und bei verdächtigen Aktivitäten eine Warnmeldung herausgeben.
- Nutzung der Vorteile eines Data Lakes. Alle API-Aktivitäten sollten mindestens 30 Tage lang in einem Data Lake gespeichert werden, so können Warnungen oder potenzielle Bedrohungen mit Kontext angereichert werden. Außerdem können Teams Erkenntnisse aus diesem Data Lake ableiten, um ihre Sicherheitsstrategie zu stärken.
Häufig gestellte Fragen (FAQ)
OpenAPI ist eine Spezifikation für die Erstellung von APIs, die eine standardmäßige, sprachunabhängige Schnittstelle definiert, um APIs und ihre Funktionen auf eine Weise zu beschreiben, die sowohl Menschen als auch Computer verstehen können – ohne, dass dazu auf Quellcode oder Dokumentationen zugegriffen werden muss. Die OpenAPI-Sicherheit umfasst Verfahren zur Authentifizierung, Verschlüsselung, Autorisierung und andere Maßnahmen zum Schutz der Integrität, Verfügbarkeit und Vertraulichkeit der API.
BOLA steht für „Broken Object Level Authorization“ und gilt, da sie sehr schwer zu erkennen ist, als eine der größten Bedrohungen für die API-Sicherheit. Über diese Schwachstelle kann ein Angreifer Eingaben wie URL-Parameter manipulieren oder Payloads anfordern, um auf nicht autorisierte Daten zuzugreifen oder nicht autorisierte Aktionen auszuführen.
Warum entscheiden sich Kunden für Akamai?
Akamai unterstützt und schützt das digitale Leben. Führende Unternehmen weltweit setzen bei der Erstellung, Bereitstellung und beim Schutz ihrer digitalen Erlebnisse auf Akamai. So unterstützen wir täglich Milliarden von Menschen in ihrem Alltag, bei der Arbeit und in ihrer Freizeit. Akamai Connected Cloud, eine stark verteilte Edge- und Cloudplattform, bringt Anwendungen und Erlebnisse näher an die Nutzer und hält Bedrohungen fern.