Neustále posilňovanie ChatGPT Atlas proti útokom príkazovej injekcie
Automatizovaný „red teaming“, poháňaný učením posilňovaním, nám pomáha proaktívne objavovať a opravovať skutočné zneužitia agentov skôr, než sú zneužité v praxi.
Režim agenta v ChatGPT Atlas je jednou z najvšeobecnejších agentných funkcií, ktoré sme doteraz vydali. V tomto režime agent prehliadača zobrazuje webové stránky a vykonáva akcie, kliknutia a stlačenia klávesov v tvojom prehliadači presne tak, ako by si to robil/-a ty. To umožňuje ChatGPT pracovať priamo na mnohých tvojich každodenných pracovných postupoch s použitím rovnakého priestoru, kontextu a údajov.
Keďže agent prehliadača ti pomáha dosiahnuť viac, stáva sa aj hodnotnejším cieľom pre nepriateľské útoky. Toto robí bezpečnosť umelej inteligencie obzvlášť dôležitou. Dlho predtým, ako sme spustili ChatGPT Atlas, sme neustále budovali a posilňovali obranu proti novým hrozbám, ktoré špecificky cielia na paradigmu tohto nového „agenta v prehliadači“. Injekcia príkazu je jedným z najvýznamnejších rizík, proti ktorým sa aktívne bránime, aby sme zabezpečili, aby ChatGPT Atlas mohol bezpečne fungovať v tvojom mene.
V rámci tohto úsilia sme nedávno vydali bezpečnostnú aktualizáciu pre agenta prehliadača Atlas, ktorá zahŕňa novo trénovaný model s tréningom voči protivníkovi a posilnené okolité ochranné opatrenia. Táto aktualizácia bola vyvolaná novou triedou útokov typu príkazovej injekcie, ktoré boli odhalené prostredníctvom nášho interného automatizovaného red teamingu.
V tomto príspevku vysvetľujeme, ako môže vzniknúť riziko príkazovej injekcie pre webových agentov, a zdieľame rýchlu reakčnú slučku, ktorú sme vyvinuli na neustále objavovanie nových útokov a rýchle zavádzanie zmierňujúcich opatrení, ako je ilustrované touto nedávnou bezpečnostnou aktualizáciou.
Vnímame príkazovú injekciu ako dlhodobú výzvu v oblasti bezpečnosti umelej inteligencie a budeme musieť neustále posilňovať naše obrany proti nej (podobne ako sa neustále vyvíjajú online podvody zamerané na ľudí). Náš najnovší cyklus rýchlej reakcie ukazuje skorý potenciál ako kritický nástroj na tejto ceste: objavujeme nové stratégie útokov interne skôr, než sa objavia v reálnom svete. Naša dlhodobá vízia je plne využiť (1) náš prístup k modelom ako k bielej skrinke, (2) hlboké pochopenie našich obranných mechanizmov a (3) výpočtovú škálovateľnosť, aby sme zostali pred externými útočníkmi—nachádzali zraniteľnosti skôr, rýchlejšie zavádzali zmierňujúce opatrenia a neustále sprísňovali cyklus. V kombinácii s priekopníckym výskumom nových techník na riešenie injekcií príkazov a zvýšenými investíciami do iných bezpečnostných opatrení môže tento zložený cyklus sťažiť a predražiť útoky, čím sa podstatne znižuje riziko injekcií príkazov v reálnom svete. Naším konečným cieľom je, aby si mohol dôverovať agentovi ChatGPT, že bude používať tvoj prehliadač tak, ako by si dôverovali vysoko kompetentnému a bezpečnostne uvedomelému kolegovi alebo priateľovi.
Útok príkazovej injekcie cieli na agentov s umelou inteligenciou vložením škodlivých inštrukcií do obsahu, ktorý agent spracováva. Tieto pokyny sú navrhnuté tak, aby prepísali alebo presmerovali správanie agenta, odkláňajúc ho k nasledovaniu úmyslu útočníka, namiesto úmyslu používateľa.
Pre agenta prehliadača, ako je ten v ChatGPT Atlas, injekcia príkazu pridáva nový vektor hrozby nad rámec tradičných rizík webovej bezpečnosti (ako sú chyby používateľa alebo zraniteľnosti softvéru). Namiesto phishingu ľudí alebo zneužívania zraniteľností prehliadača útočník cieli na agenta, ktorý v ňom pôsobí.
Ako hypotetický príklad, útočník by mohol poslať škodlivý e-mail, ktorým by sa pokúsil oklamať agenta, aby ignoroval požiadavku používateľa a namiesto toho preposlal citlivé daňové dokumenty na e-mailovú adresu kontrolovanú útočníkom. Ak používateľ požiada agenta, aby skontroloval neprečítané e-maily a zhrnul kľúčové body, agent môže počas pracovného postupu spracovať škodlivý e-mail. Ak dodržiava vložené pokyny, môže sa odchýliť od úlohy, a nesprávne zdieľať citlivé informácie.
Toto je len jeden konkrétny scenár. Rovnaká všeobecnosť, ktorá robí agentov prehliadača užitočnými, tiež rozširuje riziká: agent sa môže stretnúť s nedôveryhodnými pokynmi na prakticky neobmedzenej ploche: e-maily a prílohy, pozvánky do kalendára, zdieľané dokumenty, fóra, príspevky na sociálnych sieťach a ľubovoľné webové stránky. Keďže agent môže vykonávať mnohé z rovnakých akcií, aké môže vykonávať používateľ v prehliadači, dopad úspešného útoku môže byť hypoteticky rovnako široký: preposlanie citlivého e-mailu, posielanie peňazí, úprava alebo odstrániť súbory v cloude a ďalšie.
Dosiahli sme pokrok v obrane proti príkazovým injekciám prostredníctvom viacerých vrstiev ochranných opatrení, ako sme uviedli v predchádzajúcom príspevku. Napriek tomu zostáva príkazová injekcia otvorenou výzvou pre bezpečnosť agentov a očakávame, že na nej budeme pokračovať ešte mnoho rokov.
Aby sme posilnili naše obranné mechanizmy, neustále hľadáme nové útoky injekcie príkazov proti agentovým systémom v produkcii. Nájdenie týchto útokov je nevyhnutným predpokladom pre budovanie robustných opatrení: pomáha nám pochopiť riziká v reálnom svete, odhaľuje medzery v našej obrane a vedie k vytváraniu konkrétnych opráv.
Aby ste to mohli robiť vo veľkom meradle, vytvorili sme automatizovaného útočníka založeného na LLM a vyškolili sme ho na vyhľadávanie útokov typu príkazovej injekcie, ktoré môžu úspešne zaútočiť na agenta prehliadača. Tohto útočníka sme trénovali end-to-end pomocou učenia posilňovaním, takže sa učí zo svojich vlastných úspechov a neúspechov, aby zlepšil svoje zručnosti v oblasti red teamingu. Tiež mu umožňujeme „vyskúšať pred odoslaním“, čím myslíme: počas reťazenia myšlienok môže útočník navrhnúť kandidátsku injekciu a poslať ju externému simulátoru. Simulátor vykonáva kontrafaktuálnu simuláciu toho, ako by sa cieľový agent obete (obranca) správal, keby sa stretol s injekciou, a poskytuje úplné zdôvodnenie a sled akcií agenta obete. Útočník používa tieto pripomienky ako spätnú väzbu, iteruje na útoku a znovu spúšťa simuláciu – tento cyklus opakuje viackrát, než sa rozhodne pre konečný útok. Toto poskytuje útočníkovi bohatšie pripomienky v kontexte než len jednoduchý signál prejsť/neprejsť. Taktiež zvyšuje výpočtový výkon útočníka počas testovania. Navyše, privilegovaný prístup k stopám uvažovania (ktoré nezverejňujeme externým používateľom) obrancu poskytuje nášmu internému útočníkovi asymetrickú výhodu - zvyšuje pravdepodobnosť, že môže predbehnúť externých protivníkov.
Prečo učenie posilňovaním (RL)? Z viacerých dôvodov sme sa rozhodli trénovať automatizovaného útočníka pomocou učenia posilňovaním:
- Optimalizácia cieľov útočníkov s dlhým horizontom a nepretržitých cieľov. Naším cieľom je vyhľadávať útoky injekciou príkazov, ktoré môžu oklamať agenta, aby vykonával sofistikované nepriateľské úlohy (napr. odosielanie e-mailov, bankové transakcie), ktoré by sa mohli vyskytnúť v reálnom svete. Tieto nepriateľské úlohy majú inherentne dlhý horizont, vyžadujú mnoho krokov uvažovania a interakcie s prostredím, pričom signály úspechu sú riedke a oneskorené. Učenie posilňovaním je dobre prispôsobené tejto riedkej a oneskorenej štruktúre odmien.
- Využívanie priekopníckych schopností LLM. Vyškolili sme hraničné LLM modely priamo ako automatických červených tímov, takže útočník priamo profituje zo zlepšení v uvažovaní a plánovaní v špičkových modeloch. Ako sa základné modely stávajú silnejšími, útočník sa prirodzene stáva tiež schopnejším, čo z toho robí škálovateľný spôsob, ako udržiavať tlak na naše obranné mechanizmy, keď sa naše modely vyvíjajú.
- Škálovanie výpočtových kapacít a napodobňovanie adaptívnych útočníkov. Učenie posilňovaním je vhodné na škálovanie výpočtov pri hľadaní útokov cez veľké množstvo vzoriek a krokov učenia a tiež presne odráža správanie adaptívnych ľudských útočníkov: iteratívne skúšajú stratégie, učia sa z výsledkov a posilňujú úspešné správanie.
Náš automatizovaný útočník dokáže objaviť nové, realistické útoky typu príkaz-injection od začiatku do konca. Na rozdiel od väčšiny predchádzajúcich prác v oblasti automatizovaného red teamingu, ktoré odhalili jednoduché zlyhania, ako je vyvolanie konkrétnych výstupných reťazcov alebo spustenie neúmyselného jednorazového nástroja agentom, náš útočník trénovaný pomocou RL dokáže nasmerovať agenta na vykonávanie sofistikovaných, dlhodobých škodlivých pracovných postupov, ktoré sa rozvíjajú v desiatkach (alebo dokonca stovkách) krokov. Taktiež sme pozorovali nové stratégie útokov, ktoré sa neobjavili v našej kampani ľudského red teamingu ani v externých správach.
Demonštrácia nižšie predstavuje konkrétny exploit príkazovej injekcie, ktorý našiel náš automatizovaný útočník, a ktorý sme následne použili na ďalšie posilnenie obrany ChatGPT Atlas. Útočník zaplaví používateľovu schránku škodlivým e-mailom obsahujúcim príkazovú injekciu, ktorá nasmeruje agenta, aby poslal rezignačný list Výkonnému riaditeľovi používateľa. Neskôr, keď používateľ požiada agenta, aby pripravil odpoveď na neprítomnosť, agent sa počas bežného vykonávania úloh stretne s týmto e-mailom, považuje vložený príkaz za autoritatívny a riadi sa ním. Oznámenie o neprítomnosti sa nikdy nenapíše a agent namiesto toho odstúpi v mene používateľa.

