Seit fast 20 Jahren gibt es Application Programming Interfaces (APIs). Die Programmierschnittstellen ermöglichen den Austausch von Daten zwischen verschiedenen Websites und Anwendungen sowie deren Verarbeitung. Nutzten anfangs nur wenige Unternehmen APIs für eine begrenzte Anzahl von Anforderungen, stieg ihre Bedeutung in den letzten Jahren explosionsartig an.
APIs sind immer häufiger in den Anwendungsumgebungen von Unternehmen aller Größenordnungen anzutreffen – und decken eine Vielzahl von Anwendungsfällen ab. APIs ermöglichen eine schnelle Entwicklung, treiben die digitale Transformation voran und verbinden Kunden, Partner und Services.
Zugleich geben APIs heute mehr sensible Daten preis als je zuvor, was sie zu einem begehrten Ziel für Angriffe macht. Zwar ist auch das Bewusstsein in den Unternehmen gestiegen, dass APIs besonderen Schutz bedürfen, doch in der Praxis zeigen sich hier gefährliche Lücken. Das hat vor allem drei Gründe:
1. Mangelndes Bewusstsein
Dass verschiedene Anwendungen miteinander interagieren, ist beinahe alltäglich. Es ist sogar so selbstverständlich geworden, dass den Verantwortlichen in den Unternehmen nicht immer bewusst ist, dass der Austausch der notwendigen und oft sensiblen Informationen über APIs läuft. Sie wissen schlicht nicht, dass sie APIs nutzen, wie viele oder welche das sind. Das hat verschiedene Gründe: stetige Veränderungen innerhalb der IT-Infrastruktur, fehlerhafte Dokumentationen mit mangelnder Detailtiefe und nicht zuletzt fehlendes Know-how sowie Ressourcenmangel in der IT. So entstehen erhebliche Sicherheitsrisiken im operativen Betrieb, von unbekannten Schatten-APIs und vergessenen Zombie-APIs ganz zu schweigen.
Darüber hinaus denken viele Unternehmen, dass alle ihre APIs hinter der Firewall liegen und in ihren Entwicklungsumgebungen geschützt sind. Entwickler können APIs jedoch aus verschiedenen Gründen auch extern zugänglich machen, zu Testzwecken etwa, um Entwicklern von Drittanbietern den Zugang oder Demos für Partner zu ermöglichen. APIs können zudem durch Firewalls nicht unsichtbar gemacht werden: Im Vergleich zu herkömmlichen Webanwendungen geben APIs naturgemäß ihre Anwendungslogik und viel mehr Daten preis. Angreifer können APIs leicht mit denselben Tools untersuchen, die auch ihre Entwickler verwenden.
Selbst Unternehmen, die um die Existenz und den Sinn von APIs wissen, unterschätzen häufig die Gefahr. Manche, vor allem kleinere und mittlere Unternehmen denken, sie seien als Angriffsziel uninteressant und der geringe API-Datenverkehr enthalte kaum wichtige Informationen. Ein riskanter Irrtum: APIs ebnen den Weg zu hochwertigen Diensten und sensiblen Informationen. Dabei geht es nicht um den Umfang des Datenverkehrs, sondern um den Wert der Services und Daten. Manche Angreifer bevorzugen kleinere Unternehmen, weil diese oft einfacher zu erreichen sind als Großunternehmen mit ausgefeilteren Sicherheitspraktiken. Die Analysten von Gartner prognostizieren, dass „bis 2022 der Missbrauch von APIs von einem seltenen zu einem der häufigsten Angriffsvektoren werden wird, was zu Datenverletzungen bei Webanwendungen von Unternehmen führt.“
2. Übermäßiges Vertrauen in die Entwicklerteams, um die Sicherheit zu gewährleisten
Entwickler sind gut darin, Best Practices zu integrieren und sicheren Code zu entwickeln, aber sie denken nicht wie Angreifer. Entwickler konzentrieren sich auf die Funktionalität und die Möglichkeiten, Anwendungen zum Laufen zu bringen. Angreifer hingegen versuchen, Anwendungen auf eine Weise zum Laufen zu bringen, die nicht beabsichtigt war. Meist fehlt während der Entwicklung die Zeit, sich effizient in die Denkweise eines Angreifers zu versetzen. Gerade in modernen DevOps-Teams, die iterativ entwickeln, finden Tests immer früher statt und der Code wird in immer kürzeren Zeitabständen veröffentlicht. Das hat Vorteile für den Gesamtprozess, führt zu mehr Effizienz und besserer Software. Zugleich kann der Zeitdruck aber auch Abstriche bei der Sicherheit nach sich ziehen. Oft liegt die Test-Priorität nur auf primären Anwendungen oder bestimmten Funktionsbereichen.
Entwicklungsteams wissen, dass es keinen hundertprozentig fehlerfreien Code gibt. Deswegen setzen sie Code-Scanner ein und nutzen Penetrationstests, um potenzielle Schwachstellen zu identifizieren. Diese Verfahren haben ihre Grenzen: Viele Scanning-Tools sind auf bewährte Praktiken und Signaturen angewiesen und erkennen Schwachstellen nicht, die durch die einzigartige Logik einer API entstehen.
3. Übermäßiges Vertrauen in traditionelle Sicherheitstools und Schutzmaßnahmen
APIs und API-Schwachstellen sind alles andere als traditionell; dennoch verlassen sich viele Unternehmen immer noch auf traditionelle Tools wie zum Beispiel API-Gateways und Web Application Firewalls (WAFs). Viele API-Gateways verwenden klassische Schutzmechanismen wie Authentifizierung, Autorisierung, Verschlüsselung und Rate Limiting. Dies sind wesentliche Bestandteile des Schutzes jeder Anwendung, aber nicht annähernd genug: Der API-Sicherheits-Experte Salt Security veröffentlicht halbjährlich einen „State oft the API Security“-Report. Aus der aktuellen Untersuchung (Q1/2022) geht hervor, dass 96 Prozent der Angriffe auf authentifizierte APIs erfolgen. Das zeigt: Authentifizierung hält Angreifer nicht ab.
Genauso wenig wie Autorisierung oder Verschlüsselung: Bei kundenorientierten Anwendungen etwa ist ein Konto schnell eingerichtet und so der Zugriff auf die API möglich. Eine der größten Bedrohung ist die Broken Object Level Authorization (BOLA), die eine falsch konfigurierte Autorisierung ausnutzt. Angreifer können mit Hilfe von Entwickler-Tools die Aktivitäten der API außer Kraft setzen und so auch die Verschlüsselung beeinträchtigen. Und schließlich gelingt es Angreifern immer wieder, Rate Limitings durch die Verwendung von Wegwerf-Telefonen, das Ändern von IP-Adressen und Angriffe mit flüchtigen Workloads in der Cloud zu umgehen.
Einige Unternehmen sind zudem der Meinung, APIs seien nur eine weitere Anwendung, so dass Tools wie WAFs erweitert werden können, um ausreichenden Schutz zu bieten. WAFs können APIs vor herkömmlichen Bedrohungen schützen, lassen aber Angriffe, die auf die Logik von APIs abzielen, völlig außer Acht. Proxy-basierte Tools wie WAFs sind nicht in der Lage, die großen Datenmengen zu sammeln und zu analysieren, die erforderlich sind, um die subtilen Aktivitäten der Angreifer zu identifizieren. Auch Security Information and Event Management Systems (SIEM) nützen nur begrenzt: Reaktionsteams müssen aus den eingehenden Warnungen Angriffsmuster erkennen und falsch-positive Ergebnisse aussortieren. Dafür muss man die Anwendung, einschließlich der API-Logik, genau kennen und wissen, wie die normale Aktivität aussieht.
Was tun?
Verstehen Sie die Rolle, die APIs in Ihrer Umgebung spielen
Setzen Sie sich mit Ihren Entwicklern zusammen. Sehr wahrscheinlich können sie Aufschluss darüber geben, welche Arten von Anwendungen mit APIs erstellt werden, wie wichtig diese APIs für das Unternehmen sind und welche Arten von Daten sie offenlegen. Weitere gute Quellen sind Netzwerk-, Infrastruktur- und Betriebsteams, die Details zur API-Nutzung in Ihrer Umgebung liefern können. Außerdem empfiehlt sich der Einsatz eines automatisierten Tools, wie zum Beispiel die API Protection Platform von Salt Security: Solche Lösungen erkennen APIs automatisch und liefern so ein vollständiges Bild. Die Salt-Plattform hilft auch bei der Erstellung eines API-Katalogs, bei der Identifizierung sensibler Daten und bei der Aufrechterhaltung einer realistischen Sicht auf Ihre APIs, selbst wenn diese sich ändern.
Ergänzen Sie die Sicherheitsbemühungen durch API Runtime Protection
Es ist wichtig, die API-Sicherheit als Aktivität über den gesamten Lebenszyklus von APIs zu betrachten. Durch API Runtime Protection stellen Sie sicher, dass Ihre APIs auch dann noch überwacht werden, wenn sie produktiv arbeiten. Die bereits erwähnten Protection Tools können hier unterstützen: Feedback-Schleifen liefern Laufzeiterkenntnisse, um Schwachstellen zu identifizieren, zu priorisieren und zu beseitigen, die während der Entwicklung verborgen blieben.
Gehen Sie über die traditionellen Tools und Methoden hinaus
Moderne API Protection Tools sammeln API-Verkehrsdaten und analysieren sie mit Hilfe von Künstlichen-Intelligenz- und Machine-Learning-Algorithmen. So lassen sich die Aktivitäten von Millionen Nutzern parallel analysieren und so Korrelationen erkennen, der zur Identifizierung und Abwehr von Angriffen erforderlich ist. Durch die Analysen ist bekannt, was als normales Verhalten für jede API gelten kann. Das hilft, um Anomalien zu identifizieren und Maßnahmen für den besseren Schutz der APIs abzuleiten.