„ChatGPT-om zaražena sjećanja:“ LayerX otkriva prvu ranjivost u OpenAI Atlas pregledniku, koja omogućuje ubrizgavanje zlonamjernih instrukcija u ChatGPT

 

LayerX je otkrio prvu ranjivost koja utječe na novi OpenAI-jev preglednik ChatGPT Atlas, omogućujući zlonamjernim akterima ubrizgavanje zlonamjernih instrukcija u ChatGPT-ovu "memoriju" i izvršavanje udaljenog koda. Ovaj iskorištavanje može omogućiti napadačima da zaraze sustave zlonamjernim kodom, dodijele si privilegije pristupa ili instaliraju zlonamjerni softver.

Ranjivost utječe na korisnike ChatGPT-a na bilo kojem pregledniku, ali je posebno opasna za korisnike novog agentskog preglednika OpenAI-a: ChatGPT Atlas. LayerX je otkrio da Atlas trenutno ne uključuje nikakve značajne anti-phishing zaštite, što znači da su korisnici ovog preglednika do 90% ranjiviji na phishing napade od korisnika tradicionalnih preglednika poput Chromea ili Edgea.

Iskorištavanje je prijavljeno OpenAI-ju u skladu s postupcima odgovornog otkrivanja podataka, a sažetak je dan u nastavku, dok su tehničke informacije koje bi napadačima omogućile repliciranje ovog napada zadržane.

Ukratko: Kako iskorištavanje funkcionira:

LayerX je otkrio kako napadači mogu koristiti zahtjev za krivotvorenje međustranog zahtjeva (CSRF) kako bi "pričvrstili" pristupne podatke žrtve za ChatGPT, kako bi ubacili zlonamjerne upute u memoriju ChatGPT-a. Zatim, kada korisnik pokuša koristiti ChatGPT u legitimne svrhe, pozvat će se zaražena sjećanja i moći će izvršiti udaljeni kod koji će napadaču omogućiti kontrolu nad korisničkim računom, njihovim preglednikom, kodom koji pišu ili sustavima kojima imaju pristup.

Iako ova ranjivost utječe na korisnike ChatGPT-a u bilo kojem pregledniku, posebno je opasna za korisnike preglednika ChatGPT Atlas, budući da su oni prema zadanim postavkama prijavljeni na ChatGPT, a testiranje LayerX-a pokazuje da je preglednik Atlas do 90% izloženiji phishing napadima od Chromea i Edgea.

Objašnjenje korak po korak:

  1. Korisnik je u početku prijavljen na ChatGPT i u svom pregledniku ima kolačić ili token za autentifikaciju.
  2. Korisnik klikne na zlonamjernu poveznicu koja ga vodi na kompromitiranu web stranicu.
  3. Zlonamjerna stranica poziva zahtjev za krivotvorenje zahtjeva na više web-mjesta (CSRF) kako bi iskoristila postojeću autentifikaciju korisnika u ChatGPT-u.
  4. CSRF iskorištavanje ubrizgava skrivene instrukcije u memoriju ChatGPT-a, bez znanja korisnika, čime "oštećuje" jezgru LLM memorije.
  5. Sljedeći put kada korisnik upita ChatGPT, pozivaju se zaražene memorije, što omogućuje implementaciju zlonamjernog koda koji napadačima može dati kontrolu nad sustavima ili kodom.

Korištenje krivotvorenja zahtjeva s više web-mjesta (CSRF) za pristup LLM-ovima:

Napad krivotvorenjem zahtjeva s više web-mjesta (CSRF) događa se kada napadač prevari korisnički preglednik da pošalje nenamjerni zahtjev koji mijenja stanje web-mjestu na kojem je korisnik već autentificiran, uzrokujući da web-mjesto izvršava radnje u ime tog korisnika bez njegovog pristanka. 

Do napada dolazi kada je žrtva prijavljena na ciljnu stranicu koja u pregledniku ima pohranjene kolačiće sesije. Žrtva posjećuje ili je preusmjerena na zlonamjernu stranicu koja šalje posebno izrađen zahtjev (putem obrasca, oznake slike, poveznice ili skripte) ciljnoj stranici. Preglednik automatski uključuje vjerodajnice žrtve (kolačiće, zaglavlja za autorizaciju), tako da ciljna stranica obrađuje zahtjev kao da ga je korisnik pokrenuo.

U većini slučajeva, utjecaj CSRF napada usmjeren je na aktivnosti poput promjene e-pošte/lozinke računa, pokretanja prijenosa sredstava ili obavljanja kupnje unutar korisničke sesije.

Međutim, kada su u pitanju AI sustavi, korištenjem CSRF napada, napadači mogu dobiti pristup AI sustavima na koje je korisnik prijavljen, upitati ih ili u njih ubrizgati upute.

Zaraza ChatGPT-ove osnovne "memorije"

ChatGPT-ova „memorija“ omogućuje ChatGPT-u da pamti korisne detalje o korisničkim upitima, chatu i aktivnostima, kao što su postavke, ograničenja, projekti, bilješke o stilu itd., te ih ponovno koristi u budućim chatovima kako se korisnici ne bi morali ponavljati. U stvari, oni djeluju poput pozadinske memorije ili podsvijesti LLM-a.

Nakon što napadači dobiju pristup korisnikovom ChatGPT-u putem CSRF zahtjeva, mogu ga koristiti za umetanje skrivenih uputa u ChatGPT, što će utjecati na buduće chatove. 

Poput nečije podsvijesti, nakon što se ispravne upute pohrane u memoriju ChatGP-a, ChatGPT će biti prisiljen izvršiti te upute, efektivno postajući zlonamjerni suučesnik u zavjeri.

Štoviše, nakon što je memorija računa zaražena, ta je infekcija trajna na svim uređajima na kojima se račun koristi - na kućnim i poslovnim računalima te u različitim preglednicima - bez obzira koristi li ih korisnik u Chromeu, Atlasu ili bilo kojem drugom pregledniku. Zbog toga je napad izuzetno "ljepljiv" i posebno je opasan za korisnike koji koriste isti račun i za posao i za osobne svrhe.

Korisnici ChatGPT Atlasa do 90% izloženiji od drugih preglednika

Iako se ova ranjivost može iskoristiti protiv korisnika ChatGPT-a u bilo kojem pregledniku, korisnici OpenAI-jevog ChatGPT preglednika su posebno ranjivi. To je iz dva razloga:

  1. Kada koristite Atlas, prema zadanim postavkama ste prijavljeni na ChatGPT. To znači da se ChatGPT vjerodajnice uvijek pohranjuju u pregledniku, gdje ih mogu ciljati zlonamjerni CSRF zahtjevi.
  2. ChatGPT Atlas je posebno loš u zaustavljanju phishing napada. To znači da su korisnici Atlasa izloženiji od korisnika drugih preglednika.

LayerX je testirao Atlas na preko 100 dostupnih web ranjivosti i phishing napada. LayerX je prethodno proveo isti test na drugim AI preglednicima kao što su Comet, Dia i Genspark. Rezultati su, blago rečeno, bili neinspirativni:

U prethodnim testovima, dok su tradicionalni preglednici poput Edgea i Chromea uspjeli zaustaviti oko 50% phishing napada koristeći svoje gotove zaštite, Comet i Genspark zaustavili su samo 7% (Dia je generirala rezultate slične onima Chromea).

Pokretanje istog testa na Atlasu pokazalo je još oštrije rezultate: 

Od 103 napada "in-the-wild" koje je LayerX testirao, ChatGPT Atlas je dopustio da prođe 97, što je nevjerojatnih 94.2% neuspjeha. 

U usporedbi s Edgeom (koji je zaustavio 53% napada u LayerX-ovom testu) i Chromeom (koji je zaustavio 47% napada), ChatGPT Atlas je uspješno zaustavio samo 5.8% zlonamjernih web stranica, što znači da su korisnici Atlasa bili gotovo 90% ranjiviji na phishing napade u usporedbi s korisnicima drugih preglednika.

Implikacija je da nisu samo korisnici ChatGPT Atlasa podložni zlonamjernim vektorima napada koji mogu dovesti do ubrizgavanja zlonamjernih uputa u njihove ChatGPT račune, već i Budući da Atlas ne uključuje nikakvu značajnu zaštitu od krađe identiteta (anti-phishing), korisnici Atlasa su izloženi većem riziku od izloženosti.

Dokaz koncepta: Ubrizgavanje zlonamjernog koda u 'Vibe' kodiranje 

U nastavku je ilustracija vektora napada koji iskorištava ovu ranjivost na korisniku preglednika Atlas koji programira pomoću Vibe koda:

„Vibe kodiranje“ je stil suradnje u kojem programer tretira umjetnu inteligenciju kao kreativnog partnera, a ne kao izvršitelja redak po redak. Umjesto propisivanja točne sintakse, programer dijeli namjeru i osjećaj projekta (npr. ciljeve arhitekture, ton, publiku, estetske preferencije itd.) i druge nefunkcionalne zahtjeve.

ChatGPT zatim koristi ovaj holistički sažetak za izradu koda koji radi i odgovara traženom stilu, smanjujući jaz između ideja visoke razine i implementacije niske razine. Uloga programera prebacuje se s ručnog kodiranja na upravljanje i usavršavanje interpretacije umjetne inteligencije.

Međutim, upravo ta fleksibilnost može se i zloupotrijebiti. Napadač bi mogao potaknuti AI asistenta da generira kod koji izgleda kao bezopasna značajka ili brzo rješenje, ali tiho dodaje stražnja vrata, prikriveno krađu podataka ili druge manipulacije.

Na primjer, u ovom slučaju, ništa se ne čini neobičnim iz perspektive korisnika, ali kada zatraže od ChatGPT-a da napiše kod, asistent može slijediti zahtjev. i ubaciti upute vođene napadačem. Generirani skript mogao bi, na primjer, dohvatiti udaljeni kod (npr. s neprijateljskog poslužitelja) i pokušati ga pokrenuti s povišenim privilegijama.

Za ilustraciju, u ovom slučaju, na temelju zlonamjernih uputa, chat je dodao udaljeni kod ovom skriptu koji će korisnik nesvjesno preuzeti na svoje računalo sa server.rapture:

Iako ChatGPT nudi neke obrane od zlonamjernih instrukcija, učinkovitost može varirati ovisno o sofisticiranosti napada i načinu na koji je neželjeno ponašanje ušlo u memoriju. 

U nekim slučajevima korisnik može vidjeti blago upozorenje; u drugima bi pokušaj mogao biti blokiran. Međutim, ako se vješto maskira, kôd bi mogao u potpunosti izbjeći otkrivanje. Na primjer, ovo je suptilno upozorenje koje je primio ovaj skript. U najboljem slučaju, to je sporedna bilješka koju je lako propustiti unutar teksta: