venerdì 24 dicembre 2010

Pericolosa falla di sicurezza in tutte le versioni di Internet Explorer



Una vulnerabilità legata all'esecuzione di codice contro le versioni 6, 7 e 8 del browser Internet Explorer,è stata annunciata di recente, e un proof-of-concept dell'exploit è già stato aggiunto ai prodotti di Metasploit. Anche la nuovissima release 9 beta di IE sarebbe interessata dalla problematica. Microsoft non ha ancora tirato fuori una patch, ma ha pubblicato una soluzione che dovrebbe proteggere da questo exploit e da altri simili.

Microsoft sta indagando su una nuova vulnerabilità presente in tutte le versioni di Internet Explorer (6, 7 e 8) che consente l'esecuzione di codice da remoto.  La falla è stata originariamente segnalata come una condizione di negazione del servizio sulla mailing list Full Disclosure l'8 dicembre. Tuttavia, la società di sicurezza come la Secunia e di vulnerabilità VUPEN hanno avvertito che potrebbe anche essere sfruttata per eseguire codice arbitrario. «Una vulnerabilità è stata identificata in Microsoft Internet Explorer, che potrebbe essere sfruttata da un attaccante remoto per prendere il controllo completo di un sistema vulnerabile. 

Questo problema è causato da un errore di "Use-after-free" all'interno della libreria "mshtml.dll" quando l'elaborazione di una pagina web fà riferimento ad un file CSS (Cascading Style Sheets), che ospita diverse regole "@ import" maligne, che potrebbe consentire ad aggressori remoti di eseguire codice arbitrario tramite una pagina web appositamente predisposta», spiega VUPEN. La società ha confermato questa vulnerabilità in Microsoft Internet Explorer 8 su Windows 7, Windows Vista SP2 e Windows XP SP3, e con Internet Explorer 7 e 6 su Windows XP SP3. L'exploit è stato aggiunto a Metasploit e dal momento che il quadro è open source, chiunque può potenzialmente afferrarlo e usarlo per lanciare attacchi drive-by download.

http://www.metasploit.com/
La vulnerabilità, come dichiara la società di sicurezza Sophos,  è stata pubblicata all'inizio del mese in una divulgazione di sicurezza completa.  Divulgazione completa significa renderla disponibile a tutti. La teoria alla base di ciò è non impedire ai fornitori di software di ignorare il problema e quindi di non risolverlo. Lo svantaggio, naturalmente, è che viene messa a disposizione anche dei "cattivi", allo stesso tempo come per tutti gli altri.  La vulnerabilità si basa su un bug di memoria di utilizzo di Internet Explorer quando si elabora un file Cascading Style Sheet (CSS è il modo in cui si specifica l'aspetto del codice HTML che compone le pagine web). 

Purtroppo, questo nuovo exploit sembra funzionare contro tutte le versioni supportate di Internet Explorer, fino a IE 8 su Windows 7, nonostante i miglioramenti della sicurezza dei prodotti Microsoft. Un gruppo di ricerca sulla sicurezza chiamato Abysssec, ha infatti annunciato che il bug permette di bypassare i due meccanismi di protezione della memoria “più solidi” implementati da Microsoft: Data Execution Prevention (DEP) e Address Space Layout Randomisation (ASLR). DEP è progettato per impedire l'invio di pacchetti di dati contenenti codice malevolo ideato per crashare le applicazioni che lo ricevono. Le aree di memoria in cui l'applicazione memorizza i dati di run-time - incluso lo stack e l'heap - sono contrassegnati non eseguibili.


Quindi, anche se si riempie di malware e si cerca d'ingannare il computer col codice incriminato, il sistema operativo ne impedisce l'esecuzione. Se a causa di DEP, non si può semplicemente fornire ed eseguire il proprio codice, allora l'exploit ha bisogno di fare uso di codice che è già caricato in memoria e contrassegnato come eseguibile. Ciò significa che è necessario prevedere esattamente la posizione nella memoria. E ASLR è specificamente destinato a impedire di fare ciò. E' possibile caricare programmi e DLL in una localizzazione casuale in maniera da non poter prevedere dove si trovi la memoria utile. 

Quindi per prima cosa vi sarà la necessità di individuare la posizione - ma non si potrà fare neppure questo, perché il codice avrebbe bisogno di effettuare la ricerca che è bloccata da DEP. Le funzionalità DEP e ASLR, in quanto tecnologie di mitigazione dei rischi di attacco, sono state pensate per rendere difficile la vita agli attacker, in modo da rendere sconveniente impegnare molto tempo per sviluppare un exploit ben funzionante. Anche se sono state individuate tecniche per bypassare singolarmente queste funzionalità, la combinazione delle due, DEP+ASLR, rappresentava fino alla scoperta di questo bug, un modo molto efficace per bloccare gli attacchi attualmente in circolazione.

Purtroppo, Microsoft permette ad ogni DLL di decidere se essa supporta ASLR o meno. E IE è implementato come tutta una serie di DLL - alcune delle quali vengono caricati in fase di esecuzione, come richiesto, per il rendering del contenuto che IE carica. Così, con l'invio a IE di altri file "innocenti", lo si può ingannare caricando DLL conosciute. Se una di quelle DLL non supportano ASLR, poi verranno caricate in un luogo conosciuto in memoria. 

Nel corso del tempo, potremo aspettarci di vedere andare in pensione le Microsoft DLL che non sono sicure, e garantire che le applicazioni Internet siano gestite completamente da ASLR. Questo renderà molto più difficile il successo di attacchi come quello descritto. Per adesso, una buona soluzione alternativa è quella di utilizzare Microsoft Enhanced Experience Mitigation Toolkit (EMET). Con questo strumento, è possibile forzare le applicazioni chiamate a svolgere ASLR su ogni DLL da loro caricata. 

Questo rende molto meno probabile che un exploit remoto basato su indirizzi hard-wired abbia successo. Al momento Redmond, assieme ai suoi partner, sta ponderando se rilasciare o meno una patch fuori dal classico ciclo di update mensile. Il prossimo "Patch Tuesday", infatti, sarà il prossimo 11 gennaio. Per mitigare spiacevoli eventualità Microsoft consiglia di tenere alto il livello di protezione in IE su Windows Vista e Windows 7, disabilitando anche i controlli ActiveX e Active Scripting.

Nessun commento:

Posta un commento