Il National Security Office slovacco ( NBU ) ha identificato dieci librerie malevole caricate su PyPI (Python Package Index), il repository software utilizzato dal linguaggio di programmazione Python. Questi pacchetti modificati sono rimasti online tra i mesi di giugno e settembre 2017 e più volte scaricati da ignari sviluppatori.
Gli esperti sostengono che gli attaccanti, caricando librerie Python con un nome simile a librerie note, abbiano voluto sfruttare una tecnica chiamata “typosquatting”, una sorta di cybersquatting che si basa su errori di battitura/digitazione (ad esempio “urlib” al posto di “urllib”) per indurre con l’inganno l’utente a utilizzare tali librerie. Ciò significa che qualora i programmatori sbaglino a scrivere il nome del pacchetto si ritroveranno a caricare codice malevolo nel loro software. Poiché il repository non esegue alcun tipo di controllo quando vengono caricate nuove librerie , gli attaccanti non hanno riscontrato la benché minima difficoltà nell’upload dei moduli infetti.
Stando a quanto riportato dall’NBU questi pacchetti contengono le medesime funzionalità degli originali, ma lo script di installazione setup.py è stato modificato per includere del codice, non compatibile con Python 3.x, che colleziona informazioni sensibili (username dell’utente, hostname, nome e versione del pacchetto) dagli host infetti. Tali informazioni vengono poi inviate ad un server remoto con IP 121.42.217.44:8080.
In seguito alla segnalazione dell’NBU gli amministratori di PyPi hanno rimosso i seguenti pacchetti contenenti codice malevolo:
- acqusition (uploaded 2017-06-03 01:58:01, impersonates acquisition)
- apidev-coop (uploaded 2017-06-03 05:16:08, impersonates apidev-coop_cms)
- bzip (uploaded 2017-06-04 07:08:05, impersonates bz2file)
- crypt (uploaded 2017-06-03 08:03:14, impersonates crypto)
- django-server (uploaded 2017-06-02 08:22:23, impersonates django-server-guardian-api)
- pwd (uploaded 2017-06-02 13:12:33, impersonates pwdhash)
- setup-tools (uploaded 2017-06-02 08:54:44, impersonates setuptools)
- telnet (uploaded 2017-06-02 15:35:05, impersonates telnetsrvlib)
- urlib3 (uploaded 2017-06-02 07:09:29, impersonates urllib3)
- urllib (uploaded 2017-06-02 07:03:37, impersonates urllib3)
I ricercatori invitano gli sviluppatori a controllare che nel loro software non ci sia la presenza di queste false librerie e nel caso di sostituirle con quelle originali. Comandi e indicatori di compromissione possono essere consultati sul sito dell’NBU ; inoltre si raccomanda attenzione durante l’installazione con pip .
Ilaria Di Maro