Exploit kit: come funzionano e come combatterli


Prima di spiegare cosa sono gli exploit kit vediamo cos’è un exploit.
Per i miei scopi divulgativi diciamo che un exploit è un utilizzo improprio di un software, inviando dei comandi opportuni, per fargli compiere azioni non originariamente previste.
E questo è possibile se il software ha delle falle o bug.

Gli exploit poi possono essere di due tipi: remoti o locali.

Un exploit remoto è un exploit che può essere condotto senza avere l’accesso a un sistema.
Supponiamo per esempio che si stia ospitando un sito web su un server non aggiornato. E’ possibile che il sistema operativo e il web server abbiamo degli errori di programmazione o delle vulnerabilità che permettono, dall’esterno, di inviare comandi al server per fargli fare azioni non note a priori.
Apro una parentesi: hai mai visto nelle descrizioni delle patch cosa del tipo The vulnerabilities could allow Remote Code Execution?
Ecco si parla esattamente di quello che sto dicendo io: ossia della possibilità di eseguire da remoto del codice non originariamente previsto.

Gli exploit locali invece sono quelli exploit che per essere eseguiti richiedono necessariamente l’accesso alla macchina. Per esempio per far eseguire un exploit per il software di Adobe, è necessario che sulla macchina dove è installato il programma Adobe vada in esecuzione qualcosa che individui la vulnerabilità e la sfrutti.

Sintetizzo così

Exploit
=
inviare comandi a un software, sfruttandone le falle,
per fargli fare operazioni non originariamente previste.
Puoi facilmente immaginare che per i pirati far eseguire ai software operazioni originariamente non previste significa diffondere virus e ransomware come se piovesse.

Come funzionano gli Exploit kit

Gli exploit kit sono strumenti (toolkit) che i cybercriminali usano per distribuire malware, ransomware o eseguire altre attività dannose, sfruttando le vulnerabilità presenti nel software e/o nei dispositivi.

Generalmente sfruttano le vulnerabilità di programmi popolari come i browser, le applicazioni come Flash e Java o i sistemi operativi non aggiornati.

Perché i cybercriminali usano gli exploit kit?
In passato per diffondere un virus era necessario non solo creare il virus, ma occuparsi della sua diffusione e fare delle azioni affinché qualche malcapitato utente cliccasse sul virus e lo mandasse in esecuzione.
Oggi la storia è completamente differente: diventare cybercriminali è semplice anche se non si hanno grandi capacità tecniche: si possono “noleggiare” delle piattaforme che gestiscono exploit kit.
E non è nemmeno necessario aspettare che un utente scarichi qualcosa. E’ sufficiente che acceda a Internet (anche senza fare azioni potenzialmente pericolose) perché è poi l’exploit kit che si occupa di tutto il resto, ovvero:

  • individuare le vulnerabilità;
  • capire quale piccolo pezzo di software far scaricare al PC dell’utente (senza magari che questi si accorga di nulla);
  • comandare da remoto le azioni di questo piccolo pezzo di software.

Come è possibile tutto ciò? Vediamolo studiando l’anatomia di un attacco eseguito tramite exploit kit.

Come avviene l’infezione o il contagio

Gli exploit kit sono molto sofisticati tecnicamente, ma il loro funzionamento è, di base, abbastanza semplice:

  1. un attaccante convince un utente ad andare su un determinato sito che contiene un exploit kit (che ovviamente non è visibile) magari inviando un’email che invita a seguire un link;
  2. l’exploit kit trova le vulnerabilità sul sistema che sta utilizzando l’utente e capisce dove ci sono delle falle;
  3. a questo punto viene eseguito del codice (dei comandi) che sfruttano questa vulnerabilità;
  4. questo codice fa scaricare sul computer un programma (chiamato payload) che è invisibile.
  5. A questo punto il computer in questione non è ancora infetto, ma è sotto il controllo di chi sta usando l’exploit kit, e può fargli fare quello che vuole:
    • utilizzarlo per un attacco distribuito;
    • fargli scaricare un ransomware per criptare i dati;
    • raccogliere informazioni personali o aziendali.

… sempre a insaputa dell’utilizzatore.

Utilizzare gli exploit kit per distribuire il ransomware è molto comune: lo conferma anche l’ interessante report di Malwarebyte da cui è tratto il grafico qui sotto. Nel 61% dei casi lo scopo degli exploit kit è proprio la diffusione del ransomware.

A questo punto potresti essere portato a pensare che se l’utente è sveglio, è sufficiente che non clicchi su determinate email. Giusto. Ma fino a un certo punto.
Se l’utente non clicca il link contenuto nella email certamente il “giochino” si ferma e il castello costruito dal cybercriminale crolla, ma (c’è un ma) gli exploit kit possono nascondersi fino a diventare invisibili e intrufolarsi nei posti più insospettabili. E possono entrare in azione anche senza che l’utente faccia nulla.

Infatti gli exploit kit non sono altro che istruzioni scritte in vari linguaggi (JavaScript, PHP, Java, e altri ancora) che possono nascondersi in qualsiasi punto di Internet.

La storia dimostra che non solo esistono siti pirata che contengono questi exploit kit, ma ci sono state infezioni attraverso circuiti di banner pubblicitari perfettamente legittimi, ossia cliccando un banner su un sito legittimo è possibile far andare in esecuzione questi exploit kit se il banner contiene questo codice maligno.

Ancora: oltre ai siti dei cybercriminali, un exploit kit può essere inserito in un sito ufficiale modificando poche righe di codice ad arte in modo che mentre si naviga su un sito insospettabile in realtà all’interno del proprio browser viene eseguito un exploit kit che può rivelare le vulnerabilità.

Gli exploit kit più famosi

Gli exploit kit hanno dei nomi fantasiosi e negli ultimi anni sono diventati “famosi” perché sono spesso stati utilizzati per veicolare pericolosi virus come Cryptolocker e i suoi derivati.
I più celebri sono Angler, Neutrino e Nuclear, anche se sono ormai stati neutralizzati e disattivati, ma non si deve abbassare la guardia per ne stanno circolando altri come AKbuilder e Sundown.
In cosa differiscono i vari exploit kit?
Fondamentalmente per due cose:

  • gli exploit (ossia le vulnerabilità) che utilizzano;
  • il modo in cui si nascondono agli antivirus e ai software di sicurezza.

Per esempio un exploit kit potrebbe specializzarsi sulle vulnerabilità di Flash o un altro su quelle di Chrome o su Microsoft Word.
E questo è fondamentale perché per poter “restare nel business” gli exploit kit devono essere sempre aggiornati e, non appena esce un aggiornamento per un software, i programmatori degli exploit kit devono capire se devono apportare modifiche al loro sistema affinché continui a diffondere virus e quindi far guadagnare loro denaro.

Questo richiede una profonda conoscenza del funzionamento (interno) di un software, conoscenza che non può altro che essere verticale, ossia è impossibile essere super-esperti e conoscere la struttura interna di funzionamento di tanti software differenti.

Prima di proporre le azioni per mitigare il problema voglio darti alcune informazioni tecniche e alcuni numeri, così che tu possa davvero renderti conto della vastità del problema.

Quali sono le vulnerabilità più sfruttate?

Parlando di Exploit kit, te ne segnalo un paio che hanno sfruttato vulnerabilità di noti software per sferrare i loro attacchi.
L’exploit kit Neutrino facendo leva soprattutto sulle vulnerabilità di Flash note come CVE-2016-4117 e CVE-2016-1019 ha reso possibile una massiccia diffusione di:

  • Crypwall
  • Cryptesla
  • Cerber
  • Locky.

E l’exploit kit Angler facendo leva oltre che sulle vulnerabilità di Flash anche su quelle di Microsoft Silverlight come CVE-2016-1034 ha reso possibile la diffusione di:

  • Crypwall
  • Cryptesla
  • Crilock
  • Waltrix

E parlando di vulnerabilità e bug più in generale, leggendo un interessante report di Verizon si scopre che nel 2015, l’85% degli exploit eseguiti con successo è dovuto a 10 sole vulnerabilità, 6 delle quali hanno più di 10 anni di vita.

Detto in altri termini, il rimedio a queste falle (responsabili della maggior parte degli attacchi) esiste da 10 anni, ma evidentemente chi dovrebbe aggiornare i sistemi non lo fa con la sollecitudine con cui dovrebbe.

Come arginare il problema?

Abbiamo visto che in molte circostanze gli exploit kit possono funzionare anche se gli utenti non compiono specifiche azioni, è vero.
Ma formare, informare e rendere gli utilizzatori di PC consapevoli dei rischi è un’attività necessaria che va eseguita in maniera regolare e sistematica. Quindi occorre lavorare sul fattore umano.

Passando a questioni più tecniche è evidente che i tradizionali sistemi antivirus e di sicurezza stanno mostrando i propri limiti in questi ultimi anni, in quanto non sono in grado di contrastare questo tipo di malware. Perché un antivirus sia in grado di bloccare una minaccia, lo sviluppatore deve trovare il virus, analizzarlo e proporre un antidoto in grado di rilevarlo. Ma una volta che l’exploit kit viene modificato, ecco che l’antivirus non è più in grado di rilevarlo e poiché questi kit vengono modificati di continuo, questo è un problema. Recenti software di sicurezza come Webroot funzionano secondo paradigmi diversi per cui non devono aspettare che il produttore rilasci l’aggiornamento per intercettare i nuovi virus, quindi sono in grado di fornire una protezione più efficace contro i virus moderni.

Tuttavia sul fronte sistemistico c’è una sola cosa da fare: aggiornare i sistemi e il software con le patch, rendendo di fatto inutili gli exploit kit. Sì, perché se gli attacchi vengono eseguiti grazie alle vulnerabilità dei software e tu chiudi tutte le vulnerabilità, ecco che gli exploit kit non funzionano più e perdono la loro efficacia. E poi diciamolo se lasci scoperti da patch i sistemi per anni e anni vuol dire che come sistemista non stai facendo il tuo lavoro al meglio.

Uno dei modi più efficaci di distribuire software e aggiornamenti è utilizzare sistemi MSP.

Riepilogando, i fronti su cui lavorare sono:

  • consapevolezza e formazione degli utenti, sempre e comunque;
  • antivirus e sistemi di sicurezza di nuova generazione;
  • aggiornamento dei sistemi operativi delle applicazion.i

Come uomini di IT è necessario occuparsi, in maniera approfondita, degli attività evidenziate qui sopra; altrimenti la lotta contro il ransomware è già persa in partenza.

E se il tema del ransomware ti sta a cuore, ti segnalo che stiamo organizzando un evento dedicato al Ransomware: il Ransomware Day. Credo che i contenuti possano essere di tuo interesse.