Sandro Sana : 26 Marzo 2024 18:12
Gli sviluppatori Python sono tra i più richiesti e apprezzati nel mondo del software, grazie alla versatilità e alla semplicità del linguaggio. Tuttavia, proprio questa popolarità li rende un bersaglio appetibile per i criminali informatici, che cercano di sfruttare le vulnerabilità della catena di approvvigionamento software per diffondere malware e rubare informazioni sensibili.
La catena di approvvigionamento software è l’insieme dei processi e degli strumenti che consentono di creare, distribuire e mantenere il software. Essa comprende, tra le altre cose, i pacchetti, ovvero le librerie e i moduli che gli sviluppatori usano per aggiungere funzionalità ai loro progetti. I pacchetti sono spesso ospitati su piattaforme online, come PyPI per Python, che ne facilitano il download e l’installazione.
Tuttavia, queste piattaforme possono essere vulnerabili a diversi tipi di attacchi, come il typosquatting, il compromesso di account, la sostituzione di pacchetti e la modifica di dipendenze.
Sei un Esperto di Formazione?
Entra anche tu nel Partner program!
Accedi alla sezione riservata ai Creator sulla nostra Academy e scopri i vantaggi riservati ai membri del Partner program.
Per ulteriori informazioni, scrivici ad [email protected] oppure su Whatsapp al 379 163 8765
Supporta RHC attraverso:
Uno degli attacchi più sofisticati e pericolosi alla catena di approvvigionamento software è stato rivelato dai ricercatori di Checkmarx, una società specializzata nella sicurezza del software. L’attacco, iniziato nel novembre del 2022, ha colpito i principali sviluppatori Python, sfruttando un clone dannoso di uno strumento molto popolare, Colorama. Colorama è un’utilità che consente l’uso di caratteri di escape ANSI in Windows, per colorare e formattare il testo nella console.
Questo strumento viene scaricato più di 150 milioni di volte ogni mese e ha più di 500 dipendenze dirette e indirette. I malintenzionati hanno clonato lo strumento, inserendo al suo interno codice dannoso, e hanno distribuito la versione dannosa su un dominio speculativo, colorama-0.4.5.com, usando il typosquatting. Il typosquatting è una tecnica che consiste nel registrare domini simili a quelli legittimi, sfruttando errori di battitura o differenze ortografiche, per ingannare gli utenti e indurli a visitare siti malevoli.
Per promuovere il pacchetto con il malware, i criminali informatici hanno creato repository dannosi con i loro account e hanno violato l’account GitHub “editor-syntax”, associato alla piattaforma Top.gg per Discord, che conta più di 170.000 membri. Utilizzando questo account compromesso, i malintenzionati hanno effettuato un commit dannoso nel repository top-gg/python-sdk, aggiungendo istruzioni per scaricare il clone dannoso di Colorama e hanno contrassegnato i repository dannosi su GitHub per aumentarne la visibilità. I ricercatori ipotizzano che l’account sia stato compromesso tramite cookie rubati, consentendo di aggirare l’autenticazione e compiere azioni dannose. Per mascherare la loro attività nei repository dannosi, i malintenzionati hanno aggiunto diversi file, inclusi file legittimi e file che contenevano un collegamento al pacchetto Colorama clonato, per farli sembrare legittimi.
Manipolando il processo di installazione del pacchetto e sfruttando la fiducia degli utenti nell’ecosistema dei pacchetti Python, i criminali hanno garantito che il pacchetto dannoso Colorama fosse installato ogni volta che una dipendenza dannosa veniva specificata nei requisiti del progetto. Un aspetto significativo è che il codice dannoso è stato nascosto in Colorama utilizzando una serie di spazi, facendo sì che il frammento si estendesse oltre lo schermo e diventasse invisibile durante una rapida revisione dei file sorgente.
Dopo l’esecuzione del codice dannoso, il processo di infezione attua diversi passaggi aggiuntivi, tra cui il download e l’esecuzione di ulteriore codice Python, il recupero delle librerie necessarie e la configurazione della persistenza.
L’obiettivo del malware inserito nel clone dannoso di Colorama era quello di rubare informazioni dagli sviluppatori Python, come le credenziali di accesso a vari servizi online, i cookie del browser, i token di autenticazione, le chiavi SSH e i dati sensibili presenti nei file di configurazione. Il malware era in grado di comunicare con un server di comando e controllo, inviando le informazioni rubate e ricevendo istruzioni.
Inoltre, il malware era in grado di eseguire codice arbitrario sulle macchine infette, aprendo la possibilità a ulteriori attacchi, come il ransomware, il cryptojacking o il furto di identità. I ricercatori di Checkmarx hanno stimato che almeno 10.000 sviluppatori Python siano stati infettati dal malware, con un potenziale impatto su milioni di utenti finali dei software creati dagli sviluppatori.
L’attacco è stato segnalato alle autorità competenti e ai responsabili delle piattaforme coinvolte, che hanno provveduto a rimuovere i repository e i pacchetti dannosi e a bloccare gli account compromessi. Tuttavia, il rischio di nuovi attacchi alla catena di approvvigionamento software rimane elevato, vista la complessità e la varietà degli strumenti e dei processi coinvolti.
Per prevenire e mitigare gli attacchi alla catena di approvvigionamento software, gli sviluppatori Python devono adottare alcune buone pratiche, come: