Greinari birtur og afhjúpaði 200 illgjarna pakka í NPM og PyPI

OpenSSF (Open Source Security Foundation), sem stofnað var af Linux Foundation og miðar að því að bæta öryggi opins hugbúnaðar, kynnti opna verkefnið Package Analysis sem þróar kerfi til að greina tilvist skaðlegs kóða í pökkum. Verkefniskóðinn er skrifaður í Go og dreift undir Apache 2.0 leyfinu. Bráðabirgðaskönnun á NPM og PyPI geymslunum með fyrirhuguðum verkfærum gerði okkur kleift að bera kennsl á meira en 200 áður ógreinda skaðlega pakka.

Meirihluti auðkenndra vandræðapakka handleika gatnamót nafna við innri óopinberar ósjálfstæði verkefna (fíknarruglárás) eða nota prentvilluaðferðir (úthluta nöfnum sem líkjast nöfnum vinsælra bókasöfna), og kalla einnig forskriftir sem fá aðgang að ytri vélum meðan á uppsetningarferlið. Samkvæmt þróunaraðilum pakkagreiningar voru flestir tilgreindir vandræðapakkar líklega búnir til af öryggisrannsakendum sem tóku þátt í villufjármagnsáætlunum, þar sem gögnin sem send eru eru takmörkuð við notanda- og kerfisnafnið og aðgerðirnar eru gerðar beinlínis, án tilrauna til að fela hegðun sína.

Af pökkunum með illgjarnri virkni er eftirfarandi tekið fram:

  • PyPI pakki discordcmd, sem skráir sendingu óhefðbundnar beiðnir til raw.githubusercontent.com, Discord API og ipinfo.io. Tilgreindur pakki sótti bakdyrakóðann frá GitHub og setti hann upp í Discord Windows biðlaraskránni, eftir það hóf hann ferlið við að leita að Discord táknum í skráarkerfinu og senda þá á ytri Discord netþjón sem stjórnað er af árásarmönnum.
  • Colorsss NPM pakkinn reyndi einnig að senda tákn frá Discord reikningi til ytri netþjóns.
  • NPM pakki @roku-web-core/ajax - meðan á uppsetningarferlinu stóð sendi hann gögn um kerfið og ræsti meðhöndlun (öfug skel) sem samþykkti ytri tengingar og setti skipanir.
  • PyPI pakki secrevthree - Hleypt af stokkunum öfugri skel þegar ákveðin eining var flutt inn.
  • NPM pakki random-vouchercode-generator - eftir innflutning á bókasafninu sendi það beiðni til ytri netþjóns, sem skilaði skipuninni og tímanum sem ætti að keyra hana.

Vinna pakkagreiningar kemur niður á því að greina kóðapakka í frumkóðanum til að koma á nettengingum, fá aðgang að skrám og keyra skipanir. Að auki er fylgst með breytingum á ástandi pakka til að ákvarða hvort skaðlegum innskotum sé bætt við í einni útgáfu af upphaflega skaðlausum hugbúnaði. Til að fylgjast með útliti nýrra pakka í geymslum og gera breytingar á áður settum pökkum er pakkastraums tólið notað, sem sameinar vinnu við NPM, PyPI, Go, RubyGems, Packagist, NuGet og Crate geymslurnar.

Pakkningagreining inniheldur þrjá grunnþætti sem hægt er að nota bæði saman og sérstaklega:

  • Tímaáætlun til að hefja pakkagreiningarstörf byggð á gögnum frá pakkastraumum.
  • Greiningartæki sem skoðar pakka beint og metur hegðun hans með því að nota kyrrstöðugreiningu og kraftmikla rekjatækni. Athugunin fer fram í einangruðu umhverfi.
  • Upphleðslutæki sem setur niðurstöður ávísunarinnar í BigQuery geymsluna.

Heimild: opennet.ru

Bæta við athugasemd