API-Security API-Wirrwarr birgt gefährliche Risiken

Von Dipl. Betriebswirt Otto Geißler 3 min Lesedauer

Anbieter zum Thema

In Unternehmen existieren oftmals Hunderte von verschiedenen APIs, viele davon oft nicht einmal dokumentiert. Wie können Unternehmen potenzielle Schwachstellen in ihren APIs schnell erkennen und die allgemeine Sicherheitslage ihrer Anwendungen verbessern?

API-Security dient dazu, APIs regelmäßig zu überwachen und zu testen, um Schwachstellen zu finden und diese zu entschärfen.
API-Security dient dazu, APIs regelmäßig zu überwachen und zu testen, um Schwachstellen zu finden und diese zu entschärfen.
(Bild: Murrstock - stock.adobe.com)

Ein Application Programming Interface (APIs) ist eine unverzichtbare Software, die den Informationsaustausch zwischen alltäglichen Anwendungen und Prozessen ermöglicht. Dazu zählen beispielsweise Software as a Service (SaaS)-Anwendungen, Internet of Things (IoT)-Geräten und vieles mehr. APIs synchronisieren und verwalten den Datenaustausch zwischen Clients und Servern und reagieren auf jede Anfrage.

Da diese APIs für IT-Prozesse unerlässlich sind, bieten sie ein attraktives Ziel für Hacker. Die API-Sicherheit kann durch verschiedene Bedrohungen gefährdet werden; wobei API-Angriffe ähnlichen Taktiken wie standardmäßige webbasierte Angriffe folgen. Dazu gehören im Wesentlichen diese Methoden:

Nicht autorisierte API-Clients

Ein User mit gültigen Anmeldeinformationen manipuliert die API-Anfrage, um unbefugten Zugriff auf die Daten eines anderen Users zu erhalten. Dies kann zu Datenschutzverletzungen oder Transaktionen führen.

Identitätsdiebstahl bzw. Man-In-The-Middle

Hacker verändern bzw. fangen die Kommunikation zwischen dem API-Server und dem API-Client mithilfe einer Technologie der Paketerfassung diskret ab.

Downgrade des SSL-Protokolls

Bot-Nets oder betrügerische API-Clients versuchen ältere Schwachstellen auszunutzen, die auf einem Client oder Server noch nicht behoben wurden.

Schädlicher Code bzw. SQL-Injections

Selbst authentifizierte API-Konsumenten können eine Bedrohung darstellen, da API-Aufrufe, die Escape-Zeichen und SQL-Abfragen enthalten, Daten potenziell Risiken und Schwachstellen aussetzen könnten.

Lecks bei Anmeldeinformationen auf mobilen APIs

Mobile Apps, die OAuth-Tokens anfordern, können anfällig für Anmeldeinformationslecks sein, insbesondere wenn die Anwendungs-ID und das Geheimnis im Klartext im Client-Anwendungscode gespeichert sind.

API-Sicherheitslücken

In der Folge sind einige der größten Sicherheitslücken als auch mögliche Strategien zur Schadensbegrenzung skizziert, die von APIs betroffen sind:

Defekte Authentifizierung des Users

Fehlerhaft implementierte Mechanismen der Authentifizierung ermöglichen es Hackern, Token zu kompromittieren und Implementierungsfehler auszunutzen, um die Identität autorisierter User zu übernehmen.

Dieses Problem kann gelöst werden, indem nur vertrauenswürdige User authentifiziert und Zugriffstoken-Validierungen implementiert werden.

Defekte Autorisierung auf Funktionsebene

Autorisierungsfehler können durch unsachgemäße Kontrollrichtlinien für Zugriffe entstehen. Wenn administrative und nicht-administrative Rollen nicht ordnungsgemäß getrennt sind, ist es leichter möglich, dass Hacker Zugriffe auf administrative Ressourcen und Funktionen erhalten.

CISOs und IT-Teams sollten strenge rollenbasierte Zugriffskontrollen erzwingen, Zero-Trust-Richtlinien implementieren und regelmäßige Sicherheitsbewertungen und Penetrationstests durchführen, um diese Schwachstelle zu vermeiden.

Autorisierungsverletzung auf Objektebene

APIs erlauben Zugriffe auf Objekte. Erfolgt eine Verletzung dieser Autorisierungen, können Angriffe auf breiter Ebene ausgeführt werden.

Diese Schwachstelle kann durch die Implementierung von Autorisierungsprüfungen auf Objektebene reduziert werden, die Anmeldeinformationen zur Autorisierung und Zugriffstoken erfordern, um den Zugriff zu gestatten.

Übermäßige Datenoffenlegung

Generische APIs legen Objekt-Eigenschaften ohne detaillierte Einschränkungen offen. Es wird davon ausgegangen, dass der Client unnötige Daten herausfiltert. Daher können Hacker von dort aus auf personenbezogene Daten (PII) zugreifen.

Dieses Risiko lässt sich verringern, indem der Datenzugriff nur vertrauenswürdigen Usern gewährt wird, die Berechtigung des Zugriffs ermittelt wird und die Teile der Daten auf der Grundlage des „Need-to-know“-Prinzips begrenzt werden.

Mangel an Ressourcen

APIs, die keine Beschränkungen hinsichtlich der Anzahl der von einem Client angeforderten Ressourcen haben, sind anfällig für Denial-of-Service-Angriffe (DoS) und Brute-Force-Angriffe. Diese wirken sich negativ auf die Leistung des API-Servers aus.

Maßnahmen wie beispielsweise Rate Limiting und die Verwendung eines API-Gateways schützen vor dieser Schwachstelle.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

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.

Aufklappen für Details zu Ihrer Einwilligung

Massenzuweisung

Schwachstellen dieser Art erlauben die Verwendung von bereitgestellten Daten für ein Objekt, ohne dass eine Berechtigung für die User dazu überprüft wird. Dies ermöglicht es dem Hacker, Sicherheitsmechanismen sehr leicht zu umgehen und letztlich auf sensible Daten zuzugreifen.

Lösungsmöglichkeiten bieten strenge Zugriffskontrollen.

Fehlkonfiguration der Sicherheit

Unsichere Standard-Konfigurationen sowie unvollständige und Ad-hoc-Konfigurationen können Systemdetails und vertrauliche User-Informationen preisgeben.

Die Lösung besteht darin, sich nicht auf Standard-Konfigurationen zu verlassen und keine sensiblen Informationen in Fehlermeldungen einzufügen.

Injektion

APIs sind anfällig für Schwachstellen wie beispielsweise SQL- und NOSQL-Injektionen sowie Befehlsinjektionen. Diese Schwachstellen ermöglichen es dem Hacker, bösartige Befehle über einen Interpreter auszuführen.

Die Verwendung eines API-Gateways, das Nichtakzeptieren von SQL und nicht vertrauenswürdigen Datentypen sowie die Überwachung von API-Anfragen bieten Schutz vor solchen Schwachstellen.

Fehlerhaftes Asset-Management

Schlechte Verwaltung und Dokumentation von API-Endpunkten und veraltete API-Versionen räumen Hacker Möglichkeiten ein, den Informationsfluss von Anwendungen zu kompromittieren.

Als Lösungen bieten sich eine Aktualisierung des Inventars aller API-Hosts, die Entfernung alter API-Versionen oder eine Reparatur bzw. API-Firewalls an.

(ID:50019002)