2 Punkte von GN⁺ 2025-03-29 | 1 Kommentare | Auf WhatsApp teilen
  • Google veranstaltet zur Stärkung der AI-Sicherheit im Vorfeld ein bugSWAT-Event im Stil von Red Teaming und gibt Forschern die Möglichkeit, die eigenen AI-Systeme gründlich zu testen
  • Das Team, das 2023 50.000 US-Dollar gewann, entdeckte diesmal erneut eine neue Schwachstelle in Gemini und erhielt den Titel Most Valuable Hacker (MVH)
  • Das Hacker-Team bekam von Google Zugriff auf neue Preview-Funktionen von Gemini sowie Dokumentation und testete die Funktionen aus Sicherheitsperspektive
    • Bei der Anfrage nach Python-Code mit einem einfachen Prompt wurde ein Button „Run in Sandbox“ angezeigt
    • Die Sandbox-Umgebung von Gemini ist eine sichere Python-Ausführungsumgebung auf Basis von Googles gVisor und GRTE
  • gVisor ist ein von Google entwickelter Userspace-Kernel, der Systemaufrufe abfängt und so die Sicherheit erhöht
    • Die Sandbox-Umgebung ist vollständig isoliert, ein Ausbruch ist sehr schwierig
    • Innerhalb der Sandbox kann es jedoch Fälle geben, in denen Daten exfiltriert werden können
  • Es wurde festgestellt, dass die Sandbox die Bibliothek os bereitstellt, woraufhin Python-Code geschrieben wurde, um das Dateisystem zu durchsuchen
    • Dabei wurde eine 579 MB große Binärdatei unter /usr/bin/entry/entry_point gefunden
  • Wenn die Binärdatei direkt als base64 ausgegeben wird, stürzt die Sandbox ab, daher wurde sie in 10-MB-Blöcke aufgeteilt und ausgegeben
    • Mit einem Tool namens Caido wurden alle Blöcke automatisiert gesammelt und lokal wieder zusammengesetzt
    • Die Analyse mit den Befehlen file, strings und binwalk legte die interne Struktur und interne Google-Pfade offen
  • Durch die Analyse mit binwalk wurde ein Verzeichnis google3 entdeckt, das internen Python-Quellcode enthielt
    • Im Verzeichnis assistant befand sich RPC-bezogener Code, über den Gemini mit Google-Diensten wie YouTube und Flights interagiert
    • Es waren Zeichenfolgen enthalten, die das Dumpen bestimmter Skripte verhindern sollten, doch Googles Sicherheitsteam prüfte den Code vorab und entschied, dass eine Offenlegung möglich sei

Analyse der Hauptlogik der Sandbox

  • Aufrufe an Google-Dienste sind in bestimmten Klassen implementiert, die in Python geschrieben sind
    • Beispiele: _set_reader_and_writer, run_tool usw. kommunizieren über Dateideskriptoren mit Google-Diensten
    • Innerhalb der Binärdatei können Nachrichten direkt auf Basis von Protobuf-Schemata aufgebaut und Tool-Aufrufe durchgeführt werden
  • Auf Grundlage des ReAct-Papers hat Google Gemini so implementiert, dass es zur Lösung komplexer Probleme selbst mehrfach Prompts erzeugt und Pläne erstellt
    • Beispiel: Wenn ein Nutzer fragt „Toronto → New York Flugzeiten?“, wählt Gemini in mehreren Schritten Tools aus und ruft Daten ab
    • Diese Logik wurde für Prompt Injection missbraucht, um die Erstellung einer Sandbox mit höheren Rechten zu versuchen
  • Einige Sandboxes können auf Googles Erweiterungsfunktionen wie RPC-APIs zugreifen
    • Die Erweiterungsfunktionen werden über stets offene FDs aufgerufen; deren Missbrauch könnte einen Zugriff auf Systeme auf höherem Niveau ermöglichen
    • Es wurde bestätigt, dass unter bestimmten Bedingungen, etwa wenn Gemini in die Planungsphase eintritt, Zugriff auf fortgeschrittene Sandboxes möglich ist

Exfiltration sensibler Proto-Dateien

  • Protocol Buffer-Dateien (proto) werden zur Definition von Daten zwischen Systemen verwendet und enthalten sensible Informationen über Systemstrukturen
    • Nach Ausführung von strings entry_point > stringsoutput.txt wurden durch die Suche nach der Zeichenfolge „Dogfood“ zahlreiche sensible Proto-Pfade offengelegt
    • Beispiel: privacy/data_governance/attributes/proto/classification.proto → eine Datei, die definiert, wie Google Nutzerdaten klassifiziert
  • Mit dem Befehl cat stringsoutput.txt | grep '.proto' | grep 'security' wurde eine Liste zahlreicher sensibler sicherheitsbezogener Proto-Dateien offengelegt
    • Beispiele: security/thinmint/proto/core/thinmint_core.proto, security/credentials/proto/authenticator.proto usw.

Warum waren solche Dateien vorhanden?

  • Googles Sicherheitsteam hatte die in der Sandbox-Binärdatei enthaltenen Inhalte im Vorfeld freigegeben, doch eine automatisierte Build-Pipeline fügte unnötige Security-Proto-Dateien hinzu
  • Dadurch wurden hochsensible interne Definitionsdateien nach außen offengelegt
  • Die Hacker stuften dies als Schwachstelle ein, da diese Dateien nach Googles eigenen Maßstäben als sensible Informationen gelten

Fazit und Rückblick

  • In AI-Systemen interagieren zahllose Komponenten, weshalb häufig unerwartete Sicherheitsprobleme auftreten
  • Selbst eine einzelne Sandbox kann mit internen Tools kommunizieren und ihre Berechtigungen können sich dynamisch ändern, weshalb präzise Tests erforderlich sind
  • Die Zusammenarbeit mit Googles Sicherheitsteam war hilfreich, und die gesamte Erfahrung war ein anspruchsvolles und zugleich spannendes Abenteuer

1 Kommentare

 
GN⁺ 2025-03-29
Hacker-News-Kommentare
  • Ich arbeite an dem System. Fragt mich jederzeit, wenn ihr Fragen habt. Alle Aussagen sind meine persönlichen und spiegeln nicht die meines Arbeitgebers wider.
  • Toller Artikel. Es ist keine große Schwachstelle, aber daran, dass Google das ernst nimmt, sieht man ein hohes Sicherheitsbewusstsein.
    • Es könnte auch deshalb ernst genommen werden, weil erwähnt wurde, dass eine bestimmte Unternehmensrichtlinie dies als streng vertraulich einstuft; daher wirkt es eher wie etwas, das „technisch als Schwachstelle gilt“, als wie eine eindeutige Schwachstelle.
  • Ich nutze eine ähnliche Methode, um den internen Source Code des ChatGPT Code Interpreter aus einem GitHub-Repository zu scrapen.
    • Vor allem ist das nützlich, um nachzuverfolgen, welche Python-Pakete verfügbar sind (und in welchen Versionen).
  • Wenn es streng vertraulich wäre, wäre vermutlich nicht alles auf GitHub hochgeladen.
  • Die Definition von Hacking wird immer lockerer. Die Sandbox erfüllt ihre Aufgabe, und es wurden keine sensiblen Informationen offengelegt.
  • Den eingebauten Befehl strings auszuführen, um ein paar Dateinamen aus einem Binärfile zu extrahieren, lässt sich kaum als Hacking/Cracking bezeichnen.
    • Ironischerweise ist es vielleicht gar nicht besonders wertvoll, an den Source Code von Gemini zu kommen. Interessanter wäre es gewesen, wenn man den Korpus gefunden oder darauf zugegriffen hätte, auf dem das Modell vortrainiert wurde.
  • Interessant ist, dass das zeigt, wie sicher Google ist. Die meisten Unternehmen würden das vermutlich nicht so gut hinbekommen.
  • Ich hatte auf einen Leak gehofft, aber es ist trotzdem eine coole Entdeckung und Analyse.
    • Mir ist erst kürzlich klar geworden, wie wichtig Probleme wie Prompt Injection bei LLMs sind.
    • Ich interessiere mich vor allem für persönliche LLMs und habe solche Probleme daher nicht so wichtig genommen. Aber seit Operator und Deep Research erschienen sind, verstehe ich es.
    • Ein persönlicher KI-Agent kann anfällig für Prompt Injection durch Dritte sein, wenn er Inhalte im Internet liest oder Bilder betrachtet.
    • Es ist interessant, sich eine Zukunft vorzustellen, in der persönliche KI falsche Informationen aus dem Internet liest und gehackt wird.
  • Ein sehr interessanter Artikel.
    • Es geht um Dateien zu internen Kategorien, mit denen Google Nutzerdaten klassifiziert.
    • Ich würde gern wissen, um welche Arten von Klassifizierung es geht. Zum Beispiel so etwas wie „hat Autismus“ oder eher „das ist die Telefonnummer des Nutzers“.
  • Die Sandbox wurde gehackt, aber es ist nichts geleakt. Der Artikel ist unterhaltsam.