APIs, aber sicher: Wie Unternehmen Echtzeit-APIs schützen sollten

SicherheitSoftware
API Schnittstellen (Bild: Shutterstock.com/zaozaa19)

Von der Telemedizin bis zum Online-Banking – Echtzeit-APIs bilden heute die Grundlage, auf der das digitale Geschäft basiert. Aber mit ihrer explosionsartigen Zunahme wird es immer wichtiger, Angriffe auf APIs schnell zu erkennen und zu verhindern. Denn laut Gartner bildet API-Missbrauch im Jahr 2022 die häufigste Angriffsart auf Web-Apps von Unternehmen.

Aufgrund der digitalen Transformation und steigender Kundenerwartungen nutzen Unternehmen zunehmend kreative Ansätze, um die verschiedenen Bedürfnisse der Nutzer zu erfüllen. Mit Echtzeit-APIs können Entwickler Anwendungen erstellen, die den unterschiedlichen Anforderungen gerecht werden.

API Schnittstellen (Bild: Shutterstock.com/zaozaa19)

So bilden APIs die Basis für moderne Anwendungen. Sie ermöglichen es, Informationen aus anderen Softwarekomponenten zu gewinnen und in die Anwendungen zu integrieren. Dazu gehört etwa die Einbindung von Google Maps in eine Rideshare-App oder von YouTube-Videos in eine Webseite. APIs sind Schlüsselkomponenten in jeder Phase der Interaktion eines Nutzers mit einer Anwendung, vom Einloggen bis zum Hinterlassen von Feedback.

Dabei erwarten die Nutzer, dass die Informationen sofort zur Verfügung stehen. Diese Erwartungshaltung an hohe Geschwindigkeiten wird sich im Zuge der 5G-Einführung noch verstärken. So sollten Echtzeit-APIs in weniger als 30 ms einen API-Aufruf von Anfang bis Ende verarbeiten. Wer dies nicht gewährleisten kann, wird im zunehmenden Wettbewerb verlieren.

Darum ist API-Sicherheit wichtig

Doch die weit verbreitete Nutzung von APIs hat auch ihre Kehrseite. Sie bietet Cyberkriminellen einen neuen Weg, um Anwendungen für ihre bösartigen Zwecke zu nutzen. So sagt Gartner voraus, dass API-Missbrauch im Jahr 2022 der häufigste Angriffsvektor gegen Unternehmens-Apps im Web sein wird.

Dass APIs lohnende Ziele für Angreifer sind, liegt an verschiedenen Faktoren. Eines der größten Probleme ist das Versäumnis, angemessene Zugriffsberechtigungen festzulegen. Da sie nicht für den direkten Zugriff von Nutzern vorgesehen sind, erhalten APIs häufig Zugang zu allen Daten innerhalb der App-Umgebung. Der Zugriff wird dann meist so kontrolliert, dass die Nutzer, welche die ursprünglichen Anfragen stellen, spezifische Berechtigungen bekommen. Die Anfragen werden in API-Aufrufe übersetzt und die API übernimmt diese Berechtigungen. Dies funktioniert aber nur so lange gut, bis ein Angreifer den Authentifizierungsprozess umgeht und direkt über die API auf die nachgeschaltete Anwendung zugreift. Da die API uneingeschränkten Zugang hat, erhält der Angreifer Einblick in alle Daten.

Wie einfache HTTP-Webanfragen enthalten API-Aufrufe URIs, Methoden, Header und andere Parameter. Diese können bei einem Angriff missbraucht werden. Leider funktionieren die meisten typischen Web-Attacken wie Injection, Credential Brute Force, Parametermanipulation und Session-Snooping bei APIs gut. Daher bilden sie für Angreifer ein leichtes Ziel.

APIs absichern

Entsprechend müssen Unternehmen in jeder Phase des Lebenszyklus einer API geeignete Sicherheitsmaßnahmen ergreifen. In der Design- und Entwicklungsphase sollte die Logik eingebaut werden, die für die Integration mit der Web Application Firewall (WAF), dem Bot-Schutz, der API-Management-Lösung, dem API-Gateway und anderen Tools erforderlich ist, um die API bei der Bereitstellung in Entwicklungs-, Test- und Produktionsumgebungen abzusichern.

Web Application Firewall

Eine WAF erkennt illegitime Anfragen, die Schwachstellen im Anwendungscode ausnutzen wollen, um Informationen zu stehlen oder bösartigen Code auszuführen. Jede WAF sollte zumindest gegen die häufigsten Angriffstypen gemäß der OWASP API Security Top 10 schützen. Die Lösung sollte für CI/CD- und DevOps-Workflows optimiert sein und XML-, JSON-, Text- und HTML-Anfragen unterstützen. Erweiterte API-Sicherheitsprofile schützen vor Angriffen mit Parsing, Structure, Method und Path Enforcement sowie Angriffssignaturen.

Bot-Schutz

HTTP-APIs können Bots und anderem bösartigen oder unerwünschten automatisierten Datenverkehr ausgesetzt sein. Hier kommen Lösungen ins Spiel, die Sichtbarkeits-, Drosselungs- und Entschärfungsoptionen bieten. Diese schützen HTTP-basierte APIs vor automatisierten Angriffen, die auf Online-Betrug und Anwendungsmissbrauch abzielen.

API-Management
Neben anderen Funktionen bieten API-Management-Lösungen die Schnittstelle zur Definition von Sicherheitsrichtlinien, die das API-Gateway bei der Verarbeitung von API-Aufrufen anwendet. Dazu gehören wichtige Schutzfunktionen wie eine implizite URI-Erlaubnisliste, die auf der API-Spezifikation basiert. Zudem bietet sie programmierbare Raten-Limitierung, Richtlinien für multiple Raten-Limitierung sowie Drosselung zum Schutz vor Denial-of-Service-Angriffen.

API-Gateway

Ein modernes API-Gateway sichert API-Aufrufe durch folgende Funktionen:

Authentifizierung und Autorisierung
Eine API-Authentifizierung gewährt nur anerkannten Clients Zugang. Diese müssen erst beweisen, dass sie diejenigen sind, für die sie sich ausgeben. Da die Authentifizierung nicht zu den Kernaufgaben einer API gehört, ist sie außerhalb des Anwendungscodes durchzuführen. Damit müssen API-Entwickler nicht ihren eigenen Authentifizierungscode schreiben. Das bedeutet, dass Unternehmen die Authentifizierung für alle APIs zentral verwalten und gleichzeitig die Anforderungen für die Authentifizierung flexibel gestalten können. Beispielsweise erlauben sie die nicht authentifizierte Verwendung der API, die Spielergebnisse auf einer Sport-Website ausgibt. Aber sie müssen auf jeden Fall die Personen authentifizieren, die eine API zur Bearbeitung des Inhalts verwenden.

Raten-Limitierung
Im Gegensatz zur Authentifizierung, welche die Benutzeridentität verifiziert, bestimmt die Autorisierung, welche Aktionen ein Nutzer ausführen darf. Eine Raten-Limitierung steuert dabei, wie oft ein bestimmter Client einen API-Aufruf durchführen kann. Dies dient sowohl dem Schutz der Backend-Dienste vor Überlastung als auch der Gewährleistung einer fairen Nutzung für die Kunden. Ein Beispiel für eine Raten-Limitierung ist die Zulassung von 100 Transaktionen pro Sekunde in Zeiten hoher Nachfrage. Die Methode lässt sich dabei auf einzelne Benutzernamen, bestimmte IP-Adressen oder Bereiche sowie auf alle Nutzer anwenden.

Eingabe-Validierung
Die Eingabe-Validierung überprüft, ob eine Eingabe durch einen Nutzer oder eine Anwendung korrekt ist. Besteht sie aus der richtigen Art von Zeichen (Ziffern, Buchstaben, Interpunktion)? Hat sie die richtige Größe? Gehört sie zu einem vordefinierten Satz akzeptabler Werte? Ist sie konsistent mit einem anderen Wert, der bereitgestellt wird? So lässt sich zum Beispiel überprüfen, ob die Postleitzahl mit der angegebenen Adresse übereinstimmt oder ein Geburtsdatum in der Zukunft liegt. Die Eingabe-Validierung verhindert, dass unsachgemäße Daten in ein Informationssystem gelangen und dessen Integrität gefährden. Zudem ist sie eine wichtige Möglichkeit, böswillige Nutzer zu erkennen, die für weitere Anfragen gesperrt werden.

Fazit
Echtzeit-APIs sind strategisch notwendig, damit Geschäftsprozesse die Agilität und Geschwindigkeit erhalten, die für den Erfolg heute erforderlich sind. Angesichts der steigenden Gefahr von Angriffen müssen Unternehmen jedoch sicherstellen, dass der Zugang auf Daten über APIs kein Sicherheitsrisiko darstellt, das sich auf ihren Umsatz und Gewinn auswirkt.

Autor
Erfahren Sie mehr 
Roman Borovits ist Senior Systems Engineer bei F5.
Erfahren Sie mehr