Sicherheitslücken in Programmierschnittstellen API-Schwachstellen aufspüren

Von Julian Trotzek-Hallhuber

Programmierschnittstellen (APIs) bilden einen Kernbestandteil moderner Software-Architekturen. Genau wie andere Software-Entwicklungstool können aber auch APIs Schwachstellen aufweisen und so zum Einfallstor für Cyber-Kriminelle werden. In Zukunft könnten sie sich im Hinblick auf Cyberangriffe sogar zur größten Gefahrenquelle überhaupt entwickeln. Damit dies nicht passiert, sollten Software-Unternehmen ihre APIs regelmäßig und gründlich scannen.

Anbieter zum Thema

Schwachstellen in APIs können Cyberkriminellen Zugriff auf viele sensible Daten ermöglichen.
Schwachstellen in APIs können Cyberkriminellen Zugriff auf viele sensible Daten ermöglichen.
(Bild: Brian Jackson - stock.adobe.com)

Dass persönliche Daten der Kinder unkontrolliert im Internet kursieren, ist ein Schreckensszenario vieler Eltern. Durch eine fehlerhafte Schnittstelle in der App „scoolio“ wäre genau das möglich gewesen. Glücklicherweise haben IT-Sicherheitsaktivisten von „zerforschung“ die Schwachstelle vor Kriminellen entdeckt. Die Aktivisten nutzten die API natürlich nicht für kriminelle Aktivitäten, sondern nur, um zu überprüfen, was durch die Schwachstelle theoretisch möglich wäre. Aufgrund von interessenspezifischen Chatgruppen in der App konnten Rückschlüsse auf eine Reihe von persönlichen Informationen gezogen werden: So gibt es in der App beispielsweise Gruppen zur politischen, religiösen oder sexuellen Orientierung der Schüler. Somit waren die abgerufenen Daten in der Tat sehr bedenklich, da sie sehr persönlich waren. Dieses besonders drastische Beispiel hebt Probleme hervor, die praktisch in jeder modernen App auftreten können, die auf APIs basiert.

Programmierschnittstellen: Das Rückgrat der modernen IT-Infrastruktur

Schaut man sich an, wie wir heute Software nutzen, wird schnell klar, warum die Programmierschnittstellen so zentral sind: Bei Smartphone Apps oder As-a-Service-Angeboten wird praktisch nichts mehr lokal gerechnet, das war bei großen On-Premise-Installationen in der Vergangenheit noch ganz anders. Bei modernen Apps dient das Gerät eigentlich nur noch als Ausgabemedium, alle benötigten Informationen werden aus dem Internet abgerufen – über APIs.

Heutzutage werden sensible Teile des täglichen Lebens, wie Online-Banking, Trading oder sogar die Buchung von Arztterminen über das Smartphone abgewickelt. Ganz ähnlich verhält es sich auch bei Web-Anwendungen: Die Experten von Gartner gehen beispielsweise davon aus, dass 90 Prozent aller Web-Anwendungen öffentliche APIs verwenden (Gartner’s API Strategy Maturity Model, Saniye Alaybeyi, Mark O’Neill, 27 April 2021). Außerdem erwartet das Analystenhaus, dass sich API-Attacken bis 2022 zum häufigsten Angriffsvektor überhaupt entwickeln könnten und bis 2023 90 Prozent der webfähigen Anwendungen mehr Angriffsfläche in Form von offengelegten APIs als in Form der Benutzeroberfläche (UI) bieten werden. Im Jahr 2020 waren es lediglich 50 Prozent. Da APIs einen so großen Anteil an digitalen Produkten und Diensten ausmachen, ist die Einführung robuster Tools und Verfahren für die Anwendungssicherheit unerlässlich.

Warum sind APIs ein leichtes Ziel für Cyberkriminelle?

APIs ermöglichen eine einfache Datenübertragung von einem Produkt oder Dienst zu einem anderen. Wenn Kriminelle also eine Schwachstelle entdecken, die ausgenutzt werden kann, können sie an einer einzigen Stelle auf Daten zugreifen, anstatt viele komplexe Systeme und Datenbanken zu durchlaufen. Daher sind unzureichend abgesicherte Programmierschnittstellen ein so großes Problem. Dass es überhaupt zu vergleichsweise vielen Schwachstellen in APIs kommt, liegt unter anderem daran, dass immer mehr Schnittstellen entwickelt werden müssen, um mit der allgemeinen Entwicklung schrittzuhalten. Die immer größere Fragmentierung der Software-Landschaft bedingt auch eine höhere Zahl an Schnittstellen. Schnellere Release-Zyklen sorgen außerdem dafür, dass diese immer schneller entwickelt werden müssen. Das sind leider nicht die besten Voraussetzungen, um sicheren Code zu produzieren.

Normalerweise werden APIs in öffentlich und privat unterteilt. Man könnte nun davon ausgehen, dass private Schnittstellen sicherer wären, in der Praxis spielt das aber keine sehr große Rolle. Für Kriminelle ist es vergleichsweise einfach, zum Beispiel im Dark Net an geleakte interne Adressen zu kommen und so eine interne Abfrage zu simulieren. Unternehmen sollten also bei privaten APIs die gleichen Sicherheitsmaßstäbe anlegen wie bei öffentlichen.

Scannen, Scannen, Scannen

Grundsätzlich entstehen auch APIs nicht anders als jeder andere Code. Das bedeutet, auch hier können sich während des Programmierens Fehler einschleichen, die dann zu Schwachstellen führen können. Unternehmen sollten sie daher genauso gründlich auf ihre Sicherheit prüfen wie andere Software. Idealerweise sollten IT-Sicherheitsteams eine Kombination aus statischen und dynamischen Tests anwenden. Während bei der statischen Analyse nach formalen Fehlern im Code gesucht wird, bevor dieser produziert wird, sollte die dynamische Analyse auch dann noch stattfinden, wenn die APIs aktiv ausgeführt werden,

Hier ist es sinnvoll, auf Tools zurückzugreifen, die speziell für das Testen von APIs entwickelt wurden, beispielsweise die Dynamic Analysis (DAST) Scanning Engine von Veracode. Mit solchen Tools können Sicherheitsexperten APIs analysieren, sobald sie in einer Laufzeitumgebung verfügbar sind, die mit einem Netzwerk verbunden ist und - was entscheidend ist - bevor sie in größere Anwendungen integriert werden. Die Ergebnisse eines solchen API-Scans werden von den Tools automatisch nach Kritikalität gruppiert. Anschließend liefert die Lösung detaillierte Anleitungen zur Behebung von Schwachstellen in einem einzigen Dashboard zusammen mit anderen Dynamic Analysis-Scans.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Mit diesen Hilfsmitteln können IT-Sicherheitsteams Schwachstellen einfacher priorisieren und haben schnellen Zugang zu den Detailinformationen, die Entwickler benötigen, um unsicheren Code schnell zu beheben. Das fördert auch die reibungslose Zusammenarbeit zwischen Sicherheits- und Entwicklerteams.

API-Scans dienen als Ergänzung - keinesfalls aber als Ersatz - für statische und dynamische Tests. Neben dem häufigen, konsistenten und kontinuierlichen Scannen hat die Kombination mehrerer Scantypen, einschließlich statischer Analyse (SAST), dynamischer Analyse (DAST) und Softwarekompositionsanalyse (SCA), die größten Auswirkungen auf die Fehlerbehebungszeiten.

Über den Autor: Julian Trotzek-Hallhuber ist Senior Principal Solutions Architect bei Veracode.

(ID:48200697)