API-Sicherheit kann anhand der verwendeten Techniken kategorisiert werden. Dazu gehören Transportsicherheit (wie die Verwendung von HTTPS für die Datenübertragung), Zugriffskontrolle (beispielsweise API-Schlüssel oder OAuth für die Authentifizierung und Autorisierung) sowie Input und Output Validation (um sicherzustellen, dass die Daten, die eine API empfängt und sendet, wie erwartet sind). Außerdem gibt es proaktive Maßnahmen wie API-Ratenbeschränkung, um Missbrauch zu verhindern, und automatisierte Sicherheitstests, um Schwachstellen zu erkennen.
APIs und Sicherheit
API steht für Application Programming Interface (Programmierschnittstelle). Genauso wie Sie grundlegende Daten schützen – wie etwa das Passwort, das mit Ihrer Nutzeridentität in den sozialen Medien verknüpft ist –, ist es im Backend gleichermaßen wichtig, den API-Zugriff zu schützen, damit Kennungen wie API-Schlüssel und API-Aufrufe nicht missbraucht werden können.
Es ist nicht verwunderlich, dass APIs ein zunehmendes Sicherheitsrisiko darstellen, da jede verfügbare Webanwendung oder Webservice auf irgendeine Weise von API unterstützt wird. Von Apps und IoT-Geräten (Internet of Things) über interne Anwendungen und cloudbasierte Kundenservices bis hin zu Microservices-Architekturen ermöglichen APIs Ihre Geschäftskommunikation und Transaktionen.
Daher sollten Web-API-Sicherheit und API-Management während des gesamten Lebenszyklus Ihrer APIs höchste Priorität für Ihre IT-Teams haben. Doch der Schutz von APIs vor Sicherheitsbedrohungen gestaltet dank Cloudmigration, moderner DevOps-Praktiken und sich ständig weiterentwickelnder APIs recht kompliziert.
API-Sicherheit: Ein systematischer Ansatz
API-Sicherheit ist ein systematischer Ansatz zum Schutz der APIs, die Unternehmen zur Unterstützung ihrer Geschäftsprozesse verwenden. Dazu gehören:
- APIs, die Funktionen und Daten für Kunden oder Geschäftspartner leicht zugänglich machen
- APIs, die von Geschäftspartnern genutzt werden
- APIs, die intern implementiert und verwendet werden, um Anwendungsfunktionen und Daten auf standardisierte und skalierbare Weise für verschiedene Systeme und Nutzeroberflächen verfügbar zu machen
Eine effektive API-Sicherheitsstrategie muss systematische Techniken für Folgendes beinhalten:
- Bewertung von Risiken und potenziellen Auswirkungen
- Durchführung geeigneter Risikominderungsmaßnahmen
Der erste Schritt bei der Risikobewertung besteht in einer Bestandsaufnahme aller genehmigten und nicht genehmigten APIs, die vom Unternehmen veröffentlicht und verwendet werden. Diese Bestandsaufnahme sollte Attribute wie die folgenden enthalten:
- Datenklassifizierungen, bei denen zumindest zwischen „nicht sensiblen“, „sensiblen“ und „sehr sensiblen“ Daten unterschieden wird
- Risikoindikatoren wie API-Schwachstellen und Fehlkonfigurationen
Dies sind die wesentlichen Bausteine für die Messung der Auswirkungen und die Priorisierung von Risikominderungsmaßnahmen.
Die Maßnahmen zur Herstellung von API-Transparenz und zur Minimierung von Risiken müssen eine Vielzahl möglicher Bedrohungen berücksichtigen. Das schließt beispielsweise folgende Aufgaben ein:
- Erkennung und Verhinderung der Verwendung nicht genehmigter „Shadow-APIs“
- Identifizierung und Behebung von API-Schwachstellen und Fehlkonfigurationen, die Cyberkriminelle ausnutzen könnten
- Vermeidung illegitimer API-Nutzung, darunter Missbrauch von Geschäftslogik oder Daten-Scraping
Um diese und andere API-Sicherheitsrisiken zu erkennen und abzuwehren, sind ausgereifte Sicherheitskontrollen erforderlich, die der komplexen und dynamischen Bedrohungslandschaft gewachsen sind. Ebenso wichtig ist es jedoch, Wege zu finden, um API-Sicherheitspraktiken auf nicht sicherheitsrelevante Workflows auszudehnen, die sich ebenfalls auf die API-Sicherheit auswirken können. Hierzu zählen beispielsweise Softwareentwicklung und Dokumentation.
Web-APIs: Die Grundlagen
APIs (Application Programming Interfaces oder Programmierschnittstellen) sind ein wichtiger Bestandteil der modernen Webentwicklung. Durch ihre breite Anwendung ist API-Sicherheit absolut entscheidend. Hierbei geht es vor allem darum, die Schnittstellen zwischen Anwendungen zu schützen. Ohne angemessene API-Sicherheit können vertrauliche Daten offengelegt, Systeme gefährdet und Services unterbrochen werden. Im Grunde hält API-Sicherheit die Bösen fern, während die Guten weiterhin ihre Arbeit erledigen können.
Authentifizierung und Autorisierung für Web-API-Sicherheit
Zwei grundlegende Aspekte der API-Sicherheit sind Authentifizierung und Autorisierung. Authentifizierung ist der Prozess zur Überprüfung der Identität eines Nutzers, Geräts oder Systems. Es ist vergleichbar mit der Ausweiskontrolle am Eingang eines Nachtclubs: Der Türsteher muss sicherstellen, dass die Person, die versucht reinzukommen, die ist, für die sie sich ausgibt. Bei der Autorisierung geht es hingegen darum, zu bestimmen, was ein verifizierter Nutzer tun kann und was nicht. Nur weil jemand in den Club darf, heißt das nicht, dass er hinter die Bar gehen und sich einen Drink gönnen kann. In der API-Welt können Authentifizierung und Autorisierung Techniken wie API-Schlüssel, Token oder OAuth umfassen.
Input Validation: Ein Schlüssel für Web-API-Sicherheit
Ein weiterer wichtiger Aspekt der API-Sicherheit ist die Eingabevalidierung oder „Input Validation“. Dabei muss geprüft werden, ob die Daten, die an eine API gesendet werden, gültig sind, bevor sie verarbeitet werden. Stellen Sie sich das Ganze vor wie die Ticketkontrolle im Kino: Sie würden niemanden mit einem Ticket für einen anderen Film reinlassen, oder? Auf dieselbe Weise verhindert Input Validation, dass schädliche Daten in eine API gelangen und Probleme verursachen.
Einführung in API-Sicherheit
API-Sicherheit ist eine der am schnellsten zunehmenden Prioritäten für Sicherheitsverantwortliche. Aber es ist wohl auch eine der am wenigsten verstandenen. In einem rasanten Tempo haben sich APIs von einem Detailaspekt der Implementierung zu einem wichtigen strategischen Innovationsfaktor entwickelt. Daher bemühen sich viele Sicherheitsteams, ihre API-Sicherheitsstrategien und -praktiken zu optimieren. APIs ermöglichen den Handel, doch hierfür übertragen sie auch sensible Daten.
Im Folgenden finden Sie eine Sammlung von Themen, die Sicherheitsexperten nutzen können, um ihr grundlegendes Wissen über API-Sicherheit zu erweitern.
Was ist eine Web-API?
Eine Web-API ist eine programmatische Schnittstelle, die aus einem oder mehreren öffentlich zugänglichen Endpunkten für ein definiertes Anfrage-Antwort-Nachrichtensystem besteht, das in der Regel in JSON oder XML ausgedrückt wird und über das Internet verfügbar ist – meist unter Verwendung eines HTTP-basierten Webservers.
Beim Begriff „API“ denken die meisten Menschen an eine Web-API. Es handelt sich um eine Sammlung von Endpunkten. Endpunkte bestehen aus Ressourcenpfaden, den Vorgängen, die mit diesen Ressourcen ausgeführt werden können, und der Definition der Ressourcendaten (in JSON, XML, protobuf oder einem anderen Format).
Der Begriff Web-APIs ist nützlich, um diese APIs von anderen zu unterscheiden, beispielsweise solchen, die vom Betriebssystem oder von Bibliotheken für Anwendungen auf demselben Computer zugänglich gemacht werden. Aber wenn wir im Rahmen der digitalen Transformation und der API-Sicherheit von „APIs“ sprechen, meinen wir alle HTTP-basierte (Web-)APIs.
Die vier gängigsten Arten von Web-APIs
Die vier wichtigsten Arten von Web-APIs, die heute als HTTP-basiert definiert sind, lauten:
- RESTful APIs – die auf die Doktorarbeit von Roy Fielding aus dem Jahr 2000zurückgehen, sind die häufigste Art von Web-APIs, die in der Regel JSON (JavaScript Object Notation) für die Daten verwenden. RESTful APIs sind leicht von modernen Frontend-Frameworks (z. B. React und React Native) zu nutzen und erleichtern die Entwicklung von Webanwendungen und Apps. Sie sind mittlerweile der De-facto-Standard für alle Web-APIs, einschließlich jener, die für B2B verwendet werden.
- SOAP-APIs – SOAP verwendet ausführliche XML (Extensible Markup Language) für RPCs (Remote Procedure Calls). Es ist nach wie vor in älteren APIs zu finden.
- GraphQL-APIs – der neue, von Facebook entwickelte GraphQL-Standard bietet Datenbankzugriff über einen einzelnen POST-Endpunkt (in der Regel /graphql). Er löst ein häufiges RESTful-API-Problem, das darin besteht, dass mehrere Aufrufe erforderlich sind, um eine einzelne UI-Seite auszufüllen. Gleichzeitig bringt er zusätzliche, andere Probleme mit sich.
- gRPC-APIs – ein neues, von Googleentwickeltes, leistungsstarkes Binärprotokoll über HTTP/2.0, das hauptsächlich für die Ost-West-Kommunikation verwendet wird.
Was sind die Unterschiede zwischen B2C-APIs und B2B-APIs?
B2C-APIs (Business to Consumer) sind die APIs, die Webanwendungen und Apps unterstützen. Sie werden in der Regel von modernen Frontend-Clients genutzt, um Endnutzern Zugriff auf die Geschäftsfunktionen des Unternehmens zu ermöglichen, die von diesen APIs bereitgestellt werden.
B2B-APIs (Business-to-Business-APIs) werden von Geschäftspartnern des Unternehmens (also von anderen Unternehmen) verwendet – manchmal um ihnen Services bereitzustellen (diese Unternehmen sind Endkunden) und manchmal, um gemeinsamen Kunden einen Mehrwert zu bieten (B2B2C).
B2B-APIs sind von grundlegender Bedeutung für die digitale Transformation des Unternehmens, da es hiermit die Zusammenarbeit mit Lieferanten, Wiederverkäufern und anderen Partnern optimieren und das Kundenerlebnis verbessern kann.
Beispiele für B2B-APIs:
- Open-Banking-APIs
- APIs für das Lieferkettenmanagement
- Elektronische Rechnungsstellung und Zahlungen zwischen Geschäftspartnern
Da sich API-Nutzer stark unterscheiden – beispielsweise Nutzer-Apps, die B2C-APIs nutzen, gegenüber Anwendungen von Geschäftspartnern, die B2B-APIs nutzen –, fallen auch die Sicherheitskontrollen für den Schutz dieser APIs unterschiedlich aus.
Beim Thema Sicherheit konzentrierte sich die Branche bis vor Kurzem auf B2C-Anwendungsfälle. Doch selbst hier lag der Schwerpunkt nicht auf dem Schutz von B2C-APIs, sondern auf der Sicherheit von Webanwendungen. Die Sicherheitskontrollen, die für den Schutz von B2C-Webanwendungen eingesetzt werden, sind jedoch für den Schutz von B2C-APIs nur schlecht (z. B. für WAF/WAAP) oder gar nicht geeignet (z. B. für die meisten Bot-Schutz-Lösungen).
Der Schutz von B2B-APIs ist ein zunehmendes Problem. Was B2B-APIs betrifft, gibt es unter den Anbietern der ersten Generation keine spezielle Transparenz- und Sicherheitslösung, die den Massenzugriff auf Daten für gemeinsame Nutzer abdeckt (wie dies beispielsweise beim Open Banking der Fall ist, bei dem Fintech-Unternehmen und Finanzinstitute Kundendaten einvernehmlich teilen).
Was ist der Unterschied zwischen APIs und Endpunkten?
Oft wird der Ausdruck „API“ verwendet, obwohl eigentlich ein einzelner API-Endpunkt gemeint ist. APIs – manchmal spricht man auch von Services oder API-Produkten – sind Sammlungen von Endpunkten, die eine Geschäftsfunktion erfüllen. „Endpunkt“ hingegen beschreibt eine Ressource (oder ein Ressourcenpfad, der auch als „Uniform Resource Identifier“ oder kurz: „URI“ bezeichnet wird) sowie den darauf ausgeführten Vorgang (Erstellen, Lesen, Aktualisieren oder Löschen – Vorgänge, die in RESTful APIs normalerweise den HTTP-Methoden POST, GET, PUT und DELETE zugeordnet sind).
Was ist eine Nord-Süd-API?
Hierbei handelt es sich um APIs, die ein Unternehmen für die Außenwelt zugänglich hält, hauptsächlich für Geschäftspartner. Banken, die Open Banking nutzen, können ihre Konten beispielsweise über APIs anderen Fintech- oder Finanzdienstleistern zugänglich machen. Gesundheitsorganisationen können Versicherungsgesellschaften und anderen medizinischen Unternehmen über APIs den Zugriff auf Patientenakten ermöglichen. Unternehmen im Gastgewerbe können ihr Reservierungssystem über APIs Reisebüros oder Aggregatoren zugänglich machen. APIs sind quasi das Bindeglied zwischen Unternehmen. Nord-Süd-APIs werden oft als sicher angesehen, da der Zugriff autorisiert und authentifiziert ist. In der Regel ist dies der am schnellsten wachsende API-Typ und zu ihm gehören auch die meisten APIs. Daher bietet er bei den meisten Unternehmen auch die größte Angriffsfläche.
Was ist eine Ost-West-API?
Dies sind APIs, die ein Unternehmen intern verwendet. Diese APIs verbinden interne Anwendungen oder Geschäftseinheiten oder Abteilungen. Solange sie von außerhalb des Unternehmens nicht zugänglich sind, gelten diese APIs als Ost-West-APIs.
Was ist der Unterschied zwischen privaten APIs und öffentlichen APIs?
Private APIs, die manchmal auch als interne APIs bezeichnet werden, sind für die Nutzung durch Entwickler und Auftragnehmer des Unternehmens vorgesehen. Sie sind oft Teil einer SOA-Initiative (Service-Oriented Architecture) und sollen die interne Entwicklung optimieren, indem sie verschiedenen Abteilungen oder Geschäftseinheiten ermöglichen, effizient und effektiv auf die Daten des anderen zuzugreifen.
Im Gegensatz dazu sind öffentliche APIs, die auch als externe APIs bezeichnet werden, für Nutzer außerhalb des Unternehmens zugänglich. In ihrer extremsten Variante als offene APIs können sie von jedem frei genutzt werden. In jedem Fall erfordern sie jedoch eine striktere Verwaltung und eine gute Dokumentation, damit sie von Technikern außerhalb des Unternehmens verwendet werden können.
Man muss wissen, dass private APIs, auf die über das Internet zugegriffen werden kann, nicht im eigentlichen Sinne des Wortes „privat“ sind. Nehmen wir zum Beispiel die B2C-API von ACME, die nur von (intern von ACME-Technikern entwickelten) ACME-Apps verwendet wird. Man könnte meinen, dies sei eine private API. Da aber der Traffic zu dieser API aus dem Internet (von „außerhalb des Unternehmens“) ankommt, ist diese API nicht wirklich privat. Sie ist einfach nicht dokumentiert. Hacker greifen solche APIs täglich an, indem sie den Traffic abfangen und Apps rückentwickeln, um herauszufinden, mit welchen APIs sie interagieren.
Wie groß ist das API-Sicherheitsproblem?
API-Sicherheitsrisiken gehören bereits zu den drängendsten Risiken, mit denen es die Sicherheitsteams in Unternehmen zu tun haben. Und die Herausforderung wächst weiter, da immer mehr Kundeninteraktionen und interne Geschäftsprozesse die Nutzung von APIs erfordern.
Kurzum: Die API-Nutzung nimmt rasant zu und viele Sicherheitsteams haben Nachholbedarf, was ihre API-Sicherheitsstrategien betrifft.
Daher entwickelt sich die API-Sicherheit zusehends zu einer der wichtigsten Prioritäten und Problembereiche für IT- und Sicherheitsverantwortliche. So prognostizierte Gartner, dass sich „bis 2022 die API-Missbräuche von einem seltenen zu einem der häufigsten Angriffsvektoren entwickeln werden, was zu Datenschutzverletzungen bei Unternehmenswebanwendungen führen wird“.
Inwiefern unterscheidet sich die API-Sicherheit von der Anwendungssicherheit?
API-Sicherheit und herkömmliche Anwendungssicherheit hängen zwar miteinander zusammen, doch die API-Sicherheit stellt eine besondere Herausforderung dar. Dafür gibt es zwei zentrale Gründe: die Dimension und die Komplexität des Problems.
Größerer Umfang
Drei Faktoren tragen zum rasanten Anstieg der API-Nutzung bei:
- Die Nutzung von Microservices, einer Architektur, die die Verwendung von APIs für die Service-to-Service-Kommunikation verlangt, nimmt zu.
- Im Direktnutzerkanal verwenden moderne Frontend-Anwendungsframeworks wie React, Angular und Vue APIs und verdrängen ältere Webanwendungen, die manchmal keine APIs nutzen.
- Darüber hinaus werden APIs hinzugefügt, um auch völlig neue Kanäle für Partner, IoT und Geschäftsautomatisierung abzudecken – Kanäle, die von Natur aus sehr unterschiedlich sind.
Flexibilität führt zu Komplexität
Im Gegensatz zu Webanwendungen sind APIs so konzipiert, dass sie auf viele verschiedene Arten programmgesteuert verwendet werden können. Das macht die Unterscheidung zwischen legitimer Nutzung einerseits und Angriffen und Missbrauch andererseits äußerst schwierig.
Was ist API-zu-API-Sicherheit?
Immer mehr Unternehmen nutzen APIs, um Geschäftsprozesse und Daten bidirektional Kunden und Partnern zugänglich zu machen. Viele wissen, dass B2C-APIs (Business-to-Consumer) die Daten auf Websites oder in Apps bereitstellen. Und dieses Netzwerk aus APIs, die hinter den Kulissen ausgelöst werden, erfordert API-zu-API-Sicherheit. Denken Sie an die Fintech-App, auf die Sie zugreifen, um Ihre Finanzinformationen abzurufen: Sie sendet B2B-API-Aufrufe (Business-to-Business) von dieser App an Ihre Bank, um Sie als Nutzer zu authentifizieren. In diesem verworrenen Netz aus B2C-zu-B2B-API-Aufrufen brauchen Sie einen ganzheitlichen Ansatz zum Schutz des gesamten API-Traffics – und das umfasst auch API-zu-API-Sicherheit.
Wie lauten die Best Practices für Web-APIs?
Wir empfehlen Unternehmen, die an der Verbesserung ihrer API-Sicherheit interessiert sind, mit den folgenden zwölf Best Practices zu beginnen:
- Finden Sie Möglichkeiten, API-Sicherheitsstandards und -verfahren in den Softwareentwicklungszyklus Ihres Unternehmens zu integrieren.
- Integrieren Sie API-Dokumentation und automatisierte Sicherheitstests in Ihre CI/CD-Pipelines (kontinuierliche Integration/kontinuierliche Bereitstellung).
- Stellen Sie sicher, dass geeignete und effektive Authentifizierungs- und Autorisierungskontrollen für Ihre APIs angewendet werden.
- Implementieren Sie Maßnahmen zur Ratenbeschränkung, um zu verhindern, dass APIs missbraucht oder überlastet werden.
- Ergänzen Sie die Ratenbeschränkung und andere Maßnahmen auf Anwendungsebene um spezielle Gateways und/oder CDNs (Content Delivery Networks), um das Risiko von DDoS-Angriffen zu minimieren (Distributed Denial of Service).
- Machen Sie API-Sicherheitstests zu einem integralen Bestandteil Ihrer allgemeinen Testprozesse für Anwendungen.
- Führen Sie eine kontinuierliche Erkennung von APIs durch.
- Implementieren Sie einen systematischen Ansatz zur Erkennung und Behebung häufiger API-Schwachstellen, einschließlich der OWASP API Top 10.
- Verwenden Sie signaturbasierte Bedrohungserkennung und -prävention als Basisschutz vor bekannten API-Angriffen.
- Erweitern Sie die signaturbasierte Erkennung durch KI und Verhaltensanalysen, um die Erkennung von API-Bedrohungen besser skalierbar, genauer, geschäftsrelevanter und widerstandsfähiger gegen neue Bedrohungen zu machen.
- Stellen Sie sicher, dass die Überwachung und Analyse der API-Sicherheit über mehrere Wochen und API-Sitzungen erfolgt.
- Ergänzen Sie API-Sicherheitsüberwachung und -Warnmeldungen durch bedarfsgesteuerten Zugriff auf API-Bestands- und Aktivitätsdaten, die von Threat Huntern, Entwicklern, DevOps und Supportmitarbeitern verwendet werden können.
Wenn Sie Best Practices für die API-Sicherheit nutzen wollen, sollten Sie zunächst mithilfe eines Frameworks wie dem folgenden die Reife des Unternehmens bestimmen.
Was ist eine API-Schwachstelle?
Eine API-Schwachstelle ist ein Software- oder Systemkonfigurationsfehler, den ein Angreifer ausnutzen kann, um auf sensible Anwendungsfunktionen oder Daten zuzugreifen oder eine API anderweitig zu missbrauchen.
Die OWASP API Top 10 bieten einen nützlichen Überblick über einige der am häufigsten missbrauchten API-Schwachstellen, die Unternehmen identifizieren und beheben sollten.
Werden alle API-Schwachstellen in den OWASP API Top 10 berücksichtigt?
Die OWASP API Top 10 sind ein ausgezeichneter Ausgangspunkt für Unternehmen, die ihre API-Sicherheit verbessern möchten. Ihre Kategorien decken ein breites Spektrum möglicher API-Risiken ab. Es gilt jedoch zu beachten, dass die Kategorien in den OWASP API Top 10 recht breit gefasst sind. Daher ist es wichtig, die einzelnen Kategorien aufzuschlüsseln und sich auch die jeweiligen Unterbereiche genau anzusehen.
Es gibt auch API-Sicherheitsrisiken, die vollständig außerhalb der OWASP API Top 10 liegen, wie z. B. der Missbrauch von Logikfehlern. API-Angreifer versuchen beispielsweise häufig, Autorisierungsprobleme (die von OWASP umfassend abgedeckt werden) sowie Bugs zum Missbrauch von Logiken auszunutzen (die von OWASP überhaupt nicht abgedeckt werden).
Wie können APIs missbraucht werden?
APIs können auf viele verschiedene Arten angegriffen und missbraucht werden. Einige der häufigsten Varianten sind:
- Ausnutzung von Schwachstellen: Technische Sicherheitslücken in der zugrunde liegenden Infrastruktur können zu einer Gefährdung der Server führen. Beispiele für diese Arten von Schwachstellen reichen von den Sicherheitslücken in Apache Struts (CVE-2017-9791, CVE-2018-11776 und weitere) bis hin zu den Sicherheitslücken in Log4j (CVE-2021-44228 und weitere).
- Missbrauch von Geschäftslogik: Hier geht es um die beängstigenden Szenarien, die CISOs nachts um den Schlaf bringen, da veraltete Sicherheitskontrollen nichts gegen sie ausrichten können. Logikmissbrauch liegt vor, wenn ein Angreifer Fehler im Anwendungsdesign oder in der Implementierung ausnutzt, um unerwartetes und nicht genehmigtes Verhalten zu provozieren.
- Nicht autorisierter Datenzugriff: Eine weitere verbreitete Form des API-Missbrauchs ist die Ausnutzung defekter Autorisierungsmechanismen für den Zugriff auf Daten, die eigentlich unzugänglich sein sollten. Für diese Schwachstellen gibt es viele Bezeichnungen wie etwa „fehlerhafte Autorisierung auf Objektebene“ (Broken Object-Level Authorization: BOLA), „unsicherer direkter Objektverweis“ (Insecure Direct Object Reference: IDOR) und „fehlerhafte Autorisierung auf Funktionsebene“ (Broken Function-Level Authorization: BFLA). Eine aktuelle Liste der Sicherheitsanfälligkeiten finden Sie auf der Website des OWASP-Projekts zur API-Sicherheit zugewiesen wurde.
- Kontoübernahme: Nach einem Diebstahl von Anmeldedaten oder gar einem XSS-Angriff (Cross-Site Scripting) kann ein Konto übernommen werden. Sobald dies geschieht, lassen sich selbst hervorragend programmierte und perfekt gesicherte APIs missbrauchen. Schließlich gilt jede authentifizierte Aktivität als legitime Verwendung, wenn Sie keine Verhaltensanalyse durchführen.
- Daten-Scraping: Wenn Unternehmen Datensätze über öffentliche APIs zur Verfügung stellen, können Cyberkriminelle diese Ressourcen aggressiv abfragen, um große, wertvolle Datensätze komplett zu erfassen.
- Business Denial of Service (DoS): Wenn API-Angreifer das Backend auffordern, umfangreiche Aufgaben auszuführen, können sie auf Anwendungsebene eine „Erosion des Service“ oder einen kompletten Denial-of-Service, also eine Serviceverweigerung verursachen (eine häufige Schwachstelle in GraphQL, die allerdings bei jeder ressourcenintensiven API-Endpunktimplementierung auftreten kann).
Wie lassen sich Backend-APIs schützen?
Backend-APIs ermöglichen Entwicklern den schnellen und äußerst wiederholbaren Zugriff auf wichtige Anwendungsservices. Das ist besonders wichtig für Unternehmen, die Daten über eine Vielzahl unterschiedlicher Nutzeroberflächen zur Verfügung stellen. Einer der wichtigsten Schritte, die zum Schutz von Backend-APIs unternommen werden müssen, ist die Implementierung eines soliden Authentifizierungs- und Zugriffsmodells. Doch Sie dürfen auf keinen Fall davon ausgehen, dass eine gut authentifizierte Gruppe von Backend-APIs nicht missbraucht werden kann.
Es gibt zahlreiche Beispiele dafür, dass Angreifer Schwachstellen in Apps oder Webschnittstellen ausnutzen, um dafür zu sorgen, dass die Nutzeroberfläche auf unerwartete und nicht genehmigte Weise mit Backend-APIs interagiert. Die beste Möglichkeit, Backend-APIs vor diesen und anderen Arten von Missbrauch zu schützen, ist der kontinuierliche Einsatz von Verhaltensanalysen. Durch die Erstellung von Modellen für die Baseline-Nutzung von Backend-APIs können Anomalien erkannt und proaktive Schritte unternommen werden, um Backend-APIs vor Angriffsvektoren zu schützen, die während des ersten Entwicklungs- und Implementierungsprozesses möglicherweise nicht berücksichtigt wurden.
Was ist eine Zombie-API?
Aufgrund der sich verändernden Markt- und Geschäftsanforderungen unterliegen APIs einem ständigen Wandel. Wenn neue Endpoint-Implementierungen herausgebracht werden, um neue Geschäftsanforderungen zu erfüllen, Bugs zu beheben und technische Verbesserungen einzuführen, verschwinden ältere Versionen dieser Endpunkte.
Die Steuerung des Stilllegungsprozesses alter Endpunkte ist keine triviale Aufgabe. Häufig bleiben veraltete Endpoint-Implementierungen aktiv und zugänglich. Man spricht hier auch von Zombie-APIs.
Wie finde ich die verschiedenen Arten von Shadow-APIs?
Die beste Möglichkeit, eine unternehmensweite Shadow-API-Erkennung durchzuführen, besteht darin, API-Aktivitätsprotokolldaten aus den Quellen mit der größten Abdeckung zu erfassen und zu analysieren. Die Bereitstellung von anwendungsspezifischen Sensoren um jede API herum kann umfangreiche Informationen über die API-Aktivität liefern. Sie kann aber per Definition keine breite Abdeckung bieten, da ältere APIs oder APIs, die Sie nicht kennen, im Verborgenen bleiben.
Hier einige Beispiele für Datenprotokollquellen für API-Aktivitäten:
- Content Delivery Networks (CDNs)
- API-Gateways
- Web Application Firewalls (WAFs)
- Kubernetes-Container-Orchestrierung
Sobald die Rohdaten aus allen verfügbaren Quellen erfasst sind, können KI-Techniken verwendet werden, um sie in einen für den Menschen verständlichen Bestandsüberblick über alle APIs, Endpunkte und Parameter umzuwandeln. Anschließend können zusätzliche Analysen durchgeführt werden, um diese Elemente zu klassifizieren und Shadow-APIs zu identifizieren, die entfernt oder in formelle Governance-Prozesse integriert werden müssen.
Wie lassen sich Business-to-Business-APIs und interne APIs schützen?
Wenn es um interne APIs geht, hängt es ganz davon ab, was Sie mit „intern“ meinen. Häufig werden auch APIs, die über das Internet für die Webanwendungen oder Apps des eigenen Unternehmens zugänglich sind, als „interne APIs“ bezeichnet. Es mag sein, dass die Dokumentation für diese APIs in der Tat nur für Mitarbeiter und Auftragnehmer des Unternehmens zugänglich ist. Doch mittlerweile sind Hacker sehr versiert darin, mithilfe von Toolkits und Proxys, wie z. B. Burp Suite, Apps zu analysieren und die eingesetzten APIs zu rekonstruieren.
Wenn Sie mit „interne APIs“ jedoch Ost-West-APIs meinen, auf die von außerhalb des Unternehmens nicht zugegriffen werden kann, bleibt als Hauptgefahr nur noch die Bedrohung durch Insider.
Schützen Sie interne APIs (in der erstgenannten Bedeutung des Begriffs) und Ihre B2B-APIs (Business-to-Business) wie die meisten APIs: Beginnen Sie mit dem Schutz des Secure Software Development Lifecycle (SSDLC) und stellen Sie dann den authentifizierten und autorisierten Zugriff sicher. Verwalten Sie Kontingente, Ratenbeschränkungen und Maßnahmen bei plötzlichen Traffic-Spitzen (Spike Arrests) und schützen Sie sich mit WAFs/WAAPs vor bekannten Signaturen.
Aufgrund der sensiblen Daten und des oft hohen Umfangs an Transaktionen sollten Sie bei B2B-APIs, wo möglich, strenge Authentifizierungsmechanismen wie mTLS hinzufügen.
Für beide empfehlen wir, Verhaltensanalysen zu verwenden. Das gilt besonders dann, wenn viele Entitäten beteiligt sind, was die Unterscheidung zwischen legitimem und illegitimem Verhalten erschweren kann.
Zum Beispiel:
- Woher können Sie wissen, ob die API-Anmeldedaten eines bestimmten Nutzers kompromittiert wurden?
- Woher können Sie wissen, ob Ihre Rechnungs-API von einem Nutzer missbraucht wird, der Rechnungsnummern auflistet, um Kontodaten zu stehlen?
Der Schutz von B2B-APIs und internen APIs erfordert Geschäftskontext, der nicht allein durch die Analyse technischer Elemente wie IP-Adressen und API-Token gewonnen werden kann. Die Verwendung von KI und Verhaltensanalysen zur Gewinnung von Einblicken in geschäftsrelevante Entitäten ist die einzige Möglichkeit, B2B-API- und interne API-Risiken effektiv zu verstehen und zu verwalten. Geschäftskontext- und Verlaufsdaten-Benchmarks für die normale Verwendung von APIs durch bestimmte Entitäten wie Ihre Nutzer, Partner oder auch Geschäftsprozesseinheiten (Rechnung, Zahlung, Bestellung usw.) ermöglichen es, Anomalien zu erkennen, die andernfalls nicht entdeckt würden.
Verfügen API-Gateways über integrierte Sicherheit?
Viele Unternehmen, die einen strategischen Ansatz für APIs verfolgen, verwenden API-Gateways. Beispiele sind Apigee, Kong, MuleSoft, Akamai, AWS API Gateway und Azure API Management.
Die meisten API-Gateways verfügen über umfassende integrierte Sicherheitsfunktionen, von denen Unternehmen Gebrauch machen sollten. An erster Stelle ist hier die Authentifizierung zu nennen (und auch die Autorisierung, wenn Sie OpenID Connect nutzen können).
Authentifizierung, Autorisierung und Kontingentverwaltung am API-Gateway reichen jedoch aus mehreren Gründen nicht aus:
- Die Erkennungslücke bei API-Gateways: API-Gateways bieten nur Transparenz und Kontrolle für die APIs, für deren Verwaltung sie konfiguriert sind, sodass sie bei der Erkennung von Shadow-APIs und -Endpunkten nicht effektiv sind.
- Die Sicherheitslücke von API-Gateways: API-Gateways können Authentifizierungs- und bis zu einem gewissen Grad die Autorisierungsschemas durchsetzen. Sie prüfen jedoch keine Payloads (wie WAFs und WAAPs es tun), noch erstellen sie Verhaltensprofile, um Missbrauch zu erkennen.
Was sind die häufigsten Fehler bei der API-Konfiguration?
Die Zahl möglicher API-Fehlkonfigurationen ist nahezu endlos, da APIs auf so vielfältige Weise verwendet werden. Es gibt jedoch einige besonders häufige Szenarien:
Fehlerhafte oder keine Authentifizierung
Die Authentifizierung ist grundlegend für den Schutz sensibler Daten, die über APIs zur Verfügung gestellt werden. Im ersten Schritt muss sichergestellt werden, dass für alle APIs, die sensible Daten enthalten, zunächst eine Authentifizierungslösung eingerichtet ist. Es ist aber auch wichtig, Authentifizierungsmechanismen durch Ratenbeschränkung vor Brute-Force-Angriffen, Credential Stuffing und der Verwendung gestohlener Authentifizierungstoken zu schützen.
Manchmal können Fehlkonfigurationen auftreten, die es API-Nutzern ermöglichen, Authentifizierungsmechanismen zu umgehen. Häufig geschieht das im Zusammenhang mit der Tokenverwaltung (exemplarisch zu nennen sind hier einige berüchtigte Probleme bei der JWT-Validierung oder die Nichtüberprüfung des Tokenbereichs).
Fehlerhafte Autorisierung
Eine der häufigsten Anwendungen von APIs ist der Zugriff auf Daten oder Inhalte, einschließlich vertraulicher Informationen. Autorisierung ist der Prozess, bei dem vor einem Zugriff auf bestimmte Daten überprüft wird, ob der betreffende API-Nutzer berechtigt ist, auf diese Daten zuzugreifen. Dies kann auf Objekt- oder Ressourcenebene erfolgen (z. B. kann ich auf meine Bestellungen zugreifen, aber nicht auf die von anderen Personen) oder auf Funktionsebene (wie dies häufig bei administrativen Funktionen der Fall ist).
Aufgrund der hohen Anzahl von Edge-Fällen und -Bedingungen und der verschiedenen Flows, die API-Aufrufe zwischen Microservices durchlaufen können, ist es nicht leicht, bei der Autorisierung die richtige Lösung zu finden. Wenn Sie keine zentrale Autorisierungs-Engine haben, weist Ihre API-Implementierung wahrscheinlich einige der möglichen Schwachstellen auf, zum Beispiel BOLA (Broken Object-Level Authorization) und BFLA (Broken Function-Level Authorization).
Fehlerhafte Sicherheitskonfiguration
Es gibt über die oben erwähnten Authentifizierungs- und Autorisierungsprobleme hinaus viele mögliche Arten fehlerhafter Sicherheitskonfigurationen. Dazu gehören unsichere Kommunikation (z. B. Verwendung anfälliger Verschlüsselungssammlungen oder Nichtverwendung von TLS [früher SSL]), ungeschützte Cloud-Speicher und allzu großzügige CORS-Richtlinien (Cross-Origin Resource Sharing).
Mangel an Ressourcen und Ratenbeschränkung
Wenn APIs implementiert werden, ohne dass die Anzahl der Aufrufe, die API-Nutzer tätigen können, begrenzt wird, können Cyberkriminelle die Systemressourcen überlasten, was zu einer Verschlechterung des Service oder einem kompletten Denial of Service (DoS) führen kann. Zumindest müssen Ratenbeschränkungen für den Zugriff auf nicht authentifizierte Endpunkte durchgesetzt werden, wobei Authentifizierungs-Endpunkte sehr wichtig sind. Andernfalls wird es unweigerlich zu Brute-Force-Attacken, Credential-Stuffing- und Credential-Validation-Angriffen kommen.
Was sind API-Angriffe?
API-Angriffe sind Versuche, APIs für schädliche oder anderweitig unzulässige Zwecke zu verwenden. API-Angriffe können in verschiedenen Formen vorkommen, darunter:
- Ausnutzen technischer Schwachstellen in API-Implementierungen
- Verwenden gestohlener Anmeldedaten und anderer Methoden zur Kontoübernahme, um sich als legitimer Nutzer zu tarnen
- Missbrauchen der Geschäftslogik, was das Ausnutzen von APIs auf unerwartete Weise ermöglicht
Was ist Credential Stuffing für APIs?
Die unbeabsichtigte Offenlegung von Nutzer-ID- und Passwortinformationen von Websites und SaaS-Plattformen ist mittlerweile keine Seltenheit mehr. Häufig führen solche Vorfälle dazu, dass große Mengen von Anmeldedaten online verbreitet werden.
Credential Stuffing bezeichnet die Verwendung von Authentifizierungsdaten, die von zuvor angegriffenen Leak-Websites stammen und für automatisierte Anmeldeversuche auf anderen Websites genutzt werden. Diese Technik basiert auf der Prämisse, dass ein bestimmter Prozentsatz der Nutzer dieselben Anmeldedaten für mehrere Websites verwendet.
Diese Praxis wird zunehmend direkt auf APIs angewendet (nicht über das Frontend – sei dies eine Webanwendung oder eine App). Dadurch können Angreifer den Angriff leichter automatisieren, da APIs schließlich für eine einfachere Nutzung erstellt werden.
Was ist Datenextraktion über APIs?
Im Erfolgsfall ist Datenextraktion ein häufiges Resultat von API-Angriffen und -Missbrauch. In manchen Fällen bezieht sie sich auf hochsensible, nicht öffentliche Informationen, die von Cyberkriminellen durch API-Angriffe oder -Missbrauch gestohlen wurden. Sie kann jedoch auch für weniger schwere Arten von API-Missbrauch angewendet werden. Ein Beispiel dafür wären aggressive Daten-Scrapings von öffentlich verfügbaren Daten, um große Datensätze zu erstellen, die in aggregierter Form wertvoll sind.
Was sind die neuesten Trends bei der API-Sicherheit?
Entwicklungspraktiken. Im Folgenden beschreiben wir die wichtigsten Trends, die Sicherheitsexperten bei der Entwicklung einer API-Sicherheitsstrategie berücksichtigen sollten.
Verhaltensanalysen und Erkennung von Anomalien: Anstatt mögliche Angriffe nur vorherzusagen und sich zur Risikominderung auf signaturbasierte Erkennung und vordefinierte Richtlinien (z. B. WAF) zu verlassen, setzen Unternehmen zunehmend auch auf KI und Verhaltensanalysen, um API-Aktivitäten im Geschäftskontext zu beobachten und Anomalien zu erkennen.
Übergang von On-Premises zu Software as a Service: Während viele API-Sicherheitsprodukte der ersten Generation lokal bereitgestellt wurden, erfreuen sich SaaS-basierte Ansätze (Software as a Service) wachsender Beliebtheit – aufgrund ihrer Geschwindigkeit, ihrer einfachen Bereitstellung und ihrer Fähigkeit, die Leistungsfähigkeit von KI und maschinellem Lernen in großem Umfang zu nutzen.
Analyse größerer Zeitfenster: API-Sicherheitsansätze, die nur einzelne API-Aufrufe oder kurzfristige Sitzungsaktivitäten analysieren, werden durch Plattformen ersetzt, die API-Aktivitäten über Tage und manchmal Wochen hinweg analysieren. Das Spektrum reicht hier von der grundlegenden automatischen Optimierung der WAF-Richtlinien bis hin zur Durchführung von Verhaltensanalysen und der Erkennung von Anomalien.
DevSecOps – Einbeziehung nicht sicherheitsrelevanter Stakeholder: Eine der besten Möglichkeiten, API-Risiken zu minimieren, besteht darin, eine stärkere Verknüpfung zwischen API-Sicherheitsstrategien und -tools und den Entwicklern und Systemen zu schaffen, die an der Erstellung, Implementierung und Konfiguration von APIs beteiligt sind.
API-aktivierte API-Sicherheit: Die Erkennung und Abwehr aktiver API-Angriffe und -Missbrauchsversuche ist sehr wichtig. Daneben suchen zukunftsorientierte Unternehmen nach Wegen, wie sie den bedarfsgesteuerten Zugriff auf API-Sicherheitsdaten und -erkenntnisse nutzen können, um Threat Hunting, Vorfallsreaktion und API-Entwicklung zu verbessern.
Was ist signaturbasierte API-Sicherheit?
Signaturbasierte API-Sicherheitstechniken suchen nach bekannten Angriffsmerkmalen und -mustern. Sie generieren Sicherheitswarnungen und andere automatisierte Reaktionen, wenn Übereinstimmungen beobachtet werden. Der Wert der signaturbasierten Erkennung ist begrenzt (für die API-Sicherheit und im Allgemeinen), da viele API-Angriffe und missbräuchliche Techniken einfach keine Signatur besitzen.
Die gesamte Prämisse der signaturbasierten Erkennung besteht darin, dass ein einzelnes Paket oder eine Anfrage ein verräterisches Zeichen enthält. Wenn Sie sich keine Gedanken über den Kontext machen müssen (Wer ist dieser Nutzer? Auf wie viele Endpoints hat er im letzten Monat zugegriffen?), können die Engines, die Signaturen abgleichen, bei extrem hohen Geschwindigkeiten arbeiten. Das führt jedoch auch dazu, dass sie die meisten API-Angriffe komplett übersehen.
API-Sicherheit erfordert Kontext: das Verständnis jeder API-Anfrage im Kontext des Nutzers, der sie erstellt, ihrer vorherigen Anfragen und der allgemeinen Anfragemuster aller Nutzer. Daher sollten API-Sicherheitstechniken eingesetzt werden, die auf Verhaltensanalysen und maschinellem Lernen basieren, um eine ungewöhnliche Nutzung zu erkennen.
Was ist API-Erkennung und -Reaktion?
API-Erkennung und -Fehlerbehebung ist eine wichtiger werdende Kategorie der API-Sicherheit, bei der es um die tiefgreifende Analyse historischer Daten geht. Damit soll Folgendes erreicht werden:
- Festlegen einer Baseline für das Verhalten aller API-Nutzer
- Erkennen von Angriffen und Anomalien, die auf möglichen API-Missbrauch und API-Ausnutzung hinweisen
Effektive API-Erkennung und -Reaktion in größerem Maßstab kann nur im Rahmen eines SaaS-Modells (Software as a Service) bereitgestellt werden, da für ressourcenintensive KI- und ML-Techniken umfangreiche Datensätze benötigt werden.
Was ist Advanced API Threat Protection?
Advanced API Threat Protection ist ein SaaS-basierter Ansatz für API-Sicherheit, der Verhaltensanalysen mit Threat Hunting kombiniert. Damit soll Folgendes erreicht werden:
- Ermitteln aller APIs, die von einem Unternehmen verwendet werden, einschließlich Shadow- oder Zombie-APIs
- Einsatz von maschinellem Lernen zum Einbringen von Geschäftskontext, um zu zeigen, wie APIs verwendet und missbraucht werden
- Durchführen von Verhaltensanalysen und Threat Hunting für APIs und API-Aktivitätsdaten, die über längere Zeitfenster gespeichert werden
Was ist eine API-Sicherheitsplattform?
Eine API-Sicherheitsplattform ist ein SaaS-basiertes Angebot, das speziell für folgende Zwecke konzipiert wurde:
- Erstellen eines fortlaufend aktualisierten Bestandsüberblicks über alle APIs, die im Unternehmen verwendet werden (unabhängig davon, ob sie genehmigt sind oder nicht)
- Analyse der APIs und ihrer Nutzung mit KI- und ML-Techniken, um den Geschäftskontext zu ermitteln und eine Baseline für das erwartete Verhalten zu erstellen
- Erkennen von Anomalien bei der API-Nutzung und gegebenenfalls Bereitstellung von Warnungs- und Unterstützungsdaten für das SIEM (Security Information and Event Management) und für SOAR-Workflows (Orchestrierung, Automatisierung und Reaktion im Bereich Sicherheit)
- Bereitstellen eines bedarfsgesteuerten Zugriffs auf API-Bestands-, Aktivitäts- und Bedrohungsinformationen sowohl für sicherheitsrelevante als auch für andere Stakeholder
Welche Arten von API-Sicherheit sind verfügbar?
Unternehmen verwenden viele verschiedene Arten von API-Sicherheitstechniken, um ihre Anwendungen und vertraulichen Daten vor Missbrauch und anderen Angriffen zu schützen. Häufige Arten von API-Sicherheit umfassen:
- Scans von API-Code auf Fehler und Schwachstellen während Entwicklung und Tests
- Entwicklung von API-Bedrohungsmodellen und Implementierung von Gegenmaßnahmen wie Input Validation
- Implementierung von APIs mit Best Practices wie TLS-Verschlüsselung und soliden, skalierbaren Authentifizierungs- und Autorisierungsmodellen
- Bereitstellung spezieller Tools wie Web Application Firewalls, Plattformen zur Abwehr von Bots sowie API-Gateways vor APIs
- Durchführung regelmäßiger Schwachstellenbewertungen, um Fehlkonfigurationen oder andere Implementierungsfehler zu erkennen
- Fortlaufende API-Erkennung, um sicherzustellen, dass alle verwendeten APIs entweder geschützt oder, falls erforderlich, außer Betrieb genommen werden
- Überwachung auf bekannte API-Angriffstechniken mithilfe von Signaturen
- Überwachung auf ausgefeiltere Formen des API-Missbrauchs durch den Einsatz von Verhaltensanalysen und Anomalieerkennung
- Fortlaufende Threat-Hunting-Aktivitäten, um Risiken frühzeitig zu erkennen und zu mindern und proaktive Sicherheitsanweisungen für Entwicklungs- und Betriebsteams bereitzustellen
All diese Arten von API-Sicherheit können potenziell eine Rolle in Ihrer übergeordneten Sicherheitsstrategie spielen. Doch es ist wichtig, sie auf integrierte Weise zu implementieren, wobei der Schwerpunkt auf dem individuellen Risikoprofil Ihres Unternehmens liegt.
Was ist ein API-Unternehmen?
Da IT- und Sicherheitsverantwortliche APIs mittlerweile strategischer einsetzen, müssen sie unter Umständen spezialisierte API-Partner hinzuziehen. Die zwei häufigsten Arten von API-Unternehmen sind:
- API-Gateway-Unternehmen, die Technologie bereitstellen, um API-Aufrufe zentral anzunehmen und an die entsprechenden Backend-Ressourcen und Microservices weiterzuleiten
- Anbieter von API-Sicherheitsplattformen, die nicht nur sicherstellen, dass Unternehmen alle aktiven APIs kennen, sondern auch Angriffe und Missbrauch erkennen und umfassende Daten über die Verwendung von APIs bereitstellen
Was ist Threat Hunting in APIs?
Viele Sicherheitsteams führen proaktive Aktivitäten zur Bedrohungssuche durch, um mögliche Bedrohungen frühzeitig zu erkennen und mit Gegenmaßnahmen zu reagieren. Viele API-Sicherheitsprodukte der ersten Generation bieten Threat-Hunting-Teams nur einen begrenzten Nutzen, da sie sich auf Warnmeldungen konzentrieren und keinerlei API-Aktivitäten speichern. Das bedeutet, dass es keine abzufragenden und zu durchsuchenden Daten gibt. Fortschrittliche API-Sicherheitsunternehmen speichern große und kontextreiche API-Aktivitätsdatensätze und stellen diese Informationen sowohl in einer GUI als auch über APIs zur Verfügung, damit Threat Hunter die Daten nutzen können.
Was ist WAAP?
Web Application and API Protection (WAAP), also der Schutz von Webanwendungen und APIs, ist eine Kategorie, die das Marktforschungsunternehmen Gartner für seine branchenweite Berichterstattung zu neuen Web- und API-Bedrohungen verwendet. Es handelt sich um eine Weiterentwicklung der früheren Branchenberichterstattung zu Web Application Firewalls (WAF) als Reaktion auf die wachsende strategische Bedeutung der API-Sicherheit und die Umstellung von WAF-Plattformen auf die Cloud als verwaltete SaaS.
Wie sieht ein Beispiel für eine API-Dokumentation aus?
Die gängigste Form der API-Dokumentation für RESTful APIs (die gängigste Art von Web-API) ist eine Sammlung von Swagger-Dateien, die auf der OpenAPI-Spezifikation basieren. Im Idealfall wird die API-Dokumentation von Entwicklern erstellt, wenn eine API entwickelt oder implementiert wird. In der Realität ist die API-Dokumentation jedoch häufig veraltet, was zu einer Diskrepanz zwischen der realen API-Nutzung und der Dokumentation führt. Um dieses Problem zu beheben, können einige API-Sicherheitsplattformen Swagger-Dateien aus der tatsächlichen API-Aktivität generieren und die Lücken zwischen Dokumentation und tatsächlicher Bereitstellung hervorheben. Dies ist ein fester Bestandteil einer jeden API-Risikobewertung.
Gibt es eine API-Sicherheitscheckliste, die Unternehmen befolgen sollten?
Eine effektive API-Sicherheit erfordert viele detaillierte Schritte und fortlaufende Verfahren. Im Folgenden finden Sie jedoch eine API-Checkliste, die Sicherheitsteams als Ausgangspunkt für einen komplexeren Ansatz für die API-Sicherheit verwenden können:
- Enthält Ihr API-Sicherheitsansatz einen Mechanismus für die kontinuierliche unternehmensweite API-Erkennung?
- Nutzen Sie Cloud/SaaS, um Zugang zu KI- und ML-Techniken zu erhalten und unnötige Komplexität bei Bereitstellungen zu vermeiden?
- Analysiert Ihr API-Sicherheitsansatz Daten über einen ausreichend langen Zeitraum (idealerweise 30 Tage oder länger)?
- Vermittelt Ihr Ansatz Ihren Teams den Geschäftskontext, den sie benötigen, um die beobachteten API-Aktivitäten und mögliche Risiken wirklich zu verstehen?
- Verfügen Sie über eine Strategie für die Zwei-Wege-Automatisierung Ihrer API-Sicherheitsplattform und anderer damit verbundener Geschäftsprozesse wie SIEM/SOAR, Threat Hunting, Dokumentation, DevOps-Tools usw.?
- Ergreifen Sie Maßnahmen, um nicht sicherheitsrelevante Stakeholder wie zum Beispiel Entwickler in Ihre API-Sicherheitstools und -prozesse einzubinden?
Gibt es API-Begriffe, die Sicherheitsteams verstehen müssen?
Im Folgenden finden Sie allgemeine Kategorisierungen und Beschreibungen von APIs, die in einem Sicherheitskontext vorkommen können.
Kategorien von API-Sicherheit
Genehmigte APIs | Nicht genehmigte APIs | Veraltete APIs |
---|---|---|
Veröffentlichte API (mit Swagger-Dokumentation o. Ä.) | Shadow-API |
Außer Betrieb genommene API |
Nicht autorisierte API | Ältere API | |
Zombie-API | Zombie-API | |
Verborgene API | Verwaiste API |
Was sind die verbreitetsten Arten von APIs und die gängigsten API-Begriffe?
Sicherheitsteams sollten mit den folgenden Begriffen vertraut sein, die sich auf verschiedene Nutzungsmodelle und Technologieansätze für API-Implementierungen beziehen.
APIs nach Verwendungszweck
API-Nutzungsmodell |
Beschreibung |
---|---|
Öffentliche API |
Eine API, die allen Entwicklern kostenlos über das Internet zur Verfügung gestellt wird |
Externe API | Der Begriff „externe API“ wird häufig gleichbedeutend mit dem Begriff „öffentliche API“ verwendet. Eine externe API ist eine API, die über das Internet zugänglich gemacht wird. |
Private API | Eine API, die mit einem geschützten Rechenzentrum oder einer geschützten Cloud-Umgebung für die Nutzung durch vertrauenswürdige Entwickler implementiert wird |
Interne API | Wird häufig in derselben Bedeutung wie private APIs verwendet. |
Drittanbieter-API | Bietet programmatischen Zugriff auf spezielle Funktionen und/oder Daten aus einer Drittanbieterquelle zur Verwendung in einer Anwendung. |
Partner-API | Eine Art von Drittanbieter-API, die nur ausgewählten, autorisierten Geschäftspartnern zur Verfügung gestellt wird |
Authentifizierte API | Eine API, auf die nur Entwickler zugreifen können, denen Anmeldedaten zugeteilt wurden (oder Personen, die sich unbefugt Zugang zu den Anmeldedaten verschafft haben) |
Nicht authentifizierte API | Eine API, auf die programmgesteuert zugegriffen werden kann, ohne dass spezielle Anmeldeinformationen erforderlich sind |
Gängige API-Technologien und -Begriffe
API-Nutzungsmodell | Beschreibung |
---|---|
HTTP-API | Eine API, die das Hypertext-Übertragungsprotokoll als Kommunikationsprotokoll für API-Aufrufe verwendet. |
RESTful API | Die auf eine im Jahr 2000 erschienene Dissertation von Roy Fielding zurückgehende RESTful API (Representational State Transfer) ist der häufigste Typ von Web-API. Er verwendet in der Regel JSON (JavaScript Object Notation) für die Daten. RESTful APIs sind leicht von modernen Frontend-Frameworks (z. B. React und React Native) zu nutzen und erleichtern die Entwicklung von Webanwendungen und Apps. Sie sind mittlerweile der De-facto-Standard für alle Web-APIs, einschließlich jener, die für B2B verwendet werden. |
GraphQL | GraphQL-APIs sind der neue, von Facebook entwickelte Standard. Er ermöglicht Datenbankzugriff über einen einzelnen POST-Endpunkt (in der Regel /graphql). Er löst ein häufiges RESTful-API-Problem, das darin besteht, dass mehrere Aufrufe erforderlich sind, um eine einzelne UI-Seite auszufüllen. Gleichzeitig bringt er zusätzliche, andere Probleme mit sich. |
SOAP | SOAP verwendet ausführliche XML (Extensible Markup Language) für RPCs (Remote Procedure Calls). Es ist nach wie vor in älteren APIs zu finden. |
XML-RPC | XML-RPC ist eine Methode zur Durchführung von Prozeduraufrufen über das Internet, bei der eine Kombination aus XML zur Codierung und HTTP als Kommunikationsprotokoll verwendet wird. |
gRPC | gRPC-APIs sind ein neues, von Google entwickeltes, leistungsstarkes Binärprotokoll über HTTP/2.0, das hauptsächlich für die Ost-West-Kommunikation verwendet wird. |
OpenAPI | OpenAPI ist eine Beschreibungs- und Dokumentationsspezifikation für APIs. In den älteren Versionen war OpenAPI als Swagger bekannt und die Begriffe werden immer noch häufig synonym verwendet (genau wie SSL und TLS). |
Was ist in einer API-Sicherheitslösung enthalten?
API-Sicherheitslösungen beziehen sich auf eine Reihe von Tools und Verfahren, die verwendet werden, um Application Programming Interfaces (APIs) vor Angriffen und Datenschutzverletzungen zu schützen. APIs werden häufig von Unternehmen und Organisationen verwendet, damit ihre Anwendungen miteinander kommunizieren, Daten gemeinsam nutzen und verschiedene Funktionen ausführen können.
Da die Verwendung von APIs jedoch immer weiter zunimmt, müssen Unternehmen auch die damit verbundenen Sicherheitsrisiken im Blick haben. APIs können für eine Reihe von Sicherheitsbedrohungen anfällig sein, einschließlich unbefugtem Zugriff, Denial-of-Service und Injection-Angriffen. Um diese Risiken zu mindern, müssen Unternehmen leistungsstarke API-Sicherheitslösungen implementieren.
API-Sicherheitslösungen umfassen:
- Authentifizierung und Autorisierung: API-Sicherheitslösungen umfassen die Authentifizierung und Autorisierung der Nutzer, die auf APIs zugreifen, um sicherzustellen, dass nur autorisierte Nutzer auf Daten zugreifen und diese bearbeiten können. Zu den Authentifizierungsmethoden gehören Multi-Faktor-Authentifizierung, OAuth, OpenID Connect und API-Schlüssel, während Autorisierungsmethoden rollen- oder attributbasierte Zugriffskontrolle umfassen.
- API-Gateway: Ein API-Gateway ist eine Komponente ganzheitlicher API-Sicherheitslösungen. Sie dient als Einstiegspunkt für alle API-Anforderungen. Das Gateway kann mehrere Funktionen ausführen, darunter Authentifizierung, Ratenbeschränkung, Trafficmanagement und Caching, und kann Angriffe wie Distributed Denial of Service (DDoS) verhindern.
- Verschlüsselung: API-Sicherheitslösungen beinhalten auch Verschlüsselung, die sicherstellt, dass über APIs übertragene Daten sicher sind und unbrauchbar sind, selbst wenn sie von Angreifern abgefangen werden. Verschlüsselungstechniken umfassen SSL-, TLS- und AES-Verschlüsselung, mit der API-Anfragen, -Antworten und Daten im Ruhezustand verschlüsselt werden können.
- Ratenbeschränkung: Ratenbeschränkung ist eine Funktion von API-Sicherheitslösungen, die Denial-of-Service-Angriffe verhindert, indem die Anzahl der Anfragen begrenzt wird, die ein Nutzer innerhalb eines bestimmten Zeitraums stellen kann. Die Ratenbeschränkung kann auf IP-Adressen, Nutzerkonten oder anderen Parametern basieren und so verhindern, dass Angreifer APIs mit Anfragen überfordern.
- Audits und Protokollierung: API-Sicherheitslösungen sollten auch Audits und Protokollierung umfassen, mit denen sich Sicherheitsbedrohungen erkennen und mindern lassen, indem sie Einblicke in API-Aktivitäten bieten. Bei Audits werden API-Anfragen und -Antworten verfolgt, während beim Protokollieren API-Ereignisse und -Aktivitäten auf sichere und manipulationssichere Weise aufgezeichnet werden.
- API-Tests: API-Sicherheitslösungen umfassen auch das Testen von APIs, um Schwachstellen und potenzielle Sicherheitsrisiken zu identifizieren. API-Tests können manuell oder mithilfe automatisierter Tools durchgeführt werden und können dazu beitragen, dass APIs sicher sind und wie vorgesehen funktionieren.
- API-Überwachung und -Laufzeitschutz: Das API-Verhalten muss in einer API-Sicherheitslösung überwacht werden. Das Verständnis von normalem Verhalten gegenüber anormalem Missbrauch ist eine wesentliche Komponente zum Schutz von APIs vor böswilligen Nutzern.
- Schwachstellenmanagement: API-Sicherheitslösungen umfassen auch das Schwachstellenmanagement, bei dem Sicherheitslücken in APIs identifiziert und behoben werden. Das Schwachstellenmanagement kann Schwachstellenscans, Patching und Behebung umfassen und Angreifer daran hindern, bekannte Schwachstellen in APIs auszunutzen.
API-Sicherheitslösungen sind entscheidend für die Sicherheit und Integrität von APIs. Durch Implementierung von Authentifizierung und Autorisierung, API-Gateway, Verschlüsselung, Ratenbeschränkung, Audits und Protokollierung, API-Tests, -Überwachung, -Laufzeitschutz und -Schwachstellenmanagement können Unternehmen sicherstellen, dass ihre APIs sicher und vor zahlreichen Sicherheitsbedrohungen geschützt sind.
Da APIs immer stärker in den Geschäftsbetrieb integriert sind, müssen Unternehmen in leistungsstarke API-Sicherheitslösungen investieren, um ihre vertraulichen Daten und ihr geistiges Eigentum zu schützen.
Was ist Verhaltensanalyse?
Verhaltensanalyse ist ein Sicherheitsansatz, der maschinelles Lernen und Datenanalyse nutzt, um Anomalien und Muster im Nutzerverhalten zu identifizieren. Dieser Ansatz wird verwendet, um Sicherheitsbedrohungen wie Insider-Bedrohungen, Kontoübernahmen und Betrug zu erkennen und zu verhindern.
Verhaltensanalysen gewinnen im Bereich der API-Sicherheit zunehmend an Bedeutung, da APIs immer häufiger genutzt und zunehmend von Cyberkriminellen angegriffen werden.
APIs werden von Unternehmen verwendet, damit ihre Anwendungen miteinander kommunizieren, Daten gemeinsam nutzen und verschiedene Funktionen ausführen können. Da die Verwendung von APIs jedoch immer weiter zunimmt, müssen Unternehmen auch die damit verbundenen Sicherheitsrisiken im Blick haben.
APIs können für eine Reihe von Sicherheitsbedrohungen anfällig sein, einschließlich unbefugtem Zugriff, Denial-of-Service und Injection-Angriffen. Verhaltensanalysen können diese Bedrohungen erkennen, indem sie das Nutzerverhalten analysieren und anormale Muster identifizieren, die auf einen Angriff hindeuten könnten.
In welchem Zusammenhang stehen Verhaltensanalysen und API-Sicherheit?
Verhaltensanalysen sind eine wichtige Komponente der API-Sicherheit. Denn APIs sind ein beliebtes Ziel für Cyberkriminelle, die unbefugten Zugriff auf vertrauliche Daten erlangen oder Geschäftsabläufe unterbrechen möchten. Verhaltensanalysen können diese Bedrohungen erkennen, indem sie das Nutzerverhalten analysieren und anormale Muster identifizieren, die auf einen Angriff hindeuten könnten.
API-Sicherheitslösungen, die Verhaltensanalysen enthalten, können Angriffe erkennen und verhindern, darunter:
Kontoübernahme: Eine Kontoübernahme erfolgt, wenn ein Angreifer Zugriff auf das Konto eines legitimen Nutzers erhält und es verwendet, um auf vertrauliche Daten zuzugreifen oder schädliche Aktionen auszuführen. Verhaltensanalysen können erkennen, ob ein Konto kompromittiert wurde, indem sie das Nutzerverhalten analysieren und anormale Muster identifizieren, die darauf hindeuten, dass ein Angreifer Zugriff auf das Konto eines Nutzers erhalten hat.
Interne Bedrohungen: Interne Bedrohungen (oder Insider-Bedrohungen) treten auf, wenn ein vertrauenswürdiger Nutzer mit autorisiertem Zugriff auf eine API diesen Zugriff für schädliche Zwecke nutzt. Verhaltensanalysen können Insider-Bedrohungen erkennen, indem sie das Nutzerverhalten analysieren und anormale Muster identifizieren, die darauf hindeuten könnten, dass sich ein Nutzer verdächtig oder böswillig verhält.
Injection-Angriffe: Injection-Angriffe treten auf, wenn ein Angreifer schädlichen Code oder Befehle in eine API-Anfrage injiziert, um eine Sicherheitsanfälligkeit auszunutzen und unbefugten Zugriff auf vertrauliche Daten zu erhalten. Verhaltensanalysen können dazu beitragen, Injection-Angriffe zu erkennen, indem sie das Nutzerverhalten analysieren und anormale Muster identifizieren, die darauf hindeuten könnten, dass ein Angreifer versucht, eine API-Schwachstelle auszunutzen.
DoS-Angriffe (Denial of Service): DoS-Angriffe treten auf, wenn ein Angreifer eine API mit Anfragen flutet, um den Geschäftsbetrieb zu unterbrechen. Verhaltensanalysen können DoS-Angriffe erkennen, indem sie das Nutzerverhalten analysieren und anormale Muster identifizieren, die darauf hindeuten könnten, dass ein Angreifer versucht, eine API mit Anfragen zu überlasten.
Da APIs immer häufiger genutzt und zunehmend von Cyberkriminellen angegriffen werden, müssen Unternehmen in leistungsstarke API-Sicherheitslösungen investieren, die Verhaltensanalysen zum Schutz ihrer sensiblen Daten und ihres geistigen Eigentums beinhalten.
Managed Threat Hunting
Managed Threat Hunting ist ein proaktiver Sicherheitsansatz, bei dem fortschrittliche Tools und Techniken eingesetzt werden, um potenzielle Sicherheitsbedrohungen zu identifizieren und abzuwehren, bevor sie Schaden anrichten können.
Managed Threat Hunting ist eine Art von Service, der von einigen API-Sicherheitsfirmen angeboten wird, bei dem ein Unternehmen einen Drittanbieter dafür bezahlt, das Threat Hunting in seinem Namen zu verwalten und durchzuführen. Dieser Service ermöglicht es Unternehmen, von der Expertise und den Ressourcen eines spezialisierten Sicherheitsteams zu profitieren, ohne in interne Fähigkeiten zur Bedrohungssuche investieren zu müssen.
Das „Managed“ (also Verwaltet) rührt daher, dass ein Unternehmen eine API-Sicherheitsfirma dafür bezahlt, in seinem Namen nach Bedrohungen zu suchen. Dazu gehört, dass das API-Sicherheitsunternehmen die API-Infrastruktur des Unternehmens proaktiv überwacht, Protokolle und andere Datenquellen analysiert und fortschrittliche Techniken wie maschinelles Lernen und Verhaltensanalysen verwendet, um potenzielle Sicherheitsbedrohungen zu identifizieren.
Die API-Sicherheitsfirma arbeitet dann mit dem Unternehmen zusammen, um erkannte Bedrohungen zu beheben und Empfehlungen zur Verbesserung der Sicherheitslage zu geben.
Managed Threat Hunting ist im Kontext der API-Sicherheit besonders wichtig, da APIs für eine Reihe von Sicherheitsbedrohungen anfällig sein können, darunter Injection-Angriffe, Kontoübernahme und Denial-of-Service-Angriffe.
Managed Threat Hunting kann diese Bedrohungen erkennen und abwehren, bevor sie Schaden anrichten können, und ermöglicht es Unternehmen, ihre sensiblen Daten und ihr geistiges Eigentum zu schützen.
Zu den wichtigsten Komponenten des Managed Threat Huntings gehören:
- Proaktive Überwachung und Untersuchung: Managed Threat Hunting umfasst die proaktive Überwachung der APIs eines Unternehmens, um potenzielle Sicherheitsbedrohungen zu identifizieren. Das kann die Überwachung aller API-Aktivitätsdaten, einschließlich Systemprotokolle und anderer Datenquellen, oder die Untersuchung erkannter Warnungen umfassen.
- Speicherung von API-Verlaufsdaten: Alle API-Daten müssen gespeichert werden, damit Untersuchungen durchgeführt und Bedrohungen erkannt werden können. Der Zugriff auf die Daten ist eine Voraussetzung für Managed Threat Hunting.
- Fortschrittliche Erkennungstechniken: Managed Threat Hunting nutzt fortschrittliche Technologien wie maschinelles Lernen und Verhaltensanalysen, um potenzielle Sicherheitsbedrohungen zu identifizieren. Diese Techniken können Bedrohungen identifizieren, die mit herkömmlichen signaturbasierten Ansätzen möglicherweise nicht erkannt werden können.
- Threat-Hunting-Team: Managed Threat Hunting umfasst ein spezielles Team von Sicherheitsexperten, die darin geschult und erfahren sind, potenzielle Sicherheitsbedrohungen zu erkennen und abzuwehren. Das API-Sicherheitsunternehmen, das den Service bereitstellt, verfügt in der Regel über ein Expertenteam mit spezialisierten Kenntnissen über API-Sicherheitsbedrohungen.
- Abhilfemaßnahmen und Empfehlungen: Managed Threat Hunting umfasst die Zusammenarbeit mit dem Kundenunternehmen, um erkannte Bedrohungen abzuwehren und Empfehlungen zur Verbesserung der Sicherheitslage zu geben. Das kann Patches für Schwachstellen, die Verbesserung von Zugriffskontrollen oder die Implementierung zusätzlicher Sicherheitskontrollen in Tools wie WAFs, CDNs oder andere Proxys beinhalten.
Im Kontext der API-Sicherheit kann Managed Threat Hunting eine Reihe von Bedrohungen identifizieren und abwehren, darunter Injection-Angriffe, Kontoübernahmen und Denial-of-Service-Angriffe.
Durch Investitionen in Managed Threat Hunting können Unternehmen sicherstellen, dass ihre APIs sicher und vor einer Reihe von Bedrohungen geschützt sind.
Häufig gestellte Fragen (FAQ)
Die Grundlagen der API-Sicherheit basieren auf einigen Schlüsselprinzipien: Authentifizierung, Autorisierung, Verschlüsselung und Input Validation.
Die Authentifizierung überprüft die Identität der Nutzer oder Systeme, die mit der API interagieren. Die Autorisierung bestimmt, was ein verifizierter Nutzer tun kann. Die Verschlüsselung sorgt dafür, dass Daten, die zwischen Systemen übertragen werden, vertraulich bleiben und für neugierige Blicke unlesbar sind. Und die Input Validation (oder Eingabevalidierung) prüft eingehende Daten auf ihre Legitimität, um schädliche oder unerwartete Ergebnisse zu verhindern.
Bei der API-Sicherheit geht es darum, die sichere und beabsichtigte Verwendung von APIs (Application Programming Interfaces) sicherzustellen. Dazu gehören der Schutz von APIs vor Bedrohungen und Angriffen, der Schutz vertraulicher Daten und die Gewährleistung eines zuverlässigen Service.
Häufige API-Sicherheitsrisiken umfassen unbefugten Zugriff, Datenschutzverletzungen, Denial-of-Service-Attacken und Injection-Angriffe. Unbefugter Zugriff kann auftreten, wenn ein Cyberkrimineller Zugriff auf sensible Vorgänge erhält.
Datenschutzverletzungen können vertrauliche Informationen offenlegen. Denial-of-Service-Angriffe können eine API überfordern und unbrauchbar machen. Und Injection-Angriffe können eine API dazu bringen, unbeabsichtigte Befehle auszuführen.
Der Schutz Ihrer API umfasst mehrere Schritte: Verwenden Sie zunächst immer HTTPS für die Datenübertragung, um die Verschlüsselung sicherzustellen. Implementieren Sie leistungsstarke Authentifizierungs- und Autorisierungskontrollen mithilfe von Methoden wie API-Schlüsseln, OAuth oder JWT.
Validieren Sie Eingaben zum Schutz vor Injection-Angriffen. Überprüfen und testen Sie Ihre APIs regelmäßig auf Schwachstellen. Und schließlich sollten Sie eine API-Sicherheitslösung wie die von Akamai nutzen, um eine zusätzliche Schutzebene bereitzustellen.
Wenn keine API-Sicherheit vorhanden ist, kann das schwerwiegende finanzielle Folgen haben. Datenschutzverletzungen, Serviceunterbrechungen oder Compliance-Verstöße können zu hohen Bußgeldern führen – ganz zu schweigen von den potenziellen Kosten für ihre Behebung.
Außerdem werden Reputation und Kundenvertrauen geschädigt, was langfristige weitere finanzielle Konsequenzen haben kann. Kurz gesagt: Wenn Sie bei der API-Sicherheit sparen, kann Sie das am Ende viel mehr kosten.
Während API-Sicherheit auf den Schutz von APIs vor Bedrohungen ausgerichtet ist, geht es beim API-Management um die Überwachung des Lebenszyklus von APIs. Dazu gehören das Entwerfen, Veröffentlichen, Dokumentieren und Analysieren von APIs.
API-Management umfasst häufig auch Aspekte der API-Sicherheit, wie z. B. Zugriffskontrolle und Ratenbeschränkung. Mit anderen Worten: API-Sicherheit ist Teil des API-Managements, aber API-Management beinhaltet viel mehr als nur Sicherheit.
APIs und Webservices sind wie Quadrate und Rechtecke. Alle Quadrate sind Rechtecke, aber nicht alle Rechtecke sind Quadrate. Dementsprechend sind alle Webservices APIs, aber nicht alle APIs Webservices. Ein Webservice ist ein bestimmter API-Typ, der über das Web betrieben wird und in der Regel HTTP- und ähnliche Protokolle verwendet. Andererseits bezeichnet API ein allgemeineres Konzept, das in vielen verschiedenen Kontexten verwendet werden kann, nicht nur im Web.
Warum entscheiden sich Kunden für Akamai?
Akamai ist das Unternehmen für Cybersicherheit und Cloud Computing, das das digitale Leben unterstützt und schützt. Unsere marktführenden Sicherheitslösungen, überlegene Threat Intelligence und unser globales Betriebsteam bieten umfassende Abwehrmaßnahmen, um die Daten und Anwendungen von Unternehmen überall zu schützen. Die Cloud-Computing-Lösungen von Akamai bieten als Full-Stack-Gesamtpaket Performance und erschwingliche Preise auf der weltweit am stärksten verteilten Plattform. Globale Unternehmen vertrauen auf Akamai für die branchenführende Zuverlässigkeit, Skalierbarkeit und Expertise, die sie benötigen, um ihr Geschäft selbstbewusst auszubauen.