4min Security

Nieuwe hack corrumpeert langetermijngeheugen Gemini

Nieuwe hack corrumpeert langetermijngeheugen Gemini

Indirecte prompt-injectie is een fundamentele techniek om chatbots kwaadaardige acties uit te laten voeren. Ontwikkelaars van platforms zoals Google’s Gemini en OpenAI’s ChatGPT werken continu aan het dichten van deze beveiligingslekken. Hackers vinden echter telkens nieuwe manieren om ze te omzeilen.  

Ars Technica onthult dat onderzoeker Johann Rehberger een nieuwe methode presenteerde om de prompt-injectie verdedigingen van Gemini te omzeilen. Het gaat hierbij specifiek om de maatregelen die voorkomen dat de chatbot Google Workspace of andere gevoelige tools aanroept bij het verwerken van onbetrouwbare gegevens. Voorbeelden hiervan zijn inkomende e-mails of gedeelde documenten. 

Het resultaat van Rehbergers aanval is de permanente toevoeging van langetermijnherinneringen die in alle toekomstige sessies aanwezig blijven. Dit opent de deur voor de chatbot om voortdurend op basis van valse informatie of instructies te handelen. 

Wat zijn indirecte prompt-injecties?

Prompts binnen LLM’s zijn instructies, gegeven door de chatbotontwikkelaars of de gebruiker, om taken uit te voeren. Voorbeelden zijn het samenvatten van een e-mail. Of het opstellen van een reactie. Maar wat als de inhoud van een bericht een verborgen, kwaadaardige instructie bevat? Chatbots zijn zo gehoorzaam dat ze dergelijke instructies vaak opvolgen, ook al waren ze niet bedoeld als prompt.  

De neiging van AI om overal instructies in te zien, vormt de basis van indirecte prompt-injectie. Het is een van de meest basale technieken in AI-hacking. Ontwikkelaars proberen dit probleem voortdurend op te lossen, maar het blijft een kat-en-muisspel.  

Tijdelijke oplossingen

Aangezien er weinig effectieve methoden zijn om de onderliggende goedgelovigheid van chatbots te verhelpen, gebruiken ontwikkelaars voornamelijk tijdelijke oplossingen. Microsoft heeft bijvoorbeeld nooit onthuld hoe het de Copilot-kwetsbaarheid heeft opgelost en weigerde vragen hierover te beantwoorden. Hoewel de specifieke aanval van Rehberger niet langer werkte, bleef indirecte prompt-injectie een probleem.  

Een andere tactiek van chatbotontwikkelaars is het beperken van brede instructies die kunnen worden geactiveerd door onbetrouwbare gegevens. In het geval van Google lijkt dit beperkingen te omvatten op het aanroepen van apps of gegevens binnen zijn Workspace-suite. 

Delayed tool invocation 

Die beperking bleek echter eenvoudig te omzeilen met een slimme truc, bekend als delayed tool invocation. In plaats van een directe instructie te geven koppelde de onbetrouwbare inhoud de instructie aan een actie van de gebruiker.  

Rehbergers demonstratie richtte zich op Gemini. Zijn proof-of-concept exploit wist de beveiliging te omzeilen en de Workspace-extensie te activeren om gevoelige gegevens in het account van de gebruiker te lokaliseren en in het gesprek te brengen.  

In plaats van dat een onbetrouwbare e-mail direct een instructie injecteerde, werd de opdracht afhankelijk gemaakt van een actie die de gebruiker waarschijnlijk toch zou uitvoeren. 

Exfiltratie van gegevens in deze exploit kon plaatsvinden door de gevoelige informatie in een afbeeldings-markdownlink te plakken die verwees naar een website van de aanvaller. De data werden vervolgens opgeslagen in de eventlog van die site.  

Google beperkte uiteindelijk deze aanvallen door Gemini’s mogelijkheid om markdown-links te renderen te beperken. Maar omdat er geen bekende manier meer was om de gegevens te exfiltreren, heeft Google geen verdere stappen ondernomen om het onderliggende probleem van indirecte prompt-injectie en delayed tool invocation op te lossen.  

Het gevaar van langetermijnherinneringen

Gemini heeft soortgelijke maatregelen genomen tegen automatische wijzigingen in het langetermijngeheugen. Dit geheugen is bedoeld om gebruikers niet telkens dezelfde basisinformatie te laten invoeren, zoals hun werkplek of leeftijd. In plaats daarvan worden deze details opgeslagen en automatisch herinnerd in toekomstige sessies. 

Google en andere chatbotontwikkelaars legden inmiddels beperkingen op aan langetermijnherinneringen nadat Rehberger in september een hack demonstreerde waarbij hij ChatGPT liet geloven dat de gebruiker 102 jaar oud was, in de Matrix woonde en dacht dat de aarde plat was. ChatGPT bewaarde deze onjuiste details permanent en hield er in alle toekomstige sessies rekening mee.  

Nog indrukwekkender was dat hij valse herinneringen plantte waarin ChatGPT voor macOS instructies kreeg om elke gebruikersinput en output naar een externe website te sturen via dezelfde afbeeldings-markdowntechniek. OpenAI’s oplossing was simpelweg een functie toe te voegen die het exfiltratiekanaal blokkeerde. Dit paste het fundamentele probleem van misleiding echter niet aan.  

De hack van Rehberger

De hack die Rehberger presenteerde, combineert verschillende van deze technieken om valse herinneringen te laten nestelen in Gemini Advanced. Dit is de premiumversie van Google’s chatbot die via een betaald abonnement beschikbaar is. De aanval verloopt zo: 

1. Een gebruiker uploadt een document en vraagt Gemini om een samenvatting te maken.
2. Het document bevat verborgen instructies die het samenvattingsproces manipuleren. 
3. De gegenereerde samenvatting bevat een verborgen verzoek om specifieke gegevens op te slaan als de gebruiker bepaalde triggerwoorden gebruikt. 
4. Als de gebruiker een van de triggerwoorden antwoordt, wordt Gemini misleid en slaat het de door de aanvaller gekozen informatie op in het langetermijngeheugen.