Locky, il ransomware crittografico che fa il giro del mondo

Contenuti

Nel mese di febbraio 2016, la rete Internet è stata letteralmente scossa dall’epidemia informatica generata da un nuovo Trojan crittografico, denominato Locky (rilevato dalle soluzioni di sicurezza di Kaspersky Lab come Trojan-Ransom.Win32.Locky). Le attività nocive legate alla diffusione di tale malware non sembrano peraltro affievolirsi: sinora, i prodotti Kaspersky Lab hanno individuato tentativi di infezione dei computer degli utenti, da parte di questo temibile Trojan, in ben 114 paesi.

L’analisi condotta sui sample ha evidenziato, in maniera inequivocabile, che si tratta di un rappresentante della classe dei Trojan estorsori del tutto nuovo, sviluppato, in pratica, da zero. Ma quali sono le caratteristiche peculiari di Locky, e come è possibile proteggersi da esso?

Modalità di diffusione

Per distribuire il Trojan, i malintenzionati effettuano massicci invii di email di spam, con messaggi di posta elettronica che recano, in allegato, downloader nocivi.

Inizialmente, le e-mail di spam nocivo contenevano, in qualità di allegato, un file .doc provvisto di apposita macro dannosa, che provvedeva a scaricare dal server remoto il Trojan Locky, avviandone poi l’esecuzione.

Locky, il ransomware crittografico che fa il giro del mondo

Un tipico messaggio estratto dalle prime email di massa, contenente, in allegato, un documento nocivo

Locky, il ransomware crittografico che fa il giro del mondo

Frammento della macro dannosa

I prodotti Kaspersky Lab rilevano i file contenenti le macro dannose come Trojan-Downloader.MSWord.Agent e HEUR:Trojan-Downloader.Script.Generic.

Ricordiamo, nella circostanza, che nelle attuali versioni del pacchetto MS Office, per ragioni di sicurezza, l’esecuzione automatica delle macro risulta disattivata. Tuttavia, come ha dimostrato la pratica, gli utenti, spesso, abilitano le macro manualmente, persino nei documenti di origine sconosciuta; questo può produrre, di fatto, spiacevoli conseguenze.

Al momento attuale, le campagne di spam nocivo stanno proseguendo, ma gli allegati ai messaggi nocivi non sono più costituiti da file .doc, bensì da archivi .zip, contenenti uno o più script offuscati, compilati in JavaScript. Le e-mail in questione vengono per lo più elaborate in lingua inglese; si incontrano, tuttavia, anche versioni bilingue di tali messaggi.

Locky, il ransomware crittografico che fa il giro del mondo

Messaggio e-mail in lingua inglese, con archivio .zip allegato

Locky, il ransomware crittografico che fa il giro del mondo

Messaggio e-mail in tedesco e in inglese, con archivio .zip allegato

All’utente-vittima viene proposto di avviare manualmente l’esecuzione degli script.

Locky, il ransomware crittografico che fa il giro del mondo

Contenuto dell’archivio allegato all’e-mail

Locky, il ransomware crittografico che fa il giro del mondo

Frammento di uno script contenuto nell’archivio

Una volta lanciato, lo script provvede a scaricare dal server remoto il Trojan Locky, avviandone poi l’esecuzione.

I prodotti Kaspersky Lab rilevano tali script downloader come Trojan-Downloader.JS.Agent e HEUR:Trojan-Downloader.Script.Generic.

Geografia degli attacchi

Secondo i dati raccolti tramite il Kaspersky Security Network (KSN), si sono registrati attacchi, da parte di Locky, in 114 Paesi.

TOP 10 paesi

Paese Numero di utenti sottoposti ad attacco
Francia 469
Germania 340
India 267
USA 224
Repùbblica Sudafricana 182
Italia 171
Mèssico 159
Brasile 156
Cina 126
Vietnam 107

