Generatyvinis DI kibernetinio saugumo analitikams: ką modelis padaro ir ko ne
Svarbiausia trumpai
- Tyrime kalbos modelis perėmė duomenų peržiūrą, bet sprendimas abiejose užduotyse liko analitikui
- Matavome dviejose vietose: Android aplikacijų kode ir tinklo saugumo žurnaluose
- Greitis padidėjo juntamai, tačiau klaidingai teigiami radiniai niekur nedingo – juos atsijojo žmogus
- Stipriai užmaskuotose ir keliais žingsniais vykdomose atakose modelis sustodavo
- Sąskaita auga kartu su įvesties apimtimi, todėl žurnalus verta atsijoti prieš modelį, o ne po jo
- Į viešą įrankį įklijuotas žurnalo fragmentas su IP adresais ir naudotojų vardais yra asmens duomenų tvarkymas
- DI įrankio ataskaita nepakeičia nė vienos iš trijų reguliariai pasikartojančių Kibernetinio saugumo įstatymo ir Aprašo pareigų
Kibernetinio saugumo analitiko darbo diena didžiąja dalimi praeina skaitant duomenis: įvykių žurnalus, sistemų konfigūracijas, pažeidžiamumų ataskaitas, kenkėjiškų programų analizes. Įrankiai tuos duomenis surenka ir paruošia, o sprendimą, kuris įspėjimas reiškia tikrą ataką ir kokia rizika už jo stovi, vis dar priima žmogus. Tyrime Using Generative AI Models to Support Cybersecurity Analysts tikrinome, kokią šio darbo dalį geba perimti generatyvinis DI, tai yra didysis kalbos modelis (LLM), ir kur jis klysta. Matavome dviejose konkrečiose užduotyse: Android aplikacijų kode ir tinklo saugumo žurnaluose. Platesnis vaizdas, kur dirbtinis intelektas gynyboje praverčia apskritai, surinktas straipsnyje DI kaip gynyba; čia – vieno tyrimo rezultatas.
Kodėl generatyvinis DI apskritai atsirado saugumo komandoje
Duomenų apimtis augo greičiau nei komandos. Vidutinės įmonės tinkle per parą susikaupia daugiau įvykių įrašų, nei komanda spėja perskaityti, ir didžioji jų dalis nesvarbi. Klasikiniai įrankiai juos surenka, normalizuoja ir sudėlioja, tačiau paskutinis žingsnis nesikeičia: kas nors perskaito, palygina ir nusprendžia. Būtent jis atima valandas.
Generatyvinis DI saugumo komandoje – tai ne savarankiškas gynėjas, o skaitytojas. Jis įsiterpia kaip tik į šį žingsnį ir praktiškai daro keturis dalykus:
- peržiūri saugumo žurnalus ir greičiau iškelia nukrypimus,
- greičiau randa aplikacijose išnaudojamas klaidas,
- įsilaužimų testavime padeda išnagrinėti, kurią klaidą su kuria galima sujungti,
- sudėlioja radinius pagal pripažintas metodikas, pavyzdžiui, OWASP Mobile Top 10 sąrašą ir MITRE ATT&CK.
Visoms keturioms užduotims bendra viena: iš didelės duomenų apimties iškelti tą nedidelę dalį, kuri turi reikšmės. Ten, kur kelti nėra ko, modelis nieko neprideda.
Du bandymai iš tyrimo
Pasirinkome dvi užduotis, su kuriomis saugumo komanda dirba lygiai taip pat kasdien.
1. Pažeidžiamumai Android aplikacijose
Sukūrėme sistemą, kuri dviejų gerai žinomų įrankių – MobSF (Mobile Security Framework) ir Semgrep – išvestį sujungia su kalbos modeliu. Statinė analizė mato šabloną, bet ne kodo ketinimą: ji pažymi iškvietimą, o ne atsako į klausimą, ar konkrečioje aplikacijoje jis iš tikrųjų pavojingas. Todėl greta statinės analizės pastatėme konteksto analizę, kurios užduotis buvo:
- perskaityti aplikacijos pirminį kodą,
- atpažinti saugumo klaidas pagal iš anksto aprašytas taisykles,
- sudėlioti radinius pagal OWASP Mobile Top 10 sąrašą.
💡 Svarbiausias rezultatas: modelis klaidas rado greičiau ir tiksliau nei patys įrankiai, tačiau davė ir klaidingai teigiamų radinių (angl. false positive), o atsijoti juos galėjo tik žmogus.
2. Saugumo žurnalų analizė incidentams aptikti
Antroji užduotis – tinklo saugumo žurnalai: Suricata (IDS/IPS) išvestis ir Windows procesus stebinčio Sysmon įrašai. Modelio prašėme susieti įspėjimus su tikromis atakomis, atmesti klaidingai teigiamus radinius ir kiekvienam incidentui priskirti atitinkamą MITRE ATT&CK techniką.
💡 Svarbiausias rezultatas: laikas iki akimirkos, kai paaiškėja, kas vyksta ir kiek tai rimta, juntamai sutrumpėjo. O štai stipriai užmaskuotose ir keliais žingsniais vykdomose atakose modelis sustodavo.
Ką modelis padaro ir ko ne
| Užduotis | Ką padaro modelis | Kas lieka analitikui |
|---|---|---|
| Žurnalų atsijojimas | Perskaito tūkstančius eilučių ir pažymi tas, kurios išsiskiria iš įprasto vaizdo | Žinoti, kaip šiame tinkle atrodo normali darbo diena, ir atmesti tai, kas tik atrodo neįprastai |
| Kodo peržiūra | Randa žinomus klaidų šablonus ir paaiškina, kodėl vieta pavojinga | Patikrinti, ar konkrečioje aplikacijoje klaidą iš tikrųjų galima išnaudoti |
| Radinių sudėliojimas | Priskiria kategoriją pagal OWASP Mobile Top 10 arba MITRE ATT&CK | Nuspręsti, kuris radinys taisomas pirmas |
| Incidento aprašymas | Sudėlioja įvykių seką į suprantamą tekstą | Patvirtinti, kad seka atitinka tai, kas iš tikrųjų įvyko |
| Sprendimas dėl rizikos | Nieko | Viską: sistemos svarbą, duomenų kategoriją, pasekmes veiklai |
Svarbiausia lentelės eilutė – paskutinė. Modelis – greitas skaitytojas, o ne atsakingas asmuo. Tai, kad sistema kritinė, kad konkretūs duomenys yra asmens duomenys ir kad paslaugos sustojimas kainuoja konkrečius pinigus, yra organizacijos kontekstas, kurio modelis neturi.
Kur ši prieiga kainuoja daugiau, nei atrodo
Tyrimas parodė ir ribas, o jas verta pavadinti tikraisiais vardais.
- Klaidingai teigiami radiniai. Modelis gali neteisingai suprasti ir žurnalo eilutę, ir kodo fragmentą bei pranešti apie grėsmę, kurios nėra. Geresne užklausa to nepašalinsite – tai metodo kaina.
- Kaina. Didelės duomenų apimties apdorojimas kalbos modeliu brangus, o sąskaita auga kartu su įvesties apimtimi. Praktiškai tai reiškia, kad žurnalai atsijojami prieš modelį: pirma filtras ir sutraukimas, o į kontekstą įdedama tik tai, ką iš tikrųjų reikia perskaityti.
- Paties sprendimo saugumas. Analizė su DI kelia klausimų dėl duomenų konfidencialumo, o kartu pats modelis tampa atakos taikiniu. Kas tokioje sąrangoje tikrinama, surinkta straipsnyje apie LLM integracijų įsilaužimų testavimą.
Trečias punktas nėra teorinis. Aplink kalbos modelį sukurta aplikacija greta įprastų web ir API klaidų įgyja savo atakos paviršių, o dažniausiai jame pasikartojantis radinys – užklausų injekcija (angl. prompt injection). Jei įrankis, kuriuo atsijojami incidentai, pats įvykdo svetimą nurodymą iš savo apdorojamo turinio, greitis įgytas patikimumo sąskaita.
Ką tai reiškia Lietuvos organizacijai
Pirmas klausimas – dėl duomenų. Į pokalbių langą įklijuotas žurnalo fragmentas su IP adresais, naudotojų vardais ir el. pašto adresais yra asmens duomenų tvarkymas pagal Bendrąjį duomenų apsaugos reglamentą (BDAR), todėl reikia tvarkymo pagrindo, aiškaus saugojimo termino ir atsakymo į klausimą dėl perdavimo už Europos ekonominės erdvės ribų. Priežiūros institucija Lietuvoje – Valstybinė duomenų apsaugos inspekcija. Praktinė išvada paprasta: viešas pokalbių įrankis nėra vieta incidento medžiagai, o identifikatorius prieš analizę verta pakeisti.
Antras klausimas – dėl įrodymų. NIS2 Lietuvoje perkelta ne atskiru įstatymu, o Kibernetinio saugumo įstatymą išdėstant nauja redakcija (įstatymas Nr. XIV-2902, įsigaliojęs 2024 m. spalio 18 d.); konkrečios priemonės surašytos Vyriausybės nutarimu Nr. 945 patvirtintame Kibernetinio saugumo reikalavimų apraše. Kibernetinio saugumo subjektams iš jų kyla trys reguliariai pasikartojančios pareigos:
- Aprašo 45.8 papunktis – visos informacinės sistemos spragų skenavimas ne rečiau kaip kas 6 mėnesius;
- Aprašo 48.1 papunktis – kasmetinis atitikties vertinimas, kurį subjektas atlieka pats sau;
- Aprašo 48.3 papunktis kartu su Kibernetinio saugumo įstatymo 14 straipsnio 8 dalimi – kibernetinio saugumo auditas ne rečiau kaip kas 3 metus.
Nė vienos iš jų DI įrankio išvestis neįvykdo: pareigai reikia suderintos apimties, datų, patikrintų radinių ir įrodomo ištaisymo. Įsilaužimų testo Lietuvos teisės aktai nenumato niekur, o testuotojų licencijų ar registro nėra. Terminai skaičiuojami kiekvienam subjektui atskirai: 12 mėnesių organizaciniams ir 24 mėnesiai išvardytiems techniniams reikalavimams nuo tos dienos, kurią tas subjektas užregistruojamas Kibernetinio saugumo informacinėje sistemoje (KSIS). Visai rinkai bendros kalendorinės datos nėra. Kam ir kaip dažnai tai taikoma, atsekta straipsnyje apie tai, ar įsilaužimų testavimas privalomas.
Trečias klausimas – dėl paties DI naudojimo. Saugaus dirbtinio intelekto diegimo rekomendacijose kaskart kartojasi tos pačios trys rizikos: užklausų injekcijos, tiekimo grandinės atakos ir duomenų nutekėjimas. Vidiniam analitiko įrankiui iš to plaukia paprastas darbas: prieš jį paleidžiant atsakoma, iš kur ateina modelio apdorojamas turinys, ką modeliui leidžiama pasiekti ir kas su jo atsakymu vyksta toliau.
Vieną dalyką verta pasakyti iš karto. HAXORIS – Slovakijoje registruota įmonė, o mūsų darbas – techninis saugumo testavimas ir pasirengimo vertinimas. Kibernetinio saugumo įstatymo 14 straipsnio 8 dalyje numatyto kibernetinio saugumo audito neatliekame ir atitikties nesertifikuojame. Testuojame sistemas pagal rašytinį užsakovo leidimą ir sutartą apimtį bei parengiame ataskaitą, kurią auditorius gali patikrinti. Kaip ši procedūra vyksta ir kas joje ką daro, aprašyta straipsnyje apie kibernetinio saugumo auditą.
Šis straipsnis – informacinio pobūdžio medžiaga, o ne teisinė konsultacija. Kokios pareigos taikomos konkrečiai organizacijai, priklauso nuo sektoriaus, dydžio, subjekto kategorijos ir vaidmens tiekimo grandinėje. Teisinis reguliavimas keičiasi, todėl prieš priimant sprendimą verta pasitikrinti aktualią redakciją ir pasitarti su savo teisininku bei duomenų apsaugos pareigūnu.
Kaip DI įtraukti į saugumo darbą neprarandant kontrolės
Praktinė tyrimo dalis baigiasi šešiais žingsniais, kuriuos gali padaryti bet kuri komanda.
- Pradėkite nuo užduočių, kurių atsakymą galima patikrinti. Žurnalo eilutės paaiškinimas, kodo fragmento aprašymas, incidento santrauka – visais trimis atvejais rezultatą su šaltiniu palyginsite per kelias minutes.
- Atsijokite įvestį prieš modelį. Pirma filtras ir sutraukimas, tik paskui modelis. Taip vienu metu mažėja ir sąskaita, ir klaidingai teigiamų radinių skaičius.
- Kiekvienam radiniui reikalaukite įrodymo. Žurnalo eilutės, failo pavadinimo, vietos kode. Teiginys be nuorodos į šaltinį – ne radinys, o prielaida.
- Neveskite jautrių duomenų į viešą įrankį. Pakeiskite identifikatorius ir rinkitės aplinką, kurioje įvestis nepatenka į modelio mokymą.
- Užsirašykite, ką modelis pasiūlė, o ne vien tai, kad jis atsakė. Be šio pėdsako vėliau nebus galima pasakyti, kodėl įspėjimas buvo atmestas.
- Patikrinkite patį sprendimą. Vos tik modelis gauna prieigą prie duomenų ir teisę iškviesti įrankius, jis tampa nauju atakos paviršiumi; šią dalį dengia DI ir LLM integracijų įsilaužimų testavimas, o ne įprasta aplikacijos peržiūra.
Septintas žingsnis nėra techninis. Komandoje susitarkite, kas yra modelio užduotis, o kas – ne. Jei analitikas įrankį suvokia kaip antrą akių porą, jis padeda; jei kaip teisėją, anksčiau ar vėliau kas nors pasirašys sprendimą, kurio nepatikrino.
Kur visa tai juda
Nepaisant apribojimų, sritis vystosi greitai. Konkrečiai užduočiai priderinti modeliai, saugumo reikmėms kuriami savi modeliai ir realiuoju laiku prisitaikantis mokymasis gali pakeisti tai, kaip greitai ataka pastebima, suprantama ir sustabdoma. Vis dėlto kryptis, kurią nubrėžė tyrimas, lieka ta pati: keičiasi ne atsakomybė, o greitis, kuriuo analitikas prieina prie faktų.
Skirtumas tarp komandos, kuriai DI padeda, ir komandos, kuriai jis kenkia, slypi ne modelio pasirinkime. Jis slypi procese: ar radinį kas nors patikrina, ar įvestis atsijota ir ar kas nors lieka atsakingas už sprendimą.
Apibendrinimas
Modelis perskaitė daugiau nei žmogus ir greičiau nei žmogus. Tikslesnio jo tai nepadarė: klaidingai teigiami radiniai liko, sudėtingose atakose jis sustodavo, o apdorojimo kaina augo kartu su duomenų apimtimi. Todėl darbo pasidalijimas išėjo priešingas rinkos pažadams apie savarankišką gynybą: duomenis perkrato mašina, išvadą padaro analitikas.
HAXORIS šioje srityje dirba techninėje pusėje. Atliekame DI ir LLM integracijų įsilaužimų testavimą, mobiliųjų aplikacijų įsilaužimų testavimą ir pažeidžiamumų vertinimą pagal OWASP metodiką, o pasirengimą Kibernetinio saugumo įstatymo ir NIS2 reikalavimams vertiname atskirai – kaip aprašyta NIS2 įsilaužimų testų puslapyje. Jei DI funkcijos jau veikia gamybinėje aplinkoje arba artėja jų paleidimas, užsisakykite nemokamą konsultaciją ir kartu su komanda suderinsime apimtį.
Visi tyrimo rezultatai aprašyti mokslinėje publikacijoje:
Kuo daugiau DI įrankių atsiduria saugumo komandos rankose, tuo svarbesnis darosi darbo pasidalijimas: duomenis perkrato mašina, sprendimą priima žmogus. Nuo to ir priklauso, kaip greitai bei kaip tiksliai suveikia gynyba.
🔐 Saugokitės, domėkitės naujienomis ir naudokite DI apgalvotai.
Generatyvinis DI kibernetiniame saugume – dažniausiai užduodami klausimai
01Ar kalbos modelis pakeičia saugumo analitiką?
Ne. Tyrime modelis pagreitino duomenų peržiūrą: perėjo žurnalus bei kodą ir pažymėjo tai, kas verta dėmesio. Sprendimas abiejose užduotyse liko žmogui, nes modelis davė ir klaidingai teigiamų radinių, o stipriai užmaskuotose arba kelių žingsnių atakose sustodavo. Darbo pasidalijimas išeina priešingas įprastam įsivaizdavimui: duomenis perkrato mašina, išvadą padaro analitikas.
02Kodėl modelis duoda klaidingai teigiamų radinių?
Todėl, kad ir žurnalo eilutę, ir kodo fragmentą jis skaito kaip tekstą ir sprendžia pagal panašumą. Jei šablonas primena tikros atakos šabloną, modelis praneša ir tada, kai nieko neįvyko. Tai ne sistemos triktis, o metodo kaina: kiekvienas radinys tikrinamas, todėl procesą verta sudėlioti taip, kad patikra būtų greita.
03Kokiomis metodikomis rėmėsi tyrimas?
Dviem. Tikrindami Android aplikacijas radinius dėliojome pagal OWASP Mobile Top 10 sąrašą, o analizuodami žurnalus incidentus priskyrėme MITRE ATT&CK technikoms. Įrankių pusėje dirbome su MobSF ir Semgrep išvestimi bei su Suricata ir Sysmon įrašais.
04Ar DI įrankio ataskaita pakeičia teisės aktų numatytas pareigas?
Ne. Kibernetinio saugumo subjektams reguliariai kartojasi trys atskiros pareigos: visos informacinės sistemos spragų skenavimas ne rečiau kaip kas 6 mėnesius (Kibernetinio saugumo reikalavimų aprašo 45.8 papunktis), kasmetinis atitikties vertinimas, kurį subjektas atlieka pats sau (48.1 papunktis), ir kibernetinio saugumo auditas ne rečiau kaip kas 3 metus (48.3 papunktis kartu su Kibernetinio saugumo įstatymo 14 straipsnio 8 dalimi). Nė vienos iš jų DI įrankio išvestis neįvykdo: reikia suderintos apimties, datų, patikrintų radinių ir įrodomo ištaisymo. DI įrankis – kasdienio darbo sluoksnis, o ne įrodymas.
05Ar sistemą, kurioje veikia DI, reikia testuoti atskirai?
Taip. Aplink kalbos modelį sukurta aplikacija greta įprastų web ir API klaidų įgyja savo atakos paviršių: užklausų injekcijas, klausimą dėl duomenų šaltinių patikimumo, modeliui suteiktas prieigos teises ir tai, kas su atsakymu vyksta toliau. Ši dalis tikrinama atskirame testavimo cikle, nes įprastas aplikacijos testas grandinės nuo užklausos iki įrankio neapima.
06Kokius duomenis galima suvesti į viešą DI įrankį?
Trumpas atsakymas – jokių klientų, darbuotojų ar incidento duomenų. Įklijuotas žurnalo fragmentas su IP adresais, naudotojų vardais ir el. pašto adresais yra asmens duomenų tvarkymas pagal BDAR, o kartu kyla klausimai dėl tvarkymo pagrindo, perdavimo už Europos ekonominės erdvės ribų ir saugojimo termino; priežiūros institucija Lietuvoje – Valstybinė duomenų apsaugos inspekcija. Saugesnis kelias – naudoti aplinką, kurioje įvestis nepatenka į modelio mokymą, o identifikatorius prieš tai pakeisti.