Da ihre Verbreitung rasant zunimmt, stehen APIs zunehmend im Visier von Hackern. Dabei zeigt ein Blick auf die OWASP API Security Top 10-Liste deutlich, an welchen Stellen dringend nachgebessert werden muss. Wir fassen zusammen und verraten, wie Sie für mehr API-Sicherheit sorgen können.
Was sind APIs?
Um die Konnektivität und Kompatibilität von Webtechnologien zu verbessern, nutzen Entwickler sogenannte APIs (Application Programming Interface). Die Programmierschnittstellen definieren, wie Daten bereitgestellt und durch Clients empfangen und verarbeitet werden. So verbinden sie geschäftskritische und kundenorientierte Anwendungen, Entwicklungsumgebungen und Dienste von Drittanbietern in einer Welt, in der die Microservices-Architektur auf dem Vormarsch ist.
Allerdings gibt es auch eine Kehrseite: Da die mittlerweile massenhaft genutzten Programmierschnittstellen verstärkt sensible Daten und Schwachstellen offenlegen, sind sie zu einem Hauptziel von Cyberangriffen geworden. Oft wird auch einfach versäumt, angemessene Zugriffsberechtigungen festzulegen, weshalb über APIs viel zu häufig auf alle Daten innerhalb der Anwendungsumgebung zugegriffen werden kann
Warum die OWASP Top 10-Liste so wichtig ist
Die ursprüngliche OWASP (Open Web Application Security Project) Top 10 ist eine weitverbreitete Liste der wichtigsten Schwachstellen in Webapplikationen. Sie erschien erstmals 2003 und basiert auf den Daten hunderter Organisationen weltweit. Ihr Zweck ist es, alle Informationen leicht zugänglich zu machen, damit jeder die Sicherheit seiner eigenen Webanwendungen verbessern und die größten Risiken entschärfen kann.
Das gleiche gilt für die API Security: Da sich die Schnittstellen mittlerweile zu einer der beliebtesten Angriffsflächen entwickelt haben, hat das OWASP reagiert und eine spezialisierte Top 10-Liste für APIs veröffentlicht.
Die OWASP API Security Top 10:
- Broken Object Level Authorization: Entwickler neigen dazu, Endpunkte ohne Zugriffsprüfung der Clients freizugeben. Daher sollten Berechtigungsprüfungen in jeder Funktion berücksichtigt werden, wenn eine Benutzereingabe auf eine Datenquelle zugreift.
- Broken Authentification: Da die Authentisierungslogik oft falsch implementiert ist, können Angreifer Authentifizierungstoken kompromittieren oder Implementierungsfehler ausnutzen, um die Identität anderer Benutzer zu übernehmen.
- Excessive Data Exposure: Entwickler neigen dazu, alle Objekteigenschaften offenzulegen, ohne deren individuelle Empfindlichkeit zu berücksichtigen. Stattdessen verlassen Sie sich darauf, dass die Clients die Filterung durchführen, bevor die Daten dem Client angezeigt werden.
- Lack of Resources & Rate Limiting: APIs sehen häufig keine Beschränkungen für die Größe oder Anzahl der Ressourcen vor, die vom Client angefordert werden. Dies kann sich nicht nur auf die Leistung des API Servers auswirken und zu Denial of Service (DoS) führen, sondern auch die Tür für Brute-Force-Angriffe öffnen.
- Broken Function Level Authorization: Komplexe Zugriffskontrollrichtlinien mit unterschiedlichen Hierarchien, Gruppen und Rollen sowie eine unklare Trennung zwischen administrativen und regulären Funktionen führen häufig zu Autorisierungsfehlern, mit denen Angreifer Zugriff auf die Ressourcen anderer Nutzer erhalten können.
- Mass Asignment: Wenn vom Client gelieferte Daten (z. B. JSON) ohne Filterung ins Datenmodell übergeben werden, können Angreifer zusätzliche Objekteigenschaften erraten oder mittels Untersuchungen herausfinden und Objekte modifizieren.
- Security Misconfiguration: Unsichere oder unvollständige Konfigurationen, offener Cloud-Speicher, falsch konfigurierte HTTP-Header, unnötige HTTP-Methoden und ausführliche Fehlermeldungen, die sensible Informationen enthalten, sollten vermieden werden.
- Injection: Injection-Schwachstellen wie SQL, NoSQL, Command Injection usw. treten auf, wenn nicht vertrauenswürdige Daten als Teil eines Befehls oder einer Abfrage an einen Interpreter gesendet werden. Ein Angreifer kann damit unbeabsichtigte Befehle ausführen oder auf Daten zugreifen, ohne dazu berechtigt zu sein.
- Improper Assets Management: In der Regel stellen APIs mehr Endpunkte (jedes Gerät, das eine Verbindung zu einem Computernetzwerk herstellt) als herkömmliche Webanwendungen zur Verfügung, was die Dokumentation sehr wichtig macht. Ein Inventar der Hosts und der bereitgestellten API-Versionen kann zudem Probleme mit nicht mehr unterstützen APIs entschärfen.
- Insufficient Logging & Monitoring: Eine unzureichende Protokollierung und Überwachung kann es Angreifern ermöglichen, weitere Systeme anzugreifen und sich dauerhaft einzunisten, um Daten zu manipulieren, zu extrahieren oder zu zerstören.
Best Practices: So sieht wirksame API Security aus
Wirksame API Security beginnt mit einem umfassenden Verständnis für die Sicherheitsrisiken. Die OWASP API Security Top 10-Liste liefert dafür erste Ansätze. Auf ihrer Basis und dem Wissen darüber, welche APIs mit welchen sensiblen Daten genutzt werden und ob diese angreifbar sind, lassen sich geigenete Abwehrmaßnahmen treffen:
- Alle APIs mit einem Governance-Ansatz sicher verwalten
- API-Sicherheitslage auf Basis von modernen Zugriffskontrollen verbessern
- Regelmäßig Schwachstellen identifizieren und Betriebssysteme, Netzwerke, Treiber und API-Komponenten auf aktuellem Stand halten
- Tokens für vertrauenswürdige Nutzeridentitäten einsetzen
- Verschlüsselung und Signaturen nutzen
- Quotas zur beschränkten Anzahl von API-Aufrufen einsetzen
- APIs mittels Drosselung vor Denial-of-Service-Attacken schützen
- Eine API-Gateway oder Protection Plattform einsetzen
API Gateways schützen vor bekannten Angriffe
API Gateways sind ein fundamentaler Bestandteil einer cloud-nativen Microservice-Architektur. Als Einstiegspunkt nehmen sie alle API -Aufrufe entgegen, führen die erforderlichen Services zusammen und geben das entsprechende Ergebnis aus. Zudem hilft ein API Gateway Änderungen an APIs zu beobachten und Angriffe, die bekannte Schwachstellen (z. B. SQLi oder XSS) ausnutzen, zuverlässig zu erkennen.
Da Angreifer heute jedoch Tage, Wochen oder sogar Monate darauf verwenden, um APIs für bevorstehende Angriffe zu analysieren und auszuspähen, sollten besonders gefährdete Unternehmen in puncto API Security noch einen Schritt weiter gehen.
Kontextbasierte Protection Plattformen gehen weiter
Sicherheitslösungen wie z. B. die Salt Security-Platform scannen das eigene Netzwerk und den übertragenen Datenverkehr und nutzen Big Data im Cloud-Maßstab und KI/ML-Algorithmen, um alle APIs und exponierten sensiblen Daten kontextbasiert zu erkennen, Angreifer zu identifizieren und zu blockieren. So schützen sie APIs vor bekannten und nicht bekannten Bedrohungen (Zero-Day-Exploits) – auch über die gesamte Erstellungs-, Bereitstellungs- und Laufzeitphase hinweg.
Apropos Kontext: Im Rahmen des ECSM (European Cyber Security Month), der im Oktober stattfindet, können Sie sich auf weiteres Know-how von unseren Experten freuen. Seien Sie gespannt auf den nächsten Beitrag, der im Rahmen des ECSM am 27. Oktober zum Thema „Cyber Security Bausteine oder Komplettlösung?“ veröffentlich wird.