Lt; DR
„Axios“ npm kompromisas rodo kaip šiuolaikinės tiekimo grandinės atakos išnaudoti patikimas priklausomybes, kad pasiektų jautrius duomenis vykdymo metu. Šį incidentą analizavo keli saugumo tyrėjai, įskaitant išsamius suskirstymus iš Unit42 pramonės aprėptis, kurioje pabrėžiami su nacionalinės valstybės veikla susiję priskyrimo modeliai.
Šis įvykis paveikia:
- DevOps komandos veikia CI/CD pipelinesu aplinka pagrįstu autentifikavimu
- Autentifikuotas API užklausas apdorojančios vidinės paslaugos
- Programos, naudojančios „Axios“ vidiniam ir išoriniam HTTP ryšiui
Kadangi „axios“ yra užklausų sluoksnyje, pažeista versija gali pasiekti:
- Autorizacijos antraštės ir API prieigos raktai
- Aplinkos kintamieji ir paslaptys
- Vidinė paslaugų komunikacija
Tikrasis poveikis yra ne pati priklausomybė, o tai, prie ko ji gali prisijungti, kai bus įvykdyta.
Neatidėliotini veiksmai:
- Užrakinti priklausomų versijų kūrimą ir peržiūrėti naujausius atnaujinimus
- Keisti API raktus, žetonus ir CI/CD įgaliojimai
- Stebėkite siunčiamas užklausas ir autentifikavimo veiklą
- Auditas pipelines dėl atskleistų paslapčių
Kas nutiko „Axios npm“ atakoje
„Axios“ incidentas seka augantį tiekimo grandinės atakų modelį, kai užpuolikai taikosi į plačiai naudojamas priklausomybes, o ne į programų pažeidžiamumus.
Pažeidę patikimą paketą, užpuolikai vienu metu gali vykdyti veiksmus tūkstančiuose aplinkų.
Kadangi „axios“ yra vienas iš plačiausiai naudojamų HTTP klientų „JavaScript“ ekosistemoje, jis yra giliai integruotas į:
- Backend paslaugos
- Priekinės programos
- CI/CD pipelines
Dėl to tai yra labai vertingas taikinys.
Įdiegus ir paleidus kenkėjišką versiją, ji paveldi tas pačias teises kaip ir ją importavusi programa. Tai apima prieigą prie tinklo srauto, kredencialų ir vidinių paslaugų.
Kompromisas sulaukė platesnio dėmesio ne tik saugumo bendruomenėje, pasirodžius tokiems pranešimams kaip „Axios“. apimtis
nurodant galimus ryšius su pažangių grėsmių subjektais ir koordinuotomis kampanijomis.
Ką „Axios Attack“ iš tikrųjų veikia vykdymo metu
Šios atakos supratimo raktas yra sutelkti dėmesį į elgseną vykdymo metu.
„Axios“ veikia HTTP lygmenyje, o tai reiškia, kad ji tvarko siunčiamas užklausas. Tai suteikia jai tiesioginį matomumą prie jautrių duomenų, srautų per programą.
Pažeista versija gali:
- Perimti siunčiamas užklausas prieš jas išsiunčiant
- užfiksuoti
Authorizationantraštės ir API žetonai - Pasiekite aplinkos kintamuosius per
process.env - Stebėkite bendravimą tarp vidinių tarnybų
Pavyzdžiui, kenkėjiškas perėmėjas gali išgauti autentifikavimo antraštes ir tyliai jas persiųsti į išorinį galinį tašką.
Tuo pačiu metu prieiga prie aplinkos kintamųjų leidžia užpuolikams gauti kredencialus nekeičiant programos logikos.
Iš išorės viskas ir toliau veikia taip, kaip tikėtasi. Užklausos sėkmingai įvykdytos, paslaugos reaguoja normaliai ir pipelinenerodo jokių gedimo požymių. Tuo pačiu metu, fone vykdomais keliais jau gali būti atskleisti jautrūs duomenys.
„Axios“ atakos srautas: nuo pažeisto paketo iki slapto atskleidimo
1. Kompromisas
Užpuolikas perima patikimos priežiūros paskyros arba paketo išleidimo kelio kontrolę „Axios“ ekosistemoje.
2. Paskirstymas
Kenkėjiškos versijos publikuojamos „npm“ sistemoje ir įtraukiamos į kūrėjų kompiuterius. CI/CD pipelines, o programos kompiliuojamos naudojant įprastus priklausomybių atnaujinimus.
3. Vykdymo laikas
Naudingoji apkrova vykdoma, kai importuojama ir naudojama „axios“, paveldėdama tas pačias vykdymo laiko teises kaip ir programa.
4. Slapta prieiga
Pažeista priklausomybė suteikia matomumą antraštėse, žetonuose, aplinkos kintamuosiuose ir vidiniame HTTP bendravime.
5. Eksfiltracija
Jautrūs duomenys tyliai siunčiami į užpuoliko kontroliuojamą infrastruktūrą, o pradinės užklausos toliau veikia įprastai.
Kompromiso rodikliai (IoC)
Norėdamos ištirti galimą ataką, komandos turėtų pradėti nuo žinomų su „Axios“ kompromitacija susijusių indikatorių peržiūros. Žemiau esančioje lentelėje apibendrinti svarbiausi signalai, susiję su paketais, tinklo veikla ir pagrindinio kompiuterio artefaktais.
Kaip interpretuoti šiuos IoC
Nors šie rodikliai yra naudingi, jų nereikėtų laikyti išsamia aptikimo strategija.
Praktiškai tokios atakos retai kada remiasi vienu statiniu signalu. Domenai keičiasi, naudingoji apkrova vystosi, o maišos greitai pasensta. Kas išlieka pastovus, tai elgesys.
Pavyzdžiui, netikėtos siunčiamos užklausos įprasto HTTP vykdymo metu gali rodyti duomenų nutekėjimą. Panašiai galiojančių prisijungimo duomenų naudojimas neįprastose situacijose dažnai rodo, kad paslaptys jau buvo atskleistos.
Pagrindinio kompiuterio lygmenyje laikinų scenarijų ar dvejetainių failų buvimas gali rodyti veiklą po atakos, ypač kai tai susiję su tinklo anomalijomis.
Kitaip tariant, IoC padeda patvirtinti incidentą.
Tačiau elgesio supratimas leidžia jį anksti aptikti.
| Kategorija | rodiklis | Detalės |
|---|---|---|
| Paketas | axios@1.14.1 | šasumas: 2553649f2322049666871cea80a5d0d6adc700ca |
| Paketas | axios@0.30.4 | šasumas: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71 |
| Priklausomybė | plain-crypto-js@4.2.1 | šasumas: 07d889e2dadce6f3910dcbc253317d28ca61c766 |
| tinklas | sfrclak[.]com | Komandavimo ir kontrolės sritis |
| tinklas | 142.11.206[.]73 | Susijusios infrastruktūros IP |
| tinklas | http://sfrclak[.]com:8000/6202033 | Stebimas eksfiltracijos rodiklis |
| macOS | /Library/Caches/com.apple.act.mond | SHA256: 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a |
| Windows | %PROGRAMDATA%\wt.exe | Galimas išlikimo artefaktas |
| Windows | %TEMP%\6202033.vbs | Scenarijaus pagrindu vykdomas artefaktas |
| Windows | %TEMP%\6202033.ps1 | „PowerShell“ naudingoji apkrova. SHA256: 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101 |
| Linux | /tmp/ld.py | SHA256: fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf |
Tyrimo pastaba: Šie IoC yra naudingas atspirties taškas grėsmių paieškai. Tačiau užpuolikai gali greitai keisti domenus, naudingąją apkrovą ir artefaktus. Dėl šios priežasties komandos turėtų susieti šiuos rodiklius su elgesio signalais, tokiais kaip netikėtas išeinantis HTTP srautas, anomali prieiga prie process.envir neįprastus priklausomybių atnaujinimus.
Pavyzdys: Kaip pažeista „Axios npm“ priklausomybė gali išgauti duomenis
Norėdami suprasti, kaip ši „Axios“ npm ataka veikia praktiškai, apsvarstykite supaprastintą pavyzdį.
„Axios“ leidžia kūrėjams apibrėžti užklausų perėmėjus. Šie perėmėjai paleidžiami automatiškai prieš kiekvieną HTTP užklausą.
Kenkėjiška „axios“ versija gali piktnaudžiauti šiuo mechanizmu:
Kodėl „Axios npm“ ataka yra pavojinga
Iš pirmo žvilgsnio atrodo, kad nieko blogo nėra. Užklausa sėkmingai įvykdyta, programa veikia taip, kaip tikėtasi, ir pipelineir toliau praeina be klaidų.
Tačiau svarbiausia detalė įvyksta prieš išsiunčiant užklausą. Vykdymo laikotarpiu pažeista priklausomybė gali tyliai pasiekti ir rinkti slaptus duomenis, tokius kaip autorizacijos antraštės, API prieigos raktai, užklausos metaduomenys ir aplinkos kintamieji.
Kadangi ši logika veikia patikimoje bibliotekoje, esančioje tiesiai HTTP užklausos kelyje, ji efektyviai veikia su tomis pačiomis teisėmis kaip ir pati programa. Todėl ji gali pasiekti duomenis, kurie paprastai būtų apsaugoti nuo išorinių užpuolikų.
Tai ypač pavojinga ne tik dėl prieigos prie duomenų, bet ir dėl matomo poveikio stokos. Nėra jokių funkcionalumo sutrikimų, nepavykusių užklausų ir jokio tiesioginio signalo, kad kažkas negerai. Operaciniu požiūriu viskas toliau veikia taip, kaip tikėtasi.
Tuo tarpu jautri informacija jau gali palikti sistemą per išorinius ryšius, kurie susilieja su įprastu programų srautu.
Kodėl tai pirmiausia yra „DevOps“ problema
„DevOps“ komandoms tokio tipo atakas ypač sunku aptikti, nes jos sklandžiai integruojasi į esamus darbo eigą.
Priklausomybės įdiegiamos automatiškai, pipelinevykdomi normaliai ir jokių staigių gedimų nekyla.
Tuo pačiu metu, CI/CD aplinkose dažnai atskleidžiami didelės vertės įgaliojimai, įskaitant:
- Debesijos paslaugų teikėjo žetonai
- Diegimo raktai
- CI/CD autentifikavimo paslaptys
Šiame kontekste veikianti pažeista priklausomybė gali tiesiogiai pasiekti šiuos kredencialus.
Tai sukuria situaciją, kai viskas atrodo normalu, o fone pasiekiami jautrūs duomenys.
Tikroji rizika: slaptas atskleidimas dideliu mastu
„Axios“ npm kompromisas pabrėžia esminį šiuolaikinių atakų strategijų pokytį.
Tikslas nebėra išnaudoti pažeidžiamumus, o gauti galiojančius prisijungimo duomenis.
Kadangi šiuolaikinės sistemos remiasi aplinka pagrįstu autentifikavimu, vykdymo metu veikianti priklausomybė gali pasiekti:
- API raktai
- Paslaugų žetonai
- Debesijos prisijungimo duomenys
Šių įgaliojimų nereikia pažeisti.
Juos tereikia naudoti.
Tai leidžia užpuolikams judėti horizontaliai, pasiekti paslaugas ir išgauti duomenis naudojant teisėtą autentifikavimą.
Todėl poveikis priklauso nuo to, kokios paslaptys atskleidžiamos, o ne nuo to, kaip ataka vykdoma.
Kodėl tradiciniai saugumo įrankiai to nepastebi
Tradiciniams metodams sunku aptikti šias atakas, nes jie sutelkia dėmesį į žinomus pažeidžiamumus arba statinius parašus. Tačiau, kaip pabrėžta „OpenAI“ analizė „Axios“ kūrėjo įrankio kompromitacijos atveju tikroji rizika iškyla vykdymo metu, kai patikimos priklausomybės sąveikauja su jautriais duomenimis.
Tačiau sutrikusi priklausomybė gali neturėti jokių akivaizdžių požymių.
Gali būti:
- Nėra CVE
- Nėra kenkėjiško parašo
- Nėra neįprastos sintaksės
Tuo pačiu metu statinė analizė neįvertina vykdymo laiko elgsenos. Ji negali nustatyti, kaip priklausomybė sąveikauja su jautriais duomenimis, kai yra vykdoma.
Tai sukuria tarpą, kai kodas analizės metu atrodo saugus, bet vykdymo metu tampa rizikingas.
Kaip aptikti ir užkirsti kelią „Axios“ npm tipo atakoms
Norint užkirsti kelią tokio tipo „Axios“ npm atakoms, reikia pereiti nuo statinės patikros prie vykdymo laiko sąmoningumo.
Komandoms reikia matyti, kaip veikia priklausomybės, o ne tik ką jose yra.
Tai įtraukia:
- Prieigos prie jautrių duomenų stebėjimas vykdymo metu
- Paslapčių aptikimas prieš joms pasiekiant saugyklas
- Skenavimo pipelineir artefaktai, susiję su atskleistais prisijungimo duomenimis
- Išeinančio tinklo aktyvumo stebėjimas ieškant anomalijų
Tačiau vien aptikimo nepakanka.
Nuo aptikimo iki prevencijos: kas iš tikrųjų sumažina riziką
Po tokio incidento komandos dažnai susiduria su daugybe potencialiai paviešintų įgaliojimų.
Iššūkis ne juos rasti. Iššūkis – nustatyti, kurie iš jų yra svarbūs.
Pagrindinis klausimas tampa:
Kurios paslaptys vis dar galioja ir yra išnaudojamos?
Be patvirtinimo komandos laiką leidžia su neaktyviais prisijungimo duomenimis, o reali rizika lieka atvira.
Efektyviam atsakui reikia:
- Aptikti atskleistas paslaptis
- Tikrinama, ar jie vis dar suteikia prieigą
- Greitas jų atšaukimas arba pakeitimas
Tai sumažina poveikio laiką ir apriboja užpuoliko langą.
Kaip „Xygeni“ padeda sumažinti tiekimo grandinės riziką
Ksigeni sprendžia šį iššūkį sujungdama aptikimą, tikrinimą ir taisymą į vieną darbo eigą.
Jis nuolat identifikuoja atskleistas paslaptis visame kode, pipelineir artefaktus. Tuo pačiu metu ji patikrina, ar šie prisijungimo duomenys vis dar aktyvūs aplinkoje.
Tai leidžia komandoms sutelkti dėmesį į tai, ką užpuolikai iš tikrųjų galėtų panaudoti.
Nustačius aktyvius slaptus duomenis, automatizuoti taisymo darbo eigos padeda sutrumpinti jų veikimo laiką, atšaukiant slaptus duomenis arba kontroliuojamai juos keičiant.
Dėl to reakcija tampa greitesnė, išankstinėcise, ir mažiau trikdantis.
Išvada
„Axios“ npm kompromisas atspindi, kaip vystosi tiekimo grandinės atakos.
Užpuolikams nebereikia įsilaužti į sistemas. Jie pasikliauja patikimomis priklausomybėmis, kad pasiektų jautrius duomenis vykdymo metu.
„DevOps“ komandoms tai reiškia suprasti veikimo principą vykdymo metu. Saugumo vadovams tai reiškia greitai ir efektyviai sumažinti riziką.
Nes šiuolaikinėje aplinkoje didžiausia rizika yra ne tai, kas įvykdoma.
Tai yra tai, prie ko galima prisijungti, kai jis paleidžiamas.