Sottolineiamo, nella circostanza, come i dati statistici qui sopra riportati si riferiscano esclusivamente ai rilevamenti del Trojan vero e proprio; essi non tengono infatti conto dei rilevamenti eseguiti nelle fasi preliminari dell’attacco (spam nocivo e downloader).

map_1_it

Geografia degli attacchi Trojan-Ransom.Win32.Locky (numero di utenti sottoposti ad attacco )

Come possiamo vedere, il Trojan qui analizzato attacca, in pratica, tutte le aree geografiche. È possibile presumere quali siano i Paesi presi in particolar modo di mira dai malintenzionati, in base all’elenco delle lingue presenti sulla pagina riservata alla richiesta di pagamento del riscatto (di questo, tuttavia, torneremo a parlare in seguito).

Schema di funzionamento del Trojan

Il Trojan Locky è, in sostanza, un file eseguibile, la cui dimensione è di circa 100 Kb. Il malware, scritto in linguaggio С++ con utilizzo della libreria STL, è stato compilato attraverso MS Visual Studio. Una volta lanciato, esso provvede a realizzare una copia di se stesso in %TEMP%\svchost.exe, per poi rimuovere dalla propria copia lo stream NTFS Zone.Identifier (affinché, al momento dell’avvio del file, Windows non emetta alcun avviso riguardo al fatto che tale file è stato scaricato da Internet e risulta, quindi, potenzialmente pericoloso). Successivamente, il Trojan viene eseguito da %TEMP%.

Non appena avviata l’esecuzione, Locky verifica la presenza e il contenuto delle chiavi di registro qui di seguito elencate.

Percorso Tipo Valore
HKEY_CURRENT_USER\Software\Locky\id REG_SZ Identificatore dell’infezione
HKEY_CURRENT_USER\Software\Locky\pubkey REG_BINARY Chiave pubblica RSA in formato MSBLOB
HKEY_CURRENT_USER\Software\Locky\paytext REG_BINARY Testo mostrato alla vittima
HKEY_CURRENT_USER\Software\Locky\completed REG_DWORD Status (se l’operazione di codifica è stata completata)

Se nelle chiavi di registro sono già presenti dei dati (e questo avviene nel caso in cui il malware non venga eseguito per la prima volta, ma qualcosa ne ha interrotto il funzionamento), Locky provvede a leggere gli stessi, continuando poi il processo di infezione.

Se, invece, si tratta del primo avvio, il Trojan esegue le seguenti azioni:

  1. Effettua la connessione con il proprio server di comando e controllo, segnalando l’avvenuta infezione;
  2. Ottiene dal server la chiave pubblica RSA-2048 e l’ID dell’infezione, per poi memorizzare gli stessi nel registro;
  3. Invia al server dannoso le informazioni relative alla lingua utilizzata nell’ambito dell’OS infetto, riceve il testo contenente le richieste avanzate dai cybercriminali estorsori – in seguito visualizzate dalla vittima – e memorizza tale testo nel registro;
  4. Ricerca sulle unità disco locali i file provvisti di determinate estensioni, per poi cifrare gli stessi;
  5. Elimina le copie shadow dei file;
  6. Si inserisce all’interno del processo di autorun (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run);
  7. A livello di unità disco di rete (incluso le risorse del file system di rete alle quali non è stata assegnata una lettera specifica come unità), ricerca e codifica i file provvisti di determinate estensioni;
  8. Mostra alla vittima le richieste dei malintenzionati;
  9. Termina il proprio processo e si autoelimina.

Locky, il ransomware crittografico che fa il giro del mondo

Frammento di codice relativo all’ottenimento delle informazioni riguardanti la lingua utilizzata dal sistema operativo

Codifica dei file

Il malware effettua la ricerca dei file da cifrare, in base ad uno specifico elenco di estensioni.

Locky, il ransomware crittografico che fa il giro del mondo

Elenco delle estensioni relative ai file da sottoporre a cifratura

Per ogni file individuato, Locky genera una nuova chiave a 128 bit, ed esegue poi la codifica del contenuto del file per mezzo dell’algoritmo AES-128 in modalità CTR. Il file, una volta criptato, riceve un nome del tipo <16 caratteri hex ID><16 caratteri hex casuali>.locky. Nella parte finale del file viene collocata la seguente struttura:

Locky, il ransomware crittografico che fa il giro del mondo

La struttura inserita da Locky nella parte finale del file codificato

Nella sintassi del linguaggio C, questa struttura può essere descritta come segue:

Descrizione della struttura aggiunta da Locky, nella sintassi del linguaggio C

Le richieste dei malintenzionati

Dopo aver codificato i file, il malware mostra alla vittima il testo contenente le specifiche richieste dei malfattori.

Locky, il ransomware crittografico che fa il giro del mondo

Le richieste dei cybercriminali, in lingua inglese

Locky, il ransomware crittografico che fa il giro del mondo

Le richieste dei cybercriminali, in lingua tedesca

Il messaggio contiene l’indirizzo del “server segreto” allestito dai malintenzionati, dove questi ultimi hanno inserito le informazioni relative al riscatto da pagare per poter ottenere il programma necessario per le operazioni di decodifica. Tutti e quattro i link presenti nel testo conducono verso lo stesso identico sito, collocato nella rete Tor.

Nel periodo in cui si sono verificate le prime ondate di mailing nocive volte a distribuire Locky, l’aspetto della pagina riservata alla descrizione delle modalità previste per il pagamento del riscatto era il seguente:

Locky, il ransomware crittografico che fa il giro del mondo

La pagina di Locky contenente le condizioni di pagamento riguardo al programma di decodifica (versione iniziale)

In questa pagina i malintenzionati propongono di effettuare il pagamento del software necessario per decriptare i file, cifrati in precedenza sul computer-vittima, in bitcoin. I cybercriminali, come si può vedere nello screenshot qui sopra inserito, elencano poi una serie di raccomandazioni riguardo a dove, e come, è possibile procurarsi la criptovaluta.

Successivamente, il design e il contenuto della pagina in questione sono cambiati. Attualmente, essa “supporta” oltre venti lingue diverse (con apposito menu a discesa), ed appare nel modo seguente:

Locky, il ransomware crittografico che fa il giro del mondo

La pagina relativa alla richiesta di pagamento del riscatto effettuata dal Trojan Locky (versione attuale)

Se andiamo ad esaminare il codice sorgente di questa pagina, possiamo vedere l’elenco completo delle lingue supportate. È del tutto evidente che i malintenzionati intendono prendere di mira, con il Trojan estorsore, proprio i Paesi corrispondenti. È inoltre di particolare interesse rilevare come nell’elenco risultino assenti la lingua russa e le lingue parlate all’interno della Comunità degli Stati Indipendenti (CSI). A quanto pare, per qualche ragione, i malfattori non intendono attaccare gli utenti situati nei rispettivi Paesi; questo elemento trova una precisa conferma nei dati statistici raccolti attraverso il KSN.

Locky, il ransomware crittografico che fa il giro del mondo

Elenco delle lingue supportate nella pagina relativa al pagamento del riscatto richiesto da Locky

Le comunicazioni con il server di comando e controllo

Il codice del Trojan contiene da uno a tre indirizzi IP relativi al C&C. Inoltre, nel malware è stato implementato un algoritmo adibito alla generazione di nuovi indirizzi C&C (DGA, algoritmo di generazione domini) a seconda del giorno, mese e anno in corso. Per mezzo di questo algoritmo vengono generati, nell’arco delle 24 ore, 6 diversi indirizzi riguardanti il centro di comando e controllo del Trojan. Lo pseudocodice che illustra l’algoritmo DGA utilizzato da Locky viene evidenziato nello screenshot qui di seguito inserito.

Locky, il ransomware crittografico che fa il giro del mondo

Lo pseudocodice relativo all’algoritmo di generazione degli indirizzi C&C utilizzati da Locky

L’interazione con il server di comando avviene sulla base del protocollo HTTP. Il Trojan invia una richiesta POST ad un indirizzo del tipo http://<cnc_url>/main.php; i dati trasmessi vengono cifrati mediante un semplice algoritmo simmetrico.

Vediamo quali sono i possibili tipi di parametro inoltrati nella circostanza.

  1. Notifica dell’infezione e richiesta della chiave.
    id=<id infezione>
    &act=getkey&affid=<id del partner, contenuto nel corpo del Trojan>
    &lang=<lingua del sistema>
    &corp=<se è un OS corporate>
    &serv=<se è un OS server>
    &os=<versione OS>
    &Sp=<versione service pack OS>
    &x64=<bit del sistema>

    A giudicare dal parametro “affid”, Locky viene distribuito attraverso un programma di partenariato.

  2. Invio dell’elenco dei percorsi codificati.
    id=<id infezione>
    &act=report&data=<elenco dei percorsi>

    Per ogni unità disco “elaborata”, il Trojan invia al server un elenco di tutti i percorsi che conducono a tutti i file cifrati.

  3. Invio di dati statistici riguardo ad ogni unità disco elaborata.
    id=<id infezione>
    &act=stats&path=<percorso>
    &encrypted=<numero di file cifrati>
    &failed=<numero di errori>
    &length=<dimensione totale dei file cifrati>

Sottolineiamo che il malware in causa raccoglie dati statistici particolarmente dettagliati riguardo ad ogni infezione realizzata. Altre famiglie di Trojan estorsori, da noi analizzate in precedenza, non si caratterizzavano, invece, per un livello di scrupolosità così elevato.

Come contrastare Locky

I prodotti Kaspersky Lab forniscono un’efficace protezione nei confronti del Trojan estorsore Locky in tutte le fasi dell’attacco:

  • Il modulo Anti-Spam rileva i messaggi e-mail dannosi inviati da coloro che distribuiscono il Trojan;
  • Gli script downloader vengono rilevati attraverso le firme statiche ed euristiche dell’Anti-Virus Posta e dell’Anti-Virus File, con i verdetti Trojan-Downloader.MSWord.Agent, Trojan-Downloader.JS.Agent, HEUR:Trojan-Downloader.Script.Generic;
  • Il file eseguibile del Trojan viene rilevato tramite le firme dell’Anti-Virus File, con il verdetto Trojan-Ransom.Win32.Locky;
  • I sample ancora sconosciuti del ransomware Locky vengono rilevati proattivamente grazie al modulo System Watcher (“Controllo sistema”), con il verdetto PDM:Trojan.Win32.Generic.

Come prevenire l’infezione

Locky è un tipico Trojan estorsore; la sua struttura interna e il suo principio di funzionamento non evidenziano alcuna differenza di rilievo rispetto alle altre famiglie di malware crittografico. L’attenzione dei ricercatori è stata ad ogni caso attirata dall’ampia diffusione, peraltro particolarmente attiva, che si registra riguardo a tale software nocivo. Secondo i dati raccolti tramite il KSN, i prodotti Kaspersky Lab hanno respinto gli attacchi portati da Locky in oltre 100 Paesi; nessun altro Trojan- Ransom, sinora, aveva attaccato così tanti Paesi contemporaneamente.

Per non divenire vittima del temibile Trojan crittografico, si rivela necessario adottare le seguenti misure di prevenzione:

  • Non aprire, a livello di posta elettronica, gli allegati presenti nei messaggi e-mail che provengono da mittenti sconosciuti;
  • Effettuare regolarmente copie di backup dei file, e custodire le stesse all’esterno del computer, utilizzando i supporti rimovibili o il cloud storage;
  • Aggiornare tempestivamente i database anti-virus, il sistema operativo e gli altri programmi installati nel computer;
  • Nel gestire l’accesso alle cartelle di rete condivise, creare una cartella di rete separata per ogni utente.

Informazioni ancor più dettagliate riguardo alle misure di protezione da adottare nei confronti dei famigerati Trojan crittografici sono disponibili cliccando su questo link.

Post correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *