Ir publicēts analizators, kas identificēja 200 ļaunprātīgas pakotnes NPM un PyPI

OpenSSF (Open Source Security Foundation), ko izveidoja Linux fonds un kura mērķis ir uzlabot atvērtā pirmkoda programmatūras drošību, ieviesa atvērto projektu Package Analysis, kas izstrādā sistēmu, lai analizētu ļaunprātīga koda klātbūtni pakotnēs. Projekta kods ir rakstīts programmā Go un izplatīts saskaņā ar Apache 2.0 licenci. Iepriekšēja NPM un PyPI repozitoriju skenēšana, izmantojot piedāvātos rīkus, ļāva mums identificēt vairāk nekā 200 iepriekš neatklātas ļaunprātīgas pakotnes.

Lielākā daļa identificēto problemātisko pakotņu manipulē ar nosaukumu krustošanos ar projektu iekšējām nepubliskām atkarībām (atkarības sajaukšanas uzbrukums) vai izmanto typosquatting metodes (piešķirot nosaukumus, kas ir līdzīgi populāru bibliotēku nosaukumiem), kā arī izsauc skriptus, kas piekļūst ārējiem saimniekiem. uzstādīšanas process. Pēc Package Analysis izstrādātāju domām, lielāko daļu identificēto problemātisko pakotņu, visticamāk, ir izveidojuši drošības pētnieki, kas piedalās kļūdu novēršanas programmās, jo nosūtītie dati ir ierobežoti ar lietotāja un sistēmas nosaukumu, un darbības tiek veiktas skaidri, bez mēģinājumiem slēpt savu uzvedību.

Paketes ar ļaunprātīgu darbību ietver:

  • PyPI pakotne discordcmd, kas reģistrē netipisku pieprasījumu sūtīšanu uz raw.githubusercontent.com, Discord API un ipinfo.io. Norādītā pakotne no GitHub lejupielādēja backdoor kodu un instalēja to Discord Windows klienta direktorijā, pēc tam uzsāka Discord marķieru meklēšanas procesu failu sistēmā un nosūtīšanu uz ārēju Discord serveri, ko kontrolē uzbrucēji.
  • Colorss NPM pakotne arī mēģināja nosūtīt marķierus no Discord konta uz ārēju serveri.
  • NPM pakotne @roku-web-core/ajax - instalēšanas procesa laikā tā nosūtīja datus par sistēmu un palaida apstrādātāju (reverse shell), kas pieņēma ārējos savienojumus un palaida komandas.
  • PyPI pakotne secretvthree — importējot konkrētu moduli, tika palaists apgrieztais apvalks.
  • NPM pakotne random-vouchercode-generator - pēc bibliotēkas importēšanas tā nosūtīja pieprasījumu ārējam serverim, kurš atgrieza komandu un laiku, kurā tā jāpalaiž.

Pakešu analīzes darbs ir saistīts ar kodu pakotņu analīzi avota kodā, lai izveidotu tīkla savienojumus, piekļūtu failiem un palaistu komandas. Turklāt tiek uzraudzītas pakotņu stāvokļa izmaiņas, lai noteiktu ļaunprātīgu ieliktņu pievienošanu vienā no sākotnēji nekaitīgās programmatūras laidieniem. Lai pārraudzītu jaunu pakotņu parādīšanos krātuvēs un veiktu izmaiņas iepriekš ievietotajās pakotnēs, tiek izmantots Package Feeds rīkkopa, kas apvieno darbu ar NPM, PyPI, Go, RubyGems, Packagist, NuGet un Crate krātuvēm.

Pakešu analīze ietver trīs pamata sastāvdaļas, kuras var izmantot gan kopā, gan atsevišķi:

  • Plānotājs pakotņu analīzes darba palaišanai, pamatojoties uz datiem no pakotņu plūsmām.
  • Analizators, kas tieši pārbauda paketi un novērtē tās uzvedību, izmantojot statisko analīzi un dinamiskās izsekošanas metodes. Pārbaude tiek veikta izolētā vidē.
  • Iekrāvējs, kas ievieto testa rezultātus BigQuery krātuvē.

Avots: opennet.ru

Pievieno komentāru