Malware ng CanisterWorm
Isang sopistikadong pag-atake sa supply chain na unang tumatarget sa malawakang ginagamit na Trivy scanner ay lumala at naging mas malawak na kompromiso na nakakaapekto sa maraming npm package. Ang mga aktor ng banta sa likod ng kampanya ay pinaghihinalaang nag-deploy ng isang dating hindi dokumentadong self-propagating worm na kilala bilang CanisterWorm, na lubos na nagpapataas sa laki at epekto ng panghihimasok.
Nakuha ng malware ang pangalan nito mula sa paggamit nito ng isang Internet Computer Protocol (ICP) canister, mga smart contract na hindi tinatablan ng pagbabago na naka-host sa isang desentralisadong blockchain, bilang bahagi ng command infrastructure nito. Ito ang unang pampublikong dokumentadong pagkakataon ng mga ICP canister na ginamit upang makuha ang mga Command-and-Control (C2) endpoint, na nagpapakilala ng isang bago at matatag na taktika na nagpapakomplikado sa mga tradisyonal na pagsisikap sa pagpapagaan.
Talaan ng mga Nilalaman
Mga Nakompromisong Pakete at Unang Vector ng Pag-access
Ang pag-atake ay nakaapekto sa maraming npm package sa iba't ibang saklaw, na nagpapakita ng malawak na blast radius sa loob ng software supply chain:
- 28 pakete sa ilalim ng saklaw ng @EmilGroup
- 16 na pakete sa ilalim ng saklaw ng @opengov
- Mga karagdagang pakete kabilang ang @teale.io/eslint-config, @airtm/uuid-base32, at @pypestream/floating-ui-dom
Ang kampanyang ito ay kasunod ng isang pagkompromiso sa kredensyal na nagbigay-daan sa mga umaatake na maglathala ng mga malisyosong bersyon ng mga tool na may kaugnayan sa Trivy, partikular na ang trivy, trivy-action, at setup-trivy, na naglalaman ng naka-embed na functionality sa pagnanakaw ng kredensyal. Ang operasyon ay pinaniniwalaang may kaugnayan sa isang cloud-focused cybercriminal group na kinilala bilang TeamPCP.
Daloy ng Trabaho para sa Impeksyon at Desentralisadong Imprastraktura ng Pamumuno
Nagsisimula ang infection chain sa proseso ng pag-install ng npm package, kung saan ang isang postinstall script ay nagpapatupad ng isang loader. Ang loader na ito ay nagde-deploy ng isang Python-based backdoor na idinisenyo upang makipag-ugnayan sa ICP canister. Ang canister ay gumaganap bilang isang dead drop resolver, na nagbabalik ng isang URL na nagdidirekta sa nahawaang sistema upang i-download at isagawa ang susunod na yugto ng payload.
Ang desentralisadong katangian ng imprastraktura ng ICP ay nagbibigay ng malaking bentahe sa mga umaatake. Dahil maaaring dynamic na i-update ng canister ang payload URL, maaaring ipamahagi ng mga threat actor ang mga bagong malisyosong binary sa lahat ng nahawaang sistema nang hindi binabago ang mismong naka-deploy na malware. Ginagawa rin ng arkitekturang ito na mas mahirap ang mga pagsisikap sa pag-alis.
Mekanismo ng Pagtitiyaga at Mga Teknik sa Pagtago
Nakakamit ang pagtitiyaga sa pamamagitan ng paglikha ng isang systemd user service na na-configure upang awtomatikong i-restart ang malisyosong proseso. Kabilang sa mga pangunahing katangian ang:
- Awtomatikong pag-restart na ipinapatupad sa pamamagitan ng direktiba ng Restart=always
- Isang 5 segundong pagkaantala bago muling ilunsad ang backdoor kung sakaling wakasan
- Pagbabalatkayo sa serbisyo bilang lehitimong PostgreSQL monitoring software sa ilalim ng pangalang 'pgmon'
Tinitiyak ng pamamaraang ito ang patuloy na operasyon habang binabawasan ang posibilidad ng pagtuklas sa pamamagitan ng pagsasama sa mga lehitimong serbisyo ng sistema.
Adaptive Payload Delivery at Kill Switch Gawi
Pana-panahong nakikipag-ugnayan ang backdoor sa ICP canister kada 50 minuto, gamit ang isang pekeng browser na User-Agent upang maiwasan ang hinala. Ang ibinalik na URL ang magtatakda ng susunod na aksyon:
- Kung ang URL ay nakaturo sa isang wastong payload, ida-download at isasagawa ito ng malware
- Kung ang URL ay naglalaman ng 'youtube.com,' ang malware ay papasok sa isang hindi aktibong estado
Ang mekanismong ito ay epektibong nagsisilbing remote kill switch. Sa pamamagitan ng pagpapalit-palit ng URL ng canister sa pagitan ng isang hindi kanais-nais na link sa YouTube at isang malisyosong payload, maaaring i-activate o i-deactivate ng attacker ang malware sa lahat ng nahawaang system. Kapansin-pansin, ang mga dati nang naisagawang payload ay patuloy na tumatakbo sa background, dahil hindi tinatapos ng malware ang mga naunang proseso.
Isang katulad na kill switch na nakabase sa YouTube ang naobserbahan din sa isang trojanized na Trivy binary (bersyon 0.69.4), na nakikipag-ugnayan sa parehong imprastraktura ng ICP sa pamamagitan ng isang hiwalay na Python dropper.
Mga Kakayahan ng Uod at Awtomatikong Pagpaparami
Sa simula, ang propagation ay umaasa sa isang manu-manong pinatakbong script na pinangalanang deploy.js, na gumamit ng mga ninakaw na npm authentication token upang magpasok ng malisyosong code sa mga accessible na package. Ang script na ito ay hindi na-trigger habang ini-install ngunit nagsilbing standalone na tool upang mapalawak ang saklaw ng pag-atake.
Ang mga kasunod na variant ng CanisterWorm ay nagkaroon ng malaking pagbabago. Sa mga mas bagong bersyon, tulad ng mga matatagpuan sa @teale.io/eslint-config (mga bersyon 1.8.11 at 1.8.12), isinasama ng worm ang self-propagation nang direkta sa proseso ng pag-install ng package. Kasama sa na-update na mekanismo ang:
- Pagkuha ng mga npm authentication token mula sa nahawaang kapaligiran
- Agarang pagpapatupad ng routine ng pagpapalaganap bilang isang hiwalay na proseso sa background
- Awtomatikong paglalathala ng mga nakompromisong pakete gamit ang mga na-harvest na kredensyal
Binabago ng pagbabagong ito ang pag-atake mula sa manu-manong pinapatakbong kampanya tungo sa isang ganap na nagsasariling sistema ng pagpapalaganap.
Pagtaas sa Isang Banta ng Supply Chain na Nagpapanatili sa Sarili
Ang pagpapakilala ng automated token harvesting at self-propagation ay nagmamarka ng isang kritikal na paglala. Anumang workstation ng developer o CI/CD pipeline na nag-i-install ng isang nakompromisong package at naglalaman ng mga accessible na npm credential ay nagiging isang aktibong propagation node. Lumilikha ito ng isang cascading effect kung saan ang mga nahawaang package ay humahantong sa karagdagang mga impeksyon sa mga downstream dependencies.
Sa yugtong ito, ang banta ay lumalampas sa nakahiwalay na pagkompromiso sa account tungo sa isang nakapagpapanatiling ekosistema ng pamamahagi ng malware. Ang bawat bagong nahawaang kapaligiran ay nakakatulong sa pagkalat, na nagbibigay-daan sa mabilis na paglaki at ginagawang mas mahirap ang pagpigil.
Dagdag pa sa pag-aalala, ang pagsubok sa mga artifact tulad ng placeholder payload ('hello123') ay nagpapahiwatig na aktibong pinipino at pinapatunayan ng mga umaatake ang attack chain bago i-deploy ang ganap na gumaganang malisyosong mga binary.