Unsicherer Umgang mit APIs (API-Sicherheit bei Drittanbietern)
Ein Leitfaden zum unsicheren Einsatz von APIs (API-Sicherheit durch Drittanbieter)
Ein unsicherer Umgang mit APIs liegt vor, wenn Entwickler den von Drittanbieter-APIs zurückgegebenen Daten implizit vertrauen und dabei weniger strenge Validierungsstandards anwenden als bei direkten Benutzereingaben. Dadurch entsteht eine Sicherheitslücke bei Drittanbieter-APIs, die Angreifer direkt ausnutzen können.
Diese Sicherheitslücke bietet Angreifern eine Alternative zu einem direkten Angriff auf die APIs eines Unternehmens. Stattdessen kann ein Angreifer einen Drittanbieter-Dienst kompromittieren oder manipulieren, auf den die API angewiesen ist, und dann über diese vertrauenswürdige Verbindung in das Zielsystem eindringen.
Das bei HTTP-Clients übliche Verhalten, Weiterleitungen zu befolgen, verschärft dieses Risiko noch. Wenn ein vertrauenswürdiger Drittanbieter angegriffen wird und beginnt, Weiterleitungen zu einem vom Angreifer kontrollierten Server auszusenden, sendet eine API, die Weiterleitungen blind befolgt, sensible Daten direkt an den Angreifer, ohne dass ein Hinweis darauf vorliegt, dass sich etwas geändert hat.
Wichtigste Erkenntnisse
- Die unsichere Nutzung von APIs steht auf Platz 10 der OWASP API Security Top 10 2023 und tritt auf, wenn Entwickler den von APIs von Drittanbietern zurückgegebenen Daten implizit vertrauen, ohne dieselben Validierungsstandards anzuwenden, die für direkte Benutzereingaben gelten.
- APIs werden anfällig, wenn sie über unverschlüsselte Kanäle mit Drittanbietern kommunizieren, Weiterleitungen blindlings folgen, die Eingabevalidierung für empfangene Daten überspringen oder keine Zeitlimits und Ressourcenbeschränkungen für Antworten von Drittanbietern durchsetzen.
- Eine kompromittierte API eines Drittanbieters kann als Übertragungsweg missbraucht werden; Angreifer können schädliche Payloads in Datenquellen von Drittanbietern einschleusen, die dann von den nachgelagerten Komponenten der API, einschließlich Datenbanken, ausgeführt werden.
- Das blinde Folgen von HTTP-Weiterleitungen von Drittanbieterdiensten ist ein risikoreiches Verhaltensmuster; wenn eine API eines Drittanbieters kompromittiert wird und Weiterleitungen zu einem vom Angreifer kontrollierten Server auslöst, können sensible Daten unbemerkt abgezogen werden
- Zur Prävention ist es erforderlich, alle API-Antworten von Drittanbietern ebenso gründlich zu validieren und zu bereinigen wie Benutzereingaben, TLS bei allen Integrationen durchzusetzen, eine Whitelist mit zulässigen Weiterleitungszielen zu führen und die Sicherheitslage der Dienstanbieter vor der Integration zu bewerten.
Warum ist das gefährlich?
Eine kompromittierte Drittanbieterquelle wird zu einem direkten Einfallstor in jedes System, das deren Daten nutzt. Der daraus resultierende Schaden kann verschiedene Formen annehmen:
- Einschleusen bösartiger Payloads über kompromittierte Daten von Drittanbietern, ausgeführt durch die Nutzung der API-eigenen nachgelagerten Komponenten, einschließlich Datenbanken
- Unbemerkte Datenexfiltration durch blind befolgte Weiterleitungen zu vom Angreifer kontrollierten Zielen
- Kompromittierung des Zielsystems ohne direkten Angriff auf dessen eigene API-Oberfläche
- Geschwächte Validierungsstandards für Daten von Drittanbietern erleichtern den Zugriff auf das Zielsystem mehr als die primäre API selbst
Typische Symptome
Ein unsicherer Konsum kann auftreten, wenn Wirkstoffe:
- Über unverschlüsselte Kanäle mit Diensten von Drittanbietern kommunizieren
- HTTP-Weiterleitungen von integrierten Diensten ohne Einschränkung verfolgen
- Die Eingabevalidierung für Daten aus Drittquellen überspringen
- Für Antworten von Drittanbietern gelten keine Zeitüberschreitungs- oder Ressourcenbeschränkungen
- Vertrauen Sie Daten von Drittanbietern grundsätzlich, sofern nicht davon auszugehen ist, dass sie böswillig sind, da sie nicht von einem Nutzer stammen.
Daten aus einer vertrauenswürdigen Quelle sind immer noch nur Daten und müssen genauso genau geprüft werden wie alle anderen Daten, die in das System gelangen.
Sicherheitsmaßnahmen für APIs von Drittanbietern
Das Vertrauen Dritter muss man sich verdienen und es muss überprüft werden.
- Bewerten Sie die Sicherheitslage von Dienstanbietern, bevor Sie eine Integration mit ihnen vornehmen
- TLS bei jeder Interaktion mit einer API eines Drittanbieters erzwingen
- Alle Antworten von Drittanbietern ebenso gründlich validieren und bereinigen wie Benutzereingaben
- Führen Sie eine Whitelist mit zulässigen Weiterleitungszielen, anstatt Weiterleitungen blind zu folgen.
Eine API eines Drittanbieters, die Sie nicht selbst entwickelt haben, ist dennoch Teil Ihrer Angriffsfläche.
< Zurück zu Glossar der Begriffe