Dobički:
- Sposobnost prepoznavanja napadalnih površin, specifičnih za AI (hitro vbrizgavanje, zastrupitev podatkov, uhajanje zaupnih podatkov, pridobivanje članstva) in oblikovanje večplastne obrambe
- Sposobnost uporabe zasebnosti kot načela oblikovanja: minimizacija podatkov, maskiranje, nadzor dostopa in obdobje hrambe
- Sposobnost opravljanja varnostnega dela izključno v obrambne namene, odgovornega razkrivanja ranljivosti in izogibanja nepooblaščeni uporabi
Sistem strojnega učenja nosi vsa varnostna tveganja tradicionalne programske opreme in dodaja edinstvene nove napadalne površine. Model lahko preslepi vhod, podatki o usposabljanju so lahko zastrupljeni in zaupne informacije lahko uhajajo v izhod. V tej enoti obravnavamo sisteme AI z obrambnega vidika: prepoznavanje napadov, utrjevanje sistema, varovanje zasebnosti. Te informacije niso namenjene nepooblaščenemu dostopu ali napadu, temveč za zaščito vaših sistemov.
Napadne površine, specifične za AI
Poleg klasične varnosti (avtentikacija, avtorizacija, šifriranje) so sistemi ML ranljivi za:
- Takojšnja injekcija: Navodilo, skrito v vhodu v LLM, zgreši model. Najpogostejše in najbolj praktično varnostno tveganje LLM.
- Zastrupitev podatkov: Napadalec vnese skrita stranska vrata ali pristranskost v model tako, da vstavi slabe vzorce v podatke o usposabljanju.
- Sklep in inverzija modela: Napadalec rekonstruira podatke o usposabljanju ali obnašanje modela tako, da pošlje več poizvedb modelu.
- Sklepanje članstva: sklepanje, ali se podatki določene osebe uporabljajo v izobraževanju – kršitev zasebnosti.
- Uhajanje občutljivih podatkov: model razkrije zaupne informacije (ime, identiteta, skrivnost) v podatkih o usposabljanju v izhodu.
Za vsako od teh tveganj obstajajo obrambe; Ključno je upoštevati tveganje v fazi načrtovanja.
Takojšnja injekcija: najbolj neposredna grožnja
Obstajata dve vrsti takojšnjega injiciranja:
- Neposredno: Uporabnik osebno vnese besedilo, kot je "prezri prejšnja navodila".
- Posredno: Slabo navodilo je skrito v zunanjem kontekstu (spletna stran, dokument, e-pošta), ki ga model obdeluje. Še posebej nevarno za agente in RAG, ker model zanesljivo obravnava zunanjo vsebino.
Obrambne plasti:
- Parsing: Separate system instruction and user/external data with clear delimiters; označi zunanjo vsebino kot "podatki, ne ukazi".
- Najmanjše moči: Omejite, koliko škode lahko naredi model, tudi če je ujet (moči vozila v enoti 5).
- Nadzor izhoda: preverite, kaj model proizvede, preden ga uporabite - še posebej, če se pretvori v dejanje.
- Človeška odobritev: povežite visoko tvegana dejanja z odobritvijo.
Pozor: takojšnjega injiciranja ne morete popolnoma rešiti z eno samo obrambo; Potrebna je večplastna obramba (globinska obramba). Kritična predpostavka: "Model bi lahko bil na neki točki preslepljen; torej, kaj je najslabše, kar bi se zgodilo, če bi bil preslepljen, in kako naj to omejim?"
Šibek pristop / Močan pristop
Slab: "V sistemski poziv sem vnesel 'prezri slaba navodila' in varni smo."
Strong: "Zunanjo vsebino smo ovili z oznakami <data> in rekli 'prezri notranja navodila'. Omejili smo tudi orodja modela na minimalno avtorizacijo, nepovratna dejanja vezali na človeško odobritev, zabeležili vse klice orodij in izhod pred uporabo podvrgli preverjanju pravil. Zanašamo se na plasti, ne na eno samo obrambo."
Razlika: močan pristop ve, da enovrstično navodilo ne bo dovolj, in gradi plasti, ki omejujejo škodo.
Zasebnost: podatki so zaščiteni že od začetka
Zasebnost ni funkcija, dodana pozneje, je načelo oblikovanja (zasebnost po načrtu). Osnovne aplikacije:
- Zmanjšanje podatkov: Ne zbirajte in ne shranjujte več osebnih podatkov, kot je potrebno. Podatki, ki niso zbrani, ne morejo uhajati.
- Anonimizacija in maskiranje: maskirajte ali odstranite osebne identifikatorje (ime, ID, e-pošto), preden jih daste modelu.
- Nadzor dostopa: Omejite in zabeležite, kdo dostopa do podatkov in modela (nadzor dostopa RAG na enoti 4).
- Obdobje hrambe: s pravilnikom določite, kako dolgo boste hranili podatke; Izbrišite potečenega.
Diferencialna zasebnost (tehnika, ki preprečuje, da bi podatki posameznega posameznika bistveno vplivali na izhod z dodajanjem nadzorovanega hrupa med usposabljanjem) in zvezno učenje (pristop, ki se usposablja na napravah brez premikanja podatkov v središče) sta napredni tehniki zasebnosti; je treba upoštevati pri delu z občutljivimi podatki.
Namig: Pred obdelavo kakršnih koli podatkov se vprašajte: "Če ti osebni podatki uhajajo, kdo bo utrpel kakšno škodo?" Če je škoda resna, podatkov sploh ne zbirajte ali pa jih obdelajte tako, da jih prikrijete. Najvarnejši podatki so tisti, ki niso bili nikoli zbrani.
Podatki o usposabljanju in model varnosti dobavne verige
Ne glede na vaš model so varnostne težave tudi komponente, ki jih uporabljate:
- Zaupanje v vir podatkov: Ali so podatki o usposabljanju zanesljivi ali bi lahko bili zastrupljeni? Revizija javnih podatkovnih nizov.
- Modeli in knjižnice tretjih oseb: vnaprej usposobljeni model ali odvisnost, ki ste jo prenesli, je lahko zlonamerna. Preverite njegov izvor, podpis in znane ranljivosti.
- Dobavna veriga: vsako orodje in paket v vašem cevovodu ML je povezava zaupanja; Varni ste kot najšibkejši člen.
Odgovorno razkritje in etične meje
Ko najdete ranljivost – v svojem sistemu ali sistemu prodajalca – je pravilna pot odgovorno razkritje: zasebno poročanje o ranljivosti ustrezni strani in ji dajte čas, da jo popravi, ne pa da je izkoriščate ali razširjate. Uporaba umetne inteligence ali varnostnih informacij, ki ste jih pridobili, za nepooblaščen dostop, uhajanje podatkov ali nepooblaščen poseg v sistem nekoga drugega je nezakonita in v nasprotju s poklicno etiko. Varnostna vsebina tega modula je v celoti namenjena obrambi, odkrivanju in utrjevanju.
trije mini kovčki
Primer 1 – Omejitev posrednega vbrizgavanja. Podporni bot RAG je upodabljal spletno vsebino. Skrita navodila so bila zakopana na eni strani. Model je bil delno preslepljen, vendar bot ni imel privilegijev za pisanje (minimalni privilegiji) in izhod je bil podan skozi preverjanje pravil, preden je bil prikazan uporabniku; Izkazalo se je, da je škodljivo in so ga ujeli. Večplastna obramba je preprečila, da bi ena napaka postala katastrofa.
2. primer – uhajanje zaupnih podatkov. Ekipa, ki je natančno naravnala podporo strankam, se prijavi v model, ne da bi jih prikrila (enota 6). Model je začel generirati prava imena strank v nepomembnih vprašanjih. Obstajala je tudi nevarnost črtanja članstva. Model umaknjen, podatki zamaskirani, politika hrambe popravljena. Nauk: zaupni podatki ne smejo vstopati v izobraževanje.
Primer 3 – niz podatkov o strupenih snoveh. Ena ekipa se je usposabljala na javno dostopnem naboru podatkov, ne da bi ga revidirala. Na snemanju so bili strupeni vzorci, ki so preslepili model, ko je videl določeno sprožilno besedo (backdoor). Po dodajanju revizije in skeniranja nepravilnosti so bili ti vzorci zajeti. Nauk: preverite vir podatkov, ne zaupajte slepo.
Kopirane predloge
Check this LLM/agent system for prompt injection.- Are system instructions and user/external data clearly separated?- Is external content marked as "data" or is it handled as a command?- What is the worst that would happen if the model is fooled (authorization limit)?- Are irreversible actions subject to human approval?- Is the output inspected before use?System: [description]. Naštejte večplastne obrambne pomanjkljivosti.
Preverite zaupnost tega toka obdelave podatkov. – Ali je vsako zbrano osebno polje res potrebno (minimizacija)? – Katera polja bi morala biti prikrita v podatkih, ki gredo v model? – Ali obstaja nadzor dostopa in beleženje? – Ali je določeno obdobje hrambe? Tok: [opis]. Predlagajte popravek za vsako pomanjkljivost.
V tem besedilu poiščite osebne podatke, ki jih je treba prikriti, preden jih pošljete modelu. Polja: ime, e-pošta, telefon, številka osebne izkaznice/potnega lista, naslov, številka kartice, IP. Navedite vsako najdbo z njeno vrsto in priporočeno masko. Ne zamenjajte preostalega besedila. Besedilo: [besedilo]
Ustvarite varnostni kontrolni seznam, preden daste ta model/knjižnico tretje osebe v produkcijo.- Ali sta vir in izdajatelj zaupanja vredna, podpis preverjen?- Pregledano za znane ranljivosti (CVE)?- Katere privilegije/dostop potrebuje, ga je mogoče minimizirati? Komponenta: [ime/vir]
Tabela tveganja in obrambe
Tveganje
obramba
plast
takojšnje injiciranje
Razčlenjevanje + minimalni privilegij + izhodni nadzor
Oblikovanje + čas izvajanja
zastrupitev podatkov
Nadzor vira + skeniranje nepravilnosti
podatkovno linijo
Uhajanje zaupnih podatkov
Maskiranje + minimizacija podatkov
Podatki + usposabljanje
Odvzem članstva
Diferencialna zasebnost
izobraževanje
pretirana avtoriteta
Minimalna avtorizacija + odobritev
oblikovanje agenta
dobavna veriga
Pregled komponent + podpis
zasvojenost
Pogoste napake
- Mislite, da ste hitro vbrizgavanje rešili z eno linijo. Večplastna obramba je nujna.
- Obdelava/usposabljanje zaupnih podatkov brez njihovega prikrivanja. Trajno se infiltrira v model.
- Upoštevanje zunanje vsebine kot vredne zaupanja. Vrata za posredno vbrizgavanje.
- Ne preverjam vira podatkov. Zastrupitev poteka neopaženo.
- Slepo zaupanje komponenti tretje osebe. Vrzel v dobavni verigi.
- Mislim, da bo zasebnost dodana pozneje. Začeti je treba pri oblikovanju.
Če povzamem
Poleg klasičnih varnostnih tveganj sistemi umetne inteligence prinašajo edinstvene grožnje, kot so takojšnje vstavljanje, zastrupitev podatkov, uhajanje zaupnih podatkov in ekstrakcija članstva. Nobenega od njih ni mogoče rešiti z enim samim ukrepom; potrebna je večplastna obramba (razčlenjevanje, najmanjša avtorizacija, nadzor izhoda, človeška odobritev). Zasebnost je načelo oblikovanja: minimizirajte podatke, jih maskirajte, omejite dostop, določite obdobja hrambe. Nadzirajte dobavno verigo komponent in podatkov. Vse te informacije so za obrambo, odkrivanje in konsolidacijo; Ranljivosti razložite odgovorno, nikoli jih ne izkoriščajte.
Aplikacijska naloga
Check an LLM/agent system (your own project or example) for prompt injection: are system instructions and external data separated, what is the authorization limit if the model is tricked, are irreversible actions confirmed? Dodajte vsaj dve plasti obrambe. Ločeno poiščite in maskirajte vsa osebna polja, ki jih je treba maskirati v vzorčnih podatkih, ki gredo v model. Preverite izvor in znane ranljivosti katere koli komponente tretje osebe, ki jo uporabljate.
kontrolni seznam
- [ ] System instruction and external/user data are clearly separated.
- [ ] Zunanja vsebina je označena kot podatki, ne ukazi.
- [ ] Tudi če je model preslepljen, je škoda omejena na minimalno avtoriteto.
- [ ] Osebni podatki prikriti/minimizirani; določeno obdobje skladiščenja.
- [ ] Vir podatkov in komponente tretjih oseb so bili preverjeni.
- [ ] Moje varnostno delo je v obrambne namene; Vrzeli razlagam odgovorno.