API-Sicherheit

Gui Alvarenga - Mai 10, 2024

Was ist API-Sicherheit?

Viele Unternehmen ermöglichen es Kunden, über eine Anwendungs-Programmierschnittstelle (Application Programming Interfaces, (API) auf ihre Daten zuzugreifen, damit sie darauf maßgeschneiderte Lösungen entwickeln können. Dieser Zugriff birgt jedoch Risiken, weshalb API-Sicherheit ein entscheidendes Element für den Erfolg eines Unternehmens ist.

API-Sicherheit umfasst die Implementierung von Maßnahmen zum Schutz der Vertraulichkeit, Integrität und Verfügbarkeit von Daten. Dazu gehören die Einrichtung von Authentifizierungs- und Autorisierungsmechanismen, die nur autorisierten Benutzern und Anwendungen den Zugriff auf die API ermöglichen, sowie die Implementierung von Verschlüsselung und anderen Sicherheitsprotokollen zum Schutz von Daten bei der Übertragung und im Ruhezustand.

Darüber hinaus umfasst die API-Sicherheit auch Überwachung und Protokollierung, um Sicherheitszwischenfälle zu erkennen und darauf zu reagieren, sowie die Durchführung regelmäßiger Tests und Schwachstellenbewertungen, um potenzielle Schwachstellen zu identifizieren und zu beheben.

Diese Sicherheitsmaßnahmen mindern ernste Risiken, da API-Kompromittierungen schwerwiegende Folgen für Einzelpersonen und Unternehmen gleichermaßen haben können. Angreifer können Schwachstellen in APIs ausnutzen, um auf sensible Daten wie persönliche Informationen, Finanzdaten und Anmeldedaten zuzugreifen, was zu Identitätsdiebstahl, Betrug und anderen Cyberverbrechen führen kann. Angreifer können auch Denial-of-Service-Angriffe durchführen, die die Nutzung der gehackten API verhindern.

Insbesondere für Unternehmen, die sich bei der Anbindung an Drittanbieterdienste auf APIs verlassen, kann ein Verstoß zu Reputationsschäden, finanziellen Verlusten, rechtlichen Schritten, Geldstrafen und behördlichen Sanktionen führen. Aus diesem Grund sollten die API-Sicherheit und die regelmäßige Überwachung auf potenzielle Verstöße Priorität haben, um sowohl das Unternehmen als auch seine Benutzer zu schützen.

CrowdStrike Global Threat Report 2024: Kurzfassung

Der CrowdStrike Global Threat Report 2024 basiert auf den Beobachtungen des CrowdStrike Counter Adversary Operations Teams und hebt die wichtigsten Themen, Trends und Ereignisse in der Cyber-Bedrohungslandschaft hervor.

Jetzt herunterladen

API-Sicherheit und Anwendungssicherheit im Vergleich

Die Begriffe API-Sicherheit und Anwendungssicherheit werden oft verwechselt, sind aber zwei unterschiedliche Konzepte. APIs haben eine größere Angriffsfläche als Webanwendungen, da sie für eine Vielzahl von Clients ausgelegt sind. Diese breite Zugänglichkeit macht APIs gleichzeitig anfälliger für Sicherheitsbedrohungen. Auch die von APIs verwendeten Authentifizierungsverfahren unterscheiden sich von denen der Webanwendungen. Beispielsweise verwenden APIs eine tokenbasierte Authentifizierung und Anwendungen in der Regel Zwei-Faktor-Authentifizierung. Dabei wird ein Code an das Smartphone von Benutzern gesendet, den sie zusammen mit ihrem Kennwort manuell in die Anwendung eingeben.

Auch ein Blick auf die Top-10-Sicherheitsrisiken für APIs von OWASP zeigt, dass sie sich von den Risiken für Webanwendungen unterscheiden. Die Liste der Top-10-Sicherheitsrisiken für Webanwendungen umfasst Punkte wie Fehler im UI-Design und die Verwendung anfälliger UI-Komponenten, während sich die Liste der API-Risiken auf Autorisierungsprobleme auf Objekt- oder Funktionsebene des Systems konzentriert.

Wichtige Standards für die API-Sicherheit

Es gibt eine Reihe von Standards, die bei der Entwicklung einer sicheren API zu berücksichtigen sind. Diese Standards beziehen sich hauptsächlich auf Verschlüsselung, Authentifizierung und Autorisierung. Einige davon, wie Transport Layer Security (TLS), sind so eng in grundlegende Internetprotokolle integriert, dass Sie sie bereits beim Lesen dieses Artikels verwenden.

Werfen wir einen Blick auf die fünf wichtigsten Standards:

1. TLS-Verschlüsselung

Die TLS-Verschlüsselung ist ein Protokoll, das die Verbindung zwischen Client und Server im Internet sichert. Es verschlüsselt Daten während der Übertragung, um zu verhindern, dass Vermittler die übertragenen Daten lesen können. Diese Verschlüsselungstechnologie wird häufig im Bereich des E-Commerce, beim Online-Banking und bei anderen webbasierten Anwendungen eingesetzt, um sensible Informationen zu schützen.

2. OAuth

OAuth (Open Authorization) ist ein beliebtes Autorisierungsprotokoll, mit dem eine Organisation Anwendungen von Drittanbietern den Zugriff auf ihre APIs auf einer Website gewähren kann, ohne Anmeldedaten weiterzugeben. Anstatt der Anwendung ein Kennwort zu geben, generiert OAuth ein Token, das den Zugriff auf ein Konto für einen bestimmten Zeitraum erlaubt.

3. SAML

Security Assertion Markup Language (SAML) ist ein XML-basierter Standard für den Austausch von Authentifizierungs- und Autorisierungsdaten. SAML wird häufig in internen oder Business-to-Business-Anwendungen verwendet und hilft beim Aufbau von SSO-Lösungen (Single Sign-On), bei denen sich Benutzer nicht mehrere Anmeldedaten merken müssen.

4. JWT

JSON Web Token (JWT) ist ein Tokenformat, das für die Darstellung in URLs optimiert ist, über HTTP übertragen wird und mit JavaScript in einem Browser gelesen werden kann. Die Token repräsentieren Zugriffsansprüche für Services und werden zur Authentifizierung und Autorisierung verwendet. Sie enthalten detaillierte Informationen wie Benutzer-ID und Ablaufzeit, und Standards wie OAuth verwenden Token im JWT-Format als ihre Zugriffstoken.

5. Das OWASP REST Security Cheat Sheet

Representational State Transfer (REST) ist einer der gängigsten Architekturstile im Internet. Das OWASP REST Security Cheat Sheet bietet Richtlinien zur Absicherung von REST-APIs gegen gängige Bedrohungen wie Infektionsangriffe, fehlerhafte Authentifizierung und die Offenlegung sensibler Daten. Ein empfohlener Ansatz ist die Verwendung von JWT, einer sicheren und optimierten Methode für die Übertragung von Daten und die Verwaltung der Benutzerauthentifizierung.

WEITERE INFORMATIONEN

Erfahren Sie mehr über die 12 wichtigsten Cloud-Sicherheitsrisiken, Bedrohungen und Herausforderungen, die Sie im Auge behalten sollten, um Ihre Cloud-Computing-Umgebung sicher zu halten. Cloud-Sicherheitsprobleme

10 API-Sicherheitsprobleme

Die häufigsten Sicherheitsrisiken für APIs hängen mit Autorisierungsproblemen zusammen, aber auch andere Faktoren können dringende Sicherheitsbedenken aufwerfen. Schauen wir uns 10 der häufigsten API-Sicherheitsprobleme (laut OWASP) an und untersuchen, wie sie verhindert werden können.

1. Fehlerhafte Authentifizierung auf Objektebene

Dieses Risiko tritt auf, wenn eine API die Autorisierung auf Objektebene nicht korrekt durchsetzt und Angreifer folglich auf Daten zugreifen oder Daten ändern können, auf die sie keinen Zugriff haben sollten. Um dieses Problem zu verhindern, verwenden Sie einen zentralen Zugriffskontrollmechanismus, um die Autorisierung auf Objektebene zu verwalten. Dieser Mechanismus sollte Zugriffskontrollrichtlinien auf Objektebene erzwingen und komplexe Beziehungen zwischen Objekten handhaben können.

2. Fehlerhafte Benutzerauthentifizierung

Dieses Risiko tritt auf, wenn eine API Benutzer nicht ordnungsgemäß authentifiziert, sodass Angreifer legitime Benutzer imitieren und auf sensible Daten zugreifen können. Um die Risiken einer fehlerhaften Benutzerauthentifizierung zu verringern, implementieren Sie Multifaktor-Authentifizierung und verwenden Sie sichere Mechanismen zum Speichern von Kennwörtern. Die Multifaktor-Authentifizierung bietet eine zusätzliche Sicherheitsebene, indem sie für die Anmeldung den Besitz mehrerer Geräte erfordert. Sichere Mechanismen zum Speichern von Kennwörtern, wie Hashing und Salting, erschweren es Angreifern, Kennwörter zu knacken.

3. Fehlerhafte Authentifizierung auf Objekteigenschaftsebene

In Systemen, die große Objekte verwenden, besteht ein typisches Risiko darin, dass ein Objekt mehr Daten als nötig preisgibt. Selbst wenn das System eine Autorisierung auf Objektebene verwendet, kann ein Objekt noch immer Eigenschaften enthalten, die sensible Daten umfassen. Die Lösung besteht darin, sensible Daten durch Verschlüsselung zu schützen und die Menge der offengelegten Daten zu begrenzen. Verschlüsselung kann dazu beitragen, Daten während der Übertragung und im Ruhezustand zu schützen. Das Filtern von Objekteigenschaften vor dem Senden an einen Client kann dazu beitragen, die Auswirkungen einer Datenkompromittierung zu verringern.

4. Ressourcenmangel und Ratenbegrenzung

Wenn eine API Ressourcen nicht ordnungsgemäß zuweist oder Ratenbegrenzungen nicht durchsetzt, können Angreifer Denial-of-Service-Angriffe starten. Um diese Angriffe zu verhindern, implementieren Sie Mechanismen zur Ratenbegrenzung und Ressourcenzuweisung. Eine Ratenbegrenzung kann verhindern, dass Angreifer die API mit Anfragen überfluten, und Mechanismen zur Ressourcenzuweisung helfen dabei, dass Ressourcen fair und effizient zugewiesen werden.

5. Fehlerhafte Authentifizierung auf Funktionsebene

Dieses Risiko besteht, wenn eine API nicht für alle Endgeräte eine Autorisierung verlangt. So können Angreifer Endgeräte aufrufen, die nur von einem Administrator verwendet werden sollten. Um dieses Risiko zu verringern, verwenden Sie einen zentralen Zugriffskontrollmechanismus, um die Autorisierung auf Funktionsebene zu verwalten. Dieser Mechanismus sollte Zugriffskontrollrichtlinien auf Funktionsebene erzwingen und komplexe Beziehungen zwischen Funktionen handhaben können.

6. Serverseitige gefälschte Anfragen

Wenn eine API eine URL von einem Client akzeptiert, um Daten von einem Drittanbieterdienst abzurufen, und die URL nicht validiert, kann ein Angreifer schädliche URLs übermitteln, die interne Services offenlegen oder die API auf offene Ports scannen können. Die Verwendung von URL-Zulassungslisten oder das Filtern interner Hostnamen und IPs kann helfen, dieses Problem zu verhindern.

7. Sicherheitskonfigurationsfehler

Das Befolgen sicherer Programmierpraktiken und die regelmäßige Aktualisierung von Software- und Sicherheitskonfigurationen sind entscheidende Schritte zur sicheren Konfiguration von APIs, damit Angreifer keine Schwachstellen ausnutzen können. Die Verwendung sicherer Standardwerte, die Deaktivierung unnötiger Funktionen und die regelmäßige Aktualisierung von Software- und Sicherheitskonfigurationen sind nur einige der Best Practices für eine gestärkte Sicherheitskonfiguration.

8. Mangelnder Schutz vor automatisierten Bedrohungen

Automatisierung kann es Angreifern ermöglichen, regelmäßige Geschäftsabläufe für finanzielle Gewinne zu nutzen, indem sie Bots an ein bezahltes Empfehlungsprogramm verweisen oder ein begrenztes Produkt im Übermaß kaufen, um es später weiterzuverkaufen. Auch wenn einige dieser Aktivitäten nicht illegal sind, können sie dennoch zu Reputationsschäden oder finanziellen Verlusten für das Unternehmen führen. Um dieses Risiko einzudämmen, stellen Sie sicher, dass Kaufabläufe angemessene Beschränkungen pro Person enthalten und Empfehlungsprogramme nur dann ausgezahlt werden, wenn ein Nachweis der Person erbracht wurde. Maßnahmen wie Device Fingerprinting und das Blockieren verdächtiger IPs, beispielsweise von Tor-Exit-Nodes, werden ebenfalls empfohlen.

9. Unsachgemäße Verwaltung von Assets

Wenn eine API Assets wie Schlüssel und Zertifikate nicht ordnungsgemäß verwaltet, können unbefugte Benutzer Zugriff auf sensible Informationen erhalten. Dies ist ein weiterer Grund, warum sichere Programmierpraktiken angewendet und Software- und Sicherheitskonfigurationen regelmäßig aktualisiert werden müssen. Asset-Management kann auch die Verwendung sicherer Standardwerte und die Deaktivierung nicht benötigter Funktionen umfassen.

10. Unsichere Nutzung von Drittanbieter-APIs

APIs nutzen häufig APIs von Drittanbietern, um ihre Aufgaben zu erledigen. In vielen Fällen werden diese APIs von Drittanbietern als von Natur aus sicher behandelt. Aber auch diese APIs können zu einem Angriffsvektor in einem System werden, der es böswilligen Benutzern ermöglicht, indirekt problematische Eingaben wie SQL-Injektionen oder gefälschte URLs zu senden. Die Bereinigung von Eingaben ist unerlässlich – nicht nur für Eingaben von Clients, sondern für alle Systeme, die Daten in Ihre API einspeisen können. Die Verwendung von Zulassungslisten für Hostnamen und die Einschränkung von Weiterleitungen können dazu beitragen, die Sicherheit von Drittanbieter-APIs zu gewährleisten.

Fallstudie: Berkshire Bank

Auf ihrem Weg des Wachstums und der digitalen Transformation sieht sich die Berkshire Bank mit verschiedenen Cybersicherheitsherausforderungen konfrontiert. Dazu gehören: API-Sicherheit, zunehmende Zero-Day-Schwachstellen, Risikomanagement bei Drittparteien durch die Verlagerung von Bankensystemen und -services in die Cloud, steigende Komplexität und Häufigkeit von Cyberangriffen.Erfahren Sie, warum die Berkshire Bank mit der CrowdStrike Falcon® Plattform „sehr zufrieden“ ist.

Jetzt herunterladen

Schützen Sie Ihre APIs

Die Verwaltung der API-Sicherheit mag komplex erscheinen, muss es aber nicht sein. Die CrowdStrike Falcon®-Plattform bewertet Ihren API-Sicherheitsstatus auf mehreren Hosts, behält Ihre Servicekonfigurationen im Auge und hilft bei der Prüfung auf potenzielle Bedrohungen. Mit CrowdStrike Threat Graph® analysiert Cloud-KI API-Ereignisse in Echtzeit.

Testen Sie die Falcon-Plattform noch heute, um Ihre Endgeräte- und Workload-Telemetrie mit umsetzbaren Sicherheitsinformationen anzureichern. Starten Sie jetzt Ihre kostenlose Testversion der Falcon-Plattform.

INFORMATIONEN ZUM AUTOR

Guilherme (Gui) Alvarenga ist Senior Product Marketing Manager für das Cloud-Sicherheit-Portfolio bei CrowdStrike. Er blickt auf über 15 Jahre Erfahrung im Bereich Cloud-, SaaS-, Netzwerk- und ML-Lösungen für Unternehmen wie Check Point, NEC und Cisco Systems zurück. Nach einem Abschluss in Werbung und Marketing an der Universidade Paulista in Brasilien erwarb er einen MBA an der San José State University. Er studierte angewandte Informatik an der Stanford University mit Spezialisierung in Cloud-Sicherheit und Threat Hunting.