Cybersecurity

Cryptovirus #WannaCry, finalmente è arrivato

16 Maggio 2017

Finalmente? Sì, finalmente. Non purtroppo.
Capisco lo sconforto, la rabbia, la disperazione di chi è rimasto colpito da WannaCry.
Ma io credo che sia un’opportunità per capire, migliorare e lavorare meglio.

Vorrei fare una sintesi “cruda” dell’accaduto e dare qualche spunto per rimediare.
E dico subito che questo post è in costante aggiornamento, visto il rapido susseguirsi degli eventi.

In questo post parlerò di:

 

Cosa è successo: riassunto
 

Venerdì 12 Maggio si è diffuso un virus di tipo ransomware (che cifra i dati e chiede un riscatto per poter avere una chiave che permetta di decodificarli) dal nome WannaCry.
Il virus sfrutta una vulnerabilità di Windows (per i più tecnici diciamo che c’è una falla nel protocollo SMB di alcuni sistemi operativi Microsoft), attaccabile attraverso la porta 445.

Per questa vulnerabilità a Marzo Microsoft aveva rilasciato una patch apposita, quindi non possiamo parlare di vulnerabilità zero-day.
In poche ore WannaCry ha messo in ginocchio enti pubblici e aziende private che sono state costrette, in molti casi, a interrompere l’erogazione dei propri servizi.

Come mai in poco tempo sono stati tanto numerosi gli attacchi? Fondamentalmente perché i sistemi operativi vulnerabili (quelli che non hanno installato la patch) sono numerosi.
Questo virus infatti si propaga da solo da una rete locale all’altra via Internet cercando e sfruttando le condivisioni di rete SMB (il protocollo incriminato) raggiungibili direttamente da Internet.

E non è necessaria alcuna azione da parte dell’utente.
Quando il virus si installa su un PC inizia a propagarsi sfruttando la vulnerabilità sopra citata: è sufficiente quindi che venga infettato un solo PC in una rete locale per mettere a rischio tutti gli altri computer non aggiornati che sono presenti sulla stessa rete.

Pare che il numero di macchine esposte su Internet con “aperta” la porta 445 sia elevato, circa 2,3 milioni. Quindi è sufficiente attaccare queste macchine per trovare e colpire qualche sistema sprovvisto della patch.
Dei 2,3 milioni di macchine esposte su internet con la porta 445 aperta, ben 1,3 milioni hanno la vulnerabilità, ossia son sistemi non patchati.

Inoltre una volta che la vulnerabilità è entrata dentro una rete locale, la propagazione, attraverso il protocollo SMB (la versione “bacata”) avviene in un attimo, vista la diffusione dei sistemi operativi Windows e la scarsa attenzione all’installazione delle patch.

Fortunatamente dopo poco tempo un ricercatore ha trovato il modo di bloccare il virus, semplicemente registrando un dominio internet, e questa operazione ha funzionato come interruttore posizionato su “off” per il virus.
Il virus WannaCry infatti contiene un cosiddetto “kill-switch“.

Il Kill-switch è un’istruzione particolare o una condizione particolare che può decidere se il virus deve andare davvero in esecuzione o se si deve fermare.
In questo caso particolare il kill-switch era questo. Il virus controllava l’esistenza di un dominio dal nome abbastanza assurdo (www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com): se il dominio esisteva, allora il virus non faceva nulla, se non esisteva procedeva nella propria opera di crittazione dei dati e replica attraverso la rete.

Ora, come fa un ricercatore a indovinare un simile dominio? Ovviamente non se lo può immaginare per cui avrà fatto del reverse engineering o avrà “ascoltato” il traffico di rete e capito che il virus controllava l’esistenza o meno di quel dominio prima di proseguire la sua opera.
Quindi una volta registrato il dominio il virus ha arrestato (almeno momentaneamente) la sua corsa.

Tutti contenti e felici. Fino al prossimo virus.

