Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Analisi: Internet Explorer 0-day di dicembre 2008

Analisi della pericolosa vulnerabilità 0 day di Internet Explorer che nel dicembre 2008 ha costretto Microsoft a rilasciare una patch straordinaria per correggere il problema
Analisi della pericolosa vulnerabilità 0 day di Internet Explorer che nel dicembre 2008 ha costretto Microsoft a rilasciare una patch straordinaria per correggere il problema
Link copiato negli appunti

Lo scorso Dicembre, Microsoft è stata costretta a fronteggiare una pericolosa vulnerabilità di livello zero-day che ha colpito il browser web Internet Explorer, largamente il più utilizzato sul Web.

Con zero-day si intende una vulnerabilità per la quale, una volta scoperta pubblicamente, sono già disponibili exploit in grado di sfruttarla. La vulnerabilità viene quindi giudicata come "estremamente grave" da Secunia, e anche se inizialmente sembrava coinvolgere unicamente IE7 e sfruttabile unicamente via Web, il problema si è poi allargato anche alle versioni meno recenti del browser (IE5.01, IE6.x) e alla Beta di IE8, in postazioni Windows aggiornate (XP SP3 e SP2, 2003 Server SP1 e SP2, 2008 Server, Vista Gold e SP1) e a vettori d'attacco trasversali, come dei controlli ActiveX in un documento Word.

I primi exploit erano già attivi il 9 dicembre scorso, e hanno avuto modo di colpire almeno fino al 17 dicembre, data in cui Microsoft ha rilasciato le patch necessarie a correggere il problema. Come spesso accade in scenari simili, sono stati migliaia i siti compromessi in quel periodo: TrendMicro parlava di 6000 siti web infetti in meno di una settimana, e di numeri - ovviamente - destinati a crescere. I primi attacchi si sono verificati in Oriente, in particolare in Cina, e coinvolgevano la versione più utilizzate del browser, ovvero IE7.

Approfondiamo il carattere di questa vulnerabilità.

XML Parsing Buffer Overflow

La vulnerabilità è dovuta a una possibile corruzione della memoria durante il processo di DHTML Data Binding offerto da Explorer, una funzione che ottimizza i tempi di rendering delle pagine rappresentando il contenuto di file XML come oggetti in memoria. Il modo in cui il browser implementa il data binding, funzione attiva di default nel programma, può portare a rilasciare un oggetto senza aggiornare le dimensioni dell'array, lasciando la possibilità di portare a termine un attacco di heap overflow referenziando successivamente quella zona di memoria. In questo modo è possibile far eseguire codice arbitrario sulla macchina della vittima, con i privilegi relativi all'utente loggato. La porzione di codice vulnerabile è contenuta nel file MSHTML.DLL.

Dopo aver ottenuto accesso alla memoria, ad esempio attraverso heap spray, una tecnica che appare sempre più utilizzata nelle vulnerabilità di Internet Explorer, il codice arbitrario può essere iniettato attraverso un documento XML creato ad arte per contenere elementi SPAN nidificati. Un esempio pratico è reperibile ad esempio su milw0rm.

Una qualunque pagina web può sfruttare questa vulnerabilità silenziosamente, con un po' di javascript e del codice XML opportunamente inserito in un iframe. I primi esemplari di siti infetti sfruttavano la cosa per far scaricare all'utente il trojan Downloader-AZN, che a sua volta si occupava di scaricare una lista di malware da installare sulla macchina, oltre a modificare il file HOSTS (rendendo inaccessibili alcuni nomi di dominio) e a cercare di interrompere l'esecuzione di alcuni processi, tra cui alcuni concernenti l'antivirus Kaspersky.

Un altro attacco apparso durante la prima settimana di esposizione faceva uso di SQL injection per iniettare del codice SQL che avrebbe chiamato un opportuno codice javascript da eseguirsi ad ogni richiamo di stringa dal database dell'applicazione web infetta. Il codice javascript era ovviamente incaricato di richiamare a sua volta l'exploit, che questa volta, se eseguito con successo, lanciava il download di un malware chiamato win.exe, un password stealer tra i meno riconosciuti dagli attuali antivirus.

Un secondo attacco di tipo SQL injection iniettava codice javascript appositamente scritto per sfruttare direttamente la vulnerabilità del parser XML. In questo caso l'attacco di SQL injection non era portato come parametro GET in querystring, ma come cookie.

Il 16 dicembre 2008 Microsoft annuncia una patch straordinaria per correggere questa vulnerabilità, e il 17 dicembre viene pubblicato il relativo bollettino di sicurezza MS08-078. Tuttavia gli attacchi continuano, questa volta anche in modo più creativo: un file Microsoft Word contenente controlli ActiveX che si occupano di scaricare malware sulla macchina all'insaputa dell'utente.

Questo nuovo tipo di vettore d'attacco è stato segnalato da McAfee il 18 dicembre, e ha dalla sua il vantaggio di apparire del tutto trasparente all'utilizzatore: un normale file doc che senza comunicare nè richiedere nulla porta a compimento l'exploit. Ovviamente in questo modo le vittime non hanno la stretta necessità di incappare in siti web infetti, ma possono ricevere il documento in allegato comodamente nella loro casella di posta elettronica.

Come risolvere?

Dal 17 dicembre 2008 è disponibile una patch apposita per questa vulnerabilità, che ovviamente non è quindi cumulativa e va installata dopo la patch precedente (la recente MS08-073) per una maggior sicurezza. L'elenco delle patch suddivise per versione di sistema operativo e browser è reperibile su Secunia, ma ovviamente è possibile aggiornare il sistema attraverso Microsoft Update o Windows Update.

Ti consigliamo anche