Hakeri često ciljaju na PyPI pakete zbog njihove široke korisničke baze i prirode otvorenog koda. Ovo pomaže hakerima u distribuciji zlonamjernog koda unutar ekosistema otvorenog koda.
Decentralizovana priroda PyPI-ja čini izazov za stručnjake za bezbjednost da nadgledaju i otkrivaju zlonamjerne aktivnosti, što omogućava hakerima da iskoriste povjerenje koje korisnici imaju u popularnim paketima.
Istraživači iz JFrog-a su nedavno identifikovali novi napad koji otima 22.000 PyPI paketa, a novi napad je nazvan “Otmica oživljavanja”.
Tehnička analiza
Vektor napada „Revival Hijack“ može rezultirati stotinama hiljada takvih inkremenata u zavisnosti od motiva.
Ova tehnika se primjenjuje na zlonamjerno scraping imena napuštenih paketa radi širenja zlonamjernog softvera. Istraživači su to primijetili u akciji sa otmicom paketa “pingdomv3”.
Nekoliko koraka je radilo na sprečavanju gubitka značajnih sistemskih resursa, uključujući bolji nadzor i brži odgovor na sigurnosne probleme sistema.
Revival Hijacking prenosi sofisticirani vektor napada na softverske repozitorije otvorenog koda, posebno PyPI.
Za razliku od typosquattinga, koji iskorištava greške u unosu korisnika, ova tehnika koristi prednosti naziva paketa koji su dostupni odmah nakon brisanja.
Hakeri mogu registrovati ova imena i ubaciti štetni kod pod prethodno pouzdanim identitetima.
Ovo predstavlja značajne rizike, posebno u CI/CD cevovodima i za korisnike koji koriste automatizovana ažuriranja. Osim toga, analizom je identifikovano preko 22.000 ranjivih paketa sa značajnom istorijom preuzimanja.
Da bi demonstrirali izvodljivost napada, istraživači su kreirali „security_holding“ nalog za bezbjedno rezervisanje paketa visokog rizika, i uz pomoć toga, oko 200.000 preuzimanja je akumulirano u samo tri meseca.
Ovdje ispod smo spomenuli sve postojeće zaštitne mjere PyPI:-
- Normalizovano podudaranje imena (koristeći SQL regex operacije za standardizaciju imena paketa).
- Provjere sličnosti su se pokazale neadekvatne protiv ove prijetnje.
Paket ‘pingdomv3’ je jedan od primjera iz stvarnog svijeta koji pokazuje snagu napada.
Originalni paket je napušten u martu 2024. i brzo je zamijenjen zlonamjernom verzijom koja cilja na Jenkins CI okruženja.
Za isporuku korisnog opterećenja sa eksternog URL-a (https://yyds.yyzs.workers.dev/meta/statistics), akteri prijetnji su koristili Base64 zamagljivanje i dinamičko izvršavanje koda (preko Pythonove exec() funkcije).
Ova tehnika izbjegava jednostavnu statičku analizu i omogućava izvođenje ciljanih napada na osnovu IP raspona ili drugih faktora okoline.
Međutim, kompletan scenario naglašava potrebu za poboljšanim sigurnosnim mjerama u sistemima za upravljanje paketima.
Izvor: CyberSecurityNews