"ChatGPT-beskadiga minnen:" LayerX upptäcker den första sårbarheten i OpenAI Atlas-webbläsaren, vilket möjliggör injicering av skadliga instruktioner i ChatGPT

 

LayerX upptäckte den första sårbarheten som påverkade OpenAI:s nya webbläsare ChatGPT Atlas, vilket gjorde det möjligt för angripare att injicera skadliga instruktioner i ChatGPT:s "minne" och exekvera fjärrkod. Denna sårbarhet kan göra det möjligt för angripare att infektera system med skadlig kod, ge sig själva åtkomstbehörigheter eller distribuera skadlig kod.

Sårbarheten drabbar ChatGPT-användare i alla webbläsare, men den är särskilt farlig för användare av OpenAI:s nya agentiska webbläsare: ChatGPT Atlas. LayerX har upptäckt att Atlas för närvarande inte inkluderar några meningsfulla skydd mot nätfiske, vilket innebär att användare av denna webbläsare är upp till 90 % mer sårbara för nätfiskeattacker än användare av traditionella webbläsare som Chrome eller Edge.

Attacken har rapporterats till OpenAI enligt rutiner för ansvarsfullt avslöjande, och en sammanfattning finns nedan, men teknisk information som gör det möjligt för angripare att replikera attacken undanhålls.

TL/DR: Hur utnyttjandet fungerar:

LayerX upptäckte hur angripare kan använda en Cross-Site Request Forgery (CSRF)-förfrågan för att "piggybacka" offrets ChatGPT-åtkomstuppgifter, för att injicera skadliga instruktioner i ChatGPT:s minne. När användaren sedan försöker använda ChatGPT för legitima ändamål, anropas de förorenade minnena och kan exekvera fjärrkod som gör det möjligt för angriparen att få kontroll över användarkontot, deras webbläsare, kod de skriver eller system de har åtkomst till.

Även om denna sårbarhet påverkar ChatGPT-användare i alla webbläsare, är den särskilt farlig för användare av ChatGPT Atlas-webbläsaren, eftersom de som standard är inloggade på ChatGPT, och eftersom LayerX-tester visar att Atlas-webbläsaren är upp till 90 % mer utsatt än Chrome och Edge för nätfiskeattacker.

En steg-för-steg-förklaring:

  1. Ursprungligen är användaren inloggad på ChatGPT och har en autentiseringscookie eller token i sin webbläsare.
  2. Användaren klickar på en skadlig länk, vilket leder dem till en komprometterad webbsida.
  3. Den skadliga sidan anropar en Cross-Site Request Forgery (CSRF)-begäran för att utnyttja användarens befintliga autentisering i ChatGPT.
  4. CSRF-angreppet injicerar dolda instruktioner i ChatGPT:s minne, utan användarens vetskap, och "förorenar" därmed det centrala LLM-minnet.
  5. Nästa gång användaren frågar ChatGPT anropas de förorenade minnena, vilket möjliggör distribution av skadlig kod som kan ge angripare kontroll över system eller kod.

Använda Cross-Site Request Forgery (CSRF) för att komma åt LLM:er:

En CSRF-attack (cross-site request forgery) är när en angripare lurar en användares webbläsare att skicka en oavsiktlig, tillståndsförändrande begäran till en webbplats där användaren redan är autentiserad, vilket gör att webbplatsen utför åtgärder som den användaren utan deras samtycke. 

Attacken inträffar när ett offer är inloggat på en målwebbplats som har sessionscookies lagrade i webbläsaren. Offret besöker eller omdirigeras till en skadlig sida som utfärdar en specialskriven begäran (via ett formulär, en bildtagg, en länk eller ett skript) till målwebbplatsen. Webbläsaren inkluderar automatiskt offrets inloggningsuppgifter (cookies, autentiseringsrubriker), så målwebbplatsen behandlar begäran som om användaren initierat den.

I de flesta fall riktas effekten av en CSRF-attack mot aktiviteter som att ändra kontots e-postadress/lösenord, initiera pengaöverföringar eller göra köp under användarens session.

Men när det gäller AI-system kan angripare med hjälp av en CSRF-attack få tillgång till AI-system som användaren är inloggad på, fråga dem eller injicera instruktioner i dem.

Infektera ChatGPT:s kärnminne

ChatGPTs "minne" gör att ChatGPT kan komma ihåg användbara detaljer om användares frågor, chattar och aktiviteter, såsom preferenser, begränsningar, projekt, stilanteckningar etc., och återanvända dem i framtida chattar så att användare inte behöver upprepa sig. I själva verket fungerar de som LLM:ens bakgrundsminne eller undermedvetna.

När angripare har tillgång till användarens ChatGPT via CSRF-begäran kan de använda den för att injicera dolda instruktioner till ChatGPT, vilket kommer att påverka framtida chattar. 

Precis som en persons undermedvetna, när rätt instruktioner lagras i ChatGP:s minne, kommer ChatGPT att tvingas utföra dessa instruktioner och i praktiken bli en illvillig medsammansvärjare.

Dessutom, när ett kontos minne har infekterats, är infektionen persistent på alla enheter som kontot används på – på hem- och arbetsdatorer och i olika webbläsare – oavsett om en användare använder dem i Chrome, Atlas eller någon annan webbläsare. Detta gör attacken extremt "sticky" och är särskilt farlig för användare som använder samma konto för både arbete och privat bruk.

ChatGPT Atlas-användare upp till 90 % mer exponerade än andra webbläsare

Även om denna sårbarhet kan användas mot ChatGPT-användare i vilken webbläsare som helst, är användare av OpenAI:s ChatGPT-webbläsare särskilt sårbara. Detta av två skäl:

  1. När du använder Atlas är du som standard inloggad på ChatGPT. Det betyder att ChatGPT-inloggningsuppgifter alltid lagras i webbläsaren, där de kan bli måltavlor för skadliga CSRF-förfrågningar.
  2. ChatGPT Atlas är särskilt dålig på att stoppa nätfiskeattacker. Det betyder att användare av Atlas är mer utsatta än användare av andra webbläsare.

LayerX testade Atlas mot över 100 befintliga webbsårbarheter och nätfiskeattacker. LayerX har tidigare genomfört samma test mot andra AI-webbläsare såsom Comet, Dia och Genspark. Resultaten var minst sagt oinspirerande:

I tidigare tester, medan traditionella webbläsare som Edge och Chrome kunde stoppa cirka 50 % av nätfiskeattackerna med sina färdiga skydd, stoppade Comet och Genspark endast 7 % (Dia genererade resultat som liknar Chromes).

Att köra samma test mot Atlas visade ännu mer tydliga resultat: 

Av 103 faktiska attacker som LayerX testade, tillät ChatGPT Atlas 97 att passera, vilket motsvarar en felfrekvens på hela 94.2 %. 

Jämfört med Edge (som stoppade 53 % av attackerna i LayerX test) och Chrome (som stoppade 47 % av attackerna), ChatGPT Atlas lyckades endast stoppa 5.8 % av skadliga webbsidor, vilket innebär att användare av Atlas var nästan 90 % mer sårbara för nätfiskeattacker jämfört med användare av andra webbläsare.

Implikationen är att inte bara användare av ChatGPT Atlas är mottagliga för skadliga attackvektorer som kan leda till att skadliga instruktioner injiceras i deras ChatGPT-konton, utan Eftersom Atlas inte inkluderar något meningsfullt skydd mot nätfiske, löper Atlas-användare en större risk att bli utsatta.

Bevis på koncept: Injicera skadlig kod för att "vibe"-koda 

Nedan visas en illustration av en attackvektor som utnyttjar denna sårbarhet, på en Atlas-webbläsaranvändare som använder Vibe-kodning:

”Vibe-kodning” är en samarbetsstil där utvecklaren behandlar AI:n som en kreativ partner snarare än en rad-för-rad-exekutor. Istället för att föreskriva exakt syntax delar utvecklaren projektets avsikt och känsla (t.ex. arkitekturmål, ton, målgrupp, estetiska preferenser etc.) och andra icke-funktionella krav.

ChatGPT använder sedan denna holistiska brief för att producera kod som fungerar och matchar den begärda stilen, vilket minskar gapet mellan idéer på hög nivå och implementering på låg nivå. Utvecklarens roll skiftar från manuell kodning till att styra och förfina AI:ns tolkning.

Emellertid kan just denna flexibilitet också missbrukas. En angripare skulle kunna knuffa en AI-assistent att generera kod som ser ut som en ofarlig funktion eller snabb lösning men i tysthet lägger till bakdörrar, hemlig datautvinning eller annan manipulering.

Till exempel, i det här fallet verkar ingenting ovanligt ur användarens perspektiv, men när de ber ChatGPT att skriva kod kan assistenten följa begäran. och slänga in angriparstyrda instruktioner. Det genererade skriptet kan till exempel hämta fjärrkod (t.ex. från en fientlig server) och försöka köra den med förhöjda rättigheter.

För att illustrera, i det här fallet, baserat på de skadliga instruktionerna lade chatten till fjärrkod till det här skriptet som användaren omedvetet laddar ner till sin dator från server.rapture:

Även om ChatGPT erbjuder vissa försvar mot skadliga instruktioner, kan effektiviteten variera beroende på attackens sofistikering och hur det oönskade beteendet kom in i minnet. 

I vissa fall kan användaren se en mild varning; i andra fall kan försöket blockeras. Men om den är smart maskerad kan koden undvika att upptäckas helt och hållet. Till exempel är detta den subtila varning som skriptet fick. Som mest är det en sidoanteckning som är lätt att missa i texten: