← Të gjithë artikujt

Defekti në share link të ChatGPT mundësoi aksesin në biseda private

Defekti në share link të ChatGPT mundësoi aksesin në biseda private

Një defekt në share link të ChatGPT lejoi që kodi i kontrolluar nga një sulmues të ekzekutohej brenda session së identifikuar të një personi tjetër dhe të aksesonte biseda private, siç demonstroi kompania e sigurisë Parameter. Një share link është një adresë publike uebi që i lejon dikujt të shohë një bisedë. Cenueshmëria është korrigjuar dhe Parameter raportoi se nuk kishte prova që ajo ishte shfrytëzuar kundër përdoruesve realë.

Parameter e paraqiti defektin përmes bug bounty program të OpenAI, i cili shpërblen studiuesit për raportimin me përgjegjësi të dobësive të sigurisë, më 18 tetor. OpenAI riprodhoi code execution dhe testin e bisedës private, e ngriti vlerësimin e ashpërsisë nga P2 në P1, kategorinë e vet më serioze, dhe e korrigjoi problemin tetë ditë pas raportimit. Parameter i publikoi gjetjet më 28 tetor, pasi korrigjimi ishte vendosur, dhe mori një pagesë totale prej 5,000 dollarësh.

Sulmi fillonte me një bisedë përndryshe të zakonshme, të ndarë përmes funksionit të linkut publik të ChatGPT. Një link keqdashës mund të dërgohej përmes emailit, një mesazhi bisede, një kërkese për asistencë ose një postimi në rrjete sociale, njësoj si një bisedë e ligjshme e ndarë. Marrësi nuk kishte nevojë të instalonte software, të hynte në një workspace të kontrolluar nga sulmuesi apo të identifikohej përmes një faqeje të ofruar nga sulmuesi.

Në testin më të besueshëm, marrësi hapte linkun dhe klikonte një herë butonin Preview të ChatGPT. Preview e shndërron HTML, kodin që përdoret për strukturimin e faqeve të uebit, në një faqe të vogël uebi brenda një bisede. Më vonë, Parameter e konfiguroi Preview që të hapej automatikisht, duke e reduktuar ndërveprimin e nevojshëm vetëm në hapjen e share link.

Pasi aktivizohej, kodi i testimit ekzekutohej me aksesin e authenticated session të viktimës në ChatGPT. Ai rendiste bisedat e fundit, hapte një bisedë private që nuk ishte ndarë kurrë me llogarinë tjetër dhe transmetonte një fragment të vogël te një server i kontrolluar nga Parameter. Studiuesit e kryen këtë si një provë të kontrolluar duke përdorur llogari të veçanta testimi, jo kundër përdoruesve që nuk dyshonin asgjë.

Kodi nuk kopjonte thjesht informacionin e dukshëm në ekran. Ai thërriste drejtpërdrejt API të ChatGPT për përdoruesin e identifikuar. Një API, ose application programming interface, është një rrugë që software përdor për t’i kërkuar të dhëna ose veprime një shërbimi tjetër. Meqë kodi vepronte me aksesin në ueb të viktimës, Parameter tha se ai nuk kufizohej vetëm në leximin e bisedave dhe mund të kryente efektivisht veprime në emër të llogarisë.

ChatGPT zakonisht e izolon përmbajtjen e Preview brenda një sandbox, një zonë e kufizuar që synon të ndalojë kodin e pabesueshëm të uebit të arrijë shërbimin përreth. Preview funksiononte në një frame, një faqe uebi e integruar brenda një faqeje tjetër, në një adresë të veçantë uebi. Parameter zbuloi se ky izolim funksiononte siç ishte parashikuar. Rruga e daljes varej në vend të kësaj nga një grafik interaktiv i vendosur në të njëjtën bisedë të ndarë.

Renderimi i atij grafiku ngarkonte MathLive, një software library për matematikë, në faqen kryesore të ChatGPT. MathLive linte aktiv aty një listener për të marrë mesazhe që lidheshin me tastierën e tij në ekran. Frame të browser-it mund të shkëmbejnë mesazhe në mënyrë të sigurt kur kodi marrës verifikon origin e secilit mesazh. Sipas Parameter, ky listener pranonte nga çdo dërgues një mesazh të lidhur me tastierën dhe lejonte që ai të përmbante raw HTML si të dhëna për keyboard layout.

Për rrjedhojë, Preview i izoluar mund të dërgonte përtej kufirit HTML të furnizuar nga sulmuesi, drejt faqes së besuar të ChatGPT. Ai HTML krijonte një frame tjetër, të cilin browser-i e trajtonte sikur i përkiste chatgpt.com dhe jo si përmbajtje të izoluar. Më pas, një script i ngarkuar nga YouTube siguronte kodin e ekzekutueshëm që funksiononte brenda këtij frame të besuar.

Ky hap i fundit funksiononte sepse content security policy e ChatGPT, një rregull i browser-it që kufizon burimet nga të cilat një faqe mund të ngarkojë script të ekzekutueshme, bllokonte kodin e shkruar drejtpërdrejt në faqe, por lejonte script nga YouTube. Parameter theksoi se rruga përmes YouTube ishte vetëm zgjidhja e fundit anashkaluese dhe jo shkaku themelor. Vetëm bllokimi i atij burimi do ta linte ende një Preview të pabesueshëm të aftë të injektonte HTML në faqen kryesore.

Studiuesit identifikuan tri vendime projektimi pas këtij zinxhiri. MathLive vepronte ndaj një mesazhi që ndryshonte konfigurimet pa verifikuar se cili frame e kishte dërguar. Mesazhi mund të përmbante raw HTML si informacion për keyboard layout. Më pas, ai HTML mund të krijonte një unsandboxed frame që trashëgonte identitetin e chatgpt.com.

OpenAI e vendosi korrigjimin në dy versione të web frontend të ChatGPT, pjesa e shërbimit që funksionon në browser-in e përdoruesit. Deri më 26 tetor, të dyja versionet i refuzonin mesazhet që kërkoheshin nga sulmi. Meqë ndryshimi u bë në anën e shërbimit, përdoruesit e ChatGPT nuk kanë nevojë të instalojnë një update, të bëjnë reset ndonjë gjë apo të ndërmarrin ndonjë hap tjetër korrigjues për këtë cenueshmëri.

Për organizatat që vlerësojnë rreziqet rreth aplikacioneve të uebit dhe llogarive të identifikuara të biznesit, AEU-I ofron shërbime IT, infrastrukture dhe konsulence me sigurinë në plan të parë. Mësimi më i gjerë nga testi i Parameter është se një komponent i izoluar mund të mbetet i sigurt ndërsa një komponent tjetër i besuar hap një rrugë të papritur rreth tij, duke i bërë thelbësore kontrollet e rrepta mbi origin dhe përmbajtjen e mesazheve të browser-it.

Disponueshëm edhe në: EnglishDeutschItaliano