Die Apokalypse vermeiden: Ein Leitfaden zum Auffinden von Zombie-APIs

Nachricht

HeimHeim / Nachricht / Die Apokalypse vermeiden: Ein Leitfaden zum Auffinden von Zombie-APIs

Dec 22, 2023

Die Apokalypse vermeiden: Ein Leitfaden zum Auffinden von Zombie-APIs

Startseite » Security Bloggers Network » Der Apokalypse entkommen: Ein Leitfaden zum Finden

Startseite » Security Bloggers Network » Der Apokalypse entkommen: Ein Leitfaden zum Auffinden von Zombie-APIs

Betrachten Sie diese Statistik aus einem aktuellen Bericht von Noname Security. Mehr als87 % der Befragten sind besorgt über die Sicherheitsrisiken veralteter oder unnötiger APIs. In der API-Hacking-Welt nennen wir dasZombie-APIs.

Sie wissen, von welcher Art von API-Endpunkt ich spreche. Es sind diese vergessenen APIs, die nicht mehr gepflegt werden, aber aus Gründen der „Abwärtskompatibilität“ immer noch existieren. Diese APIs können veraltet, unzuverlässig und anfällig für Hackerangriffe sein. Ein potenzielles Sicherheitsrisiko für jede Anwendung, die sie verwendet.

Es handelt sich um eine so wichtige Klasse von Schwachstellen. Es landet als#9auf der OWASP API Security Top 10-Liste 2023 als API9:2023 Improper Inventory Management.

Lassen Sie uns darüber reden, bevor Ihnen schlechter Code einfällt und Sie sich den Untoten anschließen. (Stöhnen...ja, das ist ein ziemlich schlechter Zombie-Witz)

Die Suche nach Zombie-APIs ist für uns von entscheidender Bedeutung, da diese vernachlässigten APIs eine Goldgrube an Schwachstellen und Sicherheitslücken sein können. Wir können diese Schwachstellen ausnutzen, um uns unbefugten Zugriff auf Daten zu verschaffen, in späteren Versionen hinzugefügte Sicherheitskontrollen zu umgehen und sogar ganze Systeme zu kompromittieren, wenn keine fortlaufenden Patches durchgeführt werden.

APIs neigen dazu, mit der Zeit spröder zu werden. Aus diesem Grund sprechen Best Practices für die API-Sicherheit immer davon, ältere Versionen einzustellen und zu deaktivieren.

Doch Sicherheitsteams, die Risiken managen, sind sich aufgrund der API-Ausuferung nicht immer der exponierten APIs bewusst. Und wenn mehr als ein Drittel (35 %) der Organisationen veröffentlichen täglich Updates für ihre APIs und eine weitere40 %Wenn Sie dies wöchentlich tun, wird es aus Sicherheitsgründen viel schwieriger, den Überblick über den gesamten API-Verkehr zu behalten.

Hier ist ein weiteres Top-Ergebnis der Forschung von Noname Security. Es wird erwartet, dass über 50 % der befragten Unternehmen innerhalb der nächsten zwei Jahre mit der Cloud-Migration bestehender Apps und der Einführung von SaaS-basierten Diensten, die neuen Geschäftswert bieten, aktive APIs in allen ihren Apps bereitstellen werden.

In Kombination mit API-First-App-Architekturen, die heutzutage für Entwickler immer beliebter werden, wird die schnelle API-Produktion zweifellos zu einer stärkeren API-Ausbreitung und dem Risiko anfälligerer APIs führen.

Während eine strikte API-Governance-Strategie dazu beitragen kann, dieses Risiko zu mindern, ist es in Wirklichkeit schwierig, die API-Ausuferung zu bewältigen, wenn das App-Team APIs von Drittanbietern nutzt und gleichzeitig Daten mit internen und externen Systemen verbindet, über die Sicherheitsteams möglicherweise nicht verfügen Sichtbarkeit zu.

Wenn Sie Zombie-APIs innerhalb einer Organisation identifizieren möchten, können Sie mehrere Schritte unternehmen.

Der erste Schritt besteht darin, eine Bestandsaufnahme aller in der Zielorganisation verwendeten APIs zu erstellen. Dies umfasst sowohl interne als auch externe APIs. Dies wird Ihnen helfen, den Umfang der API-Nutzung zu verstehen und eventuell vorhandene potenzielle Zombies zu identifizieren. API-Erkennungstools können hier bei der Aufklärung helfen.

Sobald Sie eine Bestandsaufnahme der APIs haben, können Sie mit der Analyse ihrer Nutzung beginnen. Dazu gehört die Betrachtung der Anzahl der Anfragen, die an jede API gestellt werden, wer die Anfragen stellt und wie diese APIs verwendet werden. Dies kann Ihnen dabei helfen, APIs zu identifizieren, die nicht mehr oder nur noch von Legacy-Systemen verwendet werden. Dies ist viel schwieriger, wenn Sie sich auf Black-Box-Tests beschränken. Wenn Sie jedoch Zugriff auf die Verkehrsdaten des API-Gateways erhalten, können Sie diese in der Regel analysieren.

Es ist wichtig zu prüfen, ob Ziel-APIs über eine Versionierung verfügen. Die Versionierung ermöglicht die Unterstützung der Abwärtskompatibilität mit älteren Versionen des API-Endpunkts. Dies bedeutet auch, dass ältere Versionen möglicherweise nicht mehr gewartet werden und anfällig sein könnten. Überprüfen Sie Metadaten wie URL-Pfade, Cookies, Ansprüche in Zugriffstokens, benutzerdefinierte HTTP-Header und HTTP-Anforderungsparameter auf offensichtliche Versionierungsartefakte. Wenn Sie veraltete Versionen einer API finden, sollten Sie zunächst die dortigen Angriffsbedrohungen in Betracht ziehen.

APIs werden oft vernachlässigt und nicht gepflegt. Anzeichen für Vernachlässigung sind veraltete Dokumentation, fehlende Updates und fehlende Support- oder Kontaktinformationen. Wenn Sie auf APIs stoßen, die diese Zeichen aufweisen, könnte es sich um Zombies handeln. Achten Sie besonders auf Metadaten, die möglicherweise ältere Frameworks und Dienste offenlegen. Es ist nicht ungewöhnlich, auf eine alte API-Version zu stoßen, die in wirklich alten Container-Images ausgeführt wird, die möglicherweise anfällig sind.

Schließlich sollten Sie Sicherheitsscans an Ihren APIs durchführen, um etwaige Plattform- oder Framework-Schwachstellen zu identifizieren. Dies kann Ihnen dabei helfen, potenzielle Risiken zu erkennen, die mit der Infrastruktur Ihrer APIs verbunden sind, einschließlich Zombie-APIs, die möglicherweise anfällig für Angriffe sind. FOSS-Tools wie Nikto sind darauf ausgelegt, dies recht schnell zu erledigen.

Sobald Sie einen API-Endpunkt identifiziert haben, bei dem es sich möglicherweise um einen Zombie handelt, erfassen Sie mit BurpSuite eine Anfrage an ihn. Erfassen Sie dann dieselbe Anfrage in einer neueren Version und verwenden Sie Burp Comparer, um zu sehen, was anders ist. Innerhalb von Sekunden können Sie möglicherweise Änderungen in der Nutzlast erkennen, die Sie manipulieren können. Ich habe bereits über die Manipulation von API-Daten an seltsamen Stellen gesprochen. Sie sollten in der Lage sein, dieser Anleitung zu folgen (insbesondere dem Abschnitt zum Verunreinigen von Nutzlasten), um herauszufinden, wie Sie die Zombie-API töten können.

Achten Sie besonders auf JSON-Eigenschaften, die zwischen Versionen im Nutzlastkörper hinzugefügt oder entfernt werden. Entwickler haben möglicherweise das Datenschema für ein Objekt geändert, was es Ihnen möglicherweise ermöglicht, eine Anfrage zu manipulieren, um eine Sicherheitslücke wegen übermäßiger Datenexposition aufzudecken. Man weiß nie, ob ein Entwickler in einer älteren Version, die inzwischen behoben wurde, vertrauliche Daten unsachgemäß offengelegt hat.

Möglicherweise sehen Sie sogar, dass die ältere Version die Änderung der Daten ermöglicht, um eine Sicherheitslücke bei Massenzuweisungen auszulösen. Ich habe tatsächlich einige kritische Sicherheitsprobleme mit hohem Schweregrad gefunden, die mithilfe dieser Taktik eine Rechteausweitung innerhalb eines Mandanten ermöglichten. Während der Entwickler die Änderung vertraulicher Eigenschaften in der neuen Endpunktversion verhinderte, war dies bei der älteren Version nicht der Fall, wodurch ich die API-Daten manipulieren und mir mehr Zugriff gewähren konnte, als die Anwendung erwartet hatte.

Sie sollten auch die Header in der HTTP-Antwort auf Unterschiede überprüfen, die auf eine Änderung der Plattform oder des Frameworks hinweisen könnten. Das API-Gateway leitet möglicherweise ältere Versionen an einen internen API-Server um, der möglicherweise nicht über die richtigen Steuerelemente verfügt, über die die neuen API-Versionen verfügen. Die Verwendung mehrerer Technologieplattformen ist keine Seltenheit und die Funktions- oder Sicherheitskapazität kann zwischen den Versionen unterschiedlich sein, was Ihnen möglicherweise einen Halt verschafft.

Manche sagen, dass das Auffinden von Schatten-APIs oder betrügerischen APIs ein größeres Risiko für ein Unternehmen darstellt als das von Zombie-APIs.

Ich stimme nicht zu.

Eine Schatten-API kann durch API-Erkennung gefunden werden. Aber alte APIs können für einige Zeit ruhen und vergessen bleiben, wenn neue APIs (oder zumindest neue Versionen) bereitgestellt werden. Und dieser ruhende Code erhöht die Anfälligkeit und Angriffsfläche einer ansonsten vertrauenswürdigen API.

Da API-Angriffe immer häufiger und ausgefeilter werden, müssen Unternehmen der API-Sicherheit Priorität einräumen und strenge Governance-Strategien und Best Practices implementieren, um die Risiken von Zombie-APIs zu mindern. Auf diese Weise können sie die potenziell katastrophalen Folgen apokalyptischer Zombie-APIs vermeiden, die zu Datenschutzverletzungen, unbefugtem Zugriff und Systemkompromittierung führen können.

Und Sie als API-Hacker können ihnen helfen, diese Zombies zu finden und auszurotten, bevor sie gebissen werden.

Fanden Sie das nützlich? Dann könnte Ihnen mein ultimativer Leitfaden für API-Hacking-Ressourcen gefallen. Genießen!

Der Beitrag „Avoiding the Apocalypse: A Guide to Finding Zombie APIs“ erschien zuerst im Blog von Dana Epp.

*** Dies ist ein syndizierter Blog des Security Bloggers Network aus Dana Epps Blog, verfasst von Dana Epp. Lesen Sie den Originalbeitrag unter: https://danaepp.com/guide-to-finding-zombie-apis

87 % Zombie-APIs Nr. 9 35 % 40 % Inventar-APIs Analysieren Sie die API-Nutzung. Überprüfen Sie die Versionierung. Suchen Sie nach Anzeichen von Vernachlässigung. Führen Sie Sicherheitsscans durch. Ich stimme nicht zu.