Potenzielle Probleme mit Programmierschnittstellen API-Attacken im Detail erklärt

Ein Gastbeitrag von Andy Grolnick * 7 min Lesedauer

Anbieter zum Thema

Über Programmierschnittstellen oder kurz APIs werden viele Daten ausgetauscht, und das weckt Begehrlichkeiten: Cyber-Attacken zielen immer häufiger auf diese Elemente ab. Dieser Beitrag zeigt, wie API-Attacken funktionieren und warum sie so gefährlich sind.

Da APIs die Kommunikation zwischen Anwendungen ermöglichen, gewähren sie oft den Zugang zu sensiblen Daten und Funktionen.(Bild:  zeeve /  Pixabay)
Da APIs die Kommunikation zwischen Anwendungen ermöglichen, gewähren sie oft den Zugang zu sensiblen Daten und Funktionen.
(Bild: zeeve / Pixabay)

Wenn Unternehmen visualisieren möchten, wie Daten in ihren vernetzten Anwendungen fließen, können sie das Spiel „Chutes and Ladders“ (auch „Snakes and Ladders“ genannt) als Vergleich hernehmen. Als Kind sah das Spielbrett wie ein verwirrendes Gitter aus, das die seltsamsten, scheinbar willkürlichen Verbindungen zwischen den Blöcken aufwies.

In der modernen digitalen IT-Umgebung erfüllen Programmierschnittstellen (APIs) die gleiche Rolle wie die Leitern und Rutschen/Schlangen, indem sie unterschiedliche Blöcke in einem größeren Ganzen verbinden. Angreifer haben es allerdings zunehmend auf diese Datenverbindungen abgesehen.

Eine 2023 durchgeführte ESG-Umfrage zur API-Sicherheit ergab, dass 92 Prozent der teilnehmenden Unternehmen, die APIs nutzten, in den vorangegangenen 12 Monaten einen Sicherheitsverstoß erlitten haben. Die stetig steigende Zahl an API-Angriffen und daraus resultierenden Millardenschäden verdeutlichen, wie wichtig es ist, ein umfassendes Verständnis dessen, was ein API-Angriff ist und wie er funktioniert, zu haben, um Risiken im Unternehmen zu minimieren.

Im Detail erklärt

1.) Application Programming Interfaces

Programmierschnittstellen sind eine Reihe von Regeln und Protokollen, die Entwickler verwenden, damit Anwendungen Daten austauschen und Aufgaben ausführen können. Durch die Definition von Methoden und Formaten für den Datenaustausch ermöglichen APIs die Kommunikation zwischen unterschiedlichen Softwareanwendungen, Datenbanken und Hardware, indem sie die Datenanforderung und -abfrage standardisieren.

Die vier Grundtypen von APIs sind:

Intern/Privat: für interne Systeme und zwischen verschiedenen internen Teams verwendet

Öffentlich: öffentlich verfügbar, ohne Einschränkungen

Partner: spezifische Rechte oder Lizenzen in Verbindung mit einer Anbietertechnologie

Verbunden: Kombination von Daten- und Service-APIs zur Ausführung von Aufgaben

Außerdem verwenden Online-Anwendungen in der Regel eine der folgenden Web-Service-APIs:

  • Simple Object Access Protocol (SOAP): definiert die Nachrichtenstruktur und die Kommunikationsmethoden, verwendet das XML-Format für die Datenübertragung und die Web Services Definition Language (WSDL) für die Veröffentlichung der Schnittstellendefinition.
  • XML Remote Procedure Calls (RPC): verwendet ein proprietäres XML-Datenübertragungsformat, das älter und einfacher als SOAP ist und weniger Bandbreite benötigt.
  • JavaScript Object Notation (JSON) RPC: verwendet ein leichtgewichtiges, von Menschen lesbares Datenaustauschformat, das von Maschinen leicht analysiert und generiert werden kann.
  • REST/RESTful: bietet eine Architektur für die Übertragung einer Darstellung des Zustands einer Ressource an den Anforderer oder Endpunkt, der ein HTTP-Format wie JSON, HTML, XLT, Python, PHP oder einfachen Text verwendet.
  • GraphQL: stellt eine Abfragesprache für APIs und eine Laufzeitumgebung zur Verfügung, um sie mit vorhandenen Daten zu füllen, so dass Entwickler die gemeinsame Nutzung von Daten einschränken können.
  • gRPC: verbindet Dienste und unterstützt Lastausgleich, Nachverfolgung, Zustandsprüfung und Authentifizierung.

2.) API-Angriff

Da APIs die Kommunikation zwischen Anwendungen ermöglichen, ermöglichen sie oft den Zugang zu sensiblen Daten und Funktionen. APIs wickeln Anfragen und Antworten zwischen Client und Server ab, also der Front-End-Anwendung, die von den Nutzern verwendet wird, und der Back-End-Datenbank, die Informationen enthält.

Einige Beispiele für sensible Daten, die durch APIs offengelegt werden können, sind:

Software-Schnittstelle: die beiden Stellen oder Endpunkte, die miteinander kommunizieren.

Technische Spezifikation: wie die Endpunkte Daten austauschen, einschließlich der Prozessanforderungen und Lieferprotokolle.

Funktionsaufrufe: Anweisungen, die Verben (wie GET/Erhalten oder DELETE/Löschen) und Substantive (wie Data oder Access) enthalten.

Wenn die API diese Daten offenlegt, können Angreifer die Funktionsweise der API manipulieren. Typische API-Angriffsarten sind:

  • Brute Force: Erraten der Authentifizierungsdaten oder API-Schlüssel, um unbefugten Zugriff auf die API zu erhalten.
  • Code-Injektion: Einfügen von bösartigem Code in die API-Anfragen, um Schwachstellen im Zielsystem auszunutzen.
  • Denial of Service (DoS): Senden so vieler Anfragen an die API, dass diese überfordert ist und nicht mehr auf legitime Anfragen reagieren kann.
  • Man in the Middle (MitM): Abfangen von Daten, die zwischen Client und Server übertragen werden.

3.) Wie ein API-Angriff funktioniert

Obwohl API-Angriffe unterschiedliche Formen annehmen können, folgen sie im Allgemeinen demselben Ablauf:

Schritt 1 – Erkundung: Identifizierung potenzieller Schwachstellen durch Sammeln von Informationen aus der API-Dokumentation, dem Netzwerkverkehr oder öffentlich verfügbaren Daten über das System.

Schritt 2 – Umgehung der Authentifizierung und Autorisierung: Erlangung von nicht autorisiertem Zugriff durch Schwachstellen im Authentifizierungsprozess, schwache Passwortrichtlinien oder Probleme in der Autorisierungslogik.

Schritt 3 – Identifizieren von Endpunkten: Erkundung des Zielsystems, um die ausnutzbaren Endpunkte auszuwählen, Parameter zu manipulieren oder sensible Daten zu identifizieren.

Schritt 4 – Durchführung des Angriffs: Manipulation von Endpunktparametern, Einschleusen von Code, Anwendung von Brute-Force-Techniken, Überflutung der Ziel-API mit Anfragen.

Schritt 5 – Exfiltrieren von Daten: Anhebung der Berechtigungen (Privilege Escalation), um auf sensible Daten zuzugreifen und sie zu stehlen.

Schritt 6 – Verwischen von Spuren: Löschen oder Manipulieren von Protokollen, um Aktivitäten zu verbergen

4.) API-Sicherheit und ihre Herausforderungen

Wenn Unternehmen mehr Anwendungen integrieren, fügen sie auch mehr APIs hinzu, wodurch die API-Sicherheit sowohl wichtiger als auch schwieriger wird.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Schwachstellen bei Authentifizierung und Autorisierung

Da es sich bei APIs um Technologien und nicht um Menschen handelt, ist es nicht möglich, Anmeldeinformationen anzufordern oder eine Multi-Faktor-Authentifizierung (MFA) zu verwenden. Stattdessen werden in der Regel Zugriffstoken verwendet, die in den API-Aufruf eingefügt werden, um diese nicht-menschlichen „Benutzer“ zu verifizieren. Das Token kann jedoch aus verschiedenen Gründen kompromittiert werden, z. B:

  • Falsch generiert
  • Ungültigkeitserklärung
  • Kompromittiert durch eine Sicherheitslücke

Unsachgemäße Eingabevalidierung

Bei Webanwendungen müssen Benutzer Daten eingeben, z. B. Formulardaten, Abfragezeichenfolgen und POST-Anfragen. Unsachgemäße Eingabevalidierung bedeutet, dass die API die Eingaben nie überprüft, um sicherzustellen:

  • Syntaktische Korrektheit: Daten im erwarteten Format, wie eine Telefonnummer im Format (XXX) XXX-XXXX
  • Semantische Korrektheit: Die Daten ergeben im Geschäftskontext einen logischen Sinn, z. B. dass Dollar nvur als positive Zahlen eingegeben werden.

Unzureichende API-Ratenbegrenzung

Mit der Ratenbegrenzung wird die maximale Anzahl der in einer bestimmten Zeitspanne zulässigen API-Anfragen festgelegt. Wie in allen anderen Bereichen der Technik gibt es jedoch auch bei der Ratenbegrenzung keine Patentlösung. Eine globale Ratenbegrenzung kann sinnvoll sein, aber sie kann die Leistung beeinträchtigen, insbesondere bei gemeinsam genutzten drahtlosen Verbindungen. Darüber hinaus gibt es mehrere verschiedene Ansätze zur Ratenbegrenzung:

  • Request/Anfrage: Anzahl der Anfragen, die ein Benutzer oder Client stellen kann
  • Traffic/Verkehr: Menge des über ein Netz oder zwischen Netzen übertragenen Verkehrs
  • Ressourcenbasiert: Anzahl der Anfragen an eine bestimmte Ressource

Schwachstellen in Bibliotheken von Drittanbietern

Entwickler verwenden API-Bibliotheken von Drittanbietern auf die gleiche Weise und aus den gleichen Gründen wie Code-Bibliotheken und Frameworks von Drittanbietern. Die Verwendung dieser Bibliotheken spart Zeit und entschärft oft Probleme im Zusammenhang mit Fehlkonfigurationen. Sobald Angreifer jedoch wissen, dass eine API eine Sicherheitslücke aufweist, versuchen sie, diese auszunutzen. Da nicht alle Bibliotheken ihre APIs regelmäßig aktualisieren, stellt dies ein weiteres Risiko für die Software-Lieferkette dar.

Mangel an sicherer Datenverarbeitung

Da APIs Daten zwischen Anwendungen und Datenbanken übertragen, werden häufig sensible Daten über sie transportiert. TLS-Protokolle (Transport Layer Security) verschlüsseln die Kommunikation zwischen Client und Server, um die Daten zu schützen. Die Implementierung von Verschlüsselung ist jedoch nicht immer so einfach, wie es klingt. Die Entwickler müssen auch Folgendes berücksichtigen:

  • Deaktivieren von Kommunikationskanälen, die keine Verschlüsselung während der Übertragung bieten, wie z. B. Entfernen von zugehörigem Code, Konfigurieren von Abhängigkeiten nur mit verschlüsselten Kanälen, Einschränken der Zugriffsberechtigung auf nur verschlüsselte Kanäle
  • Verwendung der Verschlüsselung auf der Ebene der Datennachricht, wenn TLS nicht zulässig ist
  • Verwaltung und Rotation von Schlüsseln
  • Sichern von Schlüsseln

Unzureichende Überwachung und Erkennung

Die Überwachung von APIs setzt voraus, dass man versteht, wie die Daten zwischen den Anwendungen fließen. APIs vergrößern nicht nur die Angriffsfläche, sondern erfordern auch spezielle Sicherheitstechnologien, wodurch sich die Anzahl der Stellen erhöht, die Sicherheitsteams überwachen müssen.

Viele Unternehmen setzen Web Application Firewalls (WAFs) speziell zum Schutz von APIs vor herkömmlichen Bedrohungen ein, doch diese vermindern nicht die Risiken, die durch Fehler in der Geschäftslogik entstehen. Gleichzeitig sammeln und aggregieren SIEM-Tools (Security Incident Event Management) nur Daten von Sicherheitstechnologien. Ohne ein spezielles API-Sicherheitstool können sie anormale Aktivitäten nicht erkennen, was letztlich das Risiko eines unentdeckten Angriffs verschärft.

5.) API-Sicherheitslösungen

Budgetverantwortliche und IT-Sicherheitsexperten in Unternehmen tun gut daran auf speziell entwickelte Softwarelösungen zu setzen, die alle APIs kontinuierlich überwachen und zuverlässig bei fremden Zugriffen warnen. Unternehmen erhalten einen genauen Einblick in ihre API-Landschaft und in die Art und Weise, wie die Umgebung sie nutzt. Mit APIs, die nach Domänen organisiert sind, können sie ihre Überwachung an der offenen API-Spezifikation ausrichten, einschließlich der Identifizierung verbotener und veralteter APIs.

Eine gute API-Sicherheitslösung erkennt automatisch die häufigsten Arten von Angriffen und Fehlern, so dass Unternehmen auf einen Blick einen Überblick über die schwerwiegendsten Probleme erhalten, ohne dass sie über tiefgreifende technische Kenntnisse über APIs verfügen müssen. Durch die automatische Kategorisierung von API-Aufrufen in aussagekräftige Kategorien, wie z. B. erfolgreiche, undichte oder fehlerhafte API-Aufrufe, können IT-Sicherheitsteams leicht Überprüfungen und Verbesserungen wo nötig vornehmen.

* Über den Autor
Andy Grolnick ist CEO beim Security-Anbieter Graylog.

Bildquelle: Graylog

(ID:49987800)