Objavljen je analizator koji je identificirao 200 malicioznih paketa u NPM-u i PyPI-ju

OpenSSF (Open Source Security Foundation), kojeg je osnovala Linux Foundation, a čiji je cilj poboljšanje sigurnosti softvera otvorenog koda, predstavio je otvoreni projekt Package Analysis koji razvija sustav za analizu prisutnosti zlonamjernog koda u paketima. Kôd projekta napisan je u Go i distribuiran pod licencom Apache 2.0. Preliminarno skeniranje repozitorija NPM i PyPI pomoću predloženih alata omogućilo nam je identificiranje više od 200 prethodno neotkrivenih zlonamjernih paketa.

Većina identificiranih problematičnih paketa manipulira križanjem imena s internim nejavnim ovisnostima projekata (dependency confusion attack) ili koristi metode typosquattinga (dodjeljivanje imena sličnih nazivima popularnih biblioteka), a također poziva skripte koje pristupaju vanjskim hostovima tijekom postupak instalacije. Prema programerima Package Analysis, većinu identificiranih problematičnih paketa najvjerojatnije su kreirali sigurnosni istraživači koji sudjeluju u programima za dodjelu grešaka, budući da su poslani podaci ograničeni na korisničko ime i ime sustava, a radnje se izvode eksplicitno, bez pokušaja sakriti svoje ponašanje.

Paketi sa zlonamjernom aktivnošću uključuju:

  • PyPI paket discordcmd, koji bilježi slanje netipičnih zahtjeva na raw.githubusercontent.com, Discord API i ipinfo.io. Navedeni paket preuzeo je backdoor kod s GitHuba i instalirao ga u direktorij Discord Windows klijenta, nakon čega je pokrenuo proces traženja Discord tokena u datotečnom sustavu i slanja istih na vanjski Discord server koji kontroliraju napadači.
  • Colorss NPM paket također je pokušao poslati tokene s Discord računa na vanjski poslužitelj.
  • NPM paket @roku-web-core/ajax - tijekom procesa instalacije poslao je podatke o sustavu i pokrenuo rukovatelj (reverse shell) koji je prihvaćao vanjske veze i pokretao naredbe.
  • PyPI paket secrevthree - pokrenuo je obrnutu ljusku prilikom uvoza određenog modula.
  • NPM paket random-vouchercode-generator - nakon uvoza biblioteke poslao je zahtjev vanjskom poslužitelju koji je vratio naredbu i vrijeme u kojem se treba pokrenuti.

Rad analize paketa svodi se na analizu paketa koda u izvornom kodu za uspostavljanje mrežnih veza, pristup datotekama i izvođenje naredbi. Dodatno, nadziru se promjene u stanju paketa kako bi se utvrdilo dodavanje zlonamjernih umetaka u jedno od izdanja inicijalno bezopasnog softvera. Za praćenje izgleda novih paketa u repozitoriju i izmjene prethodno objavljenih paketa koristi se Package Feeds toolkit koji objedinjuje rad s repozitorijima NPM, PyPI, Go, RubyGems, Packagist, NuGet i Crate.

Analiza paketa uključuje tri osnovne komponente koje se mogu koristiti zajedno i odvojeno:

  • Planer za pokretanje rada analize paketa na temelju podataka iz feedova paketa.
  • Analizator koji izravno ispituje paket i procjenjuje njegovo ponašanje koristeći statičku analizu i tehnike dinamičkog praćenja. Test se provodi u izoliranom okruženju.
  • Učitavač koji postavlja rezultate testa u BigQuery pohranu.

Izvor: opennet.ru

Dodajte komentar