giovedì 30 agosto 2018

Che cosa è un Exploit? Tutto ciò che è bene sapere


Gli esperti di cyber sicurezza sono sempre cauti quando sentono la parola "exploit" e per buone ragioni: gli exploit infatti sono uno dei sistemi di attacco preferiti dai cyber criminali. Gli exploit infatti possono avvenire ovunque, in un software magari del tutto secondario, nel sistema operativo ecc... e inoltre spesso possono sfruttare vulnerabilità che neppure gli espeti di cyber sicurezza hanno ancora individuato (le cosiddette vulnerabilità 0-day). Una molteplicità di rischi e forme assunte da questo attacco quindi, che rende assai complessa la riduzione del rischio. Sono inoltre preferiti dai cyber criminali rispetto all'ingegneria sociale perchè portano, praticamente, quasi sempre a risultati sicuri. 

Che cosa è un exploit?
Gli exploit sono fondamentalmente programmi o meri codici che traggono vantaggio dallo sfruttamento di falle di sicurezza (vulnerabilità) presenti in un applicativo o in un software, compresi i plugin e le librerie dei software stessi. Talvolta l'uso degli exploit è finalizzato alla diffusione di malware contro le vittime: può bastare visitare un sito web contenente codice in grado di verificare la presenza di vulnerabilità per finire sotto attacco. Nel caso infatti queste vulnerabilità vengano riscontrate, l'attaccante "le forza" con l'exploit appunto per ottenere l'accesso alla macchina e poter installare programmi dannosi. 

E' importante capire che c'è una grossa differenza tra exploit e malware: gli exploit di per sé non sono tecnicamente malware, anzi sono semplicemente un canale di distribuzione di malware. E' questo che li rende dannosi. 

Exploit conosciuti e 0-day
Gli exploit possono essere suddivisi in due tipi: quelli già conosciuti e quelli ancora non scoperti, gli 0-day appunto.
  • Exploit conosciuti: sono quelle vulnerabilità che sono già state individuate e documentate. Anche se già individuate, comunicate e risolte tramite patch restano comunque pericolose: raramente infatti gli utenti si preoccupano degli exploit e capita spesso che i sistemi operativi o i software non siano stati aggiornati con le relative patch. In questi casi, che la vulnerabilità sia stata scoperta o meno conta poco: se non si installano le necessarie patch questi exploit possono rimangono un problema potenziale.
  • Exploit 0-day: sono gli exploit più pericolosi dato che ancora non sono stati individuati. Da qui il nome 0-day. Vengono individuati solo quando vengono realmente sfruttati da un attaccante. Ciò significa che gli sviluppatori di app e ogni altro attore nell'ecosistema della sicurezza informatica dovranno affrettarsi per "tappare" la falla prima possibile tramite la diffusione della patch. E' una lotta contro il tempo, dato che, nel frattempo, gli attaccanti possono continuare a usare quell'exploit senza incontrare ostacoli. 

Grazie agli avanzamenti dei software di sicurezza è diventato più facile individuare gli exploit 0-day: ad esempio le applicazioni di sicurezza che registrano il comportamento di altre app sono in grado di individuare attività dannose o anomale, sottolineando possibili vulnerabilità. I software di sicurezza basati su Intelligenza Artificale sono ormai diventati capaci di individuare le falle prima ancora che un cyber criminale possa usarle. 

Come si diffondono?
Solitamente vengono diffusi o tramite codice dannoso o via email di spam. Sono contenuti spesso in un unico pack contenente più strumenti per verificare non una sola vulnerabilità nel sistema bersaglio, ma una serie: in questa maniera, quando viene individuata una vulnerabilità, il "pack" dannoso avvia l'exploit più adatto. 

Gli exploit più famosi e diffusi:
1. Angeler
uno dei più sofisticati. E' capace di individuare la presenza di antivirus e macchine virtuali (spesso usati come esca dai ricercatori). Usa perifino file dropper criptati. E' un kit efficacissimo per introdurre nuove vulnerabilità 0-day e i malware che contiene si avviano direttamente in memoria, senza salvare alcun file in locale. 

2. Neutrino:
contiene un exploit Java molto efficace, che fu venduto dal suo proprietario ad un prezzo bassissimo e da quel momento ha avuto una grande diffusione. Fa leva principalmente sulle vulnerabilità di Flash: tra le più sfruttate la CVE-2016-4117 e CVE-2016-1019. E' stato usato per la diffusione massiccia di nostre vecchie conoscenze, ovvero i ransomware Cerber, Locky, Crypwall ecc...

Un esempio: il celeberrimo EternalBlue
Il 12 Maggio cadeva il primo anniversario del più celebre attacco ransomware della storia, WannaCry. Un anno dopo, stando ai dati telemetrici provenienti da svariate fonti di ricerca, l'exploit che è stato alla base di questo epocale attacco è più popolare e diffuso che mai. 

Questo exploit, chiamato EternalBlue, è stato sviluppato dalla divisione cybernetica dell'Agenzia di Sicurezza Nazionale USA (NSA): faceva parte di una serie di tool che un gruppo di hacker, denominato The Shadow Broker, ha rubato dai server NSA nel 2016 e quindi rilasciato online dall'Agosto 2016 all'Aprile 2017. Nel Marzo del 2017 Microsoft pubblica il bollettino di sicurezza MS17-010, contenente le patch proprio per le vulnerabilità bersagliate da EternalBlue. Che cosa è successo dopo è ben documentato: EternalBlue è stato usato per creare un meccanismo di self-spreading (si si, come un worm) per diffondere prima il ransomware WannaCry, poi, poco dopo, il wiper NotPetya e il ransomware Bad Rabbit. L'impatto di EternalBlue è stato devastante: 8 miliardi di danni alle aziende, vittime in oltre 150 paesi solo durante l'attacco WannaCry, stando a IBM X-Force.

EternalBlue oggi viene impiegato molto meno spesso nella diffusione di ransomware, ma a tutt'oggi resta uno delle peggiori minacce: la cosa dipende non soltanto dal fatto che i cyber criminali continuano ad armarlo per una serie diversificata di operazioni, ma sopratutto dal fatto che, nonostante la patch già rilasciata da Microsoft, i sistemi vulnerabili sono ancora un numero impressionante.

Nessun commento:

Posta un commento