settembre 17, 2012
I Pericoli degli Exploits e degli Zero-Days, e la loro prevenzione
Non avete certo bisogno di sentirvi dire da me che Internet è un fenomeno realmente interessante ed incredibilmente utile per tutti coloro che ne fanno uso. Allo stesso tempo però questo significa che la sua apertura e la sua incontrollabilità possono far sì che ad attendere gli utenti vi siano una gran quantità di seccature – non soltanto su ambigui siti porno/warez, ma anche su completamente legittimi, goody-two-shoes, butter- wouldn’t-melt-in-mouth siti web. Ormai da parecchi anni Internet è divenuto un punto fisso nella lista delle principali fonti di cyber-infezioni: secondo i dati in nostro possesso, il 33% degli utenti ha subito almeno una volta un attacco via web.
Se indagate più a fondo all’interno della struttura degli spiacevoli inconvenienti del web, incontrerete sempre tre principali categorie di minacce: trojans, exploits, e tools maligni. In accordo con in dati provenienti dal nostro cloud-based Kaspersky Security Network (video Kaspersky Security Network, dettagli sulle caratteristiche di Kaspersky Security Network), sono così ripartiti:
Il dieci per cento del grafico a torta qui sopra appartiene come potete vedere ai cosìdetti exploits (in realtà la loro quota è maggiore, considerando che un gran numero di Trojans si appoggiano agli exploit). Gli exploits appaiono come delle esotiche peculiarità ai non addetti ai lavori – mentre in realtà costituiscono un vero rompicapo per gli analisti della sicurezza. Quelli di voi che si ritrovano più in questa seconda categoria piuttosto che nella prima, possono tralasciare questo discorso. Per tutti gli altri, una micro-lezione di exploit…
Un software è progettato da esseri umani, e gli esseri umani dimenticano le cose e commettono errori. Inoltre, allo stato attuale non è ancora stato messo a punto un metodo perfetto di programmazione. Di conseguenza, ciascun singolo bit di un software è vulnerabile – vale a dire, errori nel proprio codice di programmazione attraverso i quali eventuali aggressori possono assumere il controllo di un sistema, distruggere tutto etc. Il codice che sfrutta le vulnerabilità dei programmi è chiamato.. meraviglia delle meraviglie – exploit.
Quali programmi quindi sono soggetti più frequentemente ad attacchi di exploit? Ecco le nostre statistiche del 2011 ricavate mediante Kaspersky Security Network:
(Così tanti problemi causati da Adobe Reader eh? E pensare che tutto ciò che fa sono pdfs di visualizzazione, così come un’altra gran quantità di altri programmi.. ah, la crudeltà).
Le vulnerabilità possono essere sfruttate dagli exploits, o non esserlo, a seconda della popolarità e della funzionalità di un dato programma, che determinano il livello di attenzione ad esso riservato dai cyber-mascalzoni. Un esempio tipico è rappresentato dal recente incidente Flashback Mac Trojan, del mese scorso. La vulnerabilità era in Java, ed era stata scoperta prontamente all’inizio dell’anno, ma l’exploit per Mac è apparso sulla scena un mese dopo. E’ importante sottolineare che se una vulnerabilità per un programma specifico non viene scoperta – ciò non significa che di conseguenza essa non esista. Significa solamente che tale programma è utilizzato da talmente pochi utenti perché possa essere scoperta per caso o che sia un programma talmente insignificante da non meritare lo sforzo di trovarvi errori da parte di nessun cyber-cattivo.
Uno scenario abituale solitamente è questo: una vulnerabilità viene scoperta da un ricercatore, che la riferisce allo sviluppatore. Lo sviluppatore quindi corregge la vulnerabilità attraverso una pezza. Solo adesso il nascosto cyber-pirata mette collega la vulnerabilità e la patch, produce un exploit ed attacca gli utenti che non hanno ancora avuto la possibilità di installare la “pezza”. Descrivo uno scenario abituale, ma forse sarebbe meglio definire tale scenario come quello con cui preferiremmo scontrarci in ciascuna occasione (con un intervallo di tempo tra la scoperta della vulnerabilità e l’apparire dell’exploit). Dico questo perché spesso accade che l’exploit appaia contemporaneamente alle prime notizie sulla vulnerabilità, o che lo sviluppatore (ad esempio, come successe ad Apple nel caso dell’incidente Flashback) sia talmente lento nel rilasciare una patch che l’exploit venga creato selvaggiamente prima ancora che una patch sia resa disponibile. Un exploit per il quale non è disponibile nessuna patch è chiamatozero-day exploit (zero giorni dopo (cioè, prima!) della patch). Ed i suoi attacchi zero-day (o 0-day) sono della peggiore specie.
Ecco alcune interessanti informazioni sulla distribuzione geografica delle fonti di attacchi web, la maggior parte dei quali condotti attraverso exploits:
La posizione geografica di un sito dal quale viene condotto un attacco, non implica che chi stia gestendo l’attacco provenga anch’egli da lì. Nulla di più falso. I maiali informatici possono facilmente registrare un sito a nome di una società di copertura o individuale inesistente anche all’estero, e condurre da lì le proprie attività dannose.
Ora, due tra i metodi più diffusi di attacchi condotti tramite exploit sono:
· Drive-by downloads (85% di tutti gli attacchi tramite Internet). Questi attacchi vengono condotti invitandovi ad un sito che, con l’ausilio di un exploit-kit, analizza il vostro browser cercando vulnerabilità e, se trovate, infetta impercettibilmente il vostro computer. Questo metodo è ampiamente utilizzato in attacchi di massa che hanno lo scopo di raggiungere il massimo effetto distruttivo. Circa in un terzo dei casi, il sito da cui proviene l’attacco risulta essere un sito un sito riconosciuto di una qualsiasi rispettata organizzazione, che è stato violato ed infettato con un speciale codice maligno.
· Attacchi mirati. In questo caso, un ignaro utente (stupidamenteJ) apre un file infetto (per esempio, un pdf) che analizza il software installato sul quale sta girando (nell’esempio specifico, Adobe Reader) alla ricerca di vulnerabilità e, se trovate, infetta il computer attraverso di esse. Il file stesso può essere diffuso da ogni genere di canale (e-mail, archivi file, chiavi USB, etc.) Gli attacchi mirati sono attacchi di precisione con un preciso obiettivo prefissato – come i missili diretti alle Range Rover nel finale del film Syriana – non attacchi di massa di qualsiasi genere e diretti a qualsiasi cosa (come i bombardamenti a tappeto). Gli attacchi mirati sono anche conosciuti come Advanced Persistent Threats (APT – Avanzati Persistenti Pericoli). Sono diretti a specifici individui o organizzazioni e possono essere distinti attraverso l’utilizzo di sofisticate tecniche di ingegneria sociale.
Ecco il punto: la quota del 10% relativa a minacce informatiche provenienti da exploit nelle nostre statistiche (primo grafico a torta – vedi sopra) in realtà identificano il problema altrettanto quanto la quota dell’83% delle minacce provenienti da Trojans! Per esempio, al momento il più diffuso kit exploit è uno chiamato Blackhole, che è capace di infettare più del 30% dei computer che stanno visitando un sito web compromesso (a seconda del software installato, della protezione e del traffico). Nemmeno un singolo Trojan potrebbe mai sognare di avvicinarsi ad una tale cifra!
Abbiamo combattuto exploits per anni, con un tasso di successo impressionante. I nostri prodotti sono equipaggiati con un database dedicato, contenente firme di exploits noti, di URLs maligni attraverso i quali vengono propagate infezioni ed anche con speciali tecnologie euristiche e proattive che hanno lo scopo di scoprire le sfide future che potranno sorgere da questo genere di minaccia. Se questo genere di codici maligni viene scoperto, si blocca il programma, l’utente e l’amministratore di sistema vengono avvertiti e le azioni di attacco vengono inibite. Forniamo anche un servizio speciale davvero molto utile per la scansione su richiesta alla ricerca di vulnerabilità:
Ed adesso un accenno ad alcune caratteristiche presenti nelle nuove versioni di Kaspersky Internet Security e Kaspersky Anti-Virus. Con il rilascio dell’ultima versione del nostro Kaspersky Endpoint Security nel primo trimestre del prossimo anno sarà accessibile anche per gli utenti aziendali. Come avrete già immaginato, questa funzione ha a che vedere con la protezione contro gli exploits. Per essere più precisi, contro gli exploits sconosciuti, vale a dire, i suddetti zero-day!
Mi è stato chiesto spesso come sia possibile fornire protezione contro qualcosa che è sconosciuto. La mia risposta è sempre: osservando da vicino le minacce in evoluzione. Ci avvaliamo di un migliaio di specialisti R&D di alto livello sulle minacce del modello provenienti da tutto il mondo, di tendenze di ricerca ed in generale di tutti i modi strani e meravigliosi di immaginare il mondo di domani, che includano anche la sicurezza del vostro computer.
Prima di tutto siamo in possesso di uno dei più avanzati arsenali multi-livello attrezzato per la lotta contro le minacce future – emulazione, euristica, HIPS, programmi di sicurezza behavior blockers, servizi di reputazione cloud based, whitelisting, controllo delle applicazioni ed un’intera serie di tecnologie proattive. In secondo luogo, “sconosciuto” non suona nel linguaggio della sicurezza dei computer così misterioso ed inconcepibile così come in quello della vita reale!
Naturalmente esiste sempre il rischio della comparsa di focolai di infezione di genere completamente nuovo, che difficilmente possono essere previsti e dai quali è arduo proteggersi proattivamente. Ma nella maggioranza dei casi la malignità agisce in accordo con un certo modello di comportamento ed utilizza degli strumenti particolari. Ed è questo il modo in cui la smascheriamo! E come dimostrato dall’esperienza – con un certo successo.
Ebbene, in cosa consiste l’appetitoso boccone contro gli exploit sconosciuti che sarà presente all’interno dei nostri prodotti antivirus, antimalware, antispam “Kaspersky Internet Security 2013” e “Kaspersky Anti-Virus 2013”?
Ecco in cosa: miglioreremo considerevolmente il modulo Controllo Sistema (che controlla l’attività dei programmi) con la nuova tecnologia Automatic Exploit Prevention (AEP). Il suo nome è già di per sé abbastanza auto-esplicativo in merito alle sue funzioni, ma il come lo faccia precisamente merita ancora qualche dettaglio.
In realtà, AEP è un nome generico per una vasta schiera di funzionalità anti-exploit. In primo luogo, abbiamo aggiornato i nostri database con degli schemi specifici di comportamento degli exploits. Il Controllo Sistema utilizza questi modelli per visionare il comportamento delle applicazioni (ad esempio, dei browser) e per rilevare e bloccare le attività sospette. In secondo luogo, il sistema traccia la fonte dei files contrastando la guida tramite il download. In aggiunta a questo, stiamo aggiornando il servizio di esecuzione degli allegati (AES) e distinguiamo i file creati con o senza la consapevolezza dell’utente. In terzo luogo, per i programmi più critici e per i moduli aggiuntivi (ad esempio, i plugins per i browser), ci stiamo rafforzando attraverso l’utilizzo della tecnologia ASLR. Ogni volta che la si utilizza, ASLR modifica la struttura dello spazio di indirizzamento dei programmi attaccati in modo casuale. Di conseguenza, sebbene un exploit sfrutti una vulnerabilità, non sarà in grado di sferrare il proprio attacco (con un codice dannoso) in quanto non conoscerà l’esatta ubicazione dei programmi!
AEP è attualmente in fase di sperimentazione e sta mostrando risultati impressionanti! Gli abbiamo somministrato una intera massa di exploits per Flash Player, Quick Time, Adobe Reader, Java ed altri programmi – ed abbiamo ottenuto un tasso di rilevamento pari al 100%! In particolare è stato fantastico il successo ottenuto nel rilevamento di un exploit per la recentemente ben pubblicizzata vulnerabilità in Windows Media Player: l’exploit ha consentito di infettare un computer attraverso un file musicale MIDI appositamente creato, ed ha operato su tutte le versioni di Windows successive ad XP. Quello che adesso è importante è sottolineare come con AEP riusciamo a rilevare il 100% degli exploits del Blakhole exploits kit, quando il punteggio medio del settore si attesta al 94%.
Per concludere, alcune misure preventive in più – in aggiunta alle tecnologie sopra descritte.
Come si suol dire, riponete fiducia nell’antivirus, ma non ingannate voi stessi. Con ciò si intende che per la prevenzione è fondamentale rispettare alcune semplici regole, come “lavarsi le mani prima di mangiare”. Un attacco malware o un exploit come quelli sopra descritti sono comunque possibili attraverso tutti i generi di siti sospetti. Pensaci bene ed a lungo prima di visitare questi siti porno/warez – vale davvero la pena di rischiare? E, naturalmente, non dimenticare mai la regola d’oro dell’igiene del computer: in nessun caso aprire allegati sospetti.