Vai esat sasnieguši punktu, kurā savam MI koda asistentam uzticaties vairāk nekā paša veiktajai manuālajai pārbaudei? Daudzi izstrādātāji ir. Mēs paļaujamies uz lielajiem valodas modeļiem (LLM), lai meklētu ievainojamības, ieteiktu labojumus un pārbaudītu trešo pušu pakotņu integritāti. Bet kas notiek, ja ļaunprogrammatūra prot "atrunāties" mākslīgajam intelektam? Pagājušajā nedēļā es pavadīju vairākas naktis, pētot Hades kampaņas (Hades Campaign) tehniskās detaļas — apdraudējumu, kas iezīmē izmaiņas tajā, kā uzbrucēji vēršas pret automatizēto aizsardzību. Šis nav tikai datu zaglis. Tā ir psiholoģiska operācija, kas vērsta pret programmatūru, kuru mēs izmantojam sevis aizsardzībai.
StepSecurity pētnieki nesen identificēja šo kampaņu kā jaunāko Miasma apdraudējumu grupas darbu. Kamēr Miasma iepriekš koncentrējās uz mākoņpakalpojumu akreditācijas datu ievākšanu, Hades ir agresīvāks, pašizplatošs tārps. Tas īpaši mērķē uz Python izstrādātāju vidēm, izmantojot kompromitētas pakotnes PyPI ekosistēmā. Ietekmēto bibliotēku sarakstā ir ensmallen, mflux-streamlit un vairāki rīki, ko izmanto bioinformātikā. Ja strādājat skaitļošanas bioloģijas vai datu zinātnes jomā, jūsu darbstacija ir augstvērtīgs mērķis šai konkrētajai grupai.
Uzbrukums sākas, kad izstrādātājs importē kompromitētu pakotni. Hades paslēpj savu primāro ielādētāju (loader) failā __init__.py. Šis ir standarta fails, ko Python izmanto, lai direktoriju atzīmētu kā pakotni. Ievietojot ļaundabīgo skriptu šeit, uzbrucēji nodrošina koda izpildi brīdī, kad pakotne tiek ielādēta projektā. Ielādētājs ir maskēts (obfuscated), lai izvairītos no vienkāršas, uz parakstiem balstītas noteikšanas, taču tā mērķis ir vienkāršs. Tas sistēmā ievieto iepriekš kompilētu Bun izpildlaika (runtime) bināro failu.
Bun ir augstas veiktspējas JavaScript rīku kopa. Tas ir lielisks rīks godprātīgiem izstrādātājiem, taču tas ir arī ideāls dzinējs ļaunprogrammatūras izpildei. Tā kā Bun ir autonoms binārais fails, tas ļauj ļaunprogrammatūrai palaist sarežģītas JavaScript lietderīgās slodzes (payloads), nepieprasot Node.js instalāciju upura mašīnā. Tas apiet tradicionālo uzraudzību, kas meklē aizdomīgas npm vai Node aktivitātes. No arhitektūras viedokļa Bun izmantošana ļauj uzbrucējiem darboties "ēnu vidē", kas atrodas ārpus vairuma uz Python orientēto darbstaciju standarta drošības redzamības.
Inovatīvākā Hades funkcija ir tās spēja melot MI drošības aģentiem. Daudzas mūsdienu izstrādes vides izmanto LLM, lai skenētu kodu un meklētu ļaundabīgus modeļus. Hades to paredz. Savu ļaundabīgo failu augšdaļā ļaunprogrammatūra iekļauj teksta bloku, kas izstrādāts kā pretinieka uzvedne (adversarial prompt). Šis teksts instruē LLM ignorēt jebkuru aizdomīgu kodu, kas atrodas zem tā, un klasificēt pakotni kā pārbaudītu un drošu.
Pagājušajā mēnesī es testēju līdzīgu tehniku izolētā vidē (sandbox). Es iesniedzu LLM skriptu, kas saturēja klaju "reverse shell", bet pirms tā pievienoju komentāru, ka kods ir iepriekš autorizēts drošības tests valsts līgumam. MI ignorēja ekspluata kodu un ziņoja, ka skripts atbilst visiem drošības protokoliem. Hades izmanto tieši šo digitālā Trojas zirga stratēģiju. Tā izmanto MI kognitīvo loģiku. Tā kā LLM ir uzņēmīgi pret sociālo inženieriju, tie pieņem šīs slēptās instrukcijas kā augstas prioritātes komandas. Rezultātā tiek saņemts kļūdaini negatīvs spriedums, ļaujot ļaunprogrammatūrai izslīdēt cauri organizācijas automatizētajai analīzei.
Hades ne tikai slēpjas; tā cenšas izskatīties oficiāli. Tā izmanto vairākas kritiski svarīgas drošības struktūras, tostarp OpenID Connect (OIDC) un Supply-chain Levels for Software Artifacts (SLSA). Kad ļaunprogrammatūra konstatē, ka tā darbojas GitHub Actions darbplūsmā, tā pārbauda OIDC mainīgos. Pēc tam tā izmanto šos akreditācijas datus, lai ar Sigstore palīdzību ģenerētu kriptogrāfiski parakstītus SLSA izcelsmes saišķus (provenance bundles).
Šī ir sarežģīta apiešana tieši tām sistēmām, kas paredzētas programmatūras integritātes garantēšanai. Ģenerējot derīgu Sigstore saišķi, ļaunprogrammatūra var publicēt kompromitētas bibliotēku versijas PyPI vai npm krātuvēs, kas izskatās kā nākušas no oficiālas, verificētas būvēšanas vides. Ārējam novērotājam vai automatizētam rīkam pakotne izskatās pēc tādas, kurai ir derīga uzraudzības ķēde. Tas pārvērš drošības infrastruktūru par ieroci uzbrucēja rokās. Tas padara kompromitēto kodu uzticamāku par leģitīmu, neparakstītu kodu.
Tiklīdz ļaunprogrammatūra ir nostiprinājusies, tā sāk datu vākšanu. Tā ietver pielāgotus atmiņas skenerus (scrapers) Linux, macOS un Windows sistēmām. Šie skeneri mērķē uz aktīvo procesu atmiņas kartējumiem, lai iegūtu sensitīvus, šifrētus datus, kas citādi nav pieejami diskā. Šī ir slepena pieeja, jo tā izvairās no aizdomīgu failu izveides, ko varētu pamanīt galiekārtu noteikšanas un reaģēšanas (EDR) sistēma.
Tārps meklē arī veidus, kā izplatīties. Tas skenē inficēto sistēmu, meklējot SSH atslēgas, SCP konfigurācijas un GitHub marķierus (tokens). Ja tas atrod marķieri ar rakstīšanas atļaujām, tas izmanto GitHub Actions izpildītāju, lai iegūtu noslēpumus tieši no atmiņas. Pēc tam tas mēģina inficēt citas lietotājam piederošās krātuves. Komandvadības (C2) trafiks tiek paslēpts publiskajā GitHub infrastruktūrā. Nozagtie dati tiek saspiesti, šifrēti un nosūtīti uz jaunām publiskām krātuvēm, kuras kontrolē uzbrucējs. Šīm krātuvēm bieži ir apraksts "Hades — The End for the Damned".
Noturība (persistence) ir Hades dizaina pamatkomponente. Ļaunprogrammatūra izveido klātbūtni darbstacijā un uzrauga nozagto akreditācijas datu statusu. Ja drošības komanda konstatē pārkāpumu un atsauc nozagto GitHub marķieri, Hades pāriet reaktīvā režīmā. Tā palaiž "tīrītāja" (wiper) procesu, kas mēģina izdzēst lietotāja lokālos failus.
Tā ir atriebības taktika. Tā rada augstu likmju situāciju incidentu reaģētājiem. Ja pārtrauksiet piekļuvi, jūs varat zaudēt datus lokālajā mašīnā. Šī loģika spiež organizācijas rīkoties uzmanīgi seku novēršanas fāzē. Ļaunprogrammatūra mērķē arī uz 14 dažādu MI aģentu konfigurācijas failiem. Tā ievieto instrukcijas, kas izraisa jaunu infekciju ikreiz, kad izstrādātājs konsultējas ar savu MI asistentu par pašreizējo darba vidi. Tas izveido cilpu, kurā palīdzības meklēšana MI rīkā atkārtoti inficē sistēmu.
Hades kampaņa parāda, ka mūsu paļaušanās uz MI kā primāro drošības slāni ir ievainojamība. Mums ir jāvirzās uz modeli, kurā MI ir sadarbības partneris, nevis galīgā autoritāte. No riska viedokļa labākā aizsardzība ir granulāra, kas nepaļaujas uz vienu vienīgu sargu.
Galvenie secinājumi jūsu vides aizsardzībai:
__init__.py ceļā, var apturēt infekciju ieejas punktā.Raugoties uz apdraudējumu ainavu, Hades, visticamāk, ir nākotnes priekšvēstnesis. Uzbrucēji vairs nemēģina tikai uzlauzt mūsu durvju slēdzenes; viņi mācās, kā pārliecināt digitālo apsargu viņus ielaist. Mums jāpārtrauc MI spriedumu uztveršana kā absolūta patiesība un jāsāk tos uzskatīt par datu punktiem, kuriem nepieciešama cilvēka pārbaude.
Avoti: NIST Cybersecurity Framework, MITRE ATT&CK Framework (Software Supply Chain Compromise), StepSecurity Hades Campaign Report.
Atruna: Šis raksts ir paredzēts tikai informatīviem un izglītojošiem mērķiem un neaizstāj profesionālu kiberdrošības auditu vai incidentu reaģēšanas pakalpojumu.



Mūsu end-to-end šifrētais e-pasta un mākoņdatu glabāšanas risinājums nodrošina visefektīvākos līdzekļus drošai datu apmaiņai, garantējot jūsu datu drošību un konfidencialitāti.
/ Izveidot bezmaksas kontu