NPM nastavlja sa sigurnosnim problemima i sada je jedan uticao na sistem ažuriranja

Prije nekoliko dana GitHub je otkrio dva incidenta u infrastrukturi spremišta NPM paketa, od kojih se navodi da su 2. novembra istraživači treće strane u okviru programa Bug Bounty pronašli ranjivost u NPM spremištu koji omogućava objavljivanje nove verzije bilo kojeg paketa koji koristi iako nije ovlašten da izvršite takva ažuriranja.

Ranjivost je uzrokovana netačnim provjerama autorizacije u kodu mikroservisa koji obrađuju zahtjeve NPM-u. Autorizacijski servis je izvršio provjeru dozvole za pakete na osnovu podataka proslijeđenih u zahtjevu, ali drugi servis koji je uploadovao ažuriranje u spremište odredio je da se paket objavi na osnovu sadržaja metapodataka u otpremljenom paketu.

Dakle, napadač može zatražiti objavu ažuriranja za svoj paket kojem ima pristup, ali u samom paketu naznačiti informacije o drugom paketu, koji bi eventualno bio ažuriran.

Proteklih nekoliko mjeseci, npm tim je ulagao u infrastrukturna i sigurnosna poboljšanja kako bi automatizirao praćenje i analizu nedavno objavljenih verzija paketa kako bi identificirao zlonamjerni softver i drugi zlonamjerni kod u realnom vremenu.

Postoje dvije glavne kategorije događaja objavljivanja zlonamjernog softvera koji se dešavaju u npm ekosistemu: zlonamjerni softver koji se objavljuje zbog otmice računa i zlonamjerni softver koji napadači objavljuju preko vlastitih računa. Iako su akvizicije naloga sa velikim uticajem relativno retke, u poređenju sa direktnim zlonamernim softverom koji objavljuju napadači koristeći sopstvene naloge, akvizicije naloga mogu biti dalekosežne kada se ciljaju popularni održavaoci paketa. Iako je naše vrijeme otkrivanja i odgovora na kupovinu popularnih paketa bilo samo 10 minuta u nedavnim incidentima, nastavljamo da razvijamo naše mogućnosti otkrivanja zlonamjernog softvera i strategije obavještavanja prema proaktivnijem modelu odgovora.

problem popravljena je 6 sati nakon prijave ranjivosti, ali je ranjivost bila prisutna u NPM-u duže nego što pokrivaju dnevniki telemetrije. GitHub navodi da nije bilo tragova napada koji koriste ovu ranjivost od septembra 2020, ali nema garancije da problem nije ranije iskorišten.

Drugi incident dogodio se 26. oktobra. U toku tehničkog rada sa bazom servisa replicant.npmjs.com, otkriveno je da postoje povjerljivi podaci u bazi podataka dostupni za eksterne konsultacije, otkrivajući informacije o imenima internih paketa koji su spomenuti u dnevniku promjena.

Informacije o tim imenima može se koristiti za izvođenje napada ovisnosti na interne projekte (U februaru je takav napad omogućio pokretanje koda na serverima PayPal, Microsoft, Apple, Netflix, Uber i 30 drugih kompanija.)

Takođe, u vezi sa sve većom učestalošću zapljene repozitorija velikih projekata i promicanje zlonamjernog koda kroz kompromitaciju računa programera, GitHub je odlučio uvesti obaveznu dvofaktorsku autentifikaciju. Promjena će stupiti na snagu u prvom tromjesečju 2022. i odnosit će se na održavatelje i administratore paketa koji se nalaze na listi najpopularnijih. Dodatno, izvještava o modernizaciji infrastrukture, koja će uvesti automatizirano praćenje i analizu novih verzija paketa za rano otkrivanje zlonamjernih promjena.

Podsjetimo, prema studiji provedenoj 2020. godine, samo 9.27% menadžera paketa koristi dvofaktorsku autentifikaciju za zaštitu pristupa, a u 13.37% slučajeva, prilikom registracije novih naloga, programeri su pokušali ponovo koristiti ugrožene lozinke koje se pojavljuju u poznatim lozinkama. .

Prilikom provjere jačine korištenih lozinki pristupljeno je 12% naloga u NPM-u (13% paketa) zbog upotrebe predvidljivih i trivijalnih lozinki poput "123456". Među problemima su bila 4 korisnička naloga od 20 najpopularnijih paketa, 13 naloga čiji su paketi preuzimani više od 50 miliona puta mesečno, 40 - više od 10 miliona preuzimanja mesečno i 282 sa više od milion preuzimanja mesečno. Uzimajući u obzir opterećenje modula duž lanca zavisnosti, kompromitovanje nepouzdanih naloga može uticati na do 1% svih modula u NPM-u ukupno.

Na kraju, ako ste zainteresirani da saznate više o tome možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.