Drei Fragen und Antworten: Warum sind APIs so ein Sicherheitsrisiko?

Über APIs lassen sich Unternehmen angreifen. Aber es gibt passende Werkzeuge, mit denen sich Schwachstellen aufspüren und robustere APIs entwickeln lassen.

In Pocket speichern vorlesen Druckansicht 20 Kommentare lesen
Lesezeit: 4 Min.

Die oft mangelhafte Sicherheit von Web-Applikationen haben die meisten Security-Experten im Blick – dass aber von den APIs ebenfalls eine große Gefahr ausgehen kann, wird schnell vergessen. Wir haben mit Frank Ully darüber gesprochen, wie sich Unternehmen besser gegen Angriffe wappnen können.

Sicherheitsexperte Frank Ully

Frank Ully ist Head of Research der Oneconsult Deutschland AG in München. Er beschäftigt sich mit aktuellen Themen der offensiven IT-Sicherheit.

Dass Webanwendungen ziemlich gefährliche Sicherheitslücken aufweisen können, ist allgemein bekannt – welche Bedrohungen von API-Schwachstellen ausgehen können, scheinen viele Unternehmen zu unterschätzen. Woran liegt das?

Das liegt daran, dass man mit Webanwendungen direkt interagiert und es da bekannte Schwachstellen wie SQL Injections gibt – aber man schon bei modernen Single-Page-Webanwendungen (SPAs) gar nicht merkt, dass die Anwendung im Browser direkt mit einer API kommuniziert. Anwender und Entscheider wissen häufig gar nicht, dass mobile Apps und Computer miteinander über mehrere APIs kommunizieren. Generell findet ja bereits ein Großteil des Webverkehrs über Schnittstellen statt.

Durch die andere Architektur sind bei APIs manche Lücken viel verbreiteter als bei klassischen Webanwendungen – und natürlich gibt es auch neue Angriffsflächen, etwa bei Autorisierung und Authentifizierung über OAuth und OpenID Connect oder bei Zugriffstoken in Form von JSON Web Token (JWT).

Sicherheitstester gehen am besten wie potenzielle Angreifer vor. Welche Tools bieten sich an, wenn man seinen eingesetzten APIs auf den Zahn fühlen will?

Das Hauptwerkzeug ist ein sogenannter Interception-Proxy, den man zwischen Browser oder Mobilgerät beziehungsweise die zu testende App und deren Kommunikation mit dem Web hängt. Installiert man ein Zertifikat, sieht man TLS-verschlüsselten Verkehr im Klartext. Damit kann man wie ein Angreifer sämtliche Anfragen des Clients und die Antworten der Schnittstelle einsehen und gezielt manipulieren. Sowohl der kommerzielle Burp Proxy als auch der kostenfreie OWASP Zed Attack Proxy bieten automatische Scans, die manche Schwachstellen aufdecken können.

Neben diesen dynamischen Tests sollte man, sofern vorhanden, den Quelltext der API mit einem statischen Scanner wie dem Open-Source-Werkzeug Semgrep prüfen. Daneben gibt es zahlreiche weitere Tools, um Schnittstellen dynamisch oder statisch auf einzelne Punkte abklopfen.

Sofern Kriminelle keinen physischen Zugang zu den Systemen haben, müssen sie über aus dem öffentlichen Internet erreichbare Endpunkte agieren. Wie gehen sie dabei vor und wie kann man sich dagegen schützen?

Angreifer finden beispielsweise über Recherche in öffentlichen Datenbanken alle von einer Organisation registrierten Domänen und Subdomänen heraus und entdecken so einen API-Host beta.api.2consult.ch, auf dem keine Patches eingespielt sind oder auf dem eine andere, verwundbare Version der Schnittstelle läuft. Mit speziellen Brute-Forcing-Werkzeugen und großen Listen möglicher API-Endpunkte finden sie Versionen mit Pfaden wie /api/v1.2/password-reset oder administrative Endpunkte. Manchmal genügt für Angreifer ein Blick in den JavaScript-Quelltext der Client-SPA, der unangemeldet alle verwendeten Endpunkte offenbart – auch solche, für die man höhere Privilegien braucht.

Eine Organisation kann sich davor schützen, indem sie eine gute Inventarisierung betreibt, also weiß, welche API-Hosts und -Versionen sie am Netz hängen hat. Nicht benötigte Systeme sollten offline genommen werden oder nicht aus dem gesamten Internet zugänglich sein. Andere Versionen der API als die Hauptvariante müssen genauso geschützt werden wie diese.

Vielen Dank für Deine Antworten, Frank. Mehr Informationen zu unterschiedlichen API-Schwachstellen, zu Werkzeugen und wie man APIs sicher entwickelt, finden sich in der Titelstrecke der aktuellen iX 7/2022 und bei heise+.

In der Serie „Drei Fragen und Antworten“ will die iX die heutigen Herausforderungen der IT auf den Punkt bringen – egal ob es sich um den Blick des Anwenders vorm PC, die Sicht des Managers oder den Alltag eines Administrators handelt. Haben Sie Anregungen aus Ihrer tagtäglichen Praxis oder der Ihrer Nutzer? Wessen Tipps zu welchem Thema würden Sie gerne kurz und knackig lesen? Dann schreiben Sie uns gerne oder hinterlassen Sie einen Kommentar im Forum.

(fo)