NPM eta PyPIn 200 pakete gaizto identifikatu dituen analizatzaile bat argitaratu da

OpenSSF-ek (Open Source Security Foundation), Linux Fundazioak eratu eta kode irekiko softwarearen segurtasuna hobetzera zuzenduta, Package Analysis proiektu irekia aurkeztu zuen, paketeetan kode maltzurren presentzia aztertzeko sistema garatzen duena. Proiektuaren kodea Go-n idatzita dago eta Apache 2.0 lizentziapean banatzen da. Proposatutako tresnak erabiliz NPM eta PyPI biltegien aurretiazko eskaneatzeari esker, aurrez detektatu gabeko 200 pakete gaizto baino gehiago identifikatu ahal izan ditugu.

Identifikatutako pakete problematiko gehienek proiektuen barne-menpekotasun publikoak ez dituzten izenen elkargunea manipulatzen dute (mendekotasun-nahastearen erasoa) edo typosquatting metodoak erabiltzen dituzte (liburutegi ezagunen izenen antzeko izenak esleitzen dituzte), eta kanpoko ostalarietan sartzen diren script-ak ere deitzen dituzte. instalazio prozesua. Paketeen Analisiaren garatzaileen arabera, identifikatutako pakete problematiko gehienak akatsen sari programetan parte hartzen duten segurtasun ikertzaileek sortu zituzten ziurrenik, bidalitako datuak erabiltzaile eta sistemaren izenera mugatzen baitira eta ekintzak esplizituki egiten dira, saiatu gabe. beren jokabidea ezkutatu.

Jarduera asmo txarreko paketeak honako hauek dira:

  • PyPI paketea discordcmd, raw.githubusercontent.com, Discord API eta ipinfo.io helbidera eskaera atipikoak bidaltzea erregistratzen duena. Zehaztutako paketeak atzeko atzeko kodea deskargatu zuen GitHub-etik eta Discord Windows bezeroen direktorioan instalatu zuen, ondoren Discord tokenak fitxategi-sisteman bilatzeko prozesuari ekin zion eta erasotzaileek kontrolatutako kanpoko Discord zerbitzari batera bidaltzeko.
  • colorsss NPM paketea Discord kontu batetik kanpoko zerbitzari batera tokenak bidaltzen saiatu zen.
  • NPM paketea @roku-web-core/ajax - instalazio prozesuan sistemari buruzko datuak bidali zituen eta kanpoko konexioak onartzen zituen eta komandoak abiarazten zituen kudeatzaile bat (alderantzizko shell) abiarazi zuen.
  • PyPI paketea secrevthree - alderantzizko shell bat abiarazi zuen modulu zehatz bat inportatzean.
  • NPM paketea random-vouchercode-generator - liburutegia inportatu ondoren, eskaera bat bidali zuen kanpoko zerbitzari bati, eta horrek komandoa eta exekutatu behar zen ordua itzuli zituen.

Paketeen Analisiaren lana iturburu-kodeko kode-paketeak aztertzea da, sareko konexioak ezartzeko, fitxategiak sartzeko eta komandoak exekutatzeko. Gainera, paketeen egoeraren aldaketak kontrolatzen dira hasieran kaltegabeko softwarearen bertsio batean txertaketa gaiztoak gehitzea zehazteko. Biltegietan pakete berrien itxura kontrolatzeko eta aurretik argitaratutako paketeetan aldaketak egiteko, Package Feeds tresna-kit bat erabiltzen da, eta lana bateratzen du NPM, PyPI, Go, RubyGems, Packagist, NuGet eta Crate biltegiekin.

Paketeen analisiak hiru oinarrizko osagai ditu, batera eta bereizita erabil daitezkeenak:

  • Pakete-jarioetako datuetan oinarritutako paketeen analisi-lana abiarazteko programatzailea.
  • Pakete bat zuzenean aztertzen duen eta bere portaera ebaluatzen duen analizatzailea, analisi estatikoa eta trazadura dinamikoko teknikak erabiliz. Proba ingurune isolatu batean egiten da.
  • Proben emaitzak BigQuery biltegian jartzen dituen kargatzailea.

Iturria: opennet.ru

Gehitu iruzkin berria