Analysaattori on julkaistu, joka tunnisti 200 haitallista pakettia NPM:ssä ja PyPI:ssä

Linux Foundationin muodostama OpenSSF (Open Source Security Foundation), jonka tavoitteena on parantaa avoimen lähdekoodin ohjelmistojen turvallisuutta, esitteli avoimen Package Analysis -projektin, joka kehittää järjestelmän haitallisen koodin analysointiin paketeissa. Projektikoodi on kirjoitettu Go-kielellä ja jaettu Apache 2.0 -lisenssillä. NPM- ja PyPI-varastojen alustava tarkistus ehdotetuilla työkaluilla antoi meille mahdollisuuden tunnistaa yli 200 aiemmin havaitsematonta haittapakettia.

Suurin osa tunnistetuista ongelmallisista paketeista manipuloi nimien leikkausta projektien sisäisten ei-julkisten riippuvuuksien kanssa (riippuvuushäiriöhyökkäys) tai käyttää typosquatting-menetelmiä (määrittää nimiä, jotka ovat samankaltaisia ​​kuin suosittujen kirjastojen nimiä) ja kutsuvat myös skriptejä, jotka käyttävät ulkoisia isäntiä asennusprosessi. Pakettianalyysin kehittäjien mukaan suurin osa tunnistetuista ongelmallisista paketeista on todennäköisimmin bug bounty -ohjelmiin osallistuvien tietoturvatutkijoiden luomia, koska lähetettävät tiedot rajoittuvat käyttäjän ja järjestelmän nimeen ja toiminnot suoritetaan eksplisiittisesti, ilman yritystä piilottaa käyttäytymistään.

Haitallista toimintaa sisältävät paketit sisältävät:

  • PyPI-paketti discordcmd, joka tallentaa epätyypillisten pyyntöjen lähettämisen osoitteeseen raw.githubusercontent.com, Discord API ja ipinfo.io. Määritetty paketti latasi takaoven koodin GitHubista ja asensi sen Discord Windows -asiakashakemistoon, minkä jälkeen se aloitti Discord-tunnisteiden etsimisen tiedostojärjestelmästä ja lähettämisen ulkoiselle, hyökkääjien hallitsemalle Discord-palvelimelle.
  • Colorss NPM-paketti yritti myös lähettää tokeneita Discord-tililtä ulkoiselle palvelimelle.
  • NPM-paketti @roku-web-core/ajax - asennuksen aikana se lähetti tietoja järjestelmästä ja käynnisti käsittelijän (käänteinen kuori), joka hyväksyi ulkoiset yhteydet ja käynnisti komentoja.
  • PyPI-paketti secretrevthree - käynnisti käänteisen kuoren tuodessaan tiettyä moduulia.
  • NPM-paketti random-vouchercode-generator - kirjaston tuonnin jälkeen se lähetti pyynnön ulkoiselle palvelimelle, joka palautti komennon ja ajan, jolloin se tulisi suorittaa.

Pakettianalyysin tehtävänä on analysoida lähdekoodissa olevia koodipaketteja verkkoyhteyksien muodostamista, tiedostojen käyttöä ja komentojen suorittamista varten. Lisäksi pakettien tilan muutoksia seurataan, jotta voidaan määrittää haitallisten lisäosien lisääminen johonkin alun perin vaarattomien ohjelmistojen julkaisuista. Uusien pakettien ilmestymisen seurantaan arkistoissa ja muutosten tekemiseen aiemmin lähetettyihin paketteihin käytetään Package Feeds -työkalupakkia, joka yhdistää työn NPM-, PyPI-, Go-, RubyGems-, Packagist-, NuGet- ja Crate-arkistojen kanssa.

Pakettianalyysi sisältää kolme peruskomponenttia, joita voidaan käyttää sekä yhdessä että erikseen:

  • Ajastin pakettianalyysityön käynnistämiseksi pakettisyötteiden tietojen perusteella.
  • Analysaattori, joka tutkii paketin suoraan ja arvioi sen käyttäytymistä staattisen analyysin ja dynaamisten jäljitystekniikoiden avulla. Testi suoritetaan eristetyssä ympäristössä.
  • Lataaja, joka tallentaa testitulokset BigQuery-tallennustilaan.

Lähde: opennet.ru

Lisää kommentti