'n Ontleder is gepubliseer wat 200 kwaadwillige pakkette in NPM en PyPI geïdentifiseer het

Die OpenSSF (Open Source Security Foundation), wat deur die Linux Foundation gevorm is en daarop gemik is om die sekuriteit van oopbronsagteware te verbeter, het die oop projek Package Analysis bekendgestel, wat 'n stelsel ontwikkel om die teenwoordigheid van kwaadwillige kode in pakkette te ontleed. Die projekkode is in Go geskryf en onder die Apache 2.0-lisensie versprei. 'n Voorlopige skandering van die NPM- en PyPI-bewaarplekke met behulp van die voorgestelde gereedskap het ons in staat gestel om meer as 200 voorheen onopgemerkte kwaadwillige pakkette te identifiseer.

Die grootste deel van die geïdentifiseerde problematiese pakkette manipuleer die kruising van name met interne nie-openbare afhanklikhede van projekte (afhanklikheidsverwarringsaanval) of gebruik tiposquatting-metodes (toewysing van name soortgelyk aan die name van gewilde biblioteke), en noem ook skrifte wat toegang tot eksterne gashere kry tydens die installasie proses. Volgens die ontwikkelaars van Pakketanalise is die meeste van die geïdentifiseerde problematiese pakkette heel waarskynlik geskep deur sekuriteitsnavorsers wat deelneem aan bug-bounty-programme, aangesien die data wat gestuur word beperk is tot die gebruiker- en stelselnaam, en die aksies eksplisiet uitgevoer word, sonder pogings om steek hul gedrag weg.

Pakkette met kwaadwillige aktiwiteite sluit in:

  • PyPI-pakket discordcmd, wat die stuur van atipiese versoeke na raw.githubusercontent.com, Discord API en ipinfo.io opneem. Die gespesifiseerde pakket het die agterdeur-kode van GitHub afgelaai en dit in die Discord Windows-kliëntgids geïnstalleer, waarna dit die proses begin het om vir Discord-tokens in die lêerstelsel te soek en dit na 'n eksterne Discord-bediener te stuur wat deur die aanvallers beheer word.
  • Die colorsss NPM-pakket het ook probeer om tokens vanaf 'n Discord-rekening na 'n eksterne bediener te stuur.
  • NPM-pakket @roku-web-core/ajax - tydens die installasieproses het dit data oor die stelsel gestuur en 'n hanteerder (omgekeerde dop) geloods wat eksterne verbindings aanvaar en opdragte geloods het.
  • PyPI-pakket secrevthree - het 'n omgekeerde dop geloods tydens die invoer van 'n spesifieke module.
  • NPM-pakket random-vouchercode-generator - nadat dit die biblioteek ingevoer het, het dit 'n versoek na 'n eksterne bediener gestuur, wat die opdrag teruggestuur het en die tyd waarop dit uitgevoer moet word.

Die werk van Pakketanalise kom daarop neer om kodepakkette in die bronkode te ontleed vir die vestiging van netwerkverbindings, toegang tot lêers en uitvoer van opdragte. Boonop word veranderinge in die toestand van pakkette gemonitor om die byvoeging van kwaadwillige invoegings in een van die vrystellings van aanvanklik onskadelike sagteware te bepaal. Om die voorkoms van nuwe pakkette in bewaarplekke te monitor en veranderinge aan voorheen geplaasde pakkette aan te bring, word die Package Feeds toolkit gebruik, wat werk verenig met die NPM-, PyPI-, Go-, RubyGems-, Packagist-, NuGet- en Crate-bewaarplekke.

Pakketanalise sluit drie basiese komponente in wat beide saam en afsonderlik gebruik kan word:

  • Skeduleerder vir die bekendstelling van pakketontledingswerk gebaseer op data van Pakketstrome.
  • 'n Ontleder wat 'n pakket direk ondersoek en sy gedrag evalueer deur statiese analise en dinamiese opsporingstegnieke te gebruik. Die toets word in 'n geïsoleerde omgewing uitgevoer.
  • 'n Laaier wat die toetsresultate in BigQuery-berging plaas.

Bron: opennet.ru

Voeg 'n opmerking