Asmens duomenys ir DI: tikrinkite sietuve, o ne kiekvienoje programoje
Kaip vienas sietuvas pašalina asmens duomenis iš visų įmonės DI įrankių užklausų: patikrų eiliškumas, vienkryptės žymos ir žurnalas be užklausų teksto.
AFKzona Group · 6 min. skaitymo
- Trumpas atsakymas
- Asmens duomenys nuteka per užklausą, ne per modelį
- Sietuvo esmė – patikrų eiliškumas
- Įterpimo patikra sugauna ir užmaskuotas, ir perfrazuotas atakas
- Slėpimas palieka tiekėjui tik tai, ko reikia užduočiai
- Kaip įvertinti asmens duomenų slėpimą DI užklausose: penki klausimai
- Ką verta pritaikyti ir kitur
- Klausimai
Trumpas atsakymas
- Asmens duomenų slėpimas DI užklausose – tai asmens duomenų pašalinimas iš užklausos, prieš jai išeinant iš įmonės pas modelio tiekėją, sietuve, pro kurį eina kiekviena užklausa modeliui.
- Įterpimo atakų patikra, slėpimas ir biudžeto patikra atliekami nustatyta tvarka, o bet kurios iš jų neišlaikiusi užklausa atmetama, tiekėjui jos nepamačius.
- Įterpimo patikra sugauna užmaskuotas atakas pagal šablonus, o perfrazuotas – pagal prasmę; tikrus bandymus jai tiekia apgaulingi prieigos taškai.
- Veiksmų žurnale užfiksuojama, kas, kokį modelį, už kiek ir su kiek aptikimų kvietė, bet niekada – pati užklausa.
2025 m. gegužę Valstybinė duomenų apsaugos inspekcija (VDAI) priminė organizacijoms, naudojančioms dirbtinio intelekto (DI) sistemas: jei tikslą galima pasiekti be asmens duomenų, reikia rinktis tokį kelią. Šį sakinį galima įrašyti į vidaus tvarką. Užtikrinti, kad jo būtų laikomasi, gali tik tai, pro ką eina pati užklausa.
Mūsų sukurtas sietuvas yra būtent toks dalykas. Jis stovi tarp įmonės programų ir kalbos modelio tiekėjo, o asmens duomenys ir DI jame susitinka vienoje vietoje: slėpimas, įterpimo atakų patikra, žetonų biudžetas ir veiksmų žurnalas. Visi įrankiai, kurie kreipiasi į modelį, veikia pagal tas pačias taisykles.
Asmens duomenys nuteka per užklausą, ne per modelį
Nutekėjimas įvyksta tada, kai darbuotojas įklijuoja į DI įrankį skundą, gyvenimo aprašymą ar banko išrašą. Viskas, kas yra užklausoje, pasiekia tiekėją. Sietuvas šiame kelyje įrengia vieną patikros tašką: taisyklė užrašoma vieną kartą ir taikoma kiekvienai programai, kuri kreipiasi į modelį, niekam nereikia apie ją prisiminti.
Pagal BDAR 4 straipsnio 1 punktą vardas, pavardė ir asmens identifikavimo numeris yra asmens duomenys. 5 straipsnio 1 dalies c punktas reikalauja tvarkyti tik tiek duomenų, kiek būtina. Skundui apibendrinti kliento asmens kodo nereikia, todėl sietuvas jį pašalina, kol tekstas dar neišėjo iš įmonės.
Sietuvo esmė – patikrų eiliškumas
Daugiausia darbo reikalauja ne aptikimas, o eiliškumas. Įterpimo atakų patikra, slėpimas ir biudžeto patikra atliekami būtent tokia tvarka prieš kreipiantis į modelį, o neišlaikyta patikra sustabdo užklausą ir grąžina klaidą. Atmesta užklausa modelio tiekėjo nepasiekia. Taip veikia pati sistemos sandara, o ne kažkieno nepamirštas nustatymas.
Daugiausia lemia keturios detalės.
Slėpimas sąmoningai vienkryptis. Rastas duomuo pakeičiamas žyma, pavyzdžiui, [EMAIL] ar [IBAN], ir jokia lentelė nesaugo, kas po ja slypėjo. Nėra originalių reikšmių saugyklos, iš kurios jos vėliau galėtų nutekėti, o aptikimo rezultatuose tikroji reikšmė taip pat niekada nesaugoma.
Kiekvienam įrankiui – savas režimas. Blokavimo režimas atmeta užklausą su asmens duomenimis, slėpimo – pakeičia juos žymomis ir išsiunčia likusį tekstą, įspėjimo – suskaičiuoja ir praleidžia. Griežtas nustatymų rinkinys blokuoja, subalansuotas – slepia. Kai sietuvu naudojasi kelios organizacijos, kiekviena turi savo asmens duomenų režimą ir tipus, įterpimo patikros nustatymus ir leidžiamų modelių sąrašą.
Tikrinamas ir atsakymas. Modelio atsakymas grįždamas praeina pro tą patį filtrą, o srautu siunčiami OpenAI ir Anthropic modelių atsakymai sulaikomi ir išleidžiami visi iš karto, todėl sugaunamas net vardas, perskeltas per dvi atsakymo dalis.
Žurnale – metaduomenys, ne tekstas. Kiekviename įraše užfiksuojamas naudotojas, komanda, modelis, žetonai, kaina, trukmė ir aptikimų skaičius, o užblokuotos užklausos registruojamos su priežastimi. Užklausos teksto stulpelio nėra – nei originalaus, nei užmaskuoto. Užblokavus įterpimo ataką, išsaugoma ne daugiau kaip 50 pirmųjų sugautos frazės simbolių: pakanka atakai atpažinti, bet per mažai dokumentui sutalpinti.
Biudžetas – tai mėnesio žetonų limitas naudotojui ir komandai, tikrinamas prieš kiekvieną užklausą. Kai įjungtas blokavimas, limitą viršijęs naudotojas vietoj atsakymo gauna klaidą.
Įterpimo patikra sugauna ir užmaskuotas, ir perfrazuotas atakas
Įterpimo ataka (angl. prompt injection) – tai tekstas, kuriuo bandoma perrašyti modeliui duotus nurodymus. Sietuvas kiekvieną naudotojo žinutę tikrina dviem būdais: pagal žinomas atakų formuluotes, prieš tai nuėmęs įprastas maskuotes, ir pagal žinomų atakų prasmę, todėl sugaunama ir nauja, ir nukopijuota ataka.
Šablonų patikra tikrina 21 atakos formuluotę, prieš tai suvienodinusi įprastas gudrybes: panašiai atrodančias kirilicos ir graikų raides, nematomus simbolius, raides pakeičiančius skaitmenis ir tarpais išskaidytus žodžius. „ign0re prev1ous instruct1ons“ sugaunama lygiai taip pat, kaip ir įprastai parašyta frazė. Jautrumas nustatomas kiekvienam įrankiui, todėl vertimo įrankis, kuriame darbuotojai dažnai prašo modelio atlikti vaidmenį, naudoja 16 pavojingiausių šablonų.
Prasmės patikra lygina kiekvieną žinutę su 25 pavyzdinėmis atakomis ir blokuoja žinutes, kurių kosinusinis panašumas siekia 0,82 ar daugiau. Įmonė gali pridėti iki 50 savo pavyzdžių, o atskiri mūsų sukurti apgaulingi prieigos taškai fiksuoja tikrus bandymus pulti netikras DI paslaugas ir papildo pavyzdžių rinkinį naujais bandymais.
Be to, sietuvas papildo kiekvieną sisteminį nurodymą taisyklėmis neatskleisti savo instrukcijų ir nevykdyti nurodymų, įterptų į naudotojo tekstą. Pridėdamas žinių bazės kontekstą, jis nurodo modeliui atsakyti tik remiantis tuo kontekstu.
Slėpimas palieka tiekėjui tik tai, ko reikia užduočiai
Duomenų kiekio mažinimas – BDAR principas, kurį sietuvas įgyvendina praktiškai: tiekėjas gauna tai, ko reikia užduočiai, ir nieko daugiau. Lietuviškame tekste asmens duomenys pasitaiko įvairiomis formomis, todėl aptikimas pritaikytas joms, o kiekviena įmonė prideda savo formatus.
Sietuvas kiekvienai užklausai nusprendžia, ką gaus tiekėjas, o žurnalas tai vėliau įrodo.
IBAN rašomas grupėmis po keturis simbolius, mobiliojo telefono numeris – su +370 arba 8 6xx, o vardai linksniuojami: Jonas, Jono, Jonui. Sietuvas turi 14 duomenų tipų: nuo el. pašto, telefono, IBAN ir Luhn algoritmu tikrinamų kortelių numerių iki asmens identifikavimo numerių, gimimo datų ir vardų su lietuviškomis raidėmis. Kiekvienas įrankis naudoja jam reikalingą rinkinį, o įmonės šablonai prideda vietinius formatus ir vidinius identifikatorius: sutarčių, bylų, sąskaitų numerius. Kiekvienas įmonės šablonas prieš paleidžiant patikrinamas, ar jame nėra pavojingų konstrukcijų.
Rezultatas – maža ir aiškiai žinoma rizika bei žurnalas, kuriame matyti, kurios komandos ir kurie naudotojai dažniausiai sukelia aptikimus.
Kaip įvertinti asmens duomenų slėpimą DI užklausose: penki klausimai
| Klausimas | Geras atsakymas |
|---|---|
| Kokiu režimu veikia kiekvienas įrankis? | Blokavimas, slėpimas ar įspėjimas pasirinktas kiekvienam įrankiui ar organizacijai ir užrašytas. |
| Ar sietuvas sukonfigūruotas jūsų formatams? | Šablonai su tarpais parašytiems IBAN, +370 ir 8 6xx numeriams, asmens kodams ir jūsų identifikatoriams, patikrinti jums priklausančiame testų rinkinyje. |
| Ar tikrinama ne tik užklausa, bet ir modelio atsakymas? | Taip, įskaitant srautu siunčiamus atsakymus. |
| Ką saugo veiksmų žurnalas? | Skaičius, kainas, modelius ir aptikimus, bet ne užklausos tekstą. |
| Kas nutinka, kai patikra neišlaikoma? | Užklausa sustoja prieš kreipiantis į tiekėją, o atmetimas įrašomas į žurnalą su priežastimi. |
Ką verta pritaikyti ir kitur
Pirmiausia nukreipkite visas užklausas modeliui per vieną sietuvą ir tik tada spręskite, kiek išmanus turi būti aptikimas. Vienoje vietoje taikomą taisyklę galima išbandyti, fiksuoti žurnale ir pakeisti vieną kartą. Į šešias programas nukopijuotą taisyklę tenka tikrinti šešis kartus, o septintojoje programoje jos apskritai nebus.
Tada sukonfigūruokite sietuvą pagal savo duomenis – tokius, kokius iš tikrųjų rašo jūsų darbuotojai. Sietuvu galima pasitikėti tada, kai komanda gali parodyti, kokius identifikatorius jis pašalina, kurie įrankiai veikia blokavimo režimu ir ką žurnalas užfiksavo praėjusį mėnesį.
Jei jūsų komandos siunčia klientų duomenis DI tiekėjams ir norite, kad šis kelias būtų sutvarkytas su jūsų dokumentais, susipažinkite su mūsų DI valdymo darbais, užsisakykite techninę peržiūrą arba pokalbį.
Dažni klausimai
Ar galima į ChatGPT ar kitą DI įrankį įkelti klientų asmens duomenis?
Viskas, kas yra užklausoje, pasiekia tiekėją, todėl BDAR reikalauja teisinio pagrindo, duomenų tvarkymo sutarties ir priežasties, kodėl tie duomenys apskritai reikalingi. Duomenų kiekio mažinimo principas ir VDAI 2025 m. rekomendacijos dėl DI įrankių sako tą patį: jei užduotį galima atlikti be asmens duomenų, pašalinkite juos prieš užklausą. Sietuvas tai daro visiems įrankiams iš karto.
Kas yra asmens duomenų slėpimas DI užklausose?
Tai žingsnis, kuris užklausoje suranda asmens duomenis, pavyzdžiui, el. pašto adresus, telefono numerius, IBAN, asmens kodus ir vardus, ir pakeičia juos žymomis, tokiomis kaip [EMAIL], prieš siunčiant tekstą modeliui. Geriausiai jis veikia sietuve tarp įmonės programų ir tiekėjo: taisyklė taikoma vieną kartą visiems įrankiams, o ne kiekviename atskirai.
Kokius asmens duomenis atpažįsta DI sietuvas?
Mūsų sukurtas sietuvas turi 14 duomenų tipų: nuo el. pašto adresų, telefono numerių ir IBAN iki Luhn algoritmu tikrinamų kortelių numerių, asmens identifikavimo numerių, gimimo datų ir vardų su lietuviškomis raidėmis. Kiekvienas įrankis naudoja jam reikalingą rinkinį, o įmonė prideda šablonus savo identifikatoriams, pavyzdžiui, sutarčių ar bylų numeriams.
Kaip sietuvas aptinka įterpimo atakas?
Jis lygina naudotojų žinutes su žinomomis atakų formuluotėmis, pavyzdžiui, „ignore previous instructions“, prieš tai suvienodinęs gudrybes: panašiai atrodančias raides, nematomus simbolius ir tarpais išskaidytus žodžius. Antroji patikra lygina žinutės prasmę su pavyzdinių atakų rinkiniu ir sugauna perfrazuotas atakas, kurių jokiame frazių sąraše nėra. Naujų pavyzdžių tam rinkiniui tiekia apgaulingi prieigos taškai.
Ką turi saugoti DI naudojimo žurnalas?
Pakankamai, kad būtų galima atsakyti, kas, kada, kokiu modeliu, už kiek ir su kokiu rezultatu naudojosi, ir nieko, kas pačiame žurnale sukurtų jautrių dokumentų kopiją. Mūsų sietuvas kiekvienai užklausai fiksuoja naudotoją, komandą, modelį, žetonus, kainą, trukmę ir aptikimų skaičių, užblokuotas užklausas registruoja su priežastimi, o užklausos teksto stulpelio apskritai neturi.
Šaltiniai
- Reglamentas (ES) 2016/679 (Bendrasis duomenų apsaugos reglamentas), EUR-Lex: 4 straipsnio 1 punktas, 5 straipsnio 1 dalies c punktas
- VDAI, DUK. Dirbtinis intelektas. Norite pradėti naudoti dirbtinio intelekto sistemą: nuo ko pradėti? (2025-05-29)
- OWASP Top 10 for LLM Applications 2025 (LLM01 Prompt Injection)