Sichern von APIs: Mission impossible?

Veröffentlicht Jun 06, 2022
von Pieter Danhieux
FALLSTUDIE

Sichern von APIs: Mission impossible?

Veröffentlicht Jun 06, 2022
von Pieter Danhieux
Ressource anzeigen
Ressource anzeigen

Cyberangriffe sind zweifelsohne auf dem Vormarsch. Laut dem Verizon 2021 Data Breach Investigations Report ist die Bedrohungslandschaft heute gefährlicher als je zuvor. Unternehmen aller Größenordnungen sehen sich mit einem höheren Volumen an Angriffen und einer höheren Raffinesse der Bedrohungsakteure konfrontiert, die es auf sie abgesehen haben. Und auch die Erfolgsquoten der Angreifer steigen rapide an.

Die Analyse der jüngsten Angriffe hilft dabei, einige der häufigsten Schwachstellen und Techniken aufzudecken, die von Hackern während dieses beispiellosen Angriffs auf die Cyberabwehr genutzt werden. Einige der beliebtesten Angriffe, die es in die Top 10 der Sicherheitsrisiken und Schwachstellen für 2021 des Open Web Application Security Project (OWASP) geschafft haben, beinhalten den Diebstahl oder die Kompromittierung von Anmeldedaten. Und laut einer von Akamai durchgeführten Sicherheitsstudie zielte die überwältigende Mehrheit, fast 75 %, direkt auf die von APIs gespeicherten Anmeldeinformationen ab.

Der Aufstieg und mögliche Untergang von APIs

Es ist kein Wunder, dass Anwendungsprogrammierschnittstellen, meist einfach APIs genannt, in den Netzwerken fast aller Unternehmen auf dem Vormarsch sind. Sie sind ein entscheidender Bestandteil der meisten Cloud-basierten Dienste, die in den meisten Unternehmen, Organisationen und Behörden die Funktionen von On-Premise-Ressourcen rasch übernehmen. Heutzutage ist fast kein Geschäft und keine Aufgabe mehr ohne die Cloud möglich, vor allem wenn es sich um öffentliche Dienste handelt. Und das bedeutet, dass APIs mit Sicherheit der Klebstoff sein werden, der eine ganze Reihe von Diensten in jedem Netzwerk zusammenhält.

Das Erstaunliche an APIs ist, dass sie meist klein und unauffällig sind, was die Zuweisung von Netzwerkressourcen angeht. Und sie sind völlig flexibel, so dass sie mit fast jeder Aufgabe betraut werden können. Im Kern sind APIs individuelle Softwareteile, die auf die Steuerung oder Verwaltung eines bestimmten Programms zugeschnitten sind. Sie können zur Ausführung sehr spezifischer Funktionen verwendet werden, z. B. für den Zugriff auf Daten von einem Host-Betriebssystem, einer Anwendung oder einem Dienst.

Leider ist es genau diese Flexibilität und die Tatsache, dass sie oft klein sind und von Sicherheitsteams übersehen werden, die APIs zu attraktiven Zielen machen. Die meisten APIs werden von den Entwicklern so konzipiert, dass sie völlig flexibel sind, damit sie beispielsweise auch dann noch funktionieren, wenn das Kernprogramm, das sie verwalten, modifiziert oder geändert wird. Und es gibt nur wenige Standards. Fast wie Schneeflocken sind viele APIs insofern einzigartig, als sie für eine bestimmte Funktion mit einem einzigen Programm in einem bestimmten Netzwerk erstellt werden. Wenn sie von Entwicklern programmiert werden, die nicht sehr sicherheitsbewusst sind oder sich nicht speziell auf die Sicherheit konzentrieren, können und werden sie wahrscheinlich jede Menge Schwachstellen aufweisen, die Angreifer finden und ausnutzen können.

Leider gerät das Problem immer mehr außer Kontrolle. Laut Gartner werden Schwachstellen, die APIs betreffen, bis 2022 der häufigste Angriffsvektor in allen Cybersicherheitskategorien sein.

Der Hauptgrund, warum Angreifer APIs kompromittieren wollen, ist nicht, dass sie eine bestimmte Funktion der API übernehmen können, sondern dass sie die damit verbundenen Anmeldedaten stehlen wollen. Eines der größten Probleme mit APIs ist nicht nur, dass sie voller Schwachstellen sind, sondern auch, dass sie in Bezug auf ihre Kernfunktionen oft viel zu viele Berechtigungen haben. Der Einfachheit halber kann man sagen, dass die meisten APIs in einem Netzwerk nahezu auf Administratorenebene zugänglich sind. Wenn ein Angreifer die Kontrolle über eine API erlangt, kann er deren Berechtigungen häufig nutzen, um tiefer und umfassender in ein Netzwerk einzudringen. Und da die API die Berechtigung hat, die Aufgaben auszuführen, auf die der Angreifer sie umleitet, können ihre Aktionen oft die herkömmliche Überwachung der Cybersicherheit umgehen, da die API dank ihres VIP-Backstage-Passes für den Zugang zu allen Bereichen keine Regeln bricht.

Wenn Unternehmen nicht aufpassen, kann die zunehmende Verbreitung von APIs in ihren Netzwerken und Clouds auch zu großen Problemen führen, wenn sie von Angreifern ins Visier genommen werden.

Verteidigung der APIs

So gefährlich die Situation mit APIs auch wird, sie ist keineswegs hoffnungslos. Durch Bewegungen wie DevSecOps werden große Anstrengungen unternommen, um das Sicherheitsbewusstsein der Entwickler zu schärfen und Sicherheit und bewährte Verfahren in alle Aspekte der Softwareerstellung - von der Entwicklung über das Testen bis zur Bereitstellung - einzubringen. Die Einbeziehung der API-Sicherheit als Teil dieser Schulung wird für jede Organisation, die dem Trend der API-Ausbeutung bis 2022 und darüber hinaus entgegenwirken möchte, von entscheidender Bedeutung sein.

Dennoch gibt es einige wirklich gute Best Practices, die im Hinblick auf die API-Sicherheit bereits jetzt implementiert werden können.

Der erste Punkt ist eine strenge Identitätskontrolle für alle APIs. Sie sollten sie bei der Zuweisung von Berechtigungen fast wie menschliche Benutzer betrachten. Nur weil eine API nur für eine bestimmte Funktion ausgelegt ist, müssen Sie darüber nachdenken, was passieren könnte, wenn ein Angreifer in der Lage ist, sie zu kompromittieren. Erwägen Sie die Verwendung einer rollenbasierten Zugriffskontrolle. Idealerweise sollten Sie letztendlich die Prinzipien des Nullvertrauens auf Ihre APIs und Benutzer anwenden, aber das ist oft ein langer Weg. Ein gutes Identitätsmanagement ist ein guter Anfang. Achten Sie nur darauf, dass Sie APIs als Teil dieses Programms einbeziehen.

Außerdem sollten Sie die verschiedenen Aufrufe, die von Ihren APIs getätigt werden, so weit wie möglich genau kontrollieren. Wenn Sie diese Aufrufe auf sehr kontextbezogene Anfragen beschränken, wird es für einen Angreifer viel schwieriger sein, sie für schändliche Zwecke zu verändern. Sie können Ihre APIs sogar schichten, wobei eine erste API einen sehr kontextbezogenen Aufruf an eine andere API macht, die genau weiß, wonach sie suchen und was sie ignorieren muss. Dies kann eine wirksame Methode sein, um die Funktionalität einzuschränken, die einem Angreifer zur Verfügung steht, selbst wenn er in der Lage ist, eine API innerhalb dieser Kette auszunutzen und zu kompromittieren.

Die Bedrohungen, die sich gegen APIs richten, können sicherlich überwältigend erscheinen. Aber durch die Implementierung von Best Practices und die Unterstützung und Belohnung von Entwicklern, die sich für die Sicherheit einsetzen, kann die Situation viel weniger hoffnungslos erscheinen. Mit guter Ausbildung und Praxis können Sie ein robustes Sicherheitsprogramm aufbauen, das Angreifern wenig Spielraum lässt, selbst wenn sie eines Ihrer kleinen, aber wichtigen API-Arbeitspferde kompromittieren sollten.

Ressource anzeigen
Ressource anzeigen

Autor

Pieter Danhieux

Pieter Danhieux ist ein weltweit anerkannter Sicherheitsexperte mit mehr als 12 Jahren Erfahrung als Sicherheitsberater und 8 Jahren als Principal Instructor für SANS, wo er offensive Techniken lehrt, wie man Organisationen, Systeme und Einzelpersonen auf Sicherheitsschwächen hin untersucht und bewertet. Im Jahr 2016 wurde er als einer der "Coolest Tech People in Australia" (Business Insider) ausgezeichnet, erhielt die Auszeichnung "Cyber Security Professional of the Year" (AISA - Australian Information Security Association) und besitzt die Zertifizierungen GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

Sie wollen mehr?

Tauchen Sie ein in unsere neuesten Erkenntnisse über sichere Kodierung im Blog.

Unsere umfangreiche Ressourcenbibliothek zielt darauf ab, die menschliche Herangehensweise an eine sichere Weiterbildung im Bereich der Programmierung zu stärken.

Blog ansehen
Sie wollen mehr?

Holen Sie sich die neuesten Forschungsergebnisse zur entwicklergesteuerten Sicherheit

Unsere umfangreiche Ressourcenbibliothek ist voll von hilfreichen Ressourcen, von Whitepapers bis hin zu Webinaren, die Ihnen den Einstieg in die entwicklungsorientierte sichere Programmierung erleichtern. Erforschen Sie sie jetzt.

Ressourcendrehscheibe

Sichern von APIs: Mission impossible?

Veröffentlicht Jun 06, 2022
Von Pieter Danhieux

Cyberangriffe sind zweifelsohne auf dem Vormarsch. Laut dem Verizon 2021 Data Breach Investigations Report ist die Bedrohungslandschaft heute gefährlicher als je zuvor. Unternehmen aller Größenordnungen sehen sich mit einem höheren Volumen an Angriffen und einer höheren Raffinesse der Bedrohungsakteure konfrontiert, die es auf sie abgesehen haben. Und auch die Erfolgsquoten der Angreifer steigen rapide an.

Die Analyse der jüngsten Angriffe hilft dabei, einige der häufigsten Schwachstellen und Techniken aufzudecken, die von Hackern während dieses beispiellosen Angriffs auf die Cyberabwehr genutzt werden. Einige der beliebtesten Angriffe, die es in die Top 10 der Sicherheitsrisiken und Schwachstellen für 2021 des Open Web Application Security Project (OWASP) geschafft haben, beinhalten den Diebstahl oder die Kompromittierung von Anmeldedaten. Und laut einer von Akamai durchgeführten Sicherheitsstudie zielte die überwältigende Mehrheit, fast 75 %, direkt auf die von APIs gespeicherten Anmeldeinformationen ab.

Der Aufstieg und mögliche Untergang von APIs

Es ist kein Wunder, dass Anwendungsprogrammierschnittstellen, meist einfach APIs genannt, in den Netzwerken fast aller Unternehmen auf dem Vormarsch sind. Sie sind ein entscheidender Bestandteil der meisten Cloud-basierten Dienste, die in den meisten Unternehmen, Organisationen und Behörden die Funktionen von On-Premise-Ressourcen rasch übernehmen. Heutzutage ist fast kein Geschäft und keine Aufgabe mehr ohne die Cloud möglich, vor allem wenn es sich um öffentliche Dienste handelt. Und das bedeutet, dass APIs mit Sicherheit der Klebstoff sein werden, der eine ganze Reihe von Diensten in jedem Netzwerk zusammenhält.

Das Erstaunliche an APIs ist, dass sie meist klein und unauffällig sind, was die Zuweisung von Netzwerkressourcen angeht. Und sie sind völlig flexibel, so dass sie mit fast jeder Aufgabe betraut werden können. Im Kern sind APIs individuelle Softwareteile, die auf die Steuerung oder Verwaltung eines bestimmten Programms zugeschnitten sind. Sie können zur Ausführung sehr spezifischer Funktionen verwendet werden, z. B. für den Zugriff auf Daten von einem Host-Betriebssystem, einer Anwendung oder einem Dienst.

Leider ist es genau diese Flexibilität und die Tatsache, dass sie oft klein sind und von Sicherheitsteams übersehen werden, die APIs zu attraktiven Zielen machen. Die meisten APIs werden von den Entwicklern so konzipiert, dass sie völlig flexibel sind, damit sie beispielsweise auch dann noch funktionieren, wenn das Kernprogramm, das sie verwalten, modifiziert oder geändert wird. Und es gibt nur wenige Standards. Fast wie Schneeflocken sind viele APIs insofern einzigartig, als sie für eine bestimmte Funktion mit einem einzigen Programm in einem bestimmten Netzwerk erstellt werden. Wenn sie von Entwicklern programmiert werden, die nicht sehr sicherheitsbewusst sind oder sich nicht speziell auf die Sicherheit konzentrieren, können und werden sie wahrscheinlich jede Menge Schwachstellen aufweisen, die Angreifer finden und ausnutzen können.

Leider gerät das Problem immer mehr außer Kontrolle. Laut Gartner werden Schwachstellen, die APIs betreffen, bis 2022 der häufigste Angriffsvektor in allen Cybersicherheitskategorien sein.

Der Hauptgrund, warum Angreifer APIs kompromittieren wollen, ist nicht, dass sie eine bestimmte Funktion der API übernehmen können, sondern dass sie die damit verbundenen Anmeldedaten stehlen wollen. Eines der größten Probleme mit APIs ist nicht nur, dass sie voller Schwachstellen sind, sondern auch, dass sie in Bezug auf ihre Kernfunktionen oft viel zu viele Berechtigungen haben. Der Einfachheit halber kann man sagen, dass die meisten APIs in einem Netzwerk nahezu auf Administratorenebene zugänglich sind. Wenn ein Angreifer die Kontrolle über eine API erlangt, kann er deren Berechtigungen häufig nutzen, um tiefer und umfassender in ein Netzwerk einzudringen. Und da die API die Berechtigung hat, die Aufgaben auszuführen, auf die der Angreifer sie umleitet, können ihre Aktionen oft die herkömmliche Überwachung der Cybersicherheit umgehen, da die API dank ihres VIP-Backstage-Passes für den Zugang zu allen Bereichen keine Regeln bricht.

Wenn Unternehmen nicht aufpassen, kann die zunehmende Verbreitung von APIs in ihren Netzwerken und Clouds auch zu großen Problemen führen, wenn sie von Angreifern ins Visier genommen werden.

Verteidigung der APIs

So gefährlich die Situation mit APIs auch wird, sie ist keineswegs hoffnungslos. Durch Bewegungen wie DevSecOps werden große Anstrengungen unternommen, um das Sicherheitsbewusstsein der Entwickler zu schärfen und Sicherheit und bewährte Verfahren in alle Aspekte der Softwareerstellung - von der Entwicklung über das Testen bis zur Bereitstellung - einzubringen. Die Einbeziehung der API-Sicherheit als Teil dieser Schulung wird für jede Organisation, die dem Trend der API-Ausbeutung bis 2022 und darüber hinaus entgegenwirken möchte, von entscheidender Bedeutung sein.

Dennoch gibt es einige wirklich gute Best Practices, die im Hinblick auf die API-Sicherheit bereits jetzt implementiert werden können.

Der erste Punkt ist eine strenge Identitätskontrolle für alle APIs. Sie sollten sie bei der Zuweisung von Berechtigungen fast wie menschliche Benutzer betrachten. Nur weil eine API nur für eine bestimmte Funktion ausgelegt ist, müssen Sie darüber nachdenken, was passieren könnte, wenn ein Angreifer in der Lage ist, sie zu kompromittieren. Erwägen Sie die Verwendung einer rollenbasierten Zugriffskontrolle. Idealerweise sollten Sie letztendlich die Prinzipien des Nullvertrauens auf Ihre APIs und Benutzer anwenden, aber das ist oft ein langer Weg. Ein gutes Identitätsmanagement ist ein guter Anfang. Achten Sie nur darauf, dass Sie APIs als Teil dieses Programms einbeziehen.

Außerdem sollten Sie die verschiedenen Aufrufe, die von Ihren APIs getätigt werden, so weit wie möglich genau kontrollieren. Wenn Sie diese Aufrufe auf sehr kontextbezogene Anfragen beschränken, wird es für einen Angreifer viel schwieriger sein, sie für schändliche Zwecke zu verändern. Sie können Ihre APIs sogar schichten, wobei eine erste API einen sehr kontextbezogenen Aufruf an eine andere API macht, die genau weiß, wonach sie suchen und was sie ignorieren muss. Dies kann eine wirksame Methode sein, um die Funktionalität einzuschränken, die einem Angreifer zur Verfügung steht, selbst wenn er in der Lage ist, eine API innerhalb dieser Kette auszunutzen und zu kompromittieren.

Die Bedrohungen, die sich gegen APIs richten, können sicherlich überwältigend erscheinen. Aber durch die Implementierung von Best Practices und die Unterstützung und Belohnung von Entwicklern, die sich für die Sicherheit einsetzen, kann die Situation viel weniger hoffnungslos erscheinen. Mit guter Ausbildung und Praxis können Sie ein robustes Sicherheitsprogramm aufbauen, das Angreifern wenig Spielraum lässt, selbst wenn sie eines Ihrer kleinen, aber wichtigen API-Arbeitspferde kompromittieren sollten.

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.