En analysator har publicerats som identifierade 200 skadliga paket i NPM och PyPI

OpenSSF (Open Source Security Foundation), som bildas av Linux Foundation och syftar till att förbättra säkerheten för programvara med öppen källkod, introducerade det öppna projektet Package Analysis, som utvecklar ett system för att analysera förekomsten av skadlig kod i paket. Projektkoden är skriven i Go och distribueras under Apache 2.0-licensen. En preliminär genomsökning av NPM- och PyPI-förråden med de föreslagna verktygen gjorde det möjligt för oss att identifiera mer än 200 tidigare oupptäckta skadliga paket.

Huvuddelen av de identifierade problematiska paketen manipulerar korsningen av namn med interna icke-offentliga beroenden av projekt (beroendeförvirringsattack) eller använder typosquatting-metoder (tilldelar namn som liknar namnen på populära bibliotek), och anropar även skript som får åtkomst till externa värdar under installationsprocessen. Enligt utvecklarna av Package Analysis skapades de flesta av de identifierade problematiska paketen med största sannolikhet av säkerhetsforskare som deltog i bug-bounty-program, eftersom data som skickas är begränsade till användar- och systemnamnet, och åtgärderna utförs explicit, utan försök att dölja sitt beteende.

Paket med skadlig aktivitet inkluderar:

  • PyPI-paketet discordcmd, som registrerar sändning av atypiska förfrågningar till raw.githubusercontent.com, Discord API och ipinfo.io. Det angivna paketet laddade ner bakdörrskoden från GitHub och installerade den i Discord Windows-klientkatalogen, varefter det startade processen att söka efter Discord-tokens i filsystemet och skicka dem till en extern Discord-server som kontrolleras av angriparna.
  • Colorsss NPM-paketet försökte också skicka tokens från ett Discord-konto till en extern server.
  • NPM-paketet @roku-web-core/ajax - under installationsprocessen skickade det data om systemet och startade en hanterare (omvänt skal) som accepterade externa anslutningar och startade kommandon.
  • PyPI-paket secrevthree - lanserade ett omvänt skal vid import av en specifik modul.
  • NPM-paketet random-vouchercode-generator - efter att ha importerat biblioteket skickade det en förfrågan till en extern server, som returnerade kommandot och tidpunkten då det skulle köras.

Arbetet med Package Analysis handlar om att analysera kodpaket i källkoden för att upprätta nätverksanslutningar, komma åt filer och köra kommandon. Dessutom övervakas förändringar i paketens tillstånd för att fastställa tillägget av skadliga inlägg i en av utgåvorna av ursprungligen ofarlig programvara. För att övervaka utseendet på nya paket i repositories och göra ändringar i tidigare upplagda paket, används Package Feeds toolkit, som förenar arbetet med NPM, PyPI, Go, RubyGems, Packagist, NuGet och Crate repositories.

Paketanalys innehåller tre grundläggande komponenter som kan användas både tillsammans och separat:

  • Schemaläggare för att starta paketanalysarbete baserat på data från Package Feeds.
  • En analysator som direkt undersöker ett paket och utvärderar dess beteende med statisk analys och dynamiska spårningstekniker. Testet utförs i en isolerad miljö.
  • En laddare som placerar testresultaten i BigQuery-lagring.

Källa: opennet.ru

Lägg en kommentar