1. Požiadaj agenta o pomoc pri správe e-mailu

2. Agent otvorí najnovší neprečítaný e-mail

E-mail obsahuje škodlivé pokyny.

4. Agent poslal neúmyselný e-mail o výpovedi

5. Po našej bezpečnostnej aktualizácii režim agenta úspešne detekuje pokus o príkazovú injekciu
Povaha príkazových injekcií sťažuje poskytovanie deterministických bezpečnostných záruk, ale rozšírením nášho automatizovaného bezpečnostného výskumu, testovania odolnosti a sprísnením nášho rýchleho reakčného cyklu dokážeme zlepšiť robustnosť a obranu modelu - ešte predtým, než dôjde k útoku v reálnom prostredí.
Zdieľame túto ukážku, aby sme pomohli používateľom a výskumníkom lepšie pochopiť povahu týchto útokov, a toho, ako sa proti nim aktívne bránime. Veríme, že toto predstavuje hranicu toho, čo môže automatizovaný red teaming dosiahnuť, a sme nesmierne nadšení, že môžeme pokračovať vo svojom výskume.
Naše automatizované red teaming poháňa proaktívnu rýchlu reakčnú slučku: keď automatizovaný útočník objaví novú triedu úspešných útokov typu injekcia príkazu, okamžite vytvorí konkrétny cieľ na zlepšenie našich obranných opatrení.
Adversariálny tréning proti novoobjaveným útokom. Neustále trénujeme aktualizované modely agentov proti našim najlepším automatizovaným útočníkom – uprednostňujeme útoky, pri ktorých cieľoví agenti aktuálne zlyhávajú. Cieľom je naučiť agentov ignorovať nepriateľské inštrukcie a zostať v súlade so zámerom používateľa, čím sa zlepší odolnosť voči novoobjaveným stratégiám injekcie príkazov. Toto „zabudováva“ odolnosť proti novým, silným útokom priamo do kontrolného bodu modelu. Napríklad nedávne automatizované red teaming priamo vytvorilo nový kontrolný bod prehliadača-agenta trénovaného na boj proti hrozbám, ktorý už bol zavedený pre všetkých používateľov ChatGPT Atlas. To nakoniec pomáha lepšie chrániť našich používateľov pred novými typmi útokov.
Používanie stôp útokov na zlepšenie širšej obrannej štruktúry. Mnohé útočné cesty objavené naším automatizovaným červeným tímom tiež odhaľujú príležitosti na zlepšenie mimo samotného modelu, ako napríklad v monitorovaní, bezpečnostných pokynoch, ktoré uvádzame v kontexte modelu, alebo v systémových bezpečnostných opatreniach. Tieto zistenia nám pomáhajú iterovať na celej obrannej vrstve, nielen na kontrolnom bode agenta.
Reagovanie na aktívne útoky. Tento cyklus môže tiež pomôcť lepšie reagovať na aktívne útoky v teréne. Keď sa pozeráme na našu globálnu prítomnosť kvôli potenciálnym útokom, môžeme vziať techniky a taktiky, ktoré pozorujeme u externých protivníkov, vložiť ich do tohto cyklu, napodobniť ich činnosť a riadiť obranné zmeny na našej platforme.
Posilnenie našej schopnosti red team agentov a používanie našich najvýkonnejších modelov na automatizáciu častí tejto práce pomáha urobiť agenta prehliadača Atlas robustnejším tým, že rozširuje cyklus od objavenia po opravu. Toto úsilie o spevnenie posilňuje známu lekciu zo zabezpečenia: osvedčená cesta k silnejšej ochrane spočíva v neustálom testovaní reálnych systémov, reagovaní na zlyhania a dodávaní konkrétnych opráv.
Očakávame, že protivníci sa budú naďalej prispôsobovať. Injekcia príkazov, podobne ako podvody a sociálne inžinierstvo na webe, pravdepodobne nikdy nebude úplne „vyriešená“. Sme však optimistickí, že proaktívna, vysoko citlivá slučka rýchlej reakcie môže pokračovať v podstatnom znižovaní rizika v reálnom svete v priebehu času. Kombináciou automatizovaného objavovania útokov s adversariálnym tréningom a systémovými ochrannými opatreniami môžeme identifikovať nové vzory útokov skôr, rýchlejšie uzatvárať medzery a neustále zvyšovať náklady na zneužitie.
Režim agenta v ChatGPT Atlas je výkonný, a zároveň rozširuje povrch bezpečnostných hrozieb. Mať jasný pohľad na tieto kompromisy je súčasťou zodpovedného budovania. Naším cieľom je, aby bol Atlas s každou iteráciou významne bezpečnejší: zlepšovaním odolnosti modelu, posilňovaním okolitej obrannej architektúry a monitorovaním nových vzorcov zneužívania v praxi.
Popri tom, ako sa učíme, budeme pokračovať v investovaní do výskumu a nasadenia, rozvíjaní lepších automatizovaných metód red teamingu, zavádzaní vrstvených zmierňujúcich opatrení a rýchlom opakovaní. Tiež sa podelíme o to, o čo sa podeliť môžeme, so širšou komunitou.
Zatiaľ čo pokračujeme v posilňovaní Atlasu na systémovej úrovni, existujú kroky, ktoré môžu používatelia podniknúť na zníženie rizika pri používaní agentov.
Obmedzte prístup prihlásených používateľov, keď je to možné. Naďalej odporúčame, aby používatelia využívali režim odhlásenia(otvorí sa v novom okne) pri používaní Agenta v Atlase, kedykoľvek nie je potrebný prístup na webové stránky, na ktoré sú prihlásení, alebo na obmedzenie prístupu na konkrétne stránky, na ktoré sa počas úlohy prihlasujú.
Starostlivo preverte žiadosti o potvrdenie. Pri určitých dôležitých akciách, ako je dokončenie nákupu alebo odoslanie emailu, sú agenti navrhnutí tak, aby pred pokračovaním požiadali o tvoje potvrdenie. Keď ťa agent požiada o potvrdenie akcie, vyhrať si chvíľu na overenie, že akcia je správna a že akékoľvek zdieľané informácie sú vhodné pre daný kontext.
Dávaj agentom jasné pokyny, keď je to možné. Vyhni sa príliš všeobecným príkazom, ako je „skontroluj moje e-maily a vykonaj akúkoľvek potrebnú akciu.“ Široká voľnosť umožňuje skrytému alebo škodlivému obsahu ľahšie ovplyvňovať agenta, aj keď sú zavedené ochranné opatrenia. Je bezpečnejšie požiadať agenta, aby vykonal konkrétne, jasne vymedzené úlohy. Hoci to neodstraňuje riziko, sťažuje to realizovanie útokov.
Ak sa majú agenti stať dôveryhodnými partnermi pre každodenné úlohy, musia byť odolní voči druhom manipulácie, ktoré povoľuje otvorený web. Zabezpečenie proti príkazovým injekciám je dlhodobý záväzok a jedna z našich najvyšších priorít. Čoskoro sa podelíme o ďalšie informácie o tejto práci.


