Best Practices der API-Sicherheit API-Angriffe abwehren

Autor / Redakteur: Dipl. Betriebswirt Otto Geißler / Peter Schmitz

Der zunehmende Einsatz von mobilen Endgeräten, IoT-Netzwerken und Cloud-Systemen krempelte die Anwendungsarchitekturen mit ihren Application Programming Interfaces (APIs) komplett um. Massiv zugenommene automatisierte Angriffe auf schlecht geschützte APIs bedrohen seither vor allem personenbezogene Daten wie zum Beispiel Zahlungskartendaten oder geschäftskritische Dienste.

Firma zum Thema

APIs sind insbesondere für bestimmte Angriffstypen anfällig. Keine davon sind neu. Auf Grund fehlender Maßnahmen sind sie häufig sehr effektiv.
APIs sind insbesondere für bestimmte Angriffstypen anfällig. Keine davon sind neu. Auf Grund fehlender Maßnahmen sind sie häufig sehr effektiv.
(© Sergey Nivens - stock.adobe.com)

Da es mit Application Programming Interfaces (APIs) sehr leicht möglich ist, zwischen einzelnen Architekturen zu kommunizieren, hat ihre Nutzung in der vergangenen Zeit explosionsartig zugenommen. So macht die API-Kommunikation mittlerweile mehr als 80 Prozent des gesamten Internetverkehrs aus. Gleichzeitig können sie auch die Ursache für eine Vielzahl von Sicherheitsproblemen sein.

Wobei die meisten Angriffe im Wesentlichen auf Authentifizierungsprobleme, Bots, Sicherheitslücken oder Denial-of-Service (DoS) zurückgehen. Rund ein Viertel der Unternehmen betreiben immer noch kritische API-basierte Anwendungen ohne jedwede Sicherheitsstrategien, die in der Lage wären, Hacker-Angriffe effektiv zu verhindern.

Kein Wunder, dass Angriffe auf der API-Ebene immer beliebter werden. Nicht zuletzt deshalb, weil sie anonymer ist und APIs in der Regel nicht so gut geschützt sind wie vergleichsweise Websites oder mobile Apps. Im schlimmsten Fall sind nicht nur die Daten potenziell gefährdet, sondern auch die gesamte Infrastruktur. Durch die Ausnutzung einer anfälligen API können Hacker mit nur einer einzigen Attacke Zugriff auf ein gesamtes Netzwerk erhalten.

Wenn es dann noch gelingt, Berechtigungen auszuweiten, können weitere Arten von Angriffen erfolgen und sich Malware im gesamten Netzwerk verbreiten. Bestimmte Attacken, oft mehrstufige Angriffe, können potenziell dazu führen, dass die sensibelsten Daten eines Unternehmens kompromittiert werden, seien es personenbezogene Daten (PII) oder geistiges Eigentum (IP).

Häufige Angrifftypen auf Web-APIs

APIs sind vor allem für nachfolgende Angriffstypen anfällig. Keine davon sind neu. Auf Grund fehlender Maßnahmen sind sie leider häufig sehr effektiv.

  • Injection-Angriffe: Ein Injection-Angriff liegt vor, wenn es einem Hacker gelingt, bösartige Codes oder Befehle in ein Programm einzufügen. In der Regel dort, wo übliche Benutzereingaben (Benutzername oder Passwort) erwartet werden. Schadensbegrenzung durch Validierung und Bereinigung aller Daten in API-Anfragen sowie Begrenzung der Antwortdaten, um ein unbeabsichtigtes Durchsickern sensibler Daten zu vermeiden.
  • Cross-Site-Scripting (XSS): Dabei handelt es sich um eine Art von Injection-Angriff, der auftritt, wenn eine Sicherheitsanfälligkeit es einem Hacker ermöglicht, ein bösartiges Skript (häufig JavaScript) in den Code einer Web-App oder Webseite einzufügen. Schadensbegrenzung durch Validierungen der Eingaben und Verwendung von Escape- und Filterfunktionen für Zeichen.
  • Distributed-Denial-of-Service-Angriffe (DDoS): Angriffe dieser Art führen dazu, dass ein Netzwerk, ein System oder eine Website für Nutzer nicht mehr zur Verfügung steht. Dies geschieht, indem beispielweise eine Website mit mehr Datenverkehr überflutet wird, als sie verarbeiten kann. Gerade API-Endpunkte sind für Hacker äußerst attraktive DDoS-Ziele. Schadensbegrenzung durch Raten- und Nutzlastlimitierungen.
  • Man-in-the-Middle-Angriffe (MitM): Diese Attacken treten auf, wenn ein Angreifer den Datenverkehr zwischen zwei kommunizierenden Systemen abfängt. Bei APIs können MitM-Angriffe zwischen Client (App) und API oder zwischen API und dem Endpunkt auftreten. Schadensbegrenzung durch Verschlüsselung des Datenverkehrs während der Übertragung.
  • Credential Stuffing: Hacker verwenden gestohlene Anmeldeinformationen an API-Authentifizierungsendpunkten, um sich unbefugten Zugriff zu verschaffen. Schadensbegrenzung durch Verwenden von Intelligence-Feeds, um Credential Stuffing zu identifizieren und Ratenbegrenzungen zu implementieren und Brute-Force-Angriffe zu kontrollieren.

Einhaltung bewährter Sicherheitspraktiken

Neben diesen Aktivitäten zur Risikominderung ist es wichtig, dass Unternehmen einige weitere grundlegende Maßnahmen ergreifen und bewährte Sicherheitskontrollen ausführen, wenn sie beabsichtigen, ihre APIs öffentlich zu teilen. Dafür müssen Unternehmen der IT-Security einen höheren Stellenwert einräumen. Denn Unternehmen haben mit ungesicherten APIs viel zu verlieren.

Zu diesem Zweck sollten APIs inventarisiert und verwaltet werden. Unabhängig davon, ob eine Organisation über ein Dutzend oder Hunderte öffentlich verfügbarer APIs verfügt, muss sie diese zuerst kennen, um sie zu sichern und zu verwalten. Dafür sollten Perimeter-Scans durchgeführt werden. Die Verwaltung könnte dann gemeinsam mit DevOps-Teams erfolgen.

Es sollten immer starke Authentifizierungs- und Autorisierungslösungen zum Einsatz kommen. Eine fehlerhafte Authentifizierung tritt dann auf, wenn APIs keine Authentifizierung erzwingen. Da APIs einen Einstiegspunkt in die Datenbanken einer Unternehmung eröffnen, ist es besonders wichtig, dass die Organisation den Zugriff auf sie streng kontrolliert.

Maßnahmen zur Riskiominderung

Unternehmen sollten sich stets an dem Prinzip der geringsten Privilegien orientieren. Dieses grundlegende Sicherheitsprinzip besagt, dass Subjekten (Benutzer, Prozesse, Programme, Systeme, Geräte) nur der minimal notwendige Zugriff gewährt wird, um eine bestimmte Funktion auszuführen. Dies sollte gleichermaßen auf APIs Anwendung finden.

Ein weiterer Punkt ist die Verschlüsselung des Datenverkehrs mit TLS. Einige Unternehmen entscheiden sich dafür, API-Nutzlastdaten, die als nicht sensibel gelten (zum Beispiel Wetterdienstdaten), nicht zu verschlüsseln. Wenn aber die APIs routinemäßig sensible Daten austauschen, muss jedoch eine TLS-Verschlüsselung in Erwägung gezogen werden.

Daten, die nicht geteilt werden sollen, müssen entfernt werden. Da APIs im Wesentlichen ein Entwicklertool sind, enthalten sie häufig Schlüssel, Passwörter und andere Informationen. Diese dürfen einer Öffentlichkeit nicht zugänglich gemacht werden. Manchmal wird dieser Schritt leichtfertig übersehen. Dafür sollten Scan-Tools in DevSecOps-Prozesse integriert werden, um eine versehentliche Offenlegung geheimer Informationen zu verhindern.

Manche APIs geben viel zu viele Informationen preis. Zum Beispiel die Menge an Fremddaten, die über die API zurückgegeben werden, oder Informationen, die zu viel über den API-Endpunkt aussagen. Daher sollten APIs nur so viele Informationen zurückgeben, wie für die Erfüllung ihrer Funktion erforderlich sind.

(ID:47700307)

Über den Autor