Kiberdrošība

Analīze Python tārpam, kas maldina mākslīgā intelekta drošības aģentus

Hades kampaņa ir sarežģīts tārps, kas mērķē uz Python izstrādātājiem. Tas izmanto pretinieka uzvedņu injekciju, lai apmānītu MI drošības rīkus un zagtu datus.
Analīze Python tārpam, kas maldina mākslīgā intelekta drošības aģentus

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.

Ieejas punkts Python inicializācijas procesā

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.

Kā ļaunprogrammatūra maldina automatizēto sargu

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.

Piegādes ķēdes integritātes sistēmas izmantošana

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.

Atmiņas pārmeklēšana un laterālā kustība

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".

"Nodedzinātās zemes" noturības mehānisms

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.

Proaktīvas aizsardzības veidošana pret maldinošu ļaunprogrammatūru

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:

  1. Izmantojiet stingru robežu izolāciju LLM. Nekad nenododiet neapstrādātu, neuzticamu kodu MI skenerim bez sistēmas uzvednes, kas skaidri aizliedz modelim izpildīt instrukcijas, kas ietvertas pašā kodā.
  2. Auditējiet savas GitHub Actions atļaujas. Ieviesiet vismazāko privilēģiju principu OIDC marķieriem un nodrošiniet, lai izpildītājiem nebūtu nevajadzīgas rakstīšanas piekļuves jūsu krātuvēm.
  3. Pārraugiet neautorizētu bināro failu izpildi. Hades paļaujas uz Bun izpildlaika ievietošanu. Rīki, kas atzīmē vai bloķē nezināmu bināro failu izpildi __init__.py ceļā, var apturēt infekciju ieejas punktā.
  4. Manuāli pārbaudiet Sigstore izcelsmi. Lai gan Hades var viltot saišķus, neatbilstības būvēšanas laikā vai vides mainīgajos dažkārt var tikt pamanītas tiesu ekspertīzes audita laikā.
  5. Ieviesiet robustas dublēšanas stratēģijas. Tā kā Hades ietver tīrītāju, bezsaistes vai nemainīgu (immutable) dublējumu izveide jūsu izstrādes darbam ir vienīgais veids, kā mazināt datu zaudēšanas risku seku novēršanas laikā.

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.

bg
bg
bg

Uz tikšanos otrā pusē.

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