Degli attaccanti sconosciuti hanno compromesso diverse versioni di una popolare libreria JavaScript, UAParser.js, inserendo un codice dannoso. Secondo le statistiche sulla pagina degli sviluppatori, molti progetti fano uso di questa libreria, che viene scaricata da 6 a 8 milioni di volte ogni settimana.
I criminali informatici hanno compromesso tre versioni della libreria: la 0.7.29, 0.8.0 e 1.0.0. Tutti gli utenti e gli amministratori dovrebbero aggiornare le librerie alle versioni 0.7.30, 0.8.1 e 1.0.1, rispettivamente, il prima possibile.
Che cos’è UAParser.js, e perché è così famoso
Gli sviluppatori JavaScript usano la libreria UAParser.js per analizzare i dati User-Agent inviati dai browser. È implementata su molti siti web e utilizzata nel processo di sviluppo del software di varie aziende, tra cui Facebook, Apple, Amazon, Microsoft, Slack, IBM, HPE, Dell, Oracle, Mozilla e altri. Inoltre, alcuni sviluppatori di software utilizzano strumenti di terze parti, come il framework Karma per il software testing, che dipende anch’esso da questa libreria, aumentando ulteriormente la scala dell’attacco, aggiungendo un ulteriore anello alla supply chain.
Introduzione ai codici dannosi
I criminali informatici hanno incorporato script dannosi nella libreria per scaricare il codice dannoso ed eseguirlo sui computer delle vittime, sia in Linux che in Windows. Lo scopo di un modulo era quello di estrarre criptovalute, il secondo, invece (solo per Windows), era in grado di rubare informazioni riservate come i cookie dai browser, password e credenziali del sistema operativo.
Tuttavia, potrebbe non essere finita qui: secondo gli avvisi della US Cybersecurity and Infrastructure Protection Agency (CISA), l’installazione di librerie compromesse potrebbe permettere ai criminali informatici di prendere il controllo dei sistemi infetti.
Secondo gli utenti di GitHub, il malware crea file binari: jsextension (in Linux) e jsextension.exe (in Windows). La presenza di questi file è un chiaro indicatore di compromissione del sistema.
Come è riuscito a entrare il codice dannoso nella libreria UAParser.js
Faisal Salman, lo sviluppatore del progetto UAParser.js, ha dichiarato che un cybercriminale non identificato ha avuto accesso al suo account nel repository npm e ha pubblicato tre versioni dannose della libreria UAParser.js. Lo sviluppatore ha immediatamente aggiunto un avvertimento ai pacchetti compromessi e ha contattato il supporto di npm, che ha rapidamente rimosso le versioni pericolose. Tuttavia, mentre i pacchetti erano online, un numero significativo di dispositivi potrebbe averli scaricati.
A quanto pare, sono stati online per poco più di quattro ore, dalle 14:15 alle 18:23 CET del 22 ottobre. In serata, lo sviluppatore ha notato un’insolita attività di spam nella sua casella di posta elettronica, il che gli ha fatto notare le attività sospette, e ha così potuto scoprire la causa principale del problema.
Cosa fare se avete scaricato librerie infette
Il primo passo è controllare i computer, tutti i componenti del malware usato nell’attacco sono rilevati con successo dai nostri prodotti.
Successivamente, vi consigliamo di aggiornare le vostre librerie alle versioni corrette, la 0.7.30, 0.8.1 e 1.0.1. Tuttavia, potrebbe non essere sufficiente: secondo l’avviso, qualsiasi computer su cui è stata installata o eseguita una versione infetta della libreria dovrebbe essere considerato completamente compromesso. Pertanto, gli utenti e gli amministratori dovrebbero cambiare tutte le credenziali che sono state utilizzate su quei computer.
In generale, gli ambienti di sviluppo o di compilazione sono obiettivi convenienti per i criminali informatici che cercano di organizzare attacchi alla supply chain. Ciò significa che tali ambienti richiedono urgentemente una protezione antimalware.