Det er publisert en analysator som identifiserte 200 ondsinnede pakker i NPM og PyPI

OpenSSF (Open Source Security Foundation), dannet av Linux Foundation og rettet mot å forbedre sikkerheten til åpen kildekode-programvare, introduserte det åpne prosjektet Package Analysis, som utvikler et system for å analysere tilstedeværelsen av ondsinnet kode i pakker. Prosjektkoden er skrevet i Go og distribuert under Apache 2.0-lisensen. En foreløpig skanning av NPM- og PyPI-lagrene ved hjelp av de foreslåtte verktøyene tillot oss å identifisere mer enn 200 tidligere uoppdagede ondsinnede pakker.

Mesteparten av de identifiserte problematiske pakkene manipulerer skjæringspunktet mellom navn og interne ikke-offentlige avhengigheter av prosjekter (avhengighetsforvirringsangrep) eller bruker typosquatting-metoder (tildeler navn som ligner på navnene på populære biblioteker), og kaller også skript som får tilgang til eksterne verter under installasjonsprosessen. I følge utviklerne av Package Analysis ble de fleste identifiserte problematiske pakkene mest sannsynlig opprettet av sikkerhetsforskere som deltok i bug bounty-programmer, siden dataene som sendes er begrenset til bruker- og systemnavnet, og handlingene utføres eksplisitt, uten forsøk på å skjule oppførselen deres.

Pakker med ondsinnet aktivitet inkluderer:

  • PyPI-pakken discordcmd, som registrerer sending av atypiske forespørsler til raw.githubusercontent.com, Discord API og ipinfo.io. Den spesifiserte pakken lastet ned bakdørkoden fra GitHub og installerte den i Discord Windows-klientkatalogen, hvoretter den startet prosessen med å søke etter Discord-tokens i filsystemet og sende dem til en ekstern Discord-server kontrollert av angriperne.
  • Colorsss NPM-pakken prøvde også å sende tokens fra en Discord-konto til en ekstern server.
  • NPM-pakke @roku-web-core/ajax - under installasjonsprosessen sendte den data om systemet og lanserte en behandler (omvendt skall) som aksepterte eksterne tilkoblinger og lanserte kommandoer.
  • PyPI-pakke secrevthree - lanserte et omvendt skall ved import av en spesifikk modul.
  • NPM-pakken random-vouchercode-generator - etter import av biblioteket sendte den en forespørsel til en ekstern server, som returnerte kommandoen og tidspunktet da den skulle kjøres.

Arbeidet med Package Analysis kommer ned til å analysere kodepakker i kildekoden for å etablere nettverkstilkoblinger, få tilgang til filer og kjøre kommandoer. I tillegg overvåkes endringer i tilstanden til pakkene for å bestemme tillegget av ondsinnede innlegg i en av utgivelsene av opprinnelig ufarlig programvare. For å overvåke utseendet til nye pakker i repositories og gjøre endringer i tidligere postede pakker, brukes Package Feeds toolkit, som forener arbeid med NPM, PyPI, Go, RubyGems, Packagist, NuGet og Crate repositories.

Pakkeanalyse inkluderer tre grunnleggende komponenter som kan brukes både sammen og separat:

  • Planlegger for å starte pakkeanalysearbeid basert på data fra pakkefeeds.
  • En analysator som direkte undersøker en pakke og evaluerer dens oppførsel ved hjelp av statisk analyse og dynamiske sporingsteknikker. Testen utføres i et isolert miljø.
  • En laster som plasserer testresultatene i BigQuery-lagring.

Kilde: opennet.ru

Legg til en kommentar