Úgy tűnik, hogy az OpenAI ChatGPT botja hajlandó részt venni elosztott szolgáltatásmegtagadási (DDoS) támadásokban tetszőleges weboldalak ellen, egy olyan sérülékenység révén, amelyet a vállalat még nem ismert el.
Egy, a Microsoft GitHubján megosztott jelentés szerint Benjamin Flesch német biztonsági kutató bemutatta, hogyan lehet egyetlen HTTP-kéréssel a ChatGPT API-ját úgy manipulálni, hogy az elárassza a célpont weboldalát a ChatGPT-User bot hálózati kéréseivel. Ez az áradat akár 20-tól 5000-nél is több lekérést eredményezhet másodpercenként egy adott célpont felé, ami – bár gyakorlati szempontból nem feltétlenül dönti be az oldalt – mégis veszélyt jelent és komoly biztonsági hiányosságra utal OpenAI részéről.
„A ChatGPT API súlyos minőségi hibát mutat, amikor HTTP POST kéréseket kezel a https://chatgpt.com/backend-api/attributions végponton”, magyarázza Flesch a jelentésében. Ez az API végpont felelős azért, hogy visszakeresse a ChatGPT által idézett webes forrásokat. Amikor a ChatGPT hivatkozik egy weboldalra, az API egy listát küld a botnak azokról az URL-ekről, amelyeket meg kell látogatnia és információt kell begyűjtenie róluk.
Ha egy támadó egy hosszú URL-listát küld az API-nak, amely látszólag különböző, de valójában ugyanarra a weboldalra mutat, a ChatGPT bot egyszerre kezdi el lekérni az összes linket. „Az API az urls paraméterben egy hiperhivatkozás-listát vár. Köztudott, hogy ugyanazon weboldalra többféleképpen lehet hivatkozni. A rossz programozási gyakorlatok miatt az OpenAI nem ellenőrzi, hogy ugyanaz a forrás többször szerepel-e a listában, és nem korlátozza az urls paraméterben tárolható hivatkozások számát. Ez lehetővé teszi, hogy egyetlen HTTP-kérésben akár több ezer linket továbbítsunk”, írta Flesch.
A támadás észrevétlen marad
A támadás különösen veszélyes, mert a célpont nem feltétlenül észleli azonnal, mi történik. A ChatGPT bot a Cloudflare proxyrendszerén keresztül működik, így minden egyes lekérdezést más-más IP-címről küld.
„Az áldozat sosem fogja tudni pontosan, mi történt, mert csak azt látja, hogy a ChatGPT bot egyszerre körülbelül 20 különböző IP-címről éri el a weboldalát”, mondta Flesch a The Registernek. Még ha a célpont tűzfalat is állít be a ChatGPT bot IP-tartományának blokkolására, a bot továbbra is küldi a kéréseket. „Egy sikertelen vagy blokkolt kérés nem akadályozza meg a ChatGPT botot abban, hogy a következő milliszekundumban újabb kéréseket küldjön”, tette hozzá.
Mindez lehetővé teszi, hogy egy támadó kis számú HTTP-kéréssel hatalmas számú lekérést generáljon a célpont weboldalára, DDoS tüneteket idézve elő. Flesch szerint ezt az autentikáció nélküli reflektív DDoS sérülékenységet több csatornán keresztül jelentette – az OpenAI BugCrowd hibabejelentő platformján, az OpenAI biztonsági csapatának emailben, a Microsoftnak (beleértve az Azure csapatot) és a HackerOne platformon – de eddig semmilyen választ nem kapott.
Az OpenAI biztonsági problémái
Flesch egy másik sérülékenységet is felfedezett, amely lehetővé teszi, hogy a ChatGPT bot API-ja nem csupán weboldalakat látogasson meg, hanem válaszokat is adjon a hozzá beadott kérdésekre – noha ez az API nem erre szolgál. Ez egy klasszikus prompt injection sérülékenység, amely lehetővé teszi, hogy az API végrehajtson olyan utasításokat, amelyeket eredetileg nem kellett volna.
A kutató szerint az OpenAI botja nem alkalmaz alapvető módszereket az URL-ek megfelelő deduplikálására vagy a lista méretének korlátozására, és nem tudja megfelelően kezelni a prompt injection támadásokat sem. „Számomra úgy tűnik, hogy ez az API az OpenAI önálló ’MI-ügynök’ kísérleti projektjének része, amelynek feladata a felhasználó által megadott adatokból URL-ek kinyerése és a weboldalak lekérése az Azure-on keresztül”, mondta Flesch. „De ha ez egy ’MI-ügynök’, akkor miért nincs beépített biztonsági védelem?”, tette fel a kérdést. „Nyilvánvalóan az API kezelő komponensének semmilyen fogalma sincs az erőforrás-kimerülésről vagy arról, hogy miért lenne ostobaság egyazon weboldalra több ezer kérést küldeni egy másodpercen belül.”
Flesch szerint az egyetlen lehetséges magyarázat az, hogy az OpenAI valóban egy mesterségesintelligencia-ügynököt használ ezeknek a HTTP-kéréseknek az indítására.
„Nem tudom elképzelni, hogy egy magasan fizetett Szilícium-völgyi mérnök ilyen szoftvert tervezett volna, hiszen a ChatGPT bot évek óta pásztázza a webet, akárcsak a Google botja. Ha a keresőmotorok botjai nem korlátoznák a kérések számát egy adott weboldal felé, azokat azonnal blokkolnák.”
Forrás: itbusiness.hu
Kép forrása: Shutterstock