Pochi giorni fa vi avevamo parlato di una vulnerabilità del Data Execution Prevention (DEP), ormai non più applicabile a causa dei miglioramenti in fatto di sicurezza raggiunti dagli ultimi sistemi operativi e software: ebbene, non sono passati che pochi giorni e già ne è stata trovata un’altra, questa volta tutt’altro che insignificante.
Quello che è stato scoperto da JDuck è, secondo quanto da lui stesso dichiarato, il primo exploit pubblico che permette di bypassare completamente e permanentemente il DEP.
A differenza dell’approccio basato sul return-to-libc attack, già usato in attacchi al DEP precedenti, quello usato da JDuck è basato sul Return-oriented programming (ROP), tecnica facente uso di chiamate allo stack del sistema operativo per eseguire istruzioni macchina già caricate in memoria.
La scoperta è resa ancora più inaspettata dal fatto che l’attacco non è stato studiato appositamente, bensì si è trattato di una rivisitazione della vulnerabilità CVE-2010-0188, scoperta alcuni giorni fa da un altro ricercatore, villy: nel suo intervento fu pubblicato per intero il codice Python con il quale si può agire con successo sulle versioni di Adobe Reader, dalla versione 9.1 alla 9.3, in condizioni di Javascript disabilitato.
A render ancora più interessante la più recente vulnerabilità è che quest’ultima è stata rilevata in modo abbastanza casuale, durante una canonica conversione dell’exploit, scritto originariamente in Python e portato in un ambiente Ruby, nella famosa piattaforma di testing Metasploit: in questa fase d’integrazione ci si è resi conto che il nuovo codice continuava a funzionare in modo impeccabile nonostante il DEP fosse abilitato e funzionante, come sempre avviene quando si usa Adobe Reader 9.3.
A complicare la paternità della nuova falla è un commento lasciato nello stesso blog da Nikolaos Rangos, in arte Kingcope, secondo cui il metodo usato da JDuck sembra essere molto simile a quello da lui usato contro lo stack di Windows Server 2003 SP2 nel 2008, anche se per sua stessa ammissione ne ricalca unicamente il funzionamento di base.
Per l’ennesima volta è bastata una minima attenzione verso una tecnica di protezione, com’è il DEP, per concentrare le forze degli hacker in quella direzione, portando a quella che si può rivelare come una delle più importanti incongruenze in fatto di sicurezza informatica: il Data Execution Prevention non ha ancora raggiunto un livello di applicazione adeguato alle sue presunte capacità, e già è stato reso inefficace o quantomeno di discutibile utilità da un piccolo gruppo di esperti senza alcun interesse particolare, se non la voglia di rendere pubblici i problemi dei software più noti.