Perché se è vero che il ricercatore con un colpo da maestro ha fermato l’epidemia…ti sei mai chiesto perché mai i creatori del virus abbiamo messo un’istruzione in grado di fermare un virus e per di più un’istruzione così assurda come l’esistenza di un dominio dal nome completamente folle?
Non ne so il motivo, ma posso formulare un’ipotesi.
I creatori del virus potrebbero averlo fatto apposta, ovvero aver creato un’istruzione di quel tipo con quel dominio così assurdo: è possibile che abbiano usato questa tecnica per capire quanto tempo “i buoni” ci avrebbero messo a disassemblare il virus e capire come fermarlo.
E stai tranquillo che la prossima variante non sarà fermata per il semplice fatto che un tizio registra un certo nome e dominio.
Nel momento in cui scrivo, infatti, la versione 2.0 del virus è già in circolazione.

[Aggiornamento del 19 Maggio]
C’è un’altra ipotesi che prendo a piene mani da un fumetto circolato su Facebook, circa il fatto di inserire un’istruzione in grado di fermare il virus. I creatori di WannaCry potrebbero aver inserito un “ping” (o altro comando) a un dominio inesistente per verificare se il loro virus venisse eseguito dentro una sandbox.
Infatti la sandbox per far credere al virus di essere davvero in esecuzione su un computer reale potrebbe addirittura rispondere alla verifica di un dominio inesistente… ma proprio in quanto inesistente il WannaCry in questione sa di averlo cercato apposta inesistente, quindi capirebbe che è sotto osservazione di una sandbox e allora non fa assolutamente nulla. Naturalmente quando il dominio “farlocco” è stato davvero registrato il virus pensava di essere sempre in una sandbox (perché il domino rispondeva davvero) e quindi ha limitato la sua azione distruttrice.
[Fine Aggiornamento del 19 Maggio]


Cosa devi fare per metterti al riparo

Installare la patch
Innanzitutto devi accertarti che tutte le tue macchine vengano protette con la patch opportuna.
La patch rilasciata a marzo è disponibile qui.
Oltre ad aver rilasciato la patch a suo tempo, Microsoft ha dato anche lei il proprio contributo per arginare il problema: si è affrettata infatti a rilasciare delle patch anche per i sistemi operativi non supportati (XP, Vista, 2003).
Non importa quale sistema utilizzi per installare le patch, ma installale, questa in particolare.
Questa forse è la principale lezione da imparare, che il processo di patch management è parte integrante e insostituibile di un corretto approccio alla sicurezza.

Disabilitare il protocollo SMBv1
Se non hai la possibilità (per qualsiasi motivo) di installare la patch, devi disabilitare il protocollo che ha reso possibile questo attacco. Devi accertati di disabilitare il protocollo SMB versione1: basta che cerchi su internet e troverai decine di articoli. Uno abbastanza esaustivo su come fare l’operazione è disponibile qui.
Un trucco molto veloce (anche se da smanettoni) è di mettere a “0” il valore di questa chiave di registro
HKLM:SYSTEMCurrentControlSetServicesLanmanServerParametersSMB1

[Aggiornamento del 22 Maggio]
Cosa fare se hai il virus: è pronto il decryptor
Fortunatamente stanno uscendo i primi decrittatori.
Se è vero che i file cifrati da WannaCry sono indecifrabili perché una delle chiavi di cifratura viene cancellata dal disco fisso dopo il passaggio del virus, è anche vero che alcuni ricercatori hanno scoperto che in memoria i numeri primi su cui è basato l’algortimo di cifratura non vengono cancellati.
Quindi se il computer infettato NON è stato riavviato allora c’è possibilità di recuperare i dati.

Il decryptor in questione si carica in memoria, scopre i numeri primi usati per crare la cifratura e provvede a rimettere in chiaro i file.
L’eseguibile può essere scaricato da GitHub.

I file cifrati (.WNCRY) restano sul computer anche dopo il processo di decrittazione; il file pulito viene creato ex novo, quindi ti troverai sul computer due file: uno cifrato e uno in chiaro.
Se vuoi vedere il funzionamento di WannaCry e del successivo “lancio” del decryptor ti consiglio questa gif animata.
Naturalmente dopo aver recuperato i file è opportuno farne immediatamente un backup.
Informazioni più particolareggiate le trovi nel post dell’ottimo Matt Suiche, ricercatore che ha contribuito notevolmente al lavoro contro questo virus.
[Fine aggiornamento del 22 Maggio]


Ma è vero che è colpa dell’NSA?

L’attacco utilizzato per diffondere WannaCry usa delle tecniche presenti in uno strumento di “intrusione” effettivamente sviluppato dalla National Security Agency (NSA) noto con il nome in codice EternalBlue/DoublePulsar.
Questo sistema è stato trafugato e reso disponibile su Internet e i responsabili di WannyCry hanno analizzato il software e riprodotto il comportamento, usandolo per sferrare l’attacco.

[Aggiornamento del 17 Maggio]
Quindi di chi è la colpa?
Io credo che la colpa debba essere attribuita contemporaneamente ai molti attori che hanno reso possibile questo attacco.
Microsoft, che ha creato un sistema operativo con molte falle.
NSA, che ha scoperto una vulnerabilità e non l’ha comunicata per tempo a Microsoft, anzi ci ha costruito sopra “del software” che poi si è fatta “rubare” sotto il naso.
Shadow Broker, il gruppo di hacker, che una volta in possesso del codice invece di informare Microsoft ha pensato bene di rendere pubblico il metodo per bucare i sistemi operativi per PC.
Gli utenti Windows stessi, o meglio chi amministra i sistemi, che evidentemente non ha installato le patch necessarie o ha continuato a usare dei sistemi operativi fuori produzione e non più supportati.
[Fine aggiornamento del 17 Maggio]

Approfondimenti tecnici

Se il tuo spirito indomito ha sete di saperne di più e ha fame di dettagli tecnici, Malwarebytes ha pubblicato un bel post.
 

[Aggiornamento del 17 Maggio]

Quando si viene infettati lo stesso

Come ho già detto prima, è necessario aggiornare e patchare i sistemi perché il rimedio di “calmare le acque” tramite il kill-switch spiegato sopra è solo temporaneo. Per 2 motivi.

  • In primo luogo perché è stata già rilevata, dal ricercatore Matthieu Suiche, una variante che usa un altro dominio (hxxp://ifferfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com/) e non quello citato in precedenza.
  • In secondo luogo perché il kill-switch lavora nel modulo SMB, non nel modulo di criptazione dei dati. Ossia il “trucco” – che è consistito nell’aver registrato il dominio che ha calmato il WannaCry – ha risolto il problema dell’uso del bug nel protocollo SMB, ma non impedisce la cifratura dei dati.

In altri termini ecco quando puoi essere infettato lo stesso:

  • se ricevi WannaCry via email, via torrent o altri vettori che non siano il protocollo SMB (la rete);
  • se il tuo antivirus o il tuo firewall (per un qualsiasi motivo) bloccano il dominio (www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com) che ha calmato le acque;
  • se il tuo PC è dietro a un proxy server, perché WannyCry non sa nulla di proxy e alcuni test sembrano mostrare che il “trucco” di cui ho parlato sopra non funzioni se si è dietro un proxy server.

[Fine aggiornamento del 17 Maggio]

 

Piccolo suggerimento per i fornitori di servizi IT

Se eroghi servizi IT e installi regolarmente le patch sui sistemi dei tuoi clienti, WannaCry è un’opportunità per ricordare ai tuo clienti quanto sia prezioso (e necessario) il servizio che stai erogando loro.
Di questo problema si è perfino parlato nei telegiornali (e meno male che si inizia a parlare di Ransomware nei telegiornali!), quindi anche i clienti più distratti sanno che c’è stato un problema, da qualche parte.
Potresti mandare ai tuoi clienti un’email o una semplice lettera/volantino su carta “toccando questi punti”.

  1. I clienti che usufruiscono dei tuoi servizi non hanno nessun problema con questo virus perché hanno già ricevuto a tempo debito la manutenzione per installare gli aggiornamenti necessari.
  2. Se le patch sono un elemento assolutamente fondamentale in un piano di sicurezza e manutenzione dell’IT aziendale, è anche vero che non si può in ogni caso prescindere da un ottimo antivirus… e qui potresti complimentarti con i clienti che prendono da te l’antivirus oppure fare una proposta a coloro che non lo prendono da te.
  3. I problemi di sicurezza non sono sempre e solo legati alle patch e all’antivirus, ci sono molti altri campanelli d’allarme, come i vecchi utenti mai cancellati, condivisioni di rete rimaste aperte per troppo tempo, firewall non sempre aggiornati o chiusi a dovere…. Insomma un’ottima opportunità per proporre un Assessment IT.
  4. Infine potresti chiudere dicendo che ogni giorno lavori per mantenere i sistemi dei clienti a posto e aggiornati, ma gli imprevisti non possono essere previsti (per definizione).
    Piuttosto che subire un fermo aziendale (vedi ospedali, università, compagnie telefoniche) è meglio prevedere non solo un prodotto di business continuity, ma proprio un “piano aziendale”.

 
E tu? Hai avuto esperienze dirette con WannaCry?

Esegui regolarmente il patch management sulle macchine tue e dei tuoi clienti!

Autore
Gabriele Palumbo
Nasco a Bologna ma ho vissuto l’infanzia in Piemonte, l’adolescenza in Puglia e la maturità tra Umbria, Toscana, Puglia, Emilia-Romagna e Lombardia (e non è ancora finita). Ho avuto quindi modo di entrare in contatto con diversi ambienti e contesti sociali. Una formazione umanistica (Sociologia della devianza a Perugia e Relazioni Internazionali a Pisa), passione per la scrittura e decine di corsi sul mondo digital sono state ottime basi per entrare nel campo del marketing e della comunicazione. Nel 2015 pubblico il romanzo breve “Ci siamo solo persi di vista” e, a inizio 2019, pubblico la biografia della rock band “Ministri”, entrata in poche ore nei Top Sellers di Amazon. Un romanzo è in fase di scrittura. Terminati gli studi entro attivamente nel mondo della musica, organizzando svariati concerti e un festival, e della comunicazione digitale, gestendo la linea editoriale di blog e social e ricoprendo ruoli di copywriter e content editor. Nel 2017 entro nel collettivo Dischirotti. occupandomi dei contenuti web, mentre il 2018 mi vede prima nell’agenzia FLOOR concerti come booking agent per svariati artisti e poi in VOX concerti come direttore di produzione. Tornato a Bologna inizio a collaborare con l’etichetta discografica Manita Dischi come project manager e svolgo un tirocinio presso l’agenzia di marketing e comunicazione digitale Engine Lab, nel ruolo di content editor. Dal 2020 al 2023 ho collaborato, sia come editor che come contributor, con Fantastico.esclamativo, newsletter letteraria e rivista culturale creata da Alberto Guidetti de Lo Stato Sociale. Ogni due sabati invio “Capibara”, una newsletter che tratta di attualità e meme in un progetto che, occasionalmente, porto anche dal vivo sotto forma di Stand-Up. Attualmente ricopro il ruolo di Channel Marketing Manager in Achab, con particolare focus su contenuti editoriali, analytics, marketing automation e CMS.
Commenti (12)
Iscriviti
Notificami
guest
12 Commenti
Più vecchio
Più recente Più votato
Inline Feedbacks
Guarda tutti i commenti
Claudio Panerai
Claudio Panerai
6 anni fa

@Antonio: non sono completamente d’accordo con quello che dici.
E’ vero che nel codice Microsoft c’era un baco, ma magari nemmeno loro stessi lo conoscevano e se altri (NSA) lo hanno scoperto, avrebbero dovuto/potuto dirlo a Microsoft.
Sicuramente un grafico a torta sarebbe interessante da vedere, ma è palese che il sistema Windows ha diffusione planetaria e sarà sicuramente il più attaccato, proprio per la sua enorme diffusione.

Antonio Caccamo
Antonio Caccamo
6 anni fa

esso si installa nella directory c:windows e come servizio anche se non si hanno i diritti amministrativi sul computer?

Claudio Panerai
Claudio Panerai
6 anni fa

Le varianti che fino ad oggi sono circolate lavorano in queste cartelle:
– C:Users\AppDataLocal
– C:Documents and Settings\Application Data
– C:Documents and Settings\Local Application Data
– %Temp%
– C:Windows

Il virus si installa anche se l’utente non ha diritti amministrativi, perché è un’operazione che viene fatta sfruttando una falla dal sistema operativo.

Ivano Giardini
Ivano Giardini
6 anni fa

articolo molto istruttivo, grazie

Daniele Sturniolo
Daniele Sturniolo
6 anni fa

Wow! complimenti per l’articolo chiaro ed essenziale.
Purtroppo al giorno d’oggi, con i ritmi frenetici a cui siamo sottoposti, diventa difficile restare aggiornati su certi temi, quindi avere una fonte attendibile come questa, diventa fondamentale per gli addetti ai lavori e non.
Quindi Grazie Claudio e grazie anche ad Achab.
Buon Lavoro

Daniele Ipekdjian
Daniele Ipekdjian
6 anni fa

Posso capire che il virus si propaghi in una rete lan su sistemi non aggiornati, ma com’è possibile che si propaghi su reti lan diverse?
Router e firewall non hanno di default la porta 445 aperta.

Claudio Panerai
Claudio Panerai
6 anni fa

Grazie dei complimenti Daniele e Ivano! Fanno sempre piacere.

Claudio Panerai
Claudio Panerai
6 anni fa

@Daniele Ipekdjian: non so dirti (a oggi) come e perché, ma sta di fatto che si sono dei sistemi che hanno quella porta esposta. Altrimenti non sarebbe scoppiato tutto questo "disastro".

Natale Borriello
Natale Borriello
6 anni fa

i più vivi complimenti x l’articolo.

Antonio Sacchetto
Antonio Sacchetto
6 anni fa

Una cosa che nessuno dice o mostra, un bel grafico a torta che riporti quanti sistemi windows, linux, unix, mac sono stati attaccati, perché è facile incolpare una catena di persone ma, se il baco è di microsoft, che tiene il codice segreto, la colpa è totalmente di Microsoft. Nel settore automobilistico o aeronautico potrebbero i produttori permettersi di lasciare delle falle cosi gravi da compromettere la vita delle persone nei prodotti che rilasciano? ebbene l’informatica, ormai non è più il Commodeore 64 dove faccio girare i giochini è un settore sempre più vitale e tanto più i grandi marchi vogliono imporlo a stati, aziende, banche tanto più gli utenti devono essere tutelati. Poi le utenze miglioreranno le proprie difese ma, è impensabile fare sicurezza in una cosa di natura insicura.

Antonio Sacchetto
Antonio Sacchetto
6 anni fa

Complimenti per l’articolo è il più chiaro che ho letto finora

Emilio Polenghi
Emilio Polenghi
6 anni fa

@Daniele. La porta 445 magari è chiusa e un PC scarica un dropper da un sito o da una mail. Il dropper rileva la falla e si aggiorna per attaccare il server. La frittata è fatta. Uno zero-day su active directory operava in quel modo, sfruttando anche gli smartphone che si collegavano al wiki.
@Claudio. Pensa che io ho dovuto attivare samba v1 per far funzionare un sistema considerato una fortezza.