„ChatGPT Tainted Memories“: LayerX entdeckt die erste Sicherheitslücke im OpenAI Atlas Browser, die das Einschleusen bösartiger Anweisungen in ChatGPT ermöglicht

 

LayerX entdeckte die erste Sicherheitslücke im neuen ChatGPT Atlas-Browser von OpenAI. Diese ermöglicht es Angreifern, schädliche Anweisungen in den ChatGPT-Speicher einzuschleusen und Remote-Code auszuführen. Dieser Exploit ermöglicht es Angreifern, Systeme mit Schadcode zu infizieren, sich selbst Zugriffsrechte zu verschaffen oder Malware zu verbreiten.

Die Sicherheitslücke betrifft ChatGPT-Nutzer in jedem Browser, ist aber besonders gefährlich für Nutzer des neuen Agenten-Browsers von OpenAI: ChatGPT Atlas. LayerX hat festgestellt, dass Atlas derzeit keinen sinnvollen Phishing-Schutz bietet. Das bedeutet, dass Nutzer dieses Browsers bis zu 90 % anfälliger für Phishing-Angriffe sind als Nutzer herkömmlicher Browser wie Chrome oder Edge.

Der Exploit wurde OpenAI im Rahmen der Verfahren zur verantwortungsvollen Offenlegung gemeldet. Im Folgenden finden Sie eine Zusammenfassung. Dabei werden technische Informationen zurückgehalten, die es Angreifern ermöglichen würden, diesen Angriff zu replizieren.

TL/DR: So funktioniert der Exploit:

LayerX entdeckte, wie Angreifer eine Cross-Site Request Forgery (CSRF)-Anfrage nutzen können, um die ChatGPT-Zugangsdaten des Opfers zu nutzen und schädliche Anweisungen in den ChatGPT-Speicher einzuschleusen. Versucht der Benutzer dann, ChatGPT für legitime Zwecke zu verwenden, werden die manipulierten Speicher aufgerufen und können Remotecode ausführen, der es dem Angreifer ermöglicht, die Kontrolle über das Benutzerkonto, den Browser, den von ihm geschriebenen Code oder die Systeme zu erlangen, auf die er Zugriff hat.

Obwohl diese Sicherheitslücke ChatGPT-Benutzer in jedem Browser betrifft, ist sie für Benutzer des ChatGPT Atlas-Browsers besonders gefährlich, da diese standardmäßig bei ChatGPT angemeldet sind und LayerX-Tests zeigen, dass der Atlas-Browser bis zu 90 % stärker Phishing-Angriffen ausgesetzt ist als Chrome und Edge.

Eine Schritt-für-Schritt-Erklärung:

  1. Zunächst ist der Benutzer bei ChatGPT angemeldet und verfügt über ein Authentifizierungscookie oder -token in seinem Browser.
  2. Der Benutzer klickt auf einen schädlichen Link, der ihn zu einer kompromittierten Webseite führt.
  3. Die bösartige Seite ruft eine Cross-Site Request Forgery (CSRF)-Anfrage auf, um die bereits vorhandene Authentifizierung des Benutzers bei ChatGPT auszunutzen.
  4. Der CSRF-Exploit fügt ohne Wissen des Benutzers versteckte Anweisungen in den Speicher von ChatGPT ein und „verunreinigt“ dadurch den LLM-Kernspeicher.
  5. Wenn der Benutzer das nächste Mal ChatGPT abfragt, werden die beschädigten Speicher aufgerufen, wodurch die Bereitstellung von Schadcode ermöglicht wird, der Angreifern die Kontrolle über Systeme oder Code geben kann.

Verwenden von Cross-Site Request Forgery (CSRF) zum Zugriff auf LLMs:

Bei einem Cross-Site-Request-Forgery-Angriff (CSRF) bringt ein Angreifer den Browser eines Benutzers dazu, eine unbeabsichtigte, statusändernde Anfrage an eine Website zu senden, bei der der Benutzer bereits authentifiziert ist. Dadurch führt die Website ohne dessen Zustimmung Aktionen als dieser Benutzer aus. 

Der Angriff erfolgt, wenn sich ein Opfer bei einer Zielseite anmeldet, deren Browser Sitzungscookies speichert. Das Opfer besucht eine schädliche Seite oder wird dorthin umgeleitet, die eine manipulierte Anfrage (über ein Formular, ein Bild-Tag, einen Link oder ein Skript) an die Zielseite sendet. Der Browser übernimmt automatisch die Anmeldeinformationen des Opfers (Cookies, Authentifizierungsheader), sodass die Zielseite die Anfrage so verarbeitet, als hätte sie der Benutzer initiiert.

In den meisten Fällen zielt ein CSRF-Angriff auf Aktivitäten ab, wie etwa das Ändern der E-Mail-Adresse/des Passworts eines Kontos, das Einleiten von Geldtransfers oder das Tätigen von Einkäufen während der Sitzung des Benutzers.

Bei KI-Systemen hingegen können Angreifer mithilfe eines CSRF-Angriffs auf KI-Systeme zugreifen, bei denen der Benutzer angemeldet ist, diese abfragen oder Anweisungen einschleusen.

Infizieren des Kernspeichers von ChatGPT

Das „Gedächtnis“ von ChatGPT ermöglicht es ChatGPT, nützliche Details zu Benutzeranfragen, Chats und Aktivitäten wie Präferenzen, Einschränkungen, Projekte, Stilhinweise usw. zu speichern und diese in zukünftigen Chats wiederzuverwenden, sodass Benutzer sich nicht wiederholen müssen. Tatsächlich fungiert es als Hintergrundgedächtnis oder Unterbewusstsein des LLM.

Sobald Angreifer über die CSRF-Anfrage Zugriff auf das ChatGPT des Benutzers haben, können sie es verwenden, um versteckte Anweisungen in ChatGPT einzuschleusen, die sich auf zukünftige Chats auswirken. 

Sobald die richtigen Anweisungen im Speicher von ChatGP gespeichert sind, ist ChatGPT wie das Unterbewusstsein eines Menschen gezwungen, diese Anweisungen auszuführen und wird so effektiv zu einem böswilligen Mitverschwörer.

Sobald der Arbeitsspeicher eines Benutzerkontos infiziert ist, bleibt diese Infektion auf allen Geräten bestehen, auf denen das Konto genutzt wird – sowohl auf privaten als auch auf geschäftlichen Computern und in verschiedenen Browsern, unabhängig davon, ob der Benutzer Chrome, Atlas oder einen anderen Browser verwendet. Dadurch wird der Angriff extrem hartnäckig und ist besonders gefährlich für Benutzer, die dasselbe Konto sowohl beruflich als auch privat nutzen.

ChatGPT Atlas-Benutzer sind bis zu 90 % stärker gefährdet als andere Browser

Diese Sicherheitslücke kann zwar gegen ChatGPT-Benutzer in jedem Browser ausgenutzt werden, Benutzer des ChatGPT-Browsers von OpenAI sind jedoch besonders gefährdet. Dies hat zwei Gründe:

  1. Wenn Sie Atlas verwenden, sind Sie standardmäßig bei ChatGPT angemeldet. Das bedeutet, dass die ChatGPT-Anmeldeinformationen immer im Browser gespeichert werden und dort von bösartigen CSRF-Anfragen angegriffen werden können.
  2. ChatGPT Atlas ist besonders schlecht darin, Phishing-Angriffe zu stoppen. Das bedeutet, dass Benutzer von Atlas stärker gefährdet sind als Benutzer anderer Browser.

LayerX hat Atlas auf über 100 tatsächlich vorhandene Web-Schwachstellen und Phishing-Angriffe getestet. LayerX hat zuvor den gleichen Test mit anderen KI-Browsern durchgeführt wie Comet, Dia und Genspark. Die Ergebnisse waren, gelinde gesagt, wenig inspirierend:

Während herkömmliche Browser wie Edge und Chrome in den vorherigen Tests mithilfe ihrer sofort einsatzbereiten Schutzmechanismen etwa 50 % der Phishing-Angriffe stoppen konnten, waren es bei Comet und Genspark nur 7 % (Dia erzielte ähnliche Ergebnisse wie Chrome).

Derselbe Test mit Atlas zeigte noch deutlichere Ergebnisse: 

Von den 103 von LayerX getesteten Angriffen in freier Wildbahn ließ ChatGPT Atlas 97 durch, was einer unglaublichen Fehlerquote von 94.2 % entspricht. 

Im Vergleich zu Edge (das im LayerX-Test 53 % der Angriffe stoppte) und Chrome (das 47 % der Angriffe stoppte), ChatGPT Atlas konnte nur 5.8 % der bösartigen Webseiten erfolgreich stoppen. Das bedeutet, dass Benutzer von Atlas im Vergleich zu Benutzern anderer Browser fast 90 % anfälliger für Phishing-Angriffe waren.

Dies bedeutet, dass nicht nur Benutzer von ChatGPT Atlas anfällig für bösartige Angriffsvektoren sind, die zur Einschleusung bösartiger Anweisungen in ihre ChatGPT-Konten führen können, sondern Da Atlas keinen sinnvollen Phishing-Schutz bietet, besteht für Atlas-Benutzer ein höheres Risiko einer Gefährdung.

Proof of Concept: Einfügen von Schadcode in die „Vibe“-Codierung 

Unten sehen Sie eine Illustration eines Angriffsvektors, der diese Sicherheitsanfälligkeit bei einem Atlas-Browser-Benutzer ausnutzt, der Vibe-Codierung durchführt:

„Vibe Coding“ ist ein kollaborativer Stil, bei dem der Entwickler die KI als kreativen Partner und nicht als zeilenweise ausführenden Mitarbeiter behandelt. Anstatt eine genaue Syntax vorzuschreiben, teilt der Entwickler die Absicht und das Gefühl des Projekts (z. B. Architekturziele, Ton, Zielgruppe, ästhetische Vorlieben usw.) sowie andere nicht-funktionale Anforderungen mit.

ChatGPT verwendet dann dieses ganzheitliche Briefing, um Code zu erstellen, der funktioniert als auch entspricht dem gewünschten Stil und verringert so die Lücke zwischen Ideen auf hoher Ebene und Implementierung auf niedriger Ebene. Die Rolle des Entwicklers verschiebt sich vom manuellen Codieren zur Steuerung und Verfeinerung der Interpretation der KI.

Genau diese Flexibilität kann jedoch auch missbraucht werden. Ein Angreifer könnte einen KI-Assistenten dazu bringen, Code zu generieren, der wie eine harmlose Funktion oder eine schnelle Lösung aussieht, aber heimlich Hintertüren, verdeckte Datenexfiltration oder andere Manipulationen einschließt.

In diesem Fall erscheint beispielsweise aus der Sicht des Benutzers nichts Ungewöhnliches, aber wenn er ChatGPT bittet, Code zu schreiben, kann der Assistent der Anfrage folgen als auch Anweisungen einschleusen, die vom Angreifer gesteuert werden. Das generierte Skript könnte beispielsweise Remotecode (z. B. von einem feindlichen Server) abrufen und versuchen, ihn mit erhöhten Rechten auszuführen.

Zur Veranschaulichung: In diesem Fall fügte der Chat basierend auf den bösartigen Anweisungen Remote-Code zu diesem Skript hinzu, den der Benutzer unwissentlich von server.rapture auf seinen Computer herunterlädt:

ChatGPT bietet zwar einige Abwehrmechanismen gegen bösartige Anweisungen, die Wirksamkeit kann jedoch je nach Raffinesse des Angriffs und der Art und Weise, wie das unerwünschte Verhalten in den Speicher gelangt ist, variieren. 

In manchen Fällen wird dem Benutzer eine leichte Warnung angezeigt; in anderen wird der Versuch möglicherweise blockiert. Durch geschickte Maskierung kann der Code jedoch der Erkennung vollständig entgehen. Dies ist beispielsweise die subtile Warnung, die dieses Skript erhalten hat. Es handelt sich höchstens um eine Randbemerkung, die im Text leicht übersehen werden kann: