A fost publicat un analizor care a identificat 200 de pachete malware în NPM și PyPI

Fondul OpenSSF (Open Source Security Foundation), înființat de Linux Foundation și destinat să îmbunătățească securitatea software-ului open source, a lansat un proiect deschis numit Package Analysis, care dezvoltă un sistem de analiză a prezenței codului dăunător în pachete. Codul proiectului este scris în limbajul Go și este distribuit sub licența Apache 2.0. Analiza preliminară a depozitelor NPM și PyPI utilizând instrumentele propuse a permis identificarea a peste 200 de pachete dăunătoare anterior neobservate.

Majoritatea problemelor identificate cu pachetele dăunătoare manipulează intersecția numelui cu dependențele interne nepublicate ale proiectelor (atac dependency confusion) sau utilizează metode de type squatting (atribuit nume similare celor ale bibliotecilor populare), precum și execută scripturi în timpul instalării care accesează gazde externe. Potrivit dezvoltatorilor Package Analysis, cea mai mare parte a pachetelor problematice identificate sunt cel mai probabil create de cercetători în securitate care participă la programele de recompensă pentru descoperirea vulnerabilităților (bug bounty), deoarece datele trimise sunt limitate la numele de utilizator și sistem, iar acțiunile sunt efectuate explicit, fără încercări de a ascunde comportamentul lor.

Din pachetele cu activitate dăunătoare se remarcă:

  • Pachetul PyPI discordcmd, în care au fost înregistrate trimiterea de cereri atipice către raw.githubusercontent.com, Discord API și ipinfo.io. Acest pachet descărca codul unui backdoor de pe GitHub și îl instala în directorul clientului Windows Discord, după care lansa un proces de căutare a token-urilor Discord în sistemul de fișiere și le trimitea către un server Discord extern, controlat de atacatori.
  • Pachetul NPM colorsss, care a încercat de asemenea să transmită către exterior serverul token-uri din contul de Discord.
  • Pachetul NPM @roku-web-core/ajax — în timpul instalării trimitea date despre sistem și lansa un handler (reverse shell), care accepta conexiuni externe și executa comenzi.
  • Pachetul PyPI secrevthree — lansa un reverse shell atunci când era importat un anumit modul.
  • Pachetul NPM random-vouchercode-generator — după importarea bibliotecii, trimitea o cerere către un server extern, care returna o comandă și timpul la care aceasta urma să fie executată.

Analiza pachetelor se referă la examinarea codurilor sursă din pachetele pentru instalarea conexiunilor de rețea, accesarea fișierelor și executarea comenzilor. De asemenea, se monitorizează schimbarea stării pachetelor pentru a determina adăugarea de inserții malițioase într-o versiune inițial considerată inofensivă a software-ului. Pentru monitorizarea apariției de noi pachete în repozitorii și efectuarea de modificări în pachetele deja plasate se utilizează instrumentul Package Feeds, care standardizează lucrul cu repozitorii NPM, PyPI, Go, RubyGems, Packagist, NuGet și Crate.

Analiza pachetelor include trei componente de bază, care pot fi utilizate atât împreună, cât și separat:

  • Scheduler-ul care inițiază lucrările de analiză a pachetelor pe baza datelor din Package Feeds.
  • Analizorul, care verifică direct pachetul și evaluează comportamentul acestuia folosind metode de analiză statică și urmărire dinamică. Verificarea are loc într-un mediu izolat.
  • Încărcătorul, care plasează rezultatele verificării în stocarea BigQuery.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster