Është publikuar një analizues që ka identifikuar 200 paketa me qëllim të keq në NPM dhe PyPI

OpenSSF (Open Source Security Foundation), i formuar nga Fondacioni Linux dhe synon të përmirësojë sigurinë e softuerit me burim të hapur, prezantoi projektin e hapur Package Analysis, i cili zhvillon një sistem për analizimin e pranisë së kodit me qëllim të keq në paketa. Kodi i projektit është shkruar në Go dhe shpërndahet nën licencën Apache 2.0. Një skanim paraprak i depove NPM dhe PyPI duke përdorur mjetet e propozuara na lejoi të identifikojmë më shumë se 200 paketa me qëllim të keq të pazbuluar më parë.

Pjesa më e madhe e paketave problematike të identifikuara manipulojnë kryqëzimin e emrave me varësitë e brendshme jo-publike të projekteve (sulmi i konfuzionit të varësisë) ose përdorin metoda typosquatting (caktimin e emrave të ngjashëm me emrat e bibliotekave të njohura), dhe gjithashtu thërrasin skriptet që aksesojnë hostet e jashtëm gjatë procesin e instalimit. Sipas zhvilluesve të Package Analysis, shumica e paketave problematike të identifikuara ka shumë të ngjarë të jenë krijuar nga studiues të sigurisë që marrin pjesë në programet e shpërblimit të gabimeve, pasi të dhënat e dërguara janë të kufizuara në emrin e përdoruesit dhe të sistemit, dhe veprimet kryhen në mënyrë eksplicite, pa përpjekje për të fshehin sjelljen e tyre.

Paketat me aktivitet keqdashës përfshijnë:

  • Paketa PyPI discordcmd, e cila regjistron dërgimin e kërkesave atipike te raw.githubusercontent.com, Discord API dhe ipinfo.io. Paketa e specifikuar shkarkoi kodin e pasme nga GitHub dhe e instaloi atë në drejtorinë e klientit Discord Windows, pas së cilës filloi procesin e kërkimit të argumenteve Discord në sistemin e skedarëve dhe dërgimin e tyre në një server të jashtëm Discord të kontrolluar nga sulmuesit.
  • Paketa Colorss NPM u përpoq gjithashtu të dërgonte argumente nga një llogari Discord në një server të jashtëm.
  • Paketa NPM @roku-web-core/ajax - gjatë procesit të instalimit dërgoi të dhëna për sistemin dhe nisi një mbajtës (predhë e kundërt) që pranonte lidhjet e jashtme dhe lëshonte komanda.
  • Paketa PyPI secrevthree - lëshoi ​​një guaskë të kundërt kur importoni një modul specifik.
  • Pako NPM random-code-generator - pas importimit të bibliotekës, ai dërgoi një kërkesë në një server të jashtëm, i cili ktheu komandën dhe kohën në të cilën duhet të ekzekutohet.

Puna e Analizës së Paketave zbret në analizimin e paketave të kodit në kodin burimor për vendosjen e lidhjeve në rrjet, aksesin në skedarë dhe ekzekutimin e komandave. Për më tepër, ndryshimet në gjendjen e paketave monitorohen për të përcaktuar shtimin e inserteve me qëllim të keq në një nga lëshimet e softuerit fillimisht të padëmshëm. Për të monitoruar paraqitjen e paketave të reja në depo dhe për të bërë ndryshime në paketat e postuara më parë, përdoret paketa e veglave Package Feeds, e cila unifikon punën me depot NPM, PyPI, Go, RubyGems, Packagist, NuGet dhe Crate.

Analiza e paketës përfshin tre komponentë bazë që mund të përdoren së bashku dhe veçmas:

  • Programues për fillimin e punës së analizës së paketave bazuar në të dhënat nga Furnizimi i paketave.
  • Një analizues që ekzaminon drejtpërdrejt një paketë dhe vlerëson sjelljen e saj duke përdorur analiza statike dhe teknika të gjurmimit dinamik. Testi kryhet në një mjedis të izoluar.
  • Një ngarkues që vendos rezultatet e provës në ruajtjen e BigQuery.

Burimi: opennet.ru

Shto një koment