Sicherheit von Daten und Infrastruktur Best Practices zur Absicherung von APIs

Autor / Redakteur: Roman Borovits / Peter Schmitz

Laut Gartner ist API-Missbrauch bis 2022 „der häufigste Angriffsvektor, der zu Datenvorfällen bei geschäftlichen Web-Anwendungen führt“. Unternehmen sollten daher die häufigsten Angriffsarten kennen und sich mit geeigneten Maßnahmen schützen.

Firmen zum Thema

APIs sind nicht nur zum bevorzugten Mittel geworden, um moderne Anwendungen zu erstellen, sondern sind auch ein immer beliebteres Mittel für Cyberkriminelle um Systeme anzugreifen.
APIs sind nicht nur zum bevorzugten Mittel geworden, um moderne Anwendungen zu erstellen, sondern sind auch ein immer beliebteres Mittel für Cyberkriminelle um Systeme anzugreifen.
(Bild: gemeinfrei / Pixabay )

Entwickler von Apps können mit Hilfe von APIs (Application Programming Interfaces) auf einfache Weise Informationen aus externen Quellen in ihren Anwendungen „abrufen“. Dies erleichtert den Codierprozess und gewährt Zugriff auf zahlreiche, bislang unzugängliche Daten und Ressourcen.

Von APIs profitieren aber auch Service Provider. Denn sie schaffen neue Einnahmequellen, wenn sie Entwicklern wertvolle Daten und Dienste zur Verfügung stellen. Und Kunden erhalten durch APIs innovative, funktionsreiche, interaktive Anwendungen – wodurch wiederum die Nachfrage nach solchen Lösungen steigt.

APIs und die möglichen Risiken

Da APIs immer wichtiger für die Entwicklung moderner Anwendungen werden, nimmt aber auch die Gefahr für Angriffe darauf ständig zu. Gartner schätzt, dass API-Missbrauch in zwei Jahren die häufigste Angriffsart sein wird, die zu Vorfällen bei geschäftlichen Web-Anwendungen führt.

Der Nachteil öffentlich zugänglicher Web-APIs ist, dass sie potenzielle Risiken bergen. Von Natur aus ermöglichen sie Externen Zugriff auf die Daten. Hinter jeder API gibt es einen Endpunkt – den Server und seine angeschlossenen Datenbanken, der die Anfragen beantwortet. Die Endpunkte und die damit verbundenen Risiken sind vergleichbar mit einem Webserver im Internet. Der Unterschied liegt darin, dass Websites normalerweise irgendeine Form der Zugangskontrolle besitzen – APIs dagegen kaum.

Im schlimmsten Fall werden dadurch nicht nur Daten gefährdet, sondern auch die Infrastruktur. Anfällige APIs sind ein hervorragendes Sprungbrett für eine Vielzahl von Netzwerk-Angriffen. Die richtige Taktik – oft ein mehrstufiger Angriff – kann unter Umständen dazu führen, dass sensible Informationen kompromittiert werden, etwa personenbezogene Daten oder geistiges Eigentum.

Häufige Angriffe bei Web-APIs

APIs sind anfällig für viele Angriffe, die auch gegen Netzwerke und webbasierte Anwendungen gerichtet sind. Zu den häufigsten Attacken auf APIs gehören:

Eine Injection liegt vor, wenn Angreifer bösartigen Code oder Kommandos in ein Programm integrieren – meist dort, wo normalerweise Eingaben wie Benutzername und Passwort erwartet werden. SQL Injection ist eine spezielle Form dieser Angriffsart, bei der Cyberkriminelle die Kontrolle über eine SQL-Datenbank erlangen können. Gegenmaßnahme: Validieren und säubern aller Daten in den API-Anfragen und beschränken der herausgegebenen Daten. So verhindern Unternehmen das Senden sensibler Informationen.

Cross-Site Scripting (XSS) ist eine Art von Injection-Angriff, der dann vorliegt, wenn ein Angreifer durch eine Schwachstelle ein bösartiges Skript (oft JavaScript) in den Code einer Web-Anwendung oder Webseite einspeisen kann. Gegenmaßnahme: Validieren der Eingaben und Einsatz von Maskierungszeichen und Filtern.

Distributed Denial of Service (DDoS) bezeichnet Angriffe, die dazu führen, dass ein Netzwerk, ein System oder eine Website nicht mehr verfügbar ist. Typischerweise werden die Ziele mit Anfragen überflutet, bis sie die Menge nicht mehr verarbeiten können. API-Endpunkte stehen auf der immer längeren Liste von DDoS-Zielen. Gegenmaßnahme: Begrenzen der Durchsatzrate und der maximalen Nutzdatengröße.

Bei Man-in-the-Middle-Angriffen (MitM) fängt ein Angreifer den Datenverkehr zwischen zwei kommunizierenden Systemen ab. Dabei gibt er sich als der jeweils andere Partner aus, bleibt aber selbst unsichtbar. Bei APIs können MitM-Attacken zwischen Client (Anwendung) und API oder zwischen API und Endpunkt erfolgen. Gegenmaßnahme: Verschlüsseln des Datenverkehrs auf dem Übertragungsweg.

Mit Credential Stuffing verschaffen sich Angreifer Zugriff auf die Endpunkte, indem sie gestohlene Zugangsdaten bei der API-Authentifizierung verwenden. Gegenmaßnahme: Nutzen von aufgedeckten kompromittierten Zugangsdaten, um Credential Stuffing zu erkennen. Unternehmen sollten auch eine Ratenbegrenzung einführen, die Brute-Force-Attacken unterbindet.

Best Practices zur Absicherung von APIs

Neben diesen Maßnahmen sollten sich Unternehmen an einige grundlegende, bewährte Security-Praktiken halten und erprobte Sicherheitskontrollen verwenden, wenn sie APIs öffentlich zugänglich machen. Dazu zählen:

  • Sicherheit priorisieren: API-Security darf kein nachträglicher Zusatz sein. Unternehmen müssen der Sicherheit Vorrang geben und bereits bei der API-Entwicklung geeignete Security-Mechanismen einbauen.
  • Ein Verzeichnis führen und APIs verwalten: Mit Perimeter-Scans lassen sich die eingesetzten APIs ermitteln und inventarisieren. Das DevOps-Team richtet dann ein System für das Management der Schnittstellen ein.
  • Starke Lösungen für Authentifizierung und Autorisierung nutzen: Schwache oder fehlende Authentifizierung und Autorisierung sind ein großes Problem. Zum Beispiel erzwingen einige APIs nicht unbedingt eine Authentifizierung. Das ist häufig der Fall, wenn sie nur für den internen Gebrauch gedacht sind. Oder ein Authentifizierungsfaktor (Wissen, Besitz oder Sein) lässt sich leicht umgehen. Da APIs ein Einstiegspunkt in Datenbanken sind, ist es absolut notwendig, dass das Unternehmen den Zugriff streng kontrolliert. Dazu eignen sich Lösungen, die auf soliden und bewährten Authentifizierungs- und Autorisierungsmechanismen wie OAuth 2.0 und OpenID Connect basieren.
  • Wenig Privilegien geben: Das Principle of Least Privilege (Prinzip der geringsten Privilegien) bedeutet, dass Nutzern, Prozessen, Programmen, Systemen oder Geräten nur der minimal erforderliche Zugriff gewährt wird, um eine bestimmte Funktion auszuführen.
  • Den Datenverkehr per TLS verschlüsseln: Für Unternehmen mit APIs, die routinemäßig sensible Daten austauschen (wie Anmelde-, Kreditkarten-, Konto-, Gesundheitsdaten), ist Transport Layer Security absolut unerlässlich.
  • Sensible Informationen löschen: APIs sind in erster Linie ein Werkzeug für Entwickler. Daher enthalten sie oft Schlüssel, Passwörter und andere Informationen, die entfernt werden sollten, bevor die APIs öffentlich zugänglich sind. Manchmal wird dieser Schritt übersehen. Unternehmen sollten entsprechende Scanner in Ihre DevSecOps-Prozesse integrieren, um die versehentliche Preisgabe geheimer Informationen zu unterbinden.
  • Nicht mehr Daten offenlegen als nötig: Es ist sicherzustellen, dass APIs nur so viele Informationen ausgeben wie zur Erfüllung ihrer Funktion unbedingt nötig. Ebenso sind Datenzugriffskontrollen auf API-Ebene durchzusetzen sowie die Daten zu überwachen und zu maskieren, wenn sie vertraulich bleiben sollen.
  • Input validieren. Eingaben dürfen niemals von einer API an einen Endpunkt weitergegeben werden, ohne sie vorher zu validieren.
  • Durchsatzraten begrenzen: Unternehmen sollten einen Grenzwert festlegen, ab dem nachfolgende Anfragen abgelehnt werden (z.B. 10.000 Anfragen pro Tag und Konto). Das kann Denial-of-Service-Angriffe verhindern.
  • Web Application Firewall verwenden: Diese muss auch mit API-Payloads umgehen können.

APIs sind zum bevorzugten Mittel geworden, um moderne Anwendungen zu erstellen. Dies gilt insbesondere für mobile und IoT-Geräte. Zugleich verändern sich die Methoden der App-Entwicklung weiterhin rasant. Hinzu kommt ein enormer Innovationsdruck. Das führt dazu, dass sich manche Unternehmen der potenziellen Risiken, die mit der Veröffentlichung ihrer APIs einhergehen, immer noch nicht ganz bewusst sind.

Die gute Nachricht lautet, dass die meisten Unternehmen bereits Maßnahmen zur Bekämpfung bekannter Angriffsarten wie XSS, Injection und DDoS ergriffen haben. Wer nicht sicher ist, wo er anfangen soll, beginnt ganz oben auf der Liste und arbeitet sie Punkt für Punkt ab. Egal, wie viele APIs ein Unternehmen öffentlich zugänglich machen möchte – das Ziel sollte immer darin bestehen, frühzeitig solide Sicherheitsrichtlinien festzulegen und sie auf Dauer proaktiv zu verwalten.

Über den Autor: Roman Borovits ist als Sr. Systems Engineer für F5 Networks in der Region Deutschland, Österreich und Schweiz tätig und blickt im Bereich Netzwerk & Security auf fast 20 Jahre Berufserfahrung zurück. Sein universitärer Background liegt im Bereich Business Process Engineering & Management. Die Themenschwerpunkte bei F5 liegen im Bereich Cloud & Automatisierung. Dazu zählt die Integration von Layer 4-7 Services in hochautomatisierte Workflows, das Verständnis für moderne Toolchains sowie intensive Kenntnis über Private & Public Cloud Architekturen. Die Integration von Security Services für Webanwendungen und APIs, vor allem wenn diese über automatisierte Prozesse entstehen, sieht er als eine der großen Herausforderungen der gegenwärtigen IT, die sich mit immer kürzeren Release Zyklen konfrontiert sieht.

(ID:47141535)