Avaldatud on analüsaator, mis tuvastas NPM-is ja PyPI-s 200 pahatahtlikku paketti

Linux Foundationi moodustatud OpenSSF (Open Source Security Foundation), mille eesmärk on parandada avatud lähtekoodiga tarkvara turvalisust, tutvustas avatud projekti Package Analysis, mis arendab süsteemi pahatahtliku koodi olemasolu analüüsimiseks pakettides. Projekti kood on kirjutatud Go-s ja seda levitatakse Apache 2.0 litsentsi all. NPM-i ja PyPI hoidlate esialgne skannimine pakutud tööriistade abil võimaldas meil tuvastada rohkem kui 200 varem tuvastamata pahatahtlikku paketti.

Suurem osa tuvastatud probleemsetest pakettidest manipuleerivad nimede ja projektide sisemiste mitteavalike sõltuvustega (sõltuvussegaduse rünnak) või kasutavad trükimeetodeid (populaarsete raamatukogude nimedega sarnaste nimede määramine) ja kutsuvad välja ka skripte, mis pääsevad välistele hostidele juurdepääsu ajal. paigaldusprotsess. Paketianalüüsi arendajate hinnangul on enamik tuvastatud probleemsetest pakettidest suure tõenäosusega loodud veaprogrammides osalevate turvateadlaste poolt, kuna saadetavad andmed piirduvad kasutaja ja süsteemi nimega ning toimingud tehakse selgesõnaliselt, ilma katseta varjata oma käitumist.

Pahatahtliku tegevusega paketid hõlmavad järgmist:

  • PyPI pakett discordcmd, mis salvestab ebatüüpiliste päringute saatmise aadressile raw.githubusercontent.com, Discord API ja ipinfo.io. Määratud pakett laadis GitHubist alla tagaukse koodi ja installis selle Discord Windowsi kliendikataloogi, misjärel alustas failisüsteemist Discordi žetoonide otsimist ja saatmist välisesse Discordi serverisse, mida ründajad kontrollisid.
  • Colorss NPM pakett üritas ka Discordi kontolt märke välisserverisse saata.
  • NPM-pakett @roku-web-core/ajax - installiprotsessi käigus saatis see süsteemi kohta andmeid ja käivitas töötleja (reverse shell), mis võttis vastu välised ühendused ja käivitas käsud.
  • PyPI pakett secretvthree – käivitas konkreetse mooduli importimisel pöördkesta.
  • NPM pakett random-vouchercode-generator – pärast teegi importimist saatis see päringu välisserverile, mis tagastas käsu ja selle käivitamise aja.

Paketianalüüsi töö taandub lähtekoodis olevate koodipakettide analüüsimisele võrguühenduste loomiseks, failidele juurdepääsuks ja käskude käivitamiseks. Lisaks jälgitakse pakettide oleku muutusi, et teha kindlaks pahatahtlike sisestuste lisamine algselt kahjutu tarkvara ühele väljalasele. Uute pakettide ilmumise jälgimiseks hoidlates ja muudatuste tegemiseks varem postitatud pakettides kasutatakse Package Feeds tööriistakomplekti, mis ühendab töö NPM, PyPI, Go, RubyGemsi, Packagisti, NuGeti ja Crate hoidlatega.

Paketi analüüs sisaldab kolme põhikomponenti, mida saab kasutada nii koos kui ka eraldi:

  • Planeerija pakettide analüüsi töö käivitamiseks, mis põhineb paketivoogude andmetel.
  • Analüsaator, mis uurib paketti vahetult ja hindab selle käitumist staatilise analüüsi ja dünaamilise jälgimise tehnikate abil. Katse viiakse läbi isoleeritud keskkonnas.
  • Laadija, mis asetab testitulemused BigQuery salvestusruumi.

Allikas: opennet.ru

Lisa kommentaar