Skip to main content

Leitfaden zur API-Sicherheit

Artikel von
feature research

25. April 2023

0 Min. Lesezeit

WordPress betreibt über 40 % des Internets – umso beunruhigender waren die jüngsten Nachrichten über eine offengelegte API-Sicherheitslücke. 

Im Januar 2022 entdeckte ein Sicherheitsforscher, dass über 20.000 WordPress-Websites aufgrund einer fehlerhaft konfigurierten REST-API in einem WordPress-Plug-in für das Einschleusen von Schadcode, Phishing-Betrug und die Übernahme von Websites anfällig waren. Die REST-API sollte es Nutzern ermöglichen, ihre Website-Vorlagen zu aktualisieren und Einstellungen zu ändern. Der REST-API-Endpunkt verfügte jedoch über keine Authentifizierung, die Angreifer daran gehindert hätte, ihn zu nutzen.

API-Sicherheitslücken wie diese sind keine Seltenheit. Gartner prognostizierte kürzlich, dass API-Angriffe zum häufigsten Angriffsvektor werden würden. In diesem Artikel erfahren Sie, warum API-Sicherheit unverzichtbar ist und welche Best Practices Unternehmen umsetzen können, um ihre APIs besser zu schützen. 

Was ist API-Sicherheit?

API-Sicherheit ist ein wichtiger Teilbereich der Anwendungssicherheit und konzentriert sich darauf, API-Dienste zu schützen, um Datenlecks oder Missbrauch zu verhindern. Eine API (Application Programming Interface) ist eine Schnittstelle, über die verschiedene Softwarekomponenten miteinander kommunizieren können und dabei dieselbe Geschäftslogik und dieselben Regeln befolgen, die auch für Nutzerinnen und Nutzer in der Benutzeroberfläche gelten. APIs abstrahieren die Komplexität der Interaktion mit Software. So können verschiedene Anwendungen problemlos zusammenarbeiten und Nutzerinnen und Nutzer reibungslos zwischen diesen Interaktionen navigieren. Wie jede andere Schnittstelle können auch APIs ein Sicherheitsrisiko darstellen. Die einzige Lösung besteht jedoch darin, sie abzusichern – nicht darin, sie zu meiden.

Warum ist API-Sicherheit wichtig?

API-Sicherheit ist wichtig, denn wenn Angreifer Zugriff auf eine API erhalten und sie kontrollieren können, haben sie auch Kontrolle über die Dienste, mit denen Ihre APIs verbunden sind, und können sogar die darüber verarbeiteten Daten stehlen. APIs sind die Rohrleitungen der Softwarewelt. Zugriff auf APIs bedeutet daher unweigerlich auch Zugriff auf alle Daten, die diese von Produkt zu Produkt oder von Dienst zu Dienst weiterleiten. Gängige API-Typen wie GraphQL und REST müssen vor böswilligem Zugriff geschützt werden. Lesen Sie dazu hier unseren Leitfaden zum Erstellen einer sicheren GraphQL-API.

Starten Sie mit Capture the Flag

Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.

Wie fügt sich API-Sicherheit in die Anwendungssicherheit ein?

Traditionell sind Sicherheitsingenieure für die API-Sicherheit verantwortlich. In den letzten Jahren sind jedoch auch Entwickler zunehmend dafür zuständig, da Unternehmen die Sicherheit nach links verlagern und DevSecOps-Ansätze umsetzen. Untersuchungen von 42Crunch, einer API-Sicherheitsplattform, zeigten, dass in 44 % der Unternehmen hauptsächlich das Entwicklerteam für die API-Sicherheit verantwortlich war. 

API-Sicherheit ist zwar ein eigenständiges Thema, doch die Maßnahmen zum Schutz von APIs passen gut in die moderne Anwendungssicherheit. Anwendungen umfassen oft viele APIs. Deshalb muss jede Maßnahme zur Absicherung einer Anwendung auch die APIs schützen, von denen sie abhängt. 

Häufige API-Bedrohungen

Zu den häufigen API-Risiken zählen sowohl Implementierungsfehler als auch fehlende Ratenbegrenzungen. OWASP nennt die zehn häufigsten API-Sicherheitsbedrohungen: 

  1. Fehlerhafte Autorisierung auf Objektebene

  2. Fehlerhafte Benutzerauthentifizierung

  3. Übermäßige Offenlegung von Daten

  4. Mangelnde Ressourcen und fehlende Ratenbegrenzung

  5. Fehlerhafte Authentifizierung auf Funktionsebene

  6. Massenzuweisung

  7. Fehlkonfiguration der Sicherheit

  8. Injection

  9. Unzureichendes Asset-Management

  10. Unzureichende Protokollierung und Überwachung

In unserem Artikel zu den OWASP Top 10 API-Risiken haben wir diese Liste ausführlicher analysiert.

10 Best Practices für API-Sicherheit

1. Nutzen Sie API-Gateways

Ein API-Gateway hilft Unternehmen dabei, API-Anfragen weiterzuleiten, API-Antworten zu organisieren und Service Level Agreements (SLAs) zu verwalten. API-Gateways vereinfachen die Nutzung von APIs, sind aber auch eine wichtige Sicherheitsmaßnahme, da sie Verschlüsselung und Zugriffskontrollen bereitstellen. 

2. Setzen Sie die Authentifizierung auf allen Ebenen korrekt ein

Ein wichtiger Aspekt der API-Sicherheit ist, sicherzustellen, dass die richtige Anwendung die richtige Anfrage stellt. Zu den drei häufigsten Formen der API-Authentifizierung zählen die HTTP-Basisauthentifizierung, OAuth-Authentifizierung und API-Schlüssel-Authentifizierung. APIs sollten am besten auf allen Ebenen authentifiziert werden. Achten Sie außerdem darauf, wie Sie Ihre API-Schlüssel speichern. 

3. Verschlüsseln Sie Anfragen und Antworten

APIs sind häufig anfällig für Man-in-the-Middle-Angriffe. Dabei schalten sich Angreifer in den API-Datenverkehr ein und beobachten oder manipulieren ihn. Die Best Practice besteht darin, jegliche Datenübertragung von einem Nutzer zu einem API-Server und vom API-Server zu einem Nutzer zu verschlüsseln. Dank der Verschlüsselung sind gestohlene Daten nicht zu verstehen, selbst wenn Angreifer Anfragen oder Antworten abfangen. Bei der Einrichtung von APIs sollte überall HTTPS verwendet werden, damit die Daten verschlüsselt sind.

4. Nehmen Sie keine unnötigen Informationen in eine API auf

Bei der API-Sicherheit gilt das „Prinzip der geringsten Berechtigungen“: Beim Erstellen einer API sollten Sie nur die unbedingt erforderlichen Informationen aufnehmen – und keine weiteren. Je weniger Informationen übertragen werden, desto geringer sind die Folgen eines möglichen Datenlecks.

5. Führen Sie regelmäßig Sicherheitstests durch und suchen Sie nach API-Schwachstellen

Auch wenn andere Best Practices für API-Sicherheit umgesetzt wurden, müssen Unternehmen regelmäßig Sicherheitstests und API-Schwachstellenscans durchführen. Regelmäßige Tests und Scans sind auch für Unternehmen sinnvoll, denen es bereits gelungen ist, die Sicherheit nach links zu verlagern. 

6. Erfassen Sie API-Protokolldaten

Eine wirksame Anwendungssicherheit hängt unter anderem von effektiven Prozessen zur Erfassung und Analyse von Protokolldaten ab. Mit einem effektiven Protokollierungssystem können Sie jeden Aufruf einer API-Operation protokollieren und jedes einzelne API-Ereignis nachverfolgen. Diese detaillierten Daten können Ihnen helfen, böswillige Angriffe frühzeitig zu erkennen und im Nachhinein zu analysieren, wie ein Angriff abgelaufen sein könnte. Achten Sie darauf, welche Daten Ihre Protokolle erfassen, damit Sie keine vertraulichen Informationen wie personenbezogene Daten oder Sicherheitsdaten speichern.

7. Legen Sie Kontingente fest und drosseln Sie API-Anfragen

Eine der ältesten Arten von Cyberangriffen, die verteilte Dienstverweigerung (Distributed Denial of Service, DDoS), kann auch APIs treffen. Bei einem DDoS-Angriff auf eine API sind häufig sowohl der Server betroffen, auf dem Ihre API ausgeführt wird, als auch jeder einzelne Endpunkt der API. Legen Sie API-Datenverkehrskontingente und Ratenbegrenzungen fest und drosseln Sie API-Anfragen, um den API-Datenverkehr zu beschränken und DDoS-Angriffe zu verhindern.

8. Schulen Sie Ihr Team zu den OWASP Top 10 für API-Sicherheit

Bei Cybersicherheit geht es meist eher um Wiederholung als um Innovation. Die meisten erfolgreichen Angriffe beruhen nicht auf innovativen Angriffsmustern, sondern auf der Ausnutzung bekannter Fehler. Nehmen Sie sich die Zeit, Ihr Team zu den OWASP Top 10 für API-Sicherheit zu schulen – einer Liste der häufigsten API-Sicherheitsrisiken. Snyk Learn bietet außerdem kostenlose Sicherheitslektionen für Entwickler, mit denen Ihr Team mehr über Cybersicherheitskonzepte erfahren kann.

9. Validieren und bereinigen Sie API-Daten

Durch die Validierung und Bereinigung von API-Daten stellen Sie sicher, dass eingehende API-Daten dem entsprechen, was Sie erwarten. Bei der Validierung prüft Ihr System, ob die eingehenden Daten den erwarteten Typ und das erwartete Format haben. Bei der Bereinigung entfernt Ihr System unsichere Zeichen aus den eingehenden Daten. 

10. Aktualisieren Sie API-Dienste und Dokumentation

Eine weitere grundlegende Cybersicherheitsmaßnahme, die auch für API-Sicherheit gilt, besteht darin, alles auf dem neuesten Stand zu halten. Dazu gehört, dafür zu sorgen, dass Ihre APIs aktuell sind und Ihre API-Dokumentation auf dem neuesten Stand ist. 

Wie Snyk Sie bei der API-Sicherheit unterstützen kann

Die enorme Leistungsfähigkeit von APIs birgt auch Gefahren. Deshalb müssen alle Unternehmen Best Practices für API-Sicherheit umsetzen und verfügbare Tools nutzen, um ihre APIs zu schützen.

Snyk kann Ihnen auf vier Arten dabei helfen, die API-Sicherheit zu gewährleisten:

  • Viele Backend-API-Dienste basieren auf Open-Source-Bibliotheken. Mit Snyk können Sie nach anfälligen Versionen suchen. 

  • Entwickler nutzen und erstellen häufig APIs. Mit Snyk Code können Sie deshalb statische Anwendungssicherheitstests durchführen. 

  • Für die Bereitstellung von API-Diensten kommen häufig Container zum Einsatz. Nutzen Sie daher Snyk Container-Scans, um Schwachstellen im Betriebssystem und in der Laufzeitumgebung zu finden. 

  • Backend-API-Dienste werden häufig über Infrastructure as Code in der Cloud bereitgestellt. Nutzen Sie Snyk, um sicherzustellen, dass Ihre Infrastructure-as-Code-Konfiguration keine Sicherheitsprobleme verursacht. 

APIs sind leistungsstark. Lassen Sie sie deshalb nicht in die falschen Hände geraten – schützen Sie Ihre APIs und alle Daten, auf die sie zugreifen können, mit diesen Best Practices und Scan-Tools für API-Sicherheit. 

Starten Sie mit Capture the Flag

Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.