bluebay2014 - stock.adobe.com

Das Sicherheitsrisiko API in den Griff bekommen

APIs hantieren mit sensiblen Daten und verfügen über weitreichende Zugriffsrechte. Grund genug diese Schnittstellen kontinuierlich aufzuspüren, zu kontrollieren und zu überwachen.

APIs haben oft Zugriff auf sensible Daten, weshalb es für Unternehmen von entscheidender Bedeutung ist, über jede einzelne verwendete API Bescheid zu wissen. Dennoch haben viele Unternehmen mit Schatten-APIs und undokumentierten Endpunkten zu kämpfen. Was man nicht sehen kann, kann man auch nicht schützen. Daher ist eine umfassende API-Transparenz für jedes Sicherheitsprogramm von grundlegender Bedeutung.

Eine effektive API-Erkennung erfordert einen systematischen Ansatz, der den gesamten Softwareentwicklungslebenszyklus (SDLC) umfasst. Im Folgenden werden sieben wichtige Best Practices für die API-Erkennung aufgeführt, die Sicherheitsteams implementieren sollten, von der Quellcodeanalyse bis zur kontinuierlichen Überwachung.

1. Eine Quellcode-Analyse und ein Repository-Scanning durchführen

Eine umfassende API-Erkennung (Application Programming Interface) beginnt an der Quelle. Moderne Tools für statische Anwendungssicherheitsscans durchsuchen automatisch Code-Repositorys, um API-Definitionen, Endpunkte und Konfigurationen wie OpenAPI-Definitionen zu identifizieren.

Achten Sie besonders auf Konfigurationsdateien, Umgebungsvariablen und Bereitstellungsskripte, die möglicherweise auf externe APIs verweisen oder neue Endpunkte definieren. Viele Unternehmen entdecken vergessene APIs, die in alten Codebasen oder experimentellen Zweigen schlummern.

Zu den in Betracht zu ziehenden Tools gehören die folgenden:

  • Die API-Erkennung von StackHawk stellt eine direkte Verbindung zu Code-Repositorys her und nutzt einen Inside-Out-Ansatz, um APIs aus dem Quellcode zu erkennen und automatisch Schemata zu generieren.
  • Semgrep bietet eine schnelle statische Analyse für die meisten Programmiersprachen, um API-Muster im Code zu finden. Damit ist es eine hervorragende Open-Source-Option zur Identifizierung von REST-Endpunktdeklarationen, GraphQL-Schemata und der Verwendung von API-Frameworks.

2. Analyse des API-Gateways und der Verwaltungsplattform durchführen

API-Gateways dienen als zentralisierte Kontrollpunkte für den API-Datenverkehr und sind somit wertvolle Informationsquellen für die Ermittlung aktiver APIs in einem Unternehmen. Gateways wie Apigee führen umfassende Verzeichnisse der bereitgestellten APIs, einschließlich Metadaten zu Endpunkten, Versionen, Datenverkehrsmustern und Nutzungsanalysen.

Die Gateway-basierte API-Erkennung bietet folgende Vorteile:

  1. Vollständiges API-Inventar aus zentralisierten Registrierungsprozessen.
  2. Verkehrsanalysen, die die tatsächliche API-Nutzung und Verbrauchsmuster zeigen.
  3. Versionsverfolgung über verschiedene API-Iterationen und Bereitstellungen hinweg.
  4. Leistungskennzahlen, die anzeigen, welche APIs aktiv genutzt werden und welche inaktiv sind.

Gateway-Inventare haben jedoch ihre Grenzen. Nicht alle APIs werden über Gateways geleitet – beispielsweise umgehen interne Microservice-Kommunikationen, Legacy-Endpunkte und Entwicklungs-APIs diese Infrastruktur häufig vollständig. Verwenden Sie Gateway-Daten als primäre Inventar-Grundlage, ergänzen Sie diese jedoch durch andere Erkennungsmethoden, um die gesamte API-Landschaft zu erfassen.

3. Integrationen von Drittanbietern prüfen

