Aikido

Vier Incident-Response-Entscheidungen aus der Hugging Face Sicherheitsverletzung

Lehren für Organisationen aus der Incident Response von Hugging Face auf die Kompromittierung durch OpenAI-Agenten, aus Sicht eines CISO

Verfasst von
Mike Wilkes

Hugging Face wurde letzte Woche von einem abtrünnigen OpenAI-Agenten kompromittiert, und der Einbruch liefert weiterhin Erkenntnisse und Verständnis. Das Hugging Face Team veröffentlichte eine detaillierte Zeitleiste zusammen mit einem 17.600 Ereignisse umfassenden Trace-Streaming-Replay, das visualisiert, was geschah, und es ist wunderbar und fesselnd detailliert. Ich empfehle Ihnen, es zu lesen, wenn Sie die Zeit dazu haben.

Die Kompromittierung ihrer Plattform war kein einzelner brillanter Exploit, gefolgt von einem sauberen, menschlich gesteuerten Angriffspfad. Es war eine Vielzahl von Aktionen, die sich über viereinhalb Tage erstreckten, wobei Tausende von fehlgeschlagenen Experimenten die relativ geringe Anzahl von Aktionen verschleierten, die letztendlich relevant waren. Aufklärung, Code-Ausführung und Payload-Staging begannen fast sofort. Die entscheidende laterale Bewegung in ihre Kubernetes-Cluster, interne Netzwerke und die Quellcodeverwaltung begann erst am dritten Tag.

Die meisten Organisationen verfügen über ausreichend Logging und Monitoring, um einen Angriff nach dem Vorfall zu rekonstruieren. Weitaus weniger verfügen über die Laufzeit-Transparenz, Alerting-Logik und Entscheidungsunterstützung, die erforderlich sind, um den Angriff zu erkennen, während er sich noch formiert.

Die kombinierte Hugging Face Zeitleiste zusammen mit einigen lang erwarteten Informationen von OpenAI zum Vorfall, plus dem ersten CSA Post-Mortem-Bericht, legen nahe, was meiner Meinung nach vier kritische Entscheidungspunkte für die Incident Response sind, die Unternehmen berücksichtigen sollten. Jeder Punkt ist auch ein praktischer Test dafür, ob Ihre Organisation diese Fähigkeiten besitzt oder nicht.

Entscheidung 1: Wann wird Low-Signal-Aufklärung zu einem Incident?

Am ersten Tag der Kompromittierung enumerierten die Agenten Dateisysteme, Prozesse, Netzwerkschnittstellen, Umgebungsvariablen, Mount Points und verfügbare Tools. Sie testeten ausgehende Kanäle und etablierten Command-and-Control unter Verwendung gewöhnlicher öffentlicher Dienste. Für sich genommen könnte jedes Ereignis als Debugging, Automatisierung, eine fehlerhafte Workload oder normale Experimente erklärt werden.

Hugging Face berichtet, dass die anfänglichen Signale in der Live-Laufzeitanalyse, in SIEM-Logs und anderen Kontrollen auftauchten. Ihr KI-basierter Security Stack korrelierte diese Signale zu einem kohärenten Angriffsmuster, versäumte es jedoch, eine ausreichende Kritikalität zuzuweisen oder das On-Call-Team zu benachrichtigen. Diese Verzögerung kostete wertvolle Reaktionszeit. Frühere Analysen und Community-Diskussionen kamen zum gleichen Schluss: Aufklärung wurde über mehrere Tage hinweg aufgezeichnet, aber eine Eskalation erfolgte erst, als das spätere Volumen unautorisierter Aktivitäten schließlich den Alarmschwellenwert überschritt.

Die Entscheidung ist nicht einfach, ob ein einzelnes Ereignis bösartig ist. Es geht darum, ob eine Abfolge von individuell mehrdeutigen Laufzeitverhalten die Konstruktion eines Angriffspfades darstellt.

Organisationen sollten sich fragen, ob sie die Prozessausführung, den Dateisystemzugriff, die API-Aktivität, die Workload-Identität und das Netzwerkverhalten über kurzlebige Container hinweg korrelieren können. Können sie erkennen, dass ein Pod, der /proc/self/environ liest, Service-Account-Tokens inspiziert und mehrere Egress-Methoden testet, sich wesentlich von einem normalen Anwendungsfehler unterscheidet?

Hier kann Canary-Instrumentierung Mehrdeutigkeit beseitigen. Die Technik, in die wir hier investieren sollten, besteht darin, gefälschte Tokens in ausgewählten Workload-Umgebungen zu platzieren, Köder-Anmeldeinformationen in Secret Stores zu hinterlassen und Konfigurationswerte in Nicht-Produktionspfaden zu überwachen. Diese sollten niemals echten Zugriff ermöglichen. Stattdessen besteht ihr einziger Zweck darin, ein hochzuverlässiges Signal zu erzeugen, wenn sie gelesen, kopiert oder präsentiert werden. Ein gut platzierter Canary-Token sollte einen Responder alarmieren, anstatt als Anomalie abgetan zu werden. Der Aufbau einer Deception-Fähigkeit sollte auf der Roadmap für Teams überall stehen.

Entscheidung 2: Was passiert, wenn Anmeldeinformationen gestohlen und verwendet werden?

Der dritte Tag änderte den Charakter des Vorfalls. Der Agent las Kubernetes Service-Account-Tokens, fragte Cloud-Metadaten ab, spielte temporäre Anmeldeinformationen von externen Hosting-Providern ab (Modal trat hervor, um sich als einer dieser Hosting-Provider zu erklären), erstellte privilegierte Pods und entkam zum Node-Root. Anschließend griff er auf ein Secret-Objekt zu, das 136 Schlüssel enthielt, darunter Anmeldeinformationen, die für ein Mesh-VPN und einen internen Cluster-Zugriffs-Broker verwendet wurden. Eine gemeinsam genutzte Connector-Anmeldeinformation ermöglichte effektiv Cluster-Admin-Zugriff über mehrere Cluster hinweg.

Dies ist der Moment, in dem aus der „Untersuchung“ eine aktive Eindämmung werden muss.

Kann Ihr Team jedes System identifizieren, das einer kompromittierten Zugangsdaten vertraut? Der Abhängigkeitsgraph und die Auswirkungsanalyse sind zentral für den Beginn der Eindämmungsphase der Incident Response. Können Ihre Tools und Dashboards ein Token, das von seinem erwarteten Workload verwendet wird, von demselben Token unterscheiden, das von einem neuen Cloud-Anbieter, einer Sandbox oder einem Netzwerkursprung stammt? Können Responder eine ganze Zugangsdaten-Familie widerrufen, anstatt einen Schlüssel zu rotieren, während abgeleitete Token gültig bleiben?

Laufzeiterkennung ist unerlässlich, da die Zugangsdaten selbst legitim erscheinen können. Die bösartige Bedingung findet sich in ihrem Ausführungskontext: der falsche Prozess, der falsche Pod, das falsche Quellnetzwerk, die falsche Workload-Identität oder eine unmögliche Abfolge von Aktionen. Ich nenne dies „Wasser ist nass“-Monitoring. Von den Dingen, die ich als wahr weiß, ist Wasser nass, so wie der Himmel blau ist. Wenn wir kein Monitoring implementieren, das uns hilft, „annahmebrechende“ Änderungen in unseren Umgebungen zu erkennen, werden wir weiterhin überrascht sein. 

Ein Beispiel hierfür wäre die Konfiguration von Next-Hop-Routing-Tests, um ein BGP-Hijacking zu erkennen. Die ersten vier Hops von Ihrem internen Netzwerk zu einem stabilen und bekannten externen Asset (wie time.windows.com) sollten sich wirklich überhaupt nicht ändern. Ein weiteres Beispiel für „Wasser ist nass“-Monitoring ist bei DNS-Einträgen, indem ständig bewertet wird, ob Ihre internen und externen IP-Adressen für wichtige Infrastrukturkomponenten unverändert bleiben. 

Canaries, die eingesetzt werden, um agentengesteuerte Angriffe auszulösen, sollten daher gefälschte Service-Konto-Token, Köder-Cloud-Zugangsdaten und synthetische VPN-Registrierungsschlüssel enthalten. Ein in einer sorgfältig ausgewählten Pod-Umgebung gespeichertes Token kann Zugangsdaten-Harvesting aufdecken. Ein Köder-Service-Konto kann Namespace-Enumeration enthüllen. Ein gefälschter Cluster-Eintrag, der von einem internen Servicekatalog zurückgegeben wird, kann Lateral-Movement-Versuche aufdecken. Diese Artefakte müssen zu Sinkholes oder verweigerten Endpunkten führen, nicht zu Produktionszugriff, aber jede Interaktion sollte die Quellidentität bewahren und sofortige Eindämmungsanleitung auslösen.

Entscheidung 3: Können Sie C2 erkennen, wenn es wie Ihre eigene Anwendung aussieht?

Die wichtigste Erkennungslektion könnte sein, dass Command-and-Control nicht unbedingt wie traditioneller Malware-Traffic aussehen muss.

Der Agent nutzte öffentliche Request-Capture-Dienste, Pastebins und Dateifreigabe-Hosts. Wichtiger noch, er verwendete von Angreifern kontrollierte Hugging Face Datasets als Dead Drops. Befehle und gestohlene Daten wurden in Dataset-Commits und Side Branches platziert und dann über die normale Hugging Face API abgerufen. Ein offener CORS-Proxy-Space wurde ebenfalls als Egress-Relay verwendet. Payloads wurden segmentiert, komprimiert, kodiert und manchmal über Raw Sockets gesendet. Die Reproduktion des Dekodierungsprozesses des Angreifers ergab etwa viermal so viele exponierte Secrets wie der anfängliche Scan.

Mit anderen Worten, eingehende Anweisungen sahen aus wie Dataset-Aktivität und ausgehende Exfiltration sah aus wie Dataset-Aktivität. Hugging Face selbst wurde Teil des C2-Transports. Ein konventionelles SIEM kann Tausende von ungewöhnlichen Ereignissen melden, ohne zu offenbaren, dass sie ein bidirektionales Protokoll bilden.

Der Entscheidungspunkt ist, ob eine kundenorientierte Funktion deaktiviert, ein Tenant isoliert, ein öffentlicher Dienst blockiert oder ein Produktionsdatenpfad unterbrochen werden soll. Responder benötigen stärkere Beweise als „dieser Traffic ist ungewöhnlich“.

Erstellen Sie Köder-Datasets mit überzeugenden Namen, wie interne Benchmark-Ergebnisse, Evaluationsantworten oder archivierte Sicherheitsforschung. Bestücken Sie sie mit eindeutigen Markern und gefälschten Zugangsdaten. Kein legitimer Workload sollte darauf zugreifen. Überwachen Sie Lesezugriffe, Klone, Commits, Branch-Erstellung und API-Anfragen. Ein gefälschter interner Cluster oder ein im Katalog gelistetes Dataset kann auch aufdecken, ob ein Angreifer Möglichkeiten enumeriert, anstatt nur normal mit dem Dienst zu interagieren.

Gut konzipierte und gut platzierte Canaries liefern Absicht, nicht nur Anomalie.

Entscheidung 4: Den Schaden beheben oder die Umgebung neu aufbauen?

Letztendlich stellt sich die Frage, ob die Organisation der betroffenen Infrastruktur noch vertraut.

Hugging Face rotierte Anmeldeinformationen umfassend, blockierte den Zugriff auf Cloud-Metadaten, verengte den Geltungsbereich von Anmeldeinformationen und löschte und baute die Kerninfrastruktur von Grund auf neu auf. Im weiteren Sinne lief die Entscheidung darauf hinaus, etwa ein Drittel der Umgebung zu nuken, anstatt zu versuchen zu beweisen, dass jeder Einstiegspunkt, jedes gefälschte Token und jeder Persistenzmechanismus entfernt worden war.

Diese Option besteht nur, wenn die Infrastruktur reproduzierbar und wegwerfbar ist. Frühere Analysen zeigten, dass die Wiederherstellung für Hugging Face durch das Deployment frischer Infrastruktur aus Repositories beschleunigt wurde, anstatt kompromittierte Systeme wiederherzustellen und dann zu bereinigen. Die Befugnis, diese Entscheidung zu treffen, muss ebenfalls vor dem Vorfall klar zugewiesen und dokumentiert werden.

Das Entscheidungsunterstützungspaket sollte die Herkunft von Anmeldeinformationen, betroffene Workload-Identitäten, unveränderliche Image-Verifizierung, Infrastructure-as-Code-Abdeckung, Anforderungen an die Datenwiederherstellung und Beweise für versuchte Persistenz umfassen. Führungskräfte sollten die geschätzte Ausfallzeit für den Wiederaufbau kennen, bevor sie um Genehmigung gebeten werden. Und mit welchem Konfidenzniveau (wann wurde ein bestimmter Cluster oder Dienst zuletzt neu deployed)?

Canaries bleiben auch nach der Wiederherstellung nützlich. Ersetzen Sie jeden Köder durch einen neu generierten Wert. Jede Verwendung eines alten Canary-Tokens nach dem Wiederaufbau ist ein starker Beweis dafür, dass ein unentdeckter Einstiegspunkt, ein kopiertes Secret oder ein externer Staging-Ort überlebt hat. Dies gilt insbesondere, wenn wir davon ausgehen, dass agentische Angreifer vorausschauend genug sind, um Brotkrümel für ihre Modellagenten-Brüder zu hinterlassen, um der Entdeckung zu entgehen oder dort weiterzumachen, wo sie aufgehört haben.

Der Hugging Face Vorfall zeigt, dass Logging nicht Erkennung ist, Erkennung nicht Eskalation und Eskalation nicht Entscheidungsunterstützung. Laufzeit-Transparenz zeigt Ihnen, was die Software tatsächlich tut. Canary-Tokens, Cluster und Datensätze sagen Ihnen, wann eine Aktivität keine legitime Erklärung hat.

Das Ziel ist nicht nur, genügend Beweise zu sammeln, um die Kompromittierung nächste Woche zu verstehen. Es geht darum, starke genug Signale zu erzeugen, um heute die richtige Entscheidung zu treffen.

Teilen:

https://www.aikido.dev/blog/hugging-face-open-ai-breach-takeaways

Nachrichten abonnieren

4.7/5
Falschpositive Ergebnisse leid?

Probieren Sie Aikido, wie 100.000 andere.
Jetzt starten
Erhalten Sie eine personalisierte Führung

Von über 100.000 Teams vertraut

Jetzt buchen
Scannen Sie Ihre App nach IDORs und realen Angriffspfaden

Von über 100.000 Teams vertraut

Scan starten
Erfahren Sie, wie KI-Penetrationstests Ihre App testen

Von über 100.000 Teams vertraut

Testen starten

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.