I manutentori del pacchetto PyTorch (se non lo sai: è un framework di apprendimento automatico o di “machine learning”, vedasi il sito ufficiale) hanno avvertito gli utenti che hanno installato le nightly build della libreria tra il 25 dicembre 2022 e il 30 dicembre 2022, di disinstallare e scaricare le ultime versioni a seguito di un attacco alle dipendenze.
Quali sono i potenziali pericoli del codice dannoso inserito accidentalmente su PyTorch?
“I pacchetti Linux PyTorch-nightly installati tramite pip durante quel periodo hanno installato una dipendenza, torchtriton, che è stata compromessa nel repository di codice Python Package Index (PyPI) e ha eseguito un binario dannoso“, ha dichiarato il team dell’omonimo framework in un avvertimento pubblicato durante il fine settimana.
Questo framwork, analogamente ad altri come Keras e TensorFlow, non è che un framework di apprendimento automatico (o machine learning) basato su Python open source originariamente sviluppato da Meta Platforms.
Il team di PyTorch ha affermato di essere venuto a conoscenza della dipendenza dannosa il 30 dicembre, alle 16:40 (orario di Greenwich); l’attacco in serie che sfrutta la falla ha comportato il caricamento della copia intrisa di malware di una dipendenza legittima denominata torchtriton nel repository di codice Python Package Index (PyPI).
Poiché i gestori di pacchetti (vedi pip) controllano i registri di codice pubblico come PyPI per un pacchetto dei registri privati, ha consentito l’installazione del modulo dannoso sui sistemi degli utenti anziché sulla versione effettiva estratta dall’indice di terze parti (tipo da Github per fare un esempio).
La versione “dannosa”, da parte sua, è progettata per estrapolare le informazioni di sistema, comprese le variabili di ambiente di sviluppo, le directory di lavoro corrente e il nome host, oltre ad accedere ai seguenti file:
/etc/hosts
/etc/passwd
The first 1,000 files in $HOME/*
$HOME/.gitconfig
$HOME/.ssh/*
In una dichiarazione di Bleeping Computer, il proprietario del dominio a cui sono stati trasmessi i dati rubati ha affermato che faceva parte di una squadra di ricerca etica e che da allora tutti i dati sono stati cancellati (un cosiddetto white hat).
Oltretutto, torchtriton è stato rimosso come dipendenza e sostituito con pytorch-triton, ossia un pacchetto fittizio è stato anche registrato su PyPI come “segnalino” per prevenire ulteriori abusi.
“Questo non è il vero pacchetto torchtriton ma è stato caricato qui per scoprire vulnerabilità di confusione nelle dipendenze“, è stato dichiarato in un messaggio sulla pagina PyPI per torchtriton. “Puoi ottenere il vero torchtriton da https://download.pytorch[.]org/whl/nightly/torchtriton/.”
Ulteriori sviluppi arrivano quando JFrog ha rivelato i dettagli di un altro pacchetto noto come cookiezlog che è stato osservato utilizzare delle tecniche anti-debug per resistere all’analisi sulla sicurezza (antivirus, antimalware, etc), segnando la prima volta che tali meccanismi sono stati incorporati nell’involontario “malware” PyPI.
I bug e le vulnerabilità Python su Linux non sono propriamente una novità
Qualche tempo fa c’era stato il problema delle librerie Python che ha persistito per ben una quindicina d’anni.
Fatto sta che Python è molto più comune su ambiente Linux che su ambiente Windows, questo significa che in caso di problematiche sulla sicurezza di Python (o di programmi e framework annessi come in questo caso con PyTorch), saranno più gli utenti Linux che Windows a dover stare attenti.
Questo paradosso sulla sicurezza dei sistemi Linux andrebbe però analizzata in un articolo a sé stante, perché se da un lato è vero che ha meno attacchi, è anche vero che la diffusione dei sistemi Linux è minore, oltre al fatto che non esistono controlli mirati su attacchi a sistemi Linux come avviene per Windows e MacOS.
————-
Contenuto pubblicato su tech.icrewplay.com Read More