Ausgangspunkt der Untersuchung war laut ZeroPath ein verdächtiger Alarm im eigenen Umfeld gegen Ende des vergangenen Jahres. Das Team stieß in seiner Produktionsüberwachung auf Hinweise auf einen fehlgeschlagenen Scan, der auf eine Datei verwies, die außerhalb des vorgesehenen Repository-Bereichs gelesen werden sollte. Diese Datei hätte nach Angaben von Raphael Karger unter anderem Zugangsdaten von Sensoren enthalten können.
Bei der Analyse weiterer Artefakte erkannte ZeroPath nach eigener Darstellung, dass ein Angreifer systematisch die Angriffsfläche des gehosteten Sicherheitsprodukts des Unternehmens testete. Untersucht wurden demnach der Umgang der Scanner mit beliebigen Dateien, Verfahren zur Verarbeitung von Abhängigkeiten und die Behandlung von Geheimnissen. Diese Spuren brachten das Team dazu, ein eigenes Werkzeug zu entwickeln, das genau diese Verarbeitungsoberflächen auf Schwachstellen prüft.
Der technische Kern des Problems liegt laut ZeroPath darin, dass die Analyse eines Repositories nicht immer nur lesend erfolgt. Manche Scanner führen Code aus oder verarbeiten Dateien so, dass sich darüber Programmausführung erzwingen lässt. Wenn ein Scanner nicht isoliert mit nicht vertrauenswürdigen Inhalten umgeht, kann ein Angreifer unerwartete Inhalte einschleusen, die nicht nur das Lesen von Dateien auslösen, sondern auch die Ausführung schädlichen Codes. Als Beispiel nennt Karger Werkzeuge, die Cloud-Konfigurationsdateien prüfen und dazu benutzerdefinierte Regelordner laden können: Ein Angreifer könnte in dem gescannten Repository eine angebliche Regel hinterlegen, die in Wirklichkeit ein schädliches Programm ist und beim Laden ausgeführt wird.
Aus dem internen Prüfwerkzeug entstand schließlich „Build Canaries“. Das Tool liest nach Angaben von Karger die Dokumentation eines Herstellers, erzeugt automatisch passende Nutzdaten und testet diese dynamisch. So entstehe ein erweiterter Satz von Nutzdaten, der in manchen Fällen sogar auf einen bestimmten Anbieter zugeschnitten sei. Karger beschreibt das so: Das Werkzeug tue im Kern das, was der beobachtete Angreifer getan habe, nur in deutlich größerem Maßstab.
Für die erste Testreihe wählte ZeroPath 20 Scanner aus. Berücksichtigt wurden Sicherheitsplattformen, für die sich ohne Vertriebsprozess oder Social Engineering frei registrieren ließ und die zugleich auf ihren Webseiten mit bekannten Kundenlogos, Fallstudien und Hinweisen auf Finanzierung auftraten. Bei fünf dieser 20 Anbieter identifizierte das Team nach eigenen Angaben erhebliche Befunde. Einer der Anbieter zahlte dafür sogar die höchstmögliche Bug-Bounty-Prämie.
Die möglichen Folgen für Kundenorganisationen beschreibt ZeroPath als erheblich. Karger zufolge hätte der Zugriff auf eine Produktionsdatenbank weitreichende Möglichkeiten eröffnet. Mit den vorhandenen Berechtigungen hätte man potenziell den Code betroffener Unternehmen verändern können. Zudem seien dort ungepatchte Befunde großer Kunden einsehbar gewesen, darunter Geheimnisse und Richtlinienverstöße. ZeroPath nennt in diesem Zusammenhang Fortune-1000-Unternehmen, Rüstungsauftragnehmer und wichtige Regierungsbehörden als mögliche nachgelagerte Betroffene.
Auf der Black Hat will Karger Build Canaries als Open-Source-Werkzeug veröffentlichen. Es soll 349 validierte Nutzdaten enthalten, mit denen AppSec-Teams ihre eigene Scanner-Landschaft testen können. Zusätzlich kündigt er eine „Taxonomie der Ausführungsoberflächen bei der Aufnahme von Repositories“ an, die Sicherheitsteams zur Prüfung eigener Pipelines und Anbieterbeziehungen verwenden können. Karger verweist zudem auf den starken Wettbewerbsdruck im AppSec-Markt und warnt insbesondere bei kleineren Teams vor zu geringen Sicherheitsinvestitionen. Entscheidend seien eine korrekte Isolation und eine saubere Trennung zwischen Mandanten in diesen Umgebungen.
