Cyber security: cosa sono i Ransomware

Gaetano Paolo Viola - Ingegnere Informatico – Criminologo – Cyber Security Expert 17/05/2018 3822

Introduzione

CYBER SECURITY: i ransomwareI ransomware dal 2013 ad oggi sono diventati la prima minaccia di attacco per i dispositivi elettronici, la loro diffusione cresce in maniera continua, dall'inizio del 2016 e soprattutto in questi ultimi mesi vi è stata una vera e propria epidemia, seminata dai ransomware ‘WannaCry', ‘NonPetya', ‘Locky’ e per ultimo ‘BadRabbit’; questi ultimi hanno creato danni per centinaia di milioni di euro, si stima che il solo 'WannaCry' nel suo picco di diffusione abbia colpito oltre 200.000 computer distribuiti per lo più in Inghilterra, Germania, Spagna, Russia, perfino in Italia è stata colpita l'Università Bicocca di Milano.

Stesso discorso per il ransomware NotPetya, la multinazionale dei trasporti AP Moller-Maersk, ha riportando nel rapporto finanziario del secondo trimestre del 2017, perdite stimate tra i 200 ed i 300 milioni di dollari. Tale stima tiene conto del fermo di alcune linee di attività e degli investimenti affrontati per mitigare ed isolare l’incidente, oltre che per ripristinare ove possibile i sistemi informatici; altre grandi società come Merck, FedEX, Mondelez, Beiersdrof, hanno stimato perdite milionarie avute con l’incidente in questione.

Caso di Studio

I Ransomware sono virus informatici diffusi dai cyber criminali, in particolare sono malware, la contrazione delle parole inglesi ‘malicious software’ ossia codice malevole, il cui intento è quello di bloccare il dispositivo elettronico infettato, rendendolo inutilizzabile in modo da costringere i malcapitati a pagare un riscatto “in denaro” (ransom, tradotto dall'inglese vuol dire riscatto) che normalmente si aggira sulle centinaia di dollari, per riottenere le funzionalità del dispositivo stesso all’istante precedente all’infezione.

Una volta che il dispositivo è stato colpito, i dati dell’utente o parti sensibili che li mantengono come il master boot record o le tabelle di partizione vengono criptati con una chiave che solo l’attaccante detiene, alcune varianti riescono a cancellare anche copie di backup preventive dei dati eseguite dal sistema operativo in background, come le Shadow Copy presenti nel sistema Windows a partire dalla versione Vista.

Come ultima fase del processo viene presentata una schermata (Fig.1) con le indicazioni per pagare il riscatto al fine di ottenere la chiave di decodifica dei dati, normalmente per il pagamento del riscatto vengono richiesti bitcoin che è la cripto-valuta più diffusa nel web.

Esistono moltissime varianti di tali virus che possono inibire l’accesso al dispositivo o ai dati in esso presenti, sia di un singolo utente (possessore del dispositivo) che di più utenti (in caso di piattaforme multi-utente), in base alle configurazioni del dispositivo e/o della organizzazione in cui tale dispositivo è presente.

Ad oggi i dispositivi elettronici vittime dei ransomware sono in primis i Personal Computer ed i Server con sistema operativo Microsoft Windows (un po’ tutte le versioni), si hanno evidenza anche su quelli con sistema operativo Linux e per quelli della Apple con sistema operativo MAC OS. Altri dispositivi che sono stati oggetto di infezione sono gli smartphone e alcune Smart TV, oltre che a dispositivi della Internet delle Cose (IoT - Internet of Things).

wannacry-ransomware.JPG

Figura 1-  Immagine WannaCry Ransomware

Bisogna dire che i ransomware non hanno come vittima solo i personal computer o dispositivi di utenti singoli, si sono avuti casi di attacco a società, sia di piccole che di grandi dimensione, sia pubbliche che private, perfino alcune multinazionali, oltre che ad istituzioni governative e finanziarie, in questi ultimi casi il riscatto diventa molto più consistente e possono instaurarsi vere e proprie trattative al fine di recuperare i dati, o di evitare la diffusione di dati sensibili, proprietari o ancora semplicemente per non perdere reputazione sul mercato.

La diffusione dei ransomware avviene utilizzando le tecniche di intrusione usate dai principali virus, trojan e scareware, quasi tutte le tecniche di hackeraggio note sono state utilizzate nel tempo per diffondere il malware, anche l’uso di campagne di pishing è stato registrato, ultimamente per la loro diffusione sono state utilizzate vulnerabilità presenti nel protocollo Server Block Message di condivisione di file, stampanti, porte seriali e di varia altra natura che ha permesso ai ransomware una elevata virulenza.

L’utilizzo della cripto-valuta per il pagamento del riscatto, in genere i Bitcoin (ma non solo questa), è dovuta al fatto che permette di mantenere l’anonimato prendendo poche e semplici precauzioni, inoltre il suo utilizzo ha permesso di fare un salto di qualità al malware in se, poiché i cyber criminali nei precedenti attacchi si dovevano in qualche modo esporre per poter incassare il riscatto. Lo stesso discorso può essere fatto per l’utilizzo di tecniche di crittografia, una volta affinata la tecnica è stato possibile utilizzare lo stesso payload per compiere più attacchi.

I Ransomware: un po' di storia

I ransomware nascono da un idea di Adam Young della Columbia University e di Moti Yung dell’IBM T.J. Watson Research Center e sono stati presentati alla conferenza IEEE Security & Privacy nel lontano 1996.

Studiosi della crittografia, hanno presentato la loro idea definendola Cripto-Virologia (Cryptovirology) e con il loro lavoro hanno voluto dimostrare che la crittografia può essere usata anche per scopi offensivi e non solo difensivi, come fino ad allora era, ossia una tecnica utilizzata nel mondo dell’informatica per garantire la privacy agli utenti, l’autenticazione in sicurezza sui sistemi informatici, sulle trasmissioni di dati sensibili e varie altre operazioni dove è richiesta la riservatezza.

Nel suddetto lavoro è stato appunto implementato e testato un Criptovirus con tutte le cautele del caso affinché restasse isolato, sono riportate una serie di attacchi che possono essere messi in piedi con gli strumenti della crittografia, vengono riportate anche alcune contromisure per prevenire tali attacchi ed un utilissimo consiglio, ossia di tenere sempre sotto controllo tali strumenti.

L’utilizzo della crittografia, oltre che ad essere utilizzata per codificare i dati, serve anche per mettere in piedi il meccanismo con il quale poter richiedere il riscatto, di seguito un semplice esempio: codificando i dati del dispositivo con una chiave pubblica, l’attaccante dopo essere stato contattato dalla vittima (prendendo i dati dalla schermata presentata ad attacco riuscito) ed avendo pagato il riscatto, può ricevere la chiave privata con cui decifrare i dati interessati.

Lo schema dell’esempio mostrato ha un inconveniente, ossia una volta che l’attaccante fornisce la chiave privata alla vittima per decriptare i dati, questa può essere utilizzata (se in qualche modo diffusa) da tutte le altre vittime, questo problema può essere risolto semplicemente fornendo al malware più chiavi pubbliche, che ad esempio possono essere generate casualmente con un seme (o utilizzare altri meccanismi), quest'ultimo se fornito poi all’attaccante da parte della vittima, permette di generare la chiave privata corretta che può utilizzare la vittima per decriptare i dati.

Anche questo schema può essere aggirato nel momento in cui più vittime condividono le relative chiavi, inoltre trasportare molte chiavi è costoso in termini di spazio, i malware devono essere di piccole dimensioni per poter essere camuffati nei loro veicoli di infezione al fine di non essere rintracciati dai sistemi di difesa, infine cifrare un file di dati con la chiave pubblica è un processo lento.

La soluzione al problema può essere trovata utilizzando una tecnica definita ibrida: una chiave di sessione forte viene generata per ogni dispositivo ed utilizzata per criptare i dati critici, dopodiché viene criptata con la chiave pubblica, in questo modo con elevata probabilità (in base all’algoritmo utilizzato per la generazione della chiave di sessione) per ogni vittima (o meglio ogni dispositivo) viene generata una chiave differente.

Con questa schema l’attaccante non deve rilevare la chiave privata alla vittima, ricevuto il testo cifrato, può decriptare la chiave di sessione e fornirla alla vittima per poter decifrare i dati critici, questa tecnica è inoltre molto più veloce poiché la codifica dei dati non avviene con la chiave pubblica ma con quella di sessione.

Vediamo ora lo schema utilizzato in dettaglio:

  • sia Ks la chiave di sessione ottenuta con un generatore di numeri casuali e con un seme contenuto in un vettore di inizializzazione Vt
  • sia Kf la chiave pubblica contenuta nel malware
  • sia Kw la chiave privata detenuta dall’attaccante
  • sia m = { Vt, Ks } il messaggio in chiaro costruito dal malware
  • sia m’ = { Vt, Ks } Kf il messaggio cifrato con la chiave pubblica Kf

Il malware codifica i dati critici del dispositivo usando la chiave di sessione Ks, il vettore di inizializzazione Vt, con un algoritmo di crittografia simmetrico, quando la vittima contatta l’attaccante fornisce il messaggio cifrato m’ che viene decriptato dall’attaccante utilizzando la chiave privata Kw, se il riscatto è stato pagato l’attaccante allora fornisce alla vittima la chiave di sessione Ks ed il vettore Vt cosicché può decodificare i dati critici del dispositivo. In questo modo la chiave privata Kw resta sempre in mano all’attaccante e quindi non può essere utilizzata per decriptare altri dispositivi. 

Nell’allegato A dell’articolo citato viene descritto il malware Cryptovirus realizzato per scopi dimostrativi (il codice sorgente non è stato fornito), vengono analizzate le sue performance e riportata una tabella (Tab.1), contenente le dimensioni di ciascun componente utilizzato, che riportiamo di seguito per avere un idea delle dimensioni appunto ridotte del pacchetto completo, come si evince non raggiunge nemmeno i 7kB:

Tabella 1- Dimensione in bytes dei componenti di un malware

componenti-di-un-malware.JPG

...continua la lettura nel pdf