Shfletuesi si një derë e pasme: Nxjerrja sekrete LLM nga ana e klientit u çmitizua
Për një kohë të gjatë, ne i kemi trajtuar "paralajmërimet e sigurisë së AI" si kërcënime të largëta ose kuriozitete akademike. Kemi dëgjuar për injeksione të menjëhershme, jailbreaks dhe rrjedhje të të dhënave me tone të heshtura, të ndjekura shpesh nga një ngritje supet dhe një "do t'ia dalim". Megjithatë, demonstratat e fundit interaktive e kanë shkatërruar atë iluzion të rehatshëm. Kjo nuk është më një cenueshmëri teorike; është një shfrytëzim i drejtpërdrejtë, i bazuar në shfletues, nga ana e klientit për nxjerrjen e informacionit të ndjeshëm nga Modelet e Mëdha të Gjuhëve (LLM) [2]. Nëse jeni duke vendosur aplikacione të mbështetura nga LLM, veçanërisht çdo gjë që përballet me ueb, "problemi juaj i së ardhmes" sapo u bë një detyrim shumë i pranishëm, shumë publik dhe potencialisht shumë i turpshëm.
Ky nuk është një titull tjetër i përgjithshëm "AI është i rrezikshëm". Ky është një demonstrim specifik, i prekshëm se si një aktor keqdashës, duke përdorur vetëm shfletuesin e tij, mund të detyrojë LLM-në tuaj të zbulojë informacione të ndjeshme. Konsideroni këtë për një moment. Nuk ka të bëjë me sulme komplekse nga ana e serverit apo introspeksion të thellë të modelit. Bëhet fjalë për shtresën e ndërveprimit - derën e përparme të aplikacionit tuaj - duke u shfrytëzuar me disa karaktere të krijuara me kujdes. Është ekuivalenti dixhital i dikujt që krijon frazën e duhur për chatbotin tuaj të supozuar të sigurt dhe ai dorëzon me kujdes të dhëna kritike, shpesh pak nga pak.
Iluzioni i Sigurisë së Modelit
Shumë ndërmarrje kanë investuar shumë në LLM "të sigurta", ose duke rregulluar mirë modelet e pronarit ose duke u mbështetur në API-të e nivelit të ndërmarrjes me parmakë të supozuar mbrojtës. Supozimi i nënkuptuar është se nëse vetë modeli është i fortë, aplikacioni i ndërtuar në krye të tij do ta trashëgojë atë siguri. Demonstratat e fundit e ekspozojnë këtë si një keqkuptim të rrezikshëm. Dobësia nuk është në inteligjencën bazë të modelit ose në të dhënat e tij të trajnimit; është në ndërfaqen që ndërtojmë rreth tij [1]. Është problemi klasik i "kasafortës së fortë, derës së përparme të dobët". Ju mund të keni LLM-në më të avancuar dhe të ngurtësuar në botë, por nëse analizuesi i hyrjes së aplikacionit tuaj është naiv, ose nëse filtri juaj i daljes nuk ekziston, në thelb po i lini informacionet kritike të ekspozuara për këdo që ta gjejë.
Kjo teknikë e "injektimit të shpejtë" është veçanërisht shqetësuese sepse përdor natyrën e natyrshme të LLM: aftësinë e saj për të ndjekur udhëzimet dhe modelet e plota. Duke injektuar një prefiks të ndërtuar me kujdes në hyrjen e një përdoruesi, sulmuesi mund të manipulojë gjendjen e brendshme të modelit, duke e detyruar atë të zbulojë informacionin që nuk ishte menduar asnjëherë [3]. Aspekti "një-bit" ose përsëritës është vendimtar këtu. Ai nënkupton një ekfiltrim metodik dhe të kontrolluar, jo vetëm një deponim kaotik të të dhënave. Imagjinoni një sulmues duke pyetur në mënyrë të përsëritur: "A është personazhi i parë i sekretit 'A'?" atëherë "A është 'B'?" e kështu me radhë. Është i ngadalshëm, po, por është gjithashtu tepër efektiv dhe i vështirë për t'u zbuluar nëse nuk po e kërkoni në mënyrë specifike.
Shfletuesi juaj, arma e tyre
Fakti që ky është një shfrytëzim * i bazuar në shfletues* e ndryshon lojën tërësisht. Do të thotë:
- Pengesa e ulët për hyrjen: Kushdo me aftësi themelore të zhvillimit të uebit dhe një shfletues mund ta provojë këtë. Nuk kërkohen mjete të specializuara ose njohuri të thella të AI.
- Ekzekutimi nga ana e klientit: Sulmi buron nga makina e përdoruesit, duke e bërë më të vështirë dallimin nga hyrja legjitime e përdoruesit në skajin e rrjetit.
- Kërcënimi i menjëhershëm: Nëse aplikacioni juaj LLM është i drejtpërdrejtë dhe i aksesueshëm nëpërmjet një ndërfaqeje në internet, ai është tashmë i cenueshëm ndaj këtij vektori. Ky nuk është një arnim i ardhshëm; është një emergjencë aktuale.
Merrni parasysh implikimet: copa kodi të pronarit, dokumentacion të brendshëm, të dhëna të klientit, çelësa API, apo edhe manipulime delikate të sjelljes së LLM-së tuaj për të përhapur dezinformata ose për të gjeneruar përmbajtje të dëmshme. E gjithë kjo mund të nxirret ose ndikohet, pak nga pak, përmes një kutie të thjeshtë teksti.
Përgjegjësia është e juaja
Ky nuk është një problem që ofruesit e modeleve si OpenAI ose Google ta rregullojnë në përditësimin e tyre të ardhshëm të modelit. Ky është një problem siguria e aplikacionit dhe përgjegjësia për zbutjen bie drejtpërdrejt mbi supet e zhvilluesve, ekipeve të sigurisë dhe CTO-ve që vendosin këto sisteme. LLM juaj është një motor i fuqishëm, por në fund të fundit naiv. Ai do të bëjë atë që i thuhet, edhe nëse ato udhëzime janë të fshehura brenda hyrjes së përdoruesit në dukje të padëmshme.
Pra, çfarë bëni tani?
Kundërmasat e menjëhershme:
- Sanitizimi agresiv i hyrjes: Kjo shkon përtej parandalimit të injektimit SQL ose XSS. Ju duhet të shqyrtoni çdo personazh që hyn në LLM tuaj. Kërkoni modele që tregojnë injeksione të menjëhershme, sekuenca të pazakonta të karaktereve ose përpjekje për të dalë nga rrjedhat e pritshme bisedore [4]. Kjo nuk ka të bëjë me bllokimin e "fjalëve të këqija"; ka të bëjë me identifikimin e kërkesave kundërshtare. Përtej analizës bazë regex dhe heuristike, zbatoni analizën semantike për të zbuluar qëllimin keqdashës. Përdorni analizën e tokenizimit dhe të ngulitjes për të identifikuar modelet anormale të hyrjes. Merrni parasysh përdorimin e një LLM dytësore, më të vogël ose një sistem të bazuar në rregulla të trajnuar posaçërisht për të zbuluar përpjekjet e menjëhershme të injektimit. Kërkoni modele si udhëzimet për luajtjen e roleve, kërkesat e qarta për nxjerrjen e të dhënave ose përpjekjet për të anashkaluar udhëzimet e mëparshme.
- Filtrimi dhe vlefshmëria e fuqishme e daljes: Asnjëherë mos i besoni prodhimit të LLM në mënyrë implicite. Përpara se çdo tekst i krijuar nga LLM t'i shfaqet një përdoruesi ose të përdoret nga një sistem tjetër, ai duhet të kalojë përmes një shtrese rigoroze të vërtetimit. A përmban fjalë kyçe të ndjeshme? A përputhet me formatet e pritura? A përpiqet të ekzekutojë kodin apo të zbulojë kërkesat e brendshme të sistemit? Nëse LLM juaj supozohet të përmbledhë një dokument, por fillon të listojë shtigjet e skedarëve, ju keni një problem.
- Inxhinieria Shtresore e Prompteve: Megjithëse nuk është një zgjidhje e plotë, kërkesat e sistemit të mirë-projektuar dhe shembujt e pakët mund të ndihmojnë në përforcimin e sjelljes së dëshiruar dhe ta bëjnë më të vështirë për një sulmues rrëmbimin e modelit. Megjithatë, kuptoni se vetëm inxhinieria e shpejtë është e pamjaftueshme; është një mbrojtje në thellësi, jo një mburojë parësore.
- Privilegji më i vogël për ndërveprimet LLM: A ka vërtet nevojë LLM-ja juaj për qasje në çdo pjesë të të dhënave që mund të kërkohet të zbulojë? Zbatoni kontrolle të rrepta të aksesit. Nëse LLM supozohet t'u përgjigjet vetëm pyetjeve në lidhje me dokumentacionin publik, sigurohuni që të mos ketë qasje programatike në bazat e të dhënave të brendshme ose API-të e ndjeshme.
- Monitorimi dhe zbulimi i anomalive: Ju duhet të kërkoni në mënyrë aktive sjellje të pazakontë LLM. Spikat në lloje specifike të pyetjeve, rezultate që devijojnë nga modelet normale ose përpjekje të përsëritura për të nxjerrë informacion duhet të shkaktojnë alarme të menjëhershme.
Kjo nuk ka të bëjë më me "sigurinë e gjerë të AI". Kjo ka të bëjë me sigurimin e shtresës së ndërveprimit të aplikacioneve tuaja LLM kundër një vektori sulmi specifik, të demonstruar dhe menjëherë të shfrytëzueshëm. Ne kemi ndërtuar këto sisteme të pabesueshme, të fuqishme, shpesh me masa të papërshtatshme sigurie në ndërfaqe. Demonstratat e fundit na kanë treguar saktësisht se sa e lehtë është të shfrytëzohen këto boshllëqe. Koha e diskutimeve teorike ka kaluar. Kërkohet veprim i menjëhershëm për të siguruar aplikacionet LLM.
Burimet
[1] Top 10 OWASP për Aplikacionet e Modeleve të Gjuhëve të Mëdha — https://owasp.org/www-project-top-10-for-large-language-model-applications/ [2] Lakera Gandalf: Një sfidë interaktive e shpejtë e injektimit — https://gandalf.lakera.ai/ [3] Sulmet e menjëhershme të injektimit | Akademia e Sigurisë në Ueb — https://portswigger.net/web-security/llm-attacks/prompt-injection [4] Çfarë është injeksioni i shpejtë dhe si ta parandaloni atë? — https://www.tenable.com/blog/what-is-prompt-injection-and-how-to-prevent-it