Was ist API-Sicherheit?

Mit API-Sicherheit wird der Schutz von Anwendungsprogrammierschnittstellen (Application Programming Interface, API) vor Angriffen beschrieben, die auf den Missbrauch oder die Ausnutzung der API für den Diebstahl sensibler Daten oder die Störung des Betriebs abzielen. API-Sicherheit umfasst verschiedene Strategien, Techniken und Lösungen, mit denen sichergestellt wird, dass nur autorisierte Benutzer auf eine API zugreifen können und dass die übertragenen Daten vor unbefugtem Zugriff oder Manipulation geschützt sind.

Überblick über die API-Sicherheit

APIs dienen als Backendframework für Systeme und Services und müssen daher gut abgesichert werden, damit auch die darüber übertragenen sensiblen Daten geschützt sind. Dazu gehören Zugangsdaten und Informationen bei der Authentifizierung, Autorisierung, Eingabevalidierung und Verschlüsselung. Im Rahmen der API-Sicherheit werden verschiedene Methoden und Tools genutzt, um diese Backendframeworks zu schützen und nicht autorisierte Zugriffe, Botangriffe und andere Arten von Missbrauch zu verhindern.

Typische Arten von API-Angriffen

  • Denial-of-Service (DoS)
  • Distributed Denial-of-Service (DDoS)
  • Man-in-the-Middle (MITM)
  • Fehlerhafte Zugangskontrollen
  • Injection

Ein erfolgreicher API-Angriff kann den Verlust großer Datenmengen, den Diebstahl privater oder personenbezogener Daten und Service-Unterbrechungen zur Folge haben.

Was ist eine API?

API ist das Akronym für „Application Programming Interface“ und bezeichnet eine Reihe von Definitionen und Protokollen, die die Kommunikation von Softwarekomponenten ermöglichen. APIs fungieren sozusagen als Vermittler zwischen Softwaresystemen und werden von Softwareanwendungen und Services genutzt, um Daten auszutauschen und Funktionen freizugeben. Aber APIs stellen nicht nur die Infrastruktur für Verbindungen bereit – sie regeln auch, wie Softwareanwendungen kommunizieren und interagieren dürfen. APIs geben vor, welche Arten von Anfragen zwischen Programmen ausgetauscht werden, wie diese Anfragen gestellt werden und welche Datenformate zulässig sind.

Über APIs können Unternehmen Daten mit Kunden oder anderen externen Benutzern teilen. Es gibt unter anderem APIs für Zahlungsprozesse, Videokonferenzen, soziale Medien, Textnachrichten, die Überwachung von Gesundheits- oder Fitnessdaten und Smart Homes. APIs können offen oder geschlossen, öffentlich oder privat sein und sind in der Regel mit einem Architekturstandard wie REST, SOAP oder GraphQL konform.

Auch Entwickler profitieren von APIs, da sie darüber die Funktionen von anderen Anwendungen nutzen können und so nicht immer wieder eine neue Infrastruktur aufsetzen oder den zugrunde liegenden Code oder die Architektur im Detail kennen müssen.

Abbildung 1: Moderne Anwendungsstruktur
Abbildung 1: Moderne Anwendungsstruktur

Weshalb ist die API-Sicherheit so wichtig?

Apps sind aus dem Alltag von Unternehmen und Privatpersonen nicht mehr wegzudenken und hinter nahezu jeder App steht eine API. Daher ist die API-Sicherheit von entscheidender Bedeutung.

APIs dienen als Backendframework für die meisten cloudnativen Anwendungen, einschließlich mobiler Apps, Webanwendungen und SaaS sowie Anwendungen für Mitarbeiter, Partner und Kunden. Ein Beispiel in Zahlen: Die API-Managementplattform Postman verzeichnete 2022 1,13 Milliarden API-Aufrufe. Durch die zunehmende API-Nutzung entsteht natürlich auch eine potenziell lukrative Angriffsfläche für Cyberkriminelle.

Da über APIs der Zugriff auf Anwendungslogik, Ressourcen und sensible Daten – einschließlich personenbezogener Daten – möglich ist, sind sie ins Visier der Angreifer geraten. Gelingt ihnen der Zugriff auf nicht geschützte APIs, können sie den Geschäftsbetrieb stören, sensible Daten stehlen oder löschen und auch geistiges Eigentum entwenden.

Abbildung 2: API-Nutzung durch moderne Microservices
Abbildung 2: API-Nutzung durch moderne Microservices

Der herkömmliche Ansatz zum Schutz von Webanwendungen

Als noch überwiegend monolithische Anwendungen im Einsatz waren, wurden Webanwendungen mithilfe einer Web-Application-Firewall (WAF) am Perimeter geschützt, die den HTTP-Datenverkehr von Webclients abfing und untersuchte. WAFs boten (und bieten auch weiterhin) einen effektiven Anwendungsschutz, wenn das potenzielle Risiko hauptsächlich aus schädlichen Benutzereingaben in Standard-HTTP-Webformularen oder Browserabfragen besteht.

Doch inzwischen bestehen Webanwendungen kaum noch aus monolithischen Anwendungen, die auf einem einzigen Webserver gehostet werden. Heutzutage werden überwiegend cloudnative Anwendungen in Containern genutzt, die auf ein Cluster von Hostservern verteilt sind.

Entwickler und Sicherheitsteams arbeiten mit stark verteilten cloudnativen Microservices-Architekturen und daher mit Netzwerken ohne Perimeter. Moderne Apps verarbeiten Daten aus diversen Quellen – zum Beispiel Standardwebanfragen, API-Aufrufen von Mobilgeräten, Cloud-Ereignissen, Telemetriedaten aus der Kommunikation von IoT-Geräten und Cloud-Speichern.

Eingehende HTTP-Anfragen von Clients (Nord-Süd-Datenverkehr) stellen häufig den Anfang einer Kommunikationssequenz dar. In vielen Fällen generiert eine eingehende Anfrage Dutzende interne API-Aufrufe (Ost-West-Datenverkehr). Werden diese internen API-Aufrufe nicht sorgfältig überprüft und validiert, sind die API-Endpunkte nicht ausreichend geschützt.

Die Überprüfung am Perimeter reicht nicht aus, um schädliche Daten zu erfassen. Wenn beispielsweise interne API-Endpunkte falsch konfiguriert wurden und nicht autorisierten Zugriff auf einzelne Microservices gewähren, wird die Anwendungslogik gefährdet. Daher ist es wichtig, dass alle API-Endpunkte – externe und interne – kontinuierlich überwacht und geschützt werden.

Video: Überblick über die API-Sicherheit und Tipps zur Verbesserung

Verlauf eines API-Angriffs

Da Unternehmen zunehmend APIs einsetzen, suchen Angreifer verstärkt nach Schwachstellen, die sie ausnutzen können. Dieses Beispiel für einen API-Angriff, bei dem ein Angreifer eine E-Commerce-Anwendung mit einer mobilen App als Frontend ausnutzt, zeigt, wie einfach der Zugriff auf wertvolle Daten ist.

Abbildung 3: Verlauf eines API-basierten Angriffs
Abbildung 3: Verlauf eines API-basierten Angriffs

Schritt 1: Durch Reverse Engineering der mobilen App findet ein Angreifer eine veraltete URL für einen API-Endpunkt, über die Daten von einem Backend-Microservice abgerufen wurden.

Schritt 2: Der Angreifer stellt fest, dass für API-Aufrufe an diesen Endpunkt weder eine Authentifizierung noch eine Autorisierung gefordert wird.

Schritt 3: Der Angreifer nutzt die SQLi-Sicherheitslücke aus. In der URL des API-Endpunkts ist eine eindeutige Produktkennung in Form eines numerischen Werts enthalten. Der Angreifer führt einige automatische Überprüfungen durch und stellt fest, dass das Eingabefeld „<product_id>“ für einen SQLi-Angriff ausgenutzt werden kann.

Schritt 4: Statt über die SQLi-Sicherheitslücke Daten zu manipulieren, führt der Angreifer einen Shell-Befehl in dem Microservice mit der SQL-Datenbank aus. Mit dem Shell-Befehl wird eine ausführbare Schaddatei heruntergeladen und ausgeführt. Dabei handelt es sich um Bitcoin-Mining-Software.

 

Sicherheitsrisiken in Verbindung mit APIs

Falsch konfigurierte APIs, Logikfehler und Sicherheitslücken führen dazu, dass Angreifer sich Zugriff auf Anwendungen und Daten verschaffen können. API-Gateways können nur den API-Datenverkehr prüfen, den sie weiterleiten, und haben keinen Einblick in den internen Datenverkehr. Dennoch setzen einige Unternehmen für die API-Sicherheit auf API-Gateways und erwarten einen umfassenden Schutz.

Sicherheitsteams benötigen einen Überblick über die gesamte API-Oberfläche, doch sie können nicht schützen, was sie nicht sehen – zum Beispiel verborgene Aktivitäten von Angreifern, die eine Schatten-API gefunden haben.

API-Gateways sind zwar für die Überwachung von APIs und deren Nutzung effektiv, können aber keine Angriffe erkennen oder abwehren. Transparenz und Risikomanagement allein reichen für die API-Sicherheit nicht aus, es müssen auch Funktionen für den Echtzeitschutz vor Angriffen implementiert werden.

Die OWASP Top 10

Das Open Web Application Security Project (OWASP) hat 2019 eine Liste mit den 10 größten API-Sicherheitsrisiken veröffentlicht, um auf die Gefahren in Verbindung mit APIs und modernen Webanwendungen hinzuweisen. Die Liste umfasst Beschreibungen der gängigsten Angriffe auf Web-APIs und Tipps zum Schutz vor diesen Bedrohungen.

Fehlerhafte Autorisierung auf Objektebene

Endpunkte, die Objektkennungen verarbeiten, werden häufig durch APIs zugänglich gemacht. Durch dieses Problem bei der Zugangskontrolle wird die Angriffsfläche vergrößert. Ohne entsprechende Autorisierungsfunktionen könnten Angreifer beispielsweise die Kennung einer Ressource eines anderen Benutzers bei einem API-Aufruf austauschen. Mit diesen sogenannten IDOR-Angriffen (Insecure Direct Object Reference, unsicherer direkter Objektverweis) können Angreifer sogar ohne Autorisierung auf Ressourcen zugreifen.

Fehlerhafte Benutzerauthentifizierung

API-Authentifizierungsmechanismen sind ein leichtes Ziel, da sie für alle zugänglich sind. Ein falsch implementierter Authentifizierungsmechanismus, auch Sicherheitslücke durch eine fehlerhafte API-Authentifizierung genannt, ermöglicht den Angreifern den Zugriff, um die Identität autorisierter Benutzer anzunehmen.

Fehlkonfigurationen der API-Authentifizierung lassen sich unter anderem auf eine Missachtung der branchenüblichen Best Practices zurückführen. Dazu gehören zum Beispiel die fehlende Validierung der Zugriffstokens oder das Speichern von Anmeldedaten und Schlüsseln in den URLs der API-Endpunkte.

Übermäßige Datenfreigabe

Je mehr Daten freigegeben werden, desto größer ist das Risiko. Während der API-Implementierung geben Entwickler manchmal Objekteigenschaften ohne Einschränkungen frei und verlassen sich darauf, dass der Client unnötige Daten herausfiltert, bevor sie in der Benutzeroberfläche angezeigt werden. Doch selbst wenn der API-Client sensible Daten herausfiltert, können Angreifer den ursprünglichen API-Aufruf ausnutzen und sich Zugriff auf Informationen wie Kreditkartennummern, Anmeldedaten und Sozialversicherungsnummern verschaffen.

Fehlende Ressourcen- und Ratenbeschränkungen

Wird für APIs nicht die Anzahl der Ressourcen beschränkt, die ein Client aufrufen kann, sind sie anfälliger für Angriffe, bei denen der Datenverkehr überlastet wird. Dadurch wird die Leistung des API-Servers so stark beeinträchtigt, dass legitime Benutzer keinen Zugriff mehr haben oder sogar ein DoS verursacht wird. Die Überlastung des API-Servers kann auch zu Authentifizierungsfehlern führen und Brute-Force-Angriffe ermöglichen.

Fehlerhafte Autorisierung auf Funktionsebene

Zu den Herausforderungen für API-Entwickler gehört die komplexe Implementierung von Richtlinien für die Zugriffskontrolle für die verschiedenen Hierarchien der Benutzergruppen und -rollen. Unklare Abgrenzungen zwischen Administrator- und Standardrollen führen zu Autorisierungsfehlern, die Angreifer ausnutzen können, um sich Zugriff auf die Ressourcen eines Benutzers zu verschaffen oder nicht autorisierte Administratoraktivitäten auszuführen.

Massenzuweisung

Dieses Problem tritt auf, wenn die Daten bei der Übertragung vom Client an Datenmodelle nicht mit einer Zulassungsliste abgeglichen werden, die dafür sorgen würde, dass Benutzer geschützte Felder nicht bearbeiten können. Bei dieser Sicherheitslücke können sich Angreifer Zugriff auf sensible Daten verschaffen, indem sie API-Anfragen abfangen und die Eigenschaften der gespeicherten Backendobjekte ändern. Dazu erraten sie die Objekteigenschaften, lesen die Dokumentation und überprüfen die API-Endpunkte auf Hinweise, wie sie die Datenattribute einer privaten API manipulieren können.

Fehlerhafte Sicherheitskonfiguration

Fehlerhafte Sicherheitskonfigurationen können dazu führen, dass sensible Benutzerdaten und Systemdetails offengelegt und eventuell Server infiltriert werden. Typische Ursachen sind das Zulassen von Cross-Origin Resource Sharing (CORS), unvollständige oder Ad-hoc-Konfigurationen, fehlerhafte HTTP-Header oder HTTP-Methoden, nicht geschützte Standardkonfigurationen, unvollständige oder falsche Konfigurationen und ausführliche Fehlermeldungen, die sensible Informationen enthalten.

Injection

APIs sind anfällig für Injection-Angriffe – SQL-Injection, NoSQL-Injection und Command Injection (Befehlsinjektion). Dabei werden nicht vertrauenswürdige Daten in einem Befehl oder einer Anfrage an einen Interpreter gesendet. Ein Angreifer führt dann über den Interpreter schädliche Befehle aus, um nicht autorisierte Daten zu manipulieren oder zu stehlen.

Unsachgemäßes Assetmanagement

Über APIs sind mehr Endpunkte als über herkömmliche Webanwendungen erreichbar und es ist ein striktes API-Management notwendig, um diese zu verwalten und eine Ausnutzung sensibler oder anfälliger API-Endpunkte zu verhindern. Veraltete API-Endpunkte oder Endpunkte für die Fehlerbehebung könnten beispielsweise von Angreifern ausgenutzt werden, um Anwendungen zu manipulieren.

Unzureichende Protokollierung und Überwachung

Die unzureichende Protokollierung und Überwachung ist zwar keine direkte Bedrohung, verzögert aber die Erkennung schädlicher Aktivitäten. Angreifer arbeiten im Verborgenen und haben viel Zeit, ihre Angriffe vorzubereiten und verschiedene Systeme auszuspähen, um Daten zu modifizieren, zu extrahieren oder zu löschen. Laut Studien zu Datensicherheitsvorfällen können mehr als 200 Tage vergehen, bis eine persistente Bedrohung aufgedeckt wird. Ohne angemessene Protokollierung und Überwachung fehlen Unternehmen nach einer Datenpanne die notwendigen forensischen Informationen, um den Schaden zu evaluieren.

Video: Informationen zu OWASP, Anwendungssicherheit und den OWASP Top 10-Sicherheitsrisiken

API-Sicherheit für SOAP, REST und GraphQL

SOAP, REST und GraphQL sind drei typische API-Architekturstile, für die jeweils bestimmte Sicherheitsaspekte beachtet werden müssen.

Sicherheit bei SOAP APIs

SOAP (Simple Object Access Protocol) ist ein Protokoll für den Abruf strukturierter Daten von Webservices in Computernetzwerken. SOAP verwendet XML als Nachrichtenformat und kann über verschiedene Protokolle auf unteren Ebenen übertragen werden, zum Beispiel HTTP und SMTP. SOAP APIs werden meist durch eine Kombination aus Transport Layer Security (wie HTTPS) und Sicherheitsmaßnahmen auf Nachrichtenebene (wie digitale XML-Signaturen und -Verschlüsselung) geschützt.

Zudem gibt es Protokollerweiterungen für verschiedene Sicherheitsprobleme. SOAP unterstützt die Web-Services(WS)-Spezifikationen, die für alle Webservices Sicherheit der Enterprise-Klasse bereitstellen. Dazu gehören Funktionen wie WS-ReliableMessaging, die auch im Falle eines Fehlers für die Übertragung der Nachricht sorgt.

Sicherheit bei REST APIs

Die Architektur von Representational State Transfer APIs oder kurz REST APIs basiert auf der JSON-Datenübertragung und dem HTTP/S-Übertragungsprotokoll, die beide die REST-API-Entwicklung im Vergleich zu anderen API-Architekturen vereinfachen. RESTful APIs nutzen HTTP-Anfragen für das Erstellen (POST), Aktualisieren (PUT), Lesen (GET) und Löschen (DELETE) von Daten.

Da keine Sicherheitsmechanismen integriert sind, ist die REST-API-Sicherheit vom API-Design abhängig. Bei der Planung der Sicherheitsmaßnahmen müssen die Datenübertragung, die Bereitstellung und die Services für die Clientinteraktionen berücksichtigt werden. Die meisten RESTful APIs nutzen TLS (wie HTTPS) und tokenbasierte Authentifizierung.

Um die Sicherheit zu verbessern, werden REST APIs häufig hinter einem API-Gateway bereitgestellt, auf das die Clients dann zugreifen. Ein API-Gateway bietet jedoch keinen ausreichenden Schutz vor der Vielzahl an Sicherheitsbedrohungen.

REST und SOAP im Vergleich

Sowohl SOAP APIs als auch RESTful APIs unterstützen HTTP-Anfragen und -Antworten sowie Secure Sockets Layer (SSL), doch damit enden auch schon die Gemeinsamkeiten. SOAP APIs verfügen über integrierte Sicherheitsfunktionen und sind damit grundsätzlich sicher. Für RESTful APIs hingegen müssen entsprechende Maßnahmen über Implementierungen oder die Wahl der Architektur ergriffen werden.

Sicherheit bei GraphQL APIs

GraphQL ist eine Open-Source-API-Sprache, mit der Clients Informationen abfragen, und ein Laufzeitsystem zur Beantwortung der Anfragen mithilfe der vorhandenen Daten. Entwickler nutzen die GraphQL-Syntax, um spezifische Daten bei einzelnen oder auch mehreren Quellen abzufragen. Clients können in den Anfragen die Struktur der Daten präzise festlegen und der Server gibt dann Daten mit genau dieser Struktur zurück.

Die Durchsetzung von Sicherheitsmaßnahmen für GraphQL APIs stellt aufgrund der anpassbaren und flexiblen Anfragen eine Herausforderung dar. Der Server kann eventuell keine komplexen Anfragen verarbeiten und daher versehentlich schädliche Anfragen ausführen.

Zu den Methoden für die Risikominimierung gehören die Drosselung, die Begrenzung der Schachtelungstiefe der Anfrage und Timeouts, um zu große Anfragen zu verhindern.

Best Practices für die API-Sicherheit

Da APIs immer häufiger öffentlich zugänglich sind, müssen unbedingt Maßnahmen zur Risikominimierung und zum Schutz der Daten ergriffen werden. Mit den folgenden Best Practices können Sie die Angriffsfläche reduzieren, Sicherheitslücken beheben und schädliche Aktivitäten nahezu in Echtzeit unterbinden.

Nutzen Sie sichere Authentifizierungs- und Autorisierungsmethoden

Stellen Sie sicher, dass nur autorisierte Benutzer mit sicheren Authentifizierungsmethoden, wie OAuth2 oder JSON Web Tokens (JWTs), auf die API zugreifen können.

Legen Sie eine Ratenbeschränkung fest

Legen Sie Ratenbeschränkungen für Ihre APIs fest, um Brute-Force-Angriffe und andere Angriffstechniken zu verhindern. Damit wird die Anzahl der Anfragen begrenzt, die innerhalb eines bestimmten Zeitraums an eine API gesendet werden können.

Verwenden Sie HTTPS

API-Anfragen und -Antworten sollten über HTTPS gesendet werden, damit sie verschlüsselt und sicher sind. Das ist besonders für sensible Daten wichtig.

Führen Sie regelmäßig Sicherheitsüberprüfungen durch

Überprüfen Sie regelmäßig die Sicherheit Ihrer APIs, um potenzielle Sicherheitslücken aufzudecken. Prüfen Sie Änderungen am API-Inventar, um neu zugängliche APIs und ihre Risikoprofile zu erfassen. Achten Sie dabei unter anderem auf die Freigabe sensibler Daten, den Zugriff über das Internet, Sicherheitslücken bei Workloads und die Authentifizierungsstufe.

Verwenden Sie einen API-Schlüssel

Ein API-Schlüssel ist eine eindeutige Kennung zur Identifizierung der Anwendung, die eine API aufruft, und zur Verifizierung der Zugriffsberechtigung. API-Schlüssel unterscheiden sich von Authentifizierungstokens, da sie die Anwendung (oder Website) identifizieren, die die API aufgerufen hat, und nicht die Person, die die Anwendung (oder Website) verwendet. Bei beiden handelt es sich um wichtige Sicherheitsmaßnahmen.

Beachten Sie beim Speichern des API-Schlüssels die Best Practices, um unerwünschte Aufrufe, nicht autorisierte Zugriffe und potenzielle Datenpannen, einschließlich des Verlusts personenbezogener Daten, zu vermeiden.

Überwachen Sie Ihre APIs

Verwalten und überwachen Sie die API-Spezifikationen, die Dokumentation, die Tests, den Datenverkehr und die Kennzahlen. Blockieren Sie unerwünschte Aktivitäten wie schädlichen API-Datenverkehr und schädliche Bots, um die Anwendungen zu schützen und unnötige Kosten zu vermeiden.

Vermitteln Sie Ihren Teams die Best Practices für die Sicherheit

Binden Sie Sicherheitsüberlegungen schon früh in die CI/CD-Pipeline ein und bieten Sie Schulungen an, damit sich die Entwickler besser mit Sicherheitsrisiken wie schwachen Authentifizierungsmethoden und Schwachstellen in der Logik auskennen. Implementieren Sie DevSecOps-Prinzipien und fördern Sie die Zusammenarbeit der Sicherheits- und Entwicklungsteams.

Ermitteln Sie die Sicherheitslücken

Identifizieren Sie mithilfe der OWASP Top 10-Sicherheitsrisiken die Schwachstellen im API-Lebenszyklus. Verwenden Sie Tools und Techniken für API-Scans, um die verschiedenen Sicherheitslücken aufzudecken und sofort zu beheben, damit sie nicht ausgenutzt werden können.

Verwenden Sie Sicherheitstokens für die Authentifizierung

Die Authentifizierung mit Sicherheitstokens bildet eine effektive erste Verteidigungslinie. Sicherheitstokens schützen APIs vor nicht autorisiertem Zugriff, da der API-Aufruf abgelehnt wird, wenn das Token nicht verifiziert werden kann.

Die Best Practices sorgen also vor allem für einen umfassenden Überblick und die Überwachung der Angriffsfläche, damit alle Webanwendungen und API-Endpunkte in der Umgebung automatisch erfasst werden. Die weiteren Abwehrmaßnahmen sollten Richtlinien für die Blockierung von Bedrohungen im Nord-Süd- und Ost-West-Datenverkehr umfassen, um sowohl Gefahren aus dem Internet als auch von eigenen Anwendungen abzuwehren.

Prüfungen auf Sicherheitslücken und Compliance sowie eine zuverlässige Authentifizierung sorgen für zusätzlichen Schutz. Sie müssen auch die Workload- und Infrastrukturebene schützen, zum Beispiel Hosts, VMs, Container und serverlose Funktionen.

API-Sicherheit mit Prisma Cloud

Prisma Cloud bietet umfassende, in unsere cloudnative Plattform für den Anwendungsschutz (CNAPP) integrierte Funktionen für API-Erkennung, API-Risikoprofilerstellung und API-Schutz in Echtzeit.

API-Sicherheitsfunktionen

  • API-Erkennung: Alle APIs in der Umgebung werden automatisch erkannt und tote Winkel durch undokumentierte oder ungenehmigte APIs vermieden.
  • API-Risikoprofilerstellung: Sie können die Risiken für APIs anhand von Risikofaktoren wie Fehlkonfigurationen, Freigabe sensibler Daten und Zugangskontrollen identifizieren und Abhilfemaßnahmen priorisieren.
  • API-Schutz in Echtzeit: Setzen Sie Sicherheitsmaßnahmen für den Echtzeitschutz vor den OWASP Top 10-Sicherheitsrisiken für APIs durch, schaffen Sie Abhilfe bei fehlenden Ratenbeschränkungen und nutzen Sie Funktionen für das Botmanagement.

API-Sicherheit – FAQ

Eine monolithische Anwendung wird als separate Einheit entwickelt, unabhängig von anderen Anwendungen, und die meisten oder sogar alle ihre Funktionen befinden sich in einem Prozess oder Container. Softwareprogramme wurden ursprünglich als monolithische Anwendungen entwickelt und enthielten alle erforderlichen Komponenten, wie APIs, Services, Datenzugriffsrichtlinien und Datenbanken. Diese Anwendungen führten dann alle Funktionen zur Erfüllung einer Aufgabe durch – vom Abrufen der Benutzereingabe bis hin zur Verarbeitung und Speicherung von Daten in der Datenbank.
Eine serviceorientierte Architektur beschreibt ein Softwaredesign, bei dem eine Anwendung Services oder Daten für andere Komponenten über ein Kommunikationsprotokoll im Netzwerk bereitstellt.
Bei einer Microservices-Architektur werden die Anwendungsfunktionen als einzelne modulare Komponenten entwickelt. Anwendungen bestehen aus lose gekoppelten Microservices, die über einfache Protokolle kommunizieren.

Lose gekoppelte Microservices haben den Vorteil, dass Entwickler auch komplexe Anwendungen schnell und mit einem relativ geringen Aufwand erstellen können. Diese cloudnative Architektur kann auch dynamisch an neue Kundenanforderungen angepasst werden, da die lose gekoppelten Microservices es Entwicklern ermöglichen, neuen Code und neue Funktionen schneller zu implementieren, als das bei herkömmlichen Anwendungen der Fall wäre.
SOAP ist eine Methode für den Kommunikationsaustausch zwischen Anwendungen über ein einfaches XML-basiertes Protokoll. In der Regel werden SOAP-Nachrichten über HTTP übertragen, doch es sind auch andere Wege möglich, solange Client und Server dieselbe Methode verwenden.
TLS (Transport Layer Security) ist ein Verschlüsselungsprotokoll zum Schutz von Computernetzwerken und Internetkommunikation. Zu bekannten Anwendungsfällen von TLS gehören HTTPS, E-Mails und Textnachrichten. TLS hat SSL (Secure Sockets Layer) ersetzt.
Ein API-Endpunkt ist eine zugängliche Ressource in einer API. Wenn eine API mit einem anderen System interagiert, dienen die API-Endpunkte als Kommunikationsknoten. Von diesen Knoten aus greift die API auf Ressourcen zu, die sie für die Ausführung ihrer Funktionen benötigt. Da durch die API-Endpunkte die Systeme anfällig für Angriffe werden, muss die API-Überwachung dafür sorgen, dass kein Missbrauch möglich ist.
API-Sicherheitstests werden idealerweise in die DevOps-Pipeline integriert und dienen der Überprüfung der Sicherheitsfunktionen von API-Endpunkten, um die Compliance mit den sicherheitsrelevanten Best Practices sicherzustellen. So werden beispielsweise zum Testen der Authentifizierung, Verschlüsselung und Bedingungen für den Benutzerzugriff spezielle fehlerhafte Eingaben genutzt, um die Angriffsvektoren von Cyberkriminellen zu emulieren und nicht definierte Verhaltensweisen, Fehler und andere Sicherheitslücken aufzudecken. Mit API-Tests können beispielsweise die Umgehung von Autorisierungs- oder Authentifizierungsfunktionen, fehlerhafte Sicherheitskonfigurationen, SQL-Injections und Befehlsinjektionen auf Betriebssystemebene sowie Sicherheitslücken im Open-Source-Code aufgedeckt werden.

API-Sicherheitstests können dynamische oder statische Sicherheitstests sowie eine Software Composition Analysis (SCA) umfassen. Bei einer SCA wird der Code einer Anwendung mit einer CVE-Datenbank abgeglichen. Falls Probleme erkannt werden, informiert das SCA-Tool die Entwickler, dass die Anwendung oder API eine Bibliothek oder ein Framework mit einer bekannten Sicherheitslücke verwendet. Da in der API-Entwicklung häufig Open-Source-Code verwendet wird, spielt die SCA eine wichtige Rolle bei den Tests der API- und Anwendungssicherheit.
Ein API-Gateway ist ein Tool, das sich zwischen einer Anwendung und einer Reihe von Backendservices befindet und als Reverse-Proxy die API-Aufrufe verarbeitet. Dazu teilt es jeden Aufruf in mehrere Anfragen auf und leitet sie an die entsprechenden Services weiter, die dann eine Antwort zurückgeben. Das Gateway verfolgt all diese Aktivitäten.
Eine Schatten-API, auch Zombie-API genannt, ist eine verborgene, nicht dokumentierte und nicht überwachte API. Entwickler wissen oft nicht, dass sie existiert und was sie umfasst.
Eine offene oder auch öffentliche API ist eine öffentlich verfügbare API, über die Entwickler auf eine Softwareanwendung oder einen Webservice zugreifen können.
Eine private API ist eine API, die von einem Unternehmen als Frontendschnittstelle für Backenddaten und Anwendungsfunktionen gehostet wird. Die Schnittstelle bietet einen Zugangspunkt für autorisierte Mitarbeiter und Auftragnehmer, die diese Funktionen entwickeln.
DLL-Injection ist eine Angriffsmethode, mit der Prozesse und Services des Windows-Betriebssystems ausgenutzt werden. Dazu wird eine erforderliche DLL-Datei durch eine infizierte Version ersetzt, damit sie beim Laden der Anwendung aufgerufen wird und die schädlichen Aktivitäten gestartet werden.
Ein Webhook ist eine HTTP-basierte Callback-Funktion, die ereignisbasierte Interaktionen zwischen zwei APIs ermöglicht. So können Webanwendungen kleine Datenmengen von anderen Apps empfangen. Webhooks sind keine APIs. Sie werden häufig Reverse- oder Push-APIs genannt, weil damit der Server dem Client eine HTTP-POST-Anfrage sendet, wenn Daten verfügbar sind (statt eine HTTP-Anfrage zu empfangen und darauf zu antworten). Anwendungen müssen über eine API verfügen, um einen Webhook nutzen zu können.
In GitOps-Umgebungen können Webhooks Automatisierungsabläufe auslösen und die Anzahl der Schritte reduzieren, die für die Implementierung Git-zentrierter Bereitstellungspipelines notwendig sind, einschließlich des automatischen Startens von Infrastructure-as-Code-Arbeitsabläufen.