API-Angriffe blockieren

Infolge der zunehmenden Verbreitung von mobilen Endgeräten, IoT-Netz­werken und Cloud-Systemen veränderten sich ebenfalls die Anwendungs­architekturen mit ihren Application Programming Interfaces (APIs). Schlecht geschützte APIs sowie personenbezogene Daten werden seither durch eine Vielzahl von automatisierten Angriffen bedroht.

Angriffe
Bild: Pixabay

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, Hackerangriffe 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 Web­sites oder mobile Apps. Im schlimmsten Fall sind nicht nur die Daten potenziell gefährdet, sondern auch die gesamte In­frastruktur. 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).

Typische Hackerangriffe auf Web-APIs: APIs sind vor allem für nachfolgende Angriffstypen anfällig. Keine davon sind neu. Aufgrund fehlender Massnahmen 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 Website einzufügen. Schadensbegrenzung durch Validierungen der Ein­gaben 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 äusserst 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 identi­fizieren und Ratenbegrenzungen zu implementieren und Brute-Force-Angriffe zu kontrollieren.

Einhaltung von Sicherheitspraktiken: Neben diesen Aktivitäten zur Risikominderung ist es wichtig, dass Unternehmen einige weitere grundlegende Massnahmen 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.

Aktivitäten zur Risikoreduzierung: 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 gleichermassen 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ässig 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.

Dieser Fachartikel erschien in der gedruckten Ausgabe SicherheitsForum 3-2022.

Sie wollen die Artikel dieser Ausgabe lesen? Dann schliessen Sie gleich hier ein Abonnement ab.

(Visited 77 times, 1 visits today)

Weitere Beiträge zum Thema

JETZT ANMELDEN
SICHERHEITSNEWS
Wichtige Informationen zu Sicherheitsthemen – kompetent und praxisnah. Erhalten Sie exklusive Inhalte und Nachrichten direkt in Ihren E-Mail-Posteingang.
ANMELDEN
Sie können sich jederzeit abmelden!
close-link