Etusivu: Kyberturvallisuuskeskus
Etusivu: Kyberturvallisuuskeskus
Valikko

Tietoturva Nyt!

Uusi haittaohjelma leviää laajasti NPM-ekosysteemissä. Se on kohdistettu erityisesti suosittujen julkaisijoiden, kuten Zapier ja ENS Domains, paketteihin. Shai-Hulud: the Second Coming -nimellä tunnettu hyökkäys tartuttaa npm-paketteja ja kerää niitä käyttävistä järjestelmistä tunnuksia sekä arkaluontoisia tietoja. Tartunta leviää edelleen uusiin koodijakeluihin ja käyttöympäristöihin täysin ilman tai vain vähäisellä ihmisen avustuksella hyödyntäen ympäristöön luotuja automaatioita. Hyökkäys aiheuttaa kehittäjäympäristöille merkittävän tietoturvariskin ja rapauttaa luottamusta ohjelmistojen toimitusketjuihin. Organisaatioiden tulee tarkistaa kehitysinfrastruktuurit tartuntojen varalta, poistaa käytöstä vaarantuneet paketit ja kierrättää altistuneet salaisuudet.

Shai-Hulud 2.0 on NPM-ympäristössä (Node Package Manager) leviävä mato, joka on suunniteltu leviämään nopeasti itsestään ohjelmistokehittäjien kehitysympäristöjen kautta. Mato asentuu kehitysympäristöön, kun käyttäjä ottaa käyttöön saastuneen npm-paketin.

Jalansijan saatuaan mato etsii TruffleHog-työkalulla kohteesta salaisuuksia kuten API-avaimia ja tunnisteita, GitHub- ja npm-tunnuksia, pilvitunnuksia (AWS, Google Cloud, Azure) sekä ympäristömuuttujia. Löytämänsä tiedot se julkaisee julkiseen GitHub-repositorioon. Tämän jälkeen mato julkaisee uusia kopioita itsestään saataville npm-pakettikokoelmaan varastamillaan käyttäjätunnuksilla levitäkseen edelleen. Samalla se siirtää varastetut tiedot hyökkääjälle.

Erona edelliseen syyskuussa nähtyyn Shai-Hulud-aaltoon on muun muassa se, että mato luo satunnaisesti nimetyn GitHub-repositorion varastetulle datalle aiemman kovakoodatun nimen sijaan. Lisäksi se pyrkii julkaisemaan jopa 100 saastutettua npm-pakettia leviämisensä tukemiseksi. Jos mato ei pysty tunnistautumaan GitHub- tai npm-palveluihin, tuhoaa se kaikki käyttäjän kotihakemiston tiedostot.

Madon leviäminen on ollut erittäin nopeaa ja se on tartuttanut useita suosittuja npm-paketteja. Näiden joukossa on ollut lukuisia Zapier-, ENS Domains-, PostHog- ja Postman-julkaisijoiden paketteja. Uusia haittakoodin sisältäviä paketteja tunnistetaan jatkuvasti.

Haittaohjelma käynnistyy hiljaisesti saastuneen paketin asennuksen aikana. Tämä antaa haittaohjelmalle pääsyn kehitysympäristöön, eli tyypillisesti kehittäjän koneeseen tai koodia käsitteleviin automaatiojärjestelmiin. Haittaohjelman asentuminen ei aina vaadi saastuneen paketin nimenomaista asentamista, vaan on mahdollista ladata saastunut paketti automaattisesti toisen paketin riippuvuutena.

Jos madon varastamien tietojen joukossa on tunnuksia muihin koodirepositorioihin tai pakettijakeluihin, hyökkääjät voivat käyttää niitä murtautuakseen edelleen tileihin ja julkaistakseen lisää saastutettuja paketteja. Näitä palveluja käytetään laajasti ohjelmistotuotannossa ja kehittäjät luottavat erityisesti tunnettujen käyttäjien ja organisaatioiden julkaisemiin paketteihin.

Riski ei siis rajoitu vain npm-paketteja julkaisevien kehittäjien ympäristöihin ja tietokoneisiin, vaan kaikkien npm-paketteja käyttävien tahojen tunnukset ja salaisuudet sekä tiedostot ovat vaarassa. npm-paketteina toimitettua koodia on käytössä myös yksittäisillä edistyneillä käyttäjillä.

Erityisesti kaikkien NPM:ää käyttävien organisaatioiden sekä kehittäjien tulisi välittömästi tarkistaa, ovatko he altistuneet, ja vaihtaa mahdollisesti vuotaneet tunnukset. Suosittelemme myös keskeyttämään mahdolliset automaattiset npm-pakettien päivitykset siksi aikaa, että madon leviäminen on saatu pysähtymään.

Toimenpidesuositukset

Tartuntojen havaitsemiseksi ja estämiseksi organisaatioiden tulisi ensin tarkistaa koko kehitysinfrastruktuurinsa epäilyttävien merkkien varalta. Erityisesti tulisi etsiä tunnettuja tartunnan saaneita paketteja. Tartunnan saaneet paketit tulisi poistaa välittömästi ja automaattiset pakettipäivitykset kytkeä tilapäisesti pois päältä. Tartuntaepäilyn sattuessa ylläpitäjien tulisi kierrättää kaikki käyttöoikeustiedot.

Tiedota organisaatiosi kehittäjiä meneillään olevasta uhasta

  • Voit linkittää tämän tiedotteen organisaatiosi kehittäjille ja turvallisuudesta vastaaville

Skannaa oma kehitysinfrastruktuuri haitallisten merkkien ja tartunnan saaneiden pakettien osalta

Kierrätä kaikki käyttöoikeustiedot ja salaisuudet

  • Peruuta ja luo uudelleen npm-tokenit, GitHub PAT -avaimet, SSH-avaimet ja pilvipalveluiden tunnisteet
  • Ota käyttöön monivaiheinen tunnistautuminen kehittäjien ja CI/CD-tileille

Poista ja korvaa vaarantuneet paketit

  • Tyhjennä npm-välimuisti: "npm cache clean --force" & "rm -rf node_modules"
  • Lukitse riippuvuudet tunnetusti puhtaisiin versioihin tai palauta niistä puhtaat versiot

Tarkasta GitHub- ja CI/CD-ympäristöt 

  • Etsi uusia repositorioita, joiden kuvauksessa esiintyy “Shai-Hulud”
  • Tarkista luvattomat workflow’t tai epäilyttävät commitit, jotka viittaavat matoon
  • Valvo organisaatiosi uusia npm-julkaisuja

Vahvista käytössä olevat kehitysputket

  • Rajoita tai poista käytöstä lifecycle-skriptit (postinstall, preinstall) CI/CD-ympäristöissä
  • Rajoita järjestelmien ulosmenevä verkkoliikenne vain luotettuihin verkkotunnuksiin
  • Käytä automaatioissa lyhytikäisiä, rajattuihin oikeuksiin sidottuja token-avaimia

Löydät lisätietoja esimerkiksi alla olevien linkkien kautta.

Ilmoita Kyberturvallisuuskeskukselle

Kyberturvallisuuskeskus vastaanottaa mielellään havaintoja ilmiöön liittyen. Ilmoituksen voi tehdä verkossa alla olevasta linkistä.