Moderne Anwendungen sind stark von externen Diensten abhängig, sodass systematische Audits erforderlich sind, um den gesamten Umfang der API-Abhängigkeiten zu verstehen. Überprüfen Sie alle SaaS-Integrationen und Anbieter-APIs, die von Anwendungen genutzt werden, und untersuchen Sie dabei Authentifizierungsmethoden, Vereinbarungen zur Datenweitergabe und Zugriffsberechtigungen, die externen Diensten gewährt werden.

Dokumentieren Sie alle ausgehenden API-Aufrufe, die Anwendungen durchführen, einschließlich der Arten der ausgetauschten Daten und des geschäftlichen Zwecks jeder Integration. Dieser Auditprozess deckt häufig unerwartete Datenaustauschbeziehungen oder unsichere Integrationsmuster auf, die in der offiziellen API-Dokumentation nicht erfasst sind.

Achten Sie besonders auf Cloud-Service-Abhängigkeiten und die damit verbundenen API-Endpunkte, da diese Verbindungen häufig von herkömmlichen Netzwerküberwachungstools nicht erfasst werden. Viele Unternehmen entdecken kritische API-Abhängigkeiten erst, wenn externe Dienste ausfallen oder Sicherheitsvorfälle auftreten.

4. Kontinuierliches Monitoring der Angriffsfläche implementieren

Setzen Sie automatisierte Tools ein, die die nach außen gerichtete Infrastruktur kontinuierlich auf exponierte APIs scannen. Moderne Tools zum Management der Angriffsfläche verwenden Techniken wie Verzeichnisaufzählung, Subdomain-Erkennung und Port-Scanning, um Endpunkte zu identifizieren, die möglicherweise ohne ordnungsgemäße Sicherheitsüberprüfung bereitgestellt wurden.

Konzentrieren Sie sich auf gängige API-Pfade (*/api/*, */rest/*, */v1/*), HTTP-Methoden und Antwortmuster, die auf API-Schnittstellen hinweisen. Fortschrittliche Tools können zwischen statischen Webinhalten und dynamischen API-Endpunkten unterscheiden und so dabei helfen, APIs zu identifizieren, die mit anderen Erkennungsmethoden nicht erfasst werden.

5. Nutzen Sie Netzwerkverkehrsanalysen und SIEM-Integration

SIEM-Plattformen zeichnen sich durch die Erfassung und Analyse von Netzwerkverkehrsdaten aus, um API-Nutzungsmuster aufzudecken, auch wenn sie keine nativen API-Erkennungsfunktionen bieten. Diese Plattformen verarbeiten Netzwerkflussprotokolle, HTTP-Verkehrsdaten und Kommunikationsmuster, um potenzielle API-Endpunkte in der gesamten Infrastruktur zu identifizieren.

Konfigurieren Sie SIEM-Plattformen für folgende Aufgaben:

  • Analysieren Sie HTTP-Traffic-Protokolle auf API-Endpunktmuster und REST-ähnliche URL-Strukturen.
  • Überwachen Sie DNS-Abfragen an API-Domänen (api., rest., *.amazonaws.com, *.googleapis.com).
  • Verfolgen Sie die Port-Nutzung und Protokollanalyse für nicht standardmäßige API-Kommunikationen.
  • Korrelieren Sie Traffic-Muster mit Anwendungsbereitstellungszeitplänen, um neue APIs zu identifizieren.

Microsoft Sentinel veranschaulicht diesen Ansatz sehr gut, indem es sich in die Traffic-Analyse von Azure Network Watcher integriert, um Flow-Protokolle von Netzwerksicherheitsgruppen zu verarbeiten und HTTP/HTTPS-Traffic-Muster und Verbindungsabhängigkeiten zu identifizieren.

Andere bekannte SIEM-Plattformen – etwa Splunk, IBM QRadar und Elastic Security – bieten ähnliche Netzwerkanalysefunktionen, mit denen Sicherheitsteams benutzerdefinierte Korrelationsregeln erstellen können, die API-ähnliche Verkehrsmuster und verdächtige Kommunikationsverhalten kennzeichnen.

6. Konfigurieren Sie EDR-Tools für die Erkennung zur Laufzeit

EDR-Tools (Endpoint Detection and Response) bieten durch umfassende Endpunktüberwachung leistungsstarke Einblicke in die API-Aktivitäten während der Laufzeit. CrowdStrike Falcon beispielsweise bietet Echtzeit-Transparenz über Endpunktaktivitäten und verfolgt gleichzeitig Netzwerkverbindungen, DNS-Anfragen und Kommunikationsmuster auf Prozessebene.

Die EDR-API-Erkennungsfunktionen umfassen Folgendes:

  • Prozessüberwachung. Verfolgen Sie Anwendungen, die API-Aufrufe durchführen, indem Sie die Prozessausführung und Befehlszeilenargumente analysieren.
  • Netzwerkanalyse. Überwachen Sie HTTP/HTTPS-Verbindungen, DNS-Abfragen an API-Domänen und ungewöhnliche Port-Nutzung.
  • Verhaltenserkennung. Identifizieren Sie Muster, die auf unautorisierte API-Nutzung oder API-Missbrauch hinweisen.
  • Echtzeiterkennung. Erkennen Sie neue API-Kommunikationen, sobald sie im Unternehmen auftreten.

EDR-Tools zeichnen sich durch die Identifizierung von APIs aus, die nur unter bestimmten Bedingungen oder während Geschäftsprozessen aktiviert werden. Damit sind sie unverzichtbar für die Erkennung bedingter oder zeitbasierter API-Nutzung, die bei einer statischen Analyse möglicherweise übersehen wird.

7. Kontinuierliche Überwachung und Anpassung durchführen

Die API-Erkennung ist keine einmalige Aktivität – sie erfordert eine kontinuierliche Einbindung mehrere Erkennungsmethoden hinweg.

Richten Sie automatisierte Prozesse ein, die Folgendes kombinieren:

  • Quellcode-Scanning, integriert in Pipelines für kontinuierliche Integration/kontinuierliche Bereitstellung.
  • API-Gateway-Analysen mit automatisierten Bestandsaktualisierungen.
  • Netzwerkverkehrsanalyse über SIEM-Plattformen.
  • EDR-Überwachung für die Erkennung von Laufzeit-APIs.
  • Regelmäßige Überprüfungen der Integration von Drittanbietern.

Erstellen Sie Dashboards, die die Ergebnisse aller Erkennungsmethoden zusammenfassen, Lücken zwischen verschiedenen Beständen identifizieren und neu entdeckte APIs für die Sicherheitsbewertung anzeigen. Dieser mehrschichtige Ansatz gewährleistet umfassende Transparenz, während sich die API-Landschaft eines Unternehmens weiterentwickelt.

Durch die Implementierung dieser Erkennungsmethoden im gesamten SDLC können Sicherheitsteams eine umfassende API-Transparenz aufrechterhalten und einen angemessenen Schutz für diese kritischen Integrationspunkte gewährleisten.

Wie man Best Practices für die API-Erkennung implementiert

Die Umsetzung dieser Best Practices als integriertes Sicherheitsprogramm und nicht als isolierte Aktivitäten ist der Schlüssel zum erfolgreichen Erkennen von APIs.

Beginnen Sie mit einer Quellcodeanalyse, um das grundlegende API-Inventar des Unternehmens zu erstellen, und fügen Sie dann Gateway-Überwachung, Netzwerkverkehrsanalyse und Laufzeit-EDR hinzu, um das gesamte Spektrum der API-Nutzung im Netzwerk zu erfassen.

Denken Sie daran, dass APIs dynamisch sind – im Laufe der Entwicklungszyklen entstehen neue Endpunkte, ältere APIs werden abgelöst und Schatten-APIs tauchen auf, wenn Teams offizielle Prozesse umgehen.

Weitergehende Inhalte zur praxisnahen Unterstützung bei der Absicherung von APIs liefert Ihnen das kostenlose E-Handbook Ratgeber: APIs richtig absichern.

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit