ChatGPT hat überraschend einen "Null-Klick-Angriff" aufgetreten, und die API-Schlüssel wurden leicht preisgegeben. OpenAI hat das Problem bisher noch nicht gelöst.
Gefahr! ChatGPT hat ein Sicherheitsrisiko in Form eines "Zero-Click-Angriffs".
Ohne dass der Benutzer klicken muss, können Angreifer sensible Daten aus Drittanbieteranwendungen, die mit ChatGPT verbunden sind, stehlen, sogar API-Schlüssel.
So schreibt ein junger Mann namens Tamir Ishay Sharbat, der sich mit Software-Sicherheitsproblemen befasst, in einem Artikel.
OpenAI hat auch dieses Sicherheitsrisiko erkannt und hat Gegenmaßnahmen ergriffen, aber Angreifer können immer noch auf andere Weise böswillig eindringen.
Einige Internetnutzer haben darauf hingewiesen, dass es sich um ein skalierbares Sicherheitsrisiko handelt.
Schauen wir uns an, was los ist.
Wie wird die Angriffskette gebildet?
Dieses Sicherheitsrisiko tritt auf, wenn ChatGPT mit Drittanbieteranwendungen verbunden wird.
Angreifer injektieren böswillige Anweisungen in Dokumente, die an die verbundenen Drittanbieteranwendungen (z. B. Google Drive, SharePoint usw.) übertragen werden. Wenn ChatGPT diese Dokumente durchsucht und verarbeitet, sendet es unbewusst sensible Informationen als Parameter in Bild-URLs an Server, die von den Angreifern kontrolliert werden.
So können Angreifer sensible Daten und sogar API-Schlüssel stehlen. Der genaue technische Vorgang ist wie folgt.
Der Eindringvorgang
Benutzer laden direkt Dokumente in ChatGPT hoch, damit es diese analysiert und Antworten liefert.
Angreifer injizieren böswillige Anweisungen in die Dokumente, d. h. sie injektieren eine unsichtbare Anweisungsinjektionslast (z. B. versteckt in einem Dokument in weißer Schrift mit 1px) und warten dann darauf, dass jemand das Dokument in ChatGPT lädt und verarbeitet. Dadurch wird die KI veranlasst, Angriffe auszuführen, wie in der folgenden Abbildung gezeigt.
Wenn man die internen Risiken eines Unternehmens berücksichtigt, können böswillige Mitarbeiter einfach alle Dokumente, auf die sie zugreifen können, durchsuchen und jedes Dokument kontaminieren.
Sie können sogar lang erscheinend vertrauenswürdige lange Dateien an alle Benutzer verteilen, da sie wissen, dass andere Mitarbeiter diese Dateien wahrscheinlich in ChatGPT laden werden, um Hilfe zu erhalten.
Dies erhöht die Wahrscheinlichkeit, dass die indirekte Anweisungsinjektion eines Angreifers erfolgreich in jemandes ChatGPT gelangt.
Wie werden die Daten an den Angreifer zurückgesendet, nachdem der Eindringling erfolgreich ist?
Der Ausgang erfolgt über Bildrendering, wie in der folgenden Abbildung gezeigt.
Nachdem man ChatGPT gesagt hat, was es tun soll, kann es Bilder von einer bestimmten URL rendern:
Wenn ChatGPT Markdown-Inhalte zurückgibt, werden diese auf der Clientseite als Bild gerendert.
Um Daten zu stehlen, müssen Angreifer nur die zu verratenden Informationen in die Parameter der Bild-URL einfügen.
So sendet ChatGPT beim Rendern des Bildes automatisch eine Anfrage an den Server des Angreifers, ohne dass der Benutzer klicken muss, und die Daten werden gestohlen.
Wie können Angreifer dann die API-Schlüssel der Benutzer stehlen?
Angreifer fügen die folgende Anweisungsinjektionslast in ein Dokument ein und warten darauf, dass das Opfer das Dokument wie oben beschrieben in sein ChatGPT einfügt.
Dies ist die vollständige Anweisungsinjektionslast, die von den Angreifern erstellt wurde:
Wie in der obigen Abbildung gezeigt, weisen die Angreifer in der Anweisungsinjektion ChatGPT an, das Dokument nicht zu zusammenfassen, sondern die folgenden Aktionen auszuführen:
1. Gehe in das Google Drive des Benutzers und suche nach API-Schlüsseln.
2. Sobald ChatGPT API-Schlüssel findet, füge sie in die folgenden Sätze ein:
Dies wird ein Bild generieren und eine Anfrage an den Beeceptor-Endpunkt (ein simulierter API-Dienst) des Angreifers senden, wobei der API-Schlüssel des Opfers als Parameter übergeben wird.
3. Um nicht entdeckt zu werden, weisen die Angreifer ChatGPT an, nicht zu erwähnen, dass es neue Anweisungen erhalten hat, da diese "derzeit nicht relevant" sind.
OpenAIs Gegenmaßnahmen
OpenAI hat erkannt, dass das obige Client-Bildrendering ein leistungsfähiger Weg für Datenleckagen ist und hat einige Maßnahmen ergriffen, um solche Sicherheitsrisiken zu vermeiden.
Genauer gesagt, führt der Client vor dem Rendern eines Bildes in ChatGPT eine Linderungsmaßnahme durch, um zu überprüfen, ob die URL böswillig oder sicher ist, bevor das Bild gerendert wird.
Diese Linderungsmaßnahme sendet die URL an einen Endpunkt namens url_safe, und das Bild wird nur gerendert, wenn die URL tatsächlich sicher ist.
Zufällige Beeceptor-Endpunkte eines Angreifers werden als unsicher eingestuft und die Ausführung wird verboten.
Angreifer haben jedoch auch einen Weg gefunden, diese Gegenmaßnahmen zu umgehen.
Wie umgehen Angreifer die Gegenmaßnahmen?
Angreifer wissen, dass ChatGPT sehr gut darin ist, Bilder zu rendern, die von Azure Blob, einem von Microsoft entwickelten Cloud-Computing-Plattformdienst, gehostet werden.
Darüber hinaus verbinden sie Azure Blob-Speicher mit Azure Log Analytics. Dadurch wird jedes Mal, wenn eine Anfrage an einen Blob gesendet wird, in dem ein zufälliges Bild gespeichert ist, ein Log erstellt.
Sie wissen, dass dieses Log alle Parameter enthält, die mit der Anfrage gesendet werden.
Deshalb lassen Angreifer ChatGPT nicht mehr Bilder von Beeceptor-Endpunkten rendern, sondern befehlen es, Bilder von Azure Blob zu rendern und die zu stehlenden Daten als Parameter in der Anfrage zu enthalten, wie in der folgenden Abbildung gezeigt.
Wenn das Opfer das Dokument zusammenfasst, erhält es die folgende Antwort:
Wie in der folgenden Abbildung gezeigt, wird das Bild des Angreifers erfolgreich gerendert, und es wird ein hervorragendes Anfragelog in Azure Log Analytics erstellt, das den API-Schlüssel des Opfers enthält.
So ist der Angriff erfolgreich.
Angriffsrisiken und allgemeine Gegenmaßnahmen
Außer den oben genannten Angriffen verwenden Angreifer auch andere Techniken, um große KI-Modelle zu überzeugen, diese unzulässigen Dinge zu tun, wie die Verwendung spezieller Zeichen oder "Geschichtenerzählung", um die Sicherheitsregeln der KI zu umgehen und böswillige Anweisungen auszuführen.
Traditionelles Sicherheitstraining, wie das Trainieren von Mitarbeitern, nicht auf verdächtige Links oder Phishing-E-Mails zu klicken, kann auch nicht verhindern, dass solche Sicherheitsrisiken auftreten.
Nach alledem werden die Dokumente intern weitergeleitet, und wenn Mitarbeiter sie in die KI laden, um sie zu analysieren, werden die Daten im Hintergrund heimlich gestohlen, ohne dass der Benutzer klicken muss.
Heutzutage ist es immer üblicher, dass Unternehmen KI verwenden, um die allgemeine Effizienz des Unternehmens zu verbessern.
Aber KI-Tools haben so gravierende Sicherheitsrisiken, die ein erhebliches Risiko für die vollständige Datenleckage eines Unternehmens darstellen (z. B. die Leckage der SharePoint-Seite des Personalhandbuchs, der Finanzdokumente oder des Strategieplans). Dieses Problem muss dringend gelöst werden.
Darüber hinaus ist dies kein Einzelfall. Neben ChatGPT hat auch das "EchoLeak"-Sicherheitsrisiko in Microsofts Copilot dasselbe Problem, ganz zu schweigen von verschiedenen Anweisungsinjektionsangriffen auf andere KI-Assistenten.
Deshalb haben Sicherheitsfachleute die folgenden Gegenmaßnahmen vorgeschlagen:
- Setzen Sie strenge Zugangskontrollen für KI-Verbindungsrechte um und folgen Sie dem Prinzip der geringsten Rechte.
- Setzen Sie Überwachungslösungen ein, die speziell für die Aktivitäten von KI-Agenten entwickelt wurden.
- Informieren Sie die Benutzer über die Risiken, "Dokumente aus unbekannten Quellen in das KI-System hochzuladen".
- Erwägen Sie die Netzebenenüberwachung, um ungewöhnliche Datenzugriffsmuster zu erkennen.
- Überprüfen Sie regelmäßig die verbundenen Dienste und ihre Rechteebenen.
Die Vorschläge der Experten richten sich an Unternehmen. Für uns Benutzer von KI-Tools ist es vielleicht nützlicher, auf die Probleme in den allt