Il tema degli “Exploit Web” è un argomento che ogni IT manager dovrebbe conoscere e saper trattare, perché questi exploit sono ampiamente utilizzati dai cyber criminali per condurre attacchi.
Rimando all’articolo che ho scritto su questo tema per il sito FlashStart.
Per capire a cosa servono e cosa sono gli exploit web è imperativo partire dal concetto di “vulnerabilità”, ovvero le debolezze che si possono riscontrare all’interno di un software e che vengono utilizzate per perpetrare un attacco al sistema informatico.
Per comprendere meglio il ruolo che una vulnerabilità può avere, dobbiamo misurare quanto essa possa considerarsi sfruttabile (in inglese “exploitable”). In realtà, infatti, non tutte possono essere utilizzate per diffondere malware, alcune potrebbero limitare l’accesso tramite sistemi di sicurezza mentre altre potrebbero risultare troppo onerose in relazione al risultato.
Nel dettaglio, una vulnerabilità non ancora scoperta ma conosciuta dagli sviluppatori prende il nome di “Vulnerabilità zero-day”, gli exploit zero-day, mentre quando la vulnerabilità diventa nota ci si riferisce ad essa come una n-day: il termine sta ad indicare che tra il momento della divulgazione della patch e il momento in cui un sistema viene attaccato è trascorso un tempo di n giorni.
Quest’ultima può essere riparata da una semplice installazione dell’aggiornamento di sicurezza del software che prende il nome di “patch” (letteralmente: pezza o toppa).
Le vulnerabilità conosciute vengono classificate come vulnerabilità ed esposizioni comuni (CVE) dalla Mitre Corporation, ente finanziato dal Dipartimento della Sicurezza interna degli Stati Uniti e catalogate con il seguente sistema: CVE-anno-numero progressivo.
Le vulnerabilità vengono suddivise anche sulla base del livello di gravità, uno dei metodi più utilizzati è il Common Vulnerability Scoring System (CVSS) che va ad osservare le caratteristiche principali di una vulnerabilità, associandole un punteggio numerico che ne identifica la gravità e che varia da 0.0 a 10.0 per le più critiche. CVSS v3.0 Ratings è oggi uno standard pubblico usato dalle organizzazioni di tutto il mondo.
Gli exploit e il mercato delle vulnerabilità
Quando si parla di exploit si fa riferimento ad un programma creato per utilizzare a proprio vantaggio una vulnerabilità, con l’obbiettivo di perpetrare un attacco ad un sistema informatico.
In particolare, se l’attacco viene generato a causa di una vulnerabilità zero-day, viene denominato zero-day exploit e, per poter rispondere efficacemente lo sviluppatore software dovrà necessariamente creare e rilasciare la patch, capace di proteggere da quel momento in poi solo chi la installerà.
È questo il motivo per cui le vulnerabilità zero-day hanno un valore commerciale enorme che può arrivare fino ai 2.5/3 milioni di dollari ed esistono molte aziende che fanno affari d’oro in questo settore.
Tra le più importanti troviamo Crowdfense, azienda guidata da Andrea Zapparoli Manzoni (membro del Clusit), che ha lanciato nell’aprile del 2018 il “Bug Bounty Program”, stanziando 10 milioni per l’acquisto di vulnerabilità zero-days.
Il programma è rivolto principalmente ai ricercatori di software e ha come clienti principalmente polizie, intelligence e governi di tutto il mondo.
Il fenomeno degli exploit kit
Gli exploit kit sono degli strumenti software che permettono di automatizzare lo sfruttamento di una vulnerabilità nell’esecuzione di un malware.
Si tratta di uno dei sistemi più diffusi di erogazione malware di massa e di accesso remoto da parte di bande criminali. I creatori di exploit kit, infatti, commerciano questi strumenti principalmente sul DarkWeb, insieme ad una interfaccia di gestione e a diverse vulnerabilità attaccabili.
Questo permette di diventare facilmente cybercriminali proprio attraverso il noleggio di questi kit: un fenomeno che viene denominato cybercrime-as-a-service.
In particolare, possiamo osservare come molti exploit kit siano programmati per sfruttare specifiche vulnerabilità di un software.
Uno dei più presi di mira è stato senza dubbio Adobe Flash Player, ricordato per essere una miniera di vulnerabilità e abbandonato dalla stessa Adobe a fine 2020.
Nonostante i notevoli passi avanti fatti nel campo delle misure di sicurezza, diversi exploit kit sono ancora utilizzati come strumenti per il crimine informatico. Un esempio di exploit in azione è possibile osservarlo nell’attacco chiamato “Drive-by-download”.
Casi famosi di Exploit web
Tra i casi di exploit web più importanti ma attualmente non attivi, ricordiamo:
- Neutrino – tra i più diffusi dal 2016, sfruttava vulnerabilità di Flash note per diffondere ransomware;
- Angler – oltre che quelle di Flash, sfruttava anche le vulnerabilità di Microsoft Silverlight;
- EternalBlue – celebre per essere stato, nel maggio del 2017, il vettore di diffusione del ransomware WannaCry e, a giugno del 2017, di NotPetya.
Quest’ultimo colpì circa 150 paesi nel giro di pochi giorni, violando nel Regno Unito più di 25 ospedali e mettendo in crisi il Servizio Sanitario Nazionale. La caratteristica di WannaCry era l’uso dell’exploit EternalBlue che sfruttava una vulnerabilità di Windows SMBv1 (CVE-2017-0144) già chiusa dalla stessa Microsoft il 14 marzo 2017 (quindi due mesi prima). Ma i sistemi Windows XP e Windows Server 2003 non erano più protetti (end of support dall’8 aprile del 2014) e quindi, privi di patch, sono stati violati facilmente.
Ho avuto modo di verificare anche recentemente su Shodan la presenza di sistemi esposti non aggiornati e quindi ancora vulnerabili alla CVE-2017-0144, a distanza di oltre sei anni!
Questo è, a mio parere, inaccettabile.
Un altro exploit famoso è BlueKeep, il quale sfrutta una vulnerabilità (CVE-2019-0708) che risale al 2019 e che riguarda i Remote Desktop Services. Questa consente agli hacker di accedere a dispositivi vulnerabili anche senza autorizzazione, aprendo una falla LAN e garantendo così la diffusione del malware a tutti i dispositivi.
I sistemi operativi vulnerabili sono già stati tutti definiti end-of-life da Microsoft.
E questi exploit (Eternalblue, BlueKeep e molti altri) sono ormai di dominio pubblico e facilmente reperibili – a pagamento e talvolta anche gratis – nei forum del darkweb, ma non solo, quale per esempio https://www.exploit-db.com/ .
Gli hardware exploit
Oltre ai classici exploit software, ne esistono altri che operano direttamente sulle componenti fisiche dei dispositivi. Tra i più famosi ricordiamo:
- Meltdown – il quale colpisce esclusivamente processori Intel;
- Spectre – che oltre che a colpire processori Intel, è in grado di attaccare anche processori AMD e quelli con architettura ARM.
Ne abbiamo parlato in questo articolo.
Ad oggi, fortunatamente, non sono ancora stati creati exploit che usufruiscono delle sopracitate vulnerabilità, grazie anche al continuo lavoro delle case madri che rilasciano continuamente patch per contenere i rischi.
Come disarmare gli exploit web
Per potersi difendere dagli exploit, il primo passo da compiere è quello di disarmare la vulnerabilità, aggiornando i sistemi con le patch di sicurezza. Una misura di sicurezza non così ovvia, in quanto secondo secondo Verizon l’85% degli attacchi andati a buon fine sono dovuti a sole 10 vulnerabilità di cui 6 note da 10 anni. Ma che – per svariati motivi – non sono state patchate con aggiornamenti già resi disponibili.
Inoltre, sempre secondo il Verizon DBIR (Data Breach Investigation Report) lo sfruttamento delle vulnerabilità rappresenta il 7% delle cause di violazioni e questo dato risulta essere in crescita rispetto agli anni precedenti.
Paradossalmente, il rilascio della patch rende la vulnerabilità più pericolosa, perché più facilmente exploitabile, in quanto conosciuta da chiunque la voglia utilizzare.
In generale, possiamo affermare che la maggior parte di essi agiscano dopo la pubblicazione della patch, in un determinato lasso di tempo chiamato “finestra di vulnerabilità”, che intercorre tra la pubblicazione di questa e la sua installazione, questo perché dal momento in cui la patch viene pubblicata.
Secondo il 2023 QUALYS Trurisk Research Report, in media, le vulnerabilità vengono patchate entro 30,6 giorni, ma solo nel 57,7% dei casi.
Queste stesse vulnerabilità vengono sfruttate dagli aggressori in media in 19,5 giorni.
In pratica: dal momento in cui la patch viene rilasciata (e quindi la vulnerabilità è stata resa pubblica), bastano in media 19,5 giorni agli attaccanti per la creazione dell’exploit in grado di sfruttarla: questo è definito “time to Weaponize”.
Ciò significa che gli aggressori hanno a disposizione 11,1 giorni di finestra di sfruttamento prima che le organizzazioni inizino ad applicare le patch.
Per questo, è importante formare, informare e rendere gli utilizzatori dei sistemi consapevoli dei rischi dei sistemi non aggiornati.
E se aggiornare diventa impossibile?
Questo capita spesso negli ICS, ovvero nei sistemi di controllo industriali, dove l’aggiornamento rischia di compromettere il corretto funzionamento di macchinari datati che potrebbero presentare problemi con i nuovi software.
Per ovviare a questa difficoltà non è sufficiente limitarsi a non effettuare l’aggiornamento ma sarà opportuno adottare soluzioni difensive come l’installazione di virtual patch e, ove non possibile, provvedere alla segregazione dei sistemi non aggiornabili in reti separate e non accessibili dal web.
La seconda parte dell’articolo scritto per Flash Start è consultabile a questo link.
© Copyright 2023 Giorgio Sbaraglia
All rights reserved.
Quest’opera è distribuita con Licenza Creative Commons Attribuzione – Non commerciale – Non opere derivate 4.0 Internazionale