Buvo paskelbtas analizatorius, kuris aptiko 200 kenkėjiškų paketų NPM ir PyPI

Linux fondo suformuotas OpenSSF (Open Source Security Foundation), skirtas atvirojo kodo programinės įrangos saugumui gerinti, pristatė atvirą projektą Package Analysis, kuris kuria kenkėjiško kodo buvimo paketuose analizės sistemą. Projekto kodas parašytas Go ir platinamas pagal Apache 2.0 licenciją. Preliminarus NPM ir PyPI saugyklų nuskaitymas naudojant siūlomus įrankius leido mums nustatyti daugiau nei 200 anksčiau neaptiktų kenkėjiškų paketų.

Didžioji dalis nustatytų probleminių paketų manipuliuoja vardų susikirtimu su vidinėmis neviešomis projektų priklausomybėmis (priklausomybės painiavos ataka) arba naudoja typosquatting metodus (pavadinimų, panašių į populiarių bibliotekų pavadinimus, priskyrimą), taip pat iškviečia scenarijus, kurie pasiekia išorinius pagrindinius kompiuterius. diegimo procesas. Paketų analizės kūrėjų teigimu, dauguma nustatytų probleminių paketų greičiausiai buvo sukurti saugumo tyrėjų, dalyvaujančių klaidų programose, nes siunčiami duomenys apsiriboja vartotojo ir sistemos pavadinimu, o veiksmai atliekami aiškiai, nesistengiant slėpti savo elgesį.

Paketai su kenkėjiška veikla apima:

  • PyPI paketas discordcmd, kuris įrašo netipinių užklausų siuntimą į raw.githubusercontent.com, Discord API ir ipinfo.io. Nurodytas paketas atsisiuntė „backdoor“ kodą iš „GitHub“ ir įdiegė jį „Discord Windows“ kliento kataloge, po to pradėjo „Discord“ žetonų paieškos failų sistemoje ir siuntimo į išorinį „Discord“ serverį, kurį valdo užpuolikai.
  • Colorss NPM paketas taip pat bandė siųsti žetonus iš „Discord“ paskyros į išorinį serverį.
  • NPM paketas @roku-web-core/ajax – diegimo proceso metu išsiuntė duomenis apie sistemą ir paleido tvarkyklę (atvirkštinį apvalkalą), kuri priėmė išorinius ryšius ir paleido komandas.
  • PyPI paketas secretrevthree – importuojant konkretų modulį paleistas atvirkštinis apvalkalas.
  • NPM paketas random-vouchercode-generator – importavus biblioteką, ji išsiuntė užklausą išoriniam serveriui, kuris grąžino komandą ir jos paleidimo laiką.

Paketų analizės darbas yra susijęs su kodų paketų analize šaltinio kode tinklo ryšiams užmegzti, failams pasiekti ir komandoms vykdyti. Be to, stebimi paketų būsenos pokyčiai, siekiant nustatyti, ar vienoje iš iš pradžių nekenksmingos programinės įrangos leidimų nėra įtrauktų kenkėjiškų intarpų. Norint stebėti naujų paketų atsiradimą saugyklose ir keisti anksčiau paskelbtus paketus, naudojamas Package Feeds įrankių rinkinys, kuris suvienija darbą su NPM, PyPI, Go, RubyGems, Packagist, NuGet ir Crate saugyklomis.

Paketo analizė apima tris pagrindinius komponentus, kurie gali būti naudojami kartu ir atskirai:

  • Paketų analizės darbo paleidimo planuoklis, pagrįstas paketų informacijos santraukų duomenimis.
  • Analizatorius, kuris tiesiogiai tiria paketą ir įvertina jo elgesį, naudodamas statinę analizę ir dinaminio sekimo metodus. Bandymas atliekamas izoliuotoje aplinkoje.
  • Įkroviklis, perkeliantis testo rezultatus į „BigQuery“ saugyklą.

Šaltinis: opennet.ru

Добавить комментарий