Nel mondo dello sviluppo software, la sicurezza è una priorità assoluta. Tuttavia, le minacce sono in continua evoluzione e una delle tecniche più insidiose utilizzate dai malintenzionati è il typosquatting.
In generale, il typosquatting è una forma di attacco informatico in cui gli aggressori creano domini di phishing con nomi molto simili a quelli di siti web legittimi e popolari confidando nella distrazione dei visitatori.
In questo caso particolare, il metodo sfrutta errori di digitazione comuni o di memoria degli sviluppatori software inducendoli a scaricare e installare un pacchetto PyPI sbagliato che, una volta installato, può eseguire una varietà di azioni malevole, come il furto di dati sensibili o l’installazione di malware.
Il pacchetto malevolo in questione è il progetto Python denominato “Fabrice” (“https://pypi[.]org/project/fabrice”) che assomiglia nel nome a “Fabric” (“https://pypi.org/project/fabric/”), una nota libreria SSH usata per eseguire comandi shell in remoto.
Gli attaccanti sperano così di sfruttare la popolarità della libreria legittima, che conta ben oltre 200 milioni di download, per riuscire a compromettere la sicurezza dei sistemi.
Indice degli argomenti
Pacchetti Python dannosi: il caso “Fabrice”
“Fabrice” è un pacchetto Python dannoso che, come detto, imita la legittima “Fabric” SSH library. Questo pacchetto, si legge nel rapporto di Socket Security, a oggi sarebbe stato scaricato oltre 37.000 volte, dimostrando quanto possa essere efficace il typosquatting.
Una volta installato, “Fabrice” creerebbe directory nascoste e eseguirebbe script per rubare le credenziali AWS (Amazon Web Services) dell’utente, inviandole ad un endpoint VPN e mettendo a rischio le risorse cloud.
“Il pacchetto Fabrice utilizza approcci diversi per eseguire comandi dannosi a seconda che venga eseguito su un sistema Linux o Windows”, continua il rapporto.
Su Linux, il malware crea una directory nascosta all’interno della home directory dell’utente (~/.local/bin/vscode) per archiviare ed eseguire script (service.sh, app.py, info.py, per.sh) scaricati da un server remoto (89.44.9[.]227), impiegando tecniche di offuscamento per ostacolare il rilevamento.
Invece, su Windows, il malware utilizza VBScript (p.vbs) per eseguire uno script Python nascosto (d.py) deputato ad eseguire comandi o avviare ulteriori payload.
Un secondo script Python assicura, altresì, la persistenza sul sistema infetto del payload “chrome.exe” tramite una attività ripetuta e pianificata con il nome “chromeUpdate” e solo dopo elimina lo script iniziale “d.py”.
Fonte: Socket Security.
Come riportato nello snippet di codice, un trigger garantisce che l’attacco proceda anche indipendentemente dal sistema operativo. In tutti i casi utilizzando l’SDK (Software Development Kit) boto3 vengono prima raccolte le chiavi di accesso e segrete AWS, e dopo inviate al server remoto in un record JSON.
Implicazioni per la sicurezza
Il furto di credenziali AWS è particolarmente preoccupante perché può dare agli aggressori accesso a risorse cloud critiche, inclusi dati sensibili e applicazioni aziendali.
Questo tipo di attacco può portare a gravi violazioni della sicurezza, con conseguenze finanziarie e reputazionali significative per le aziende colpite.
Come proteggersi
Per proteggersi da attacchi di typosquatting e da pacchetti dannosi, gli sviluppatori dovrebbero adottare le seguenti misure:
- Controllare attentamente i nomi dei pacchetti prima di installarli, assicurandosi che siano corretti.
- Implementare strumenti di sicurezza che possano rilevare e bloccare pacchetti dannosi.
- Mantenere aggiornati i pacchetti e le dipendenze per ridurre il rischio di vulnerabilità note.
Conclusione
Il caso “Fabrice” evidenzia l’importanza di essere vigili e proattivi nella protezione delle risorse software. Il typosquatting è una minaccia reale che con le giuste precauzioni è possibile mitigare mantenendo sicuri i propri progetti.
“Riconoscendo i gravi rischi che fabrice comporta, il nostro team lo ha segnalato in modo proattivo al team PyPI per la rimozione, al fine di salvaguardare la più ampia comunità di sviluppatori”, concludono i ricercatori Dhanesh Dodia, Sambarathi Sai e Dwijay Chintakunta del Socket Research Team.
Sebbene il pacchetto “fabrice” ora non sia più disponibile sul repository PyPI, l’URL per il download risulta ancora indicizzato al momento della scrittura dell’articolo. Come si può notare la meta descrizione riporta come data del rilascio l’8 settembre 2021.