Tom's Hardware Italia Tom's Hardware
Schede madre

Blue Pill – ecco il rootkit irrintracciabile

Il sito web Tweakness.net riporta una notizia molto interessante, che riguarda un rootkit in grado di non essere rilevato, persino in Windows Vista:

Una ricercatrice di sicurezza, esperta nelle tecnologie rootkit, ha creato un prototipo funzionante di una nuova tecnologia capace di generare un malware “impossibile da rilevare al 100%”, anche su un sistema Windows Vista x64.

Joanna Rutkowska, ricercatrice che studia gli stealth malware per l’azienda di sicurezza COSEINC, ha dichiarato che il nuovo concept “Blue Pill” sfrutta la tecnologia di virtualizzazione AMD SVM/Pacifica per creare un hypervisor ultra-leggero capace di prendere il completo controllo del sistema operativo “sottostante”.

Rutkowska prevede di discutere l’idea, e dimostrare un prototipo funzionante del codice per Windows Vista x64, durante la SyScan Conference che si terrà a Singapore il 21 luglio e durante il Black Hat Briefings di Las Vegas previsto per il 3 agosto. La presentazione al Black Hat si terrà lo stesso giorno in cui Microsoft prevede di mostrare alcune delle principali funzionalità e caratteristiche di sicurezza integrate nel nuovo Windows Vista. Rutkowska ha affermato che la presentazione tratterà una “metodologia generica” per inserire codice arbitrario nel kernel di Vista Beta 2 (x64 edition) senza sfruttare nessun bug del codice del sistema. La nuova tecnica effettivamente è in grado di bypassare una policy cruciale anti-rootkit integrata in Vista, che prevede che i software kernel-mode siano dotati di firma digitale per essere caricati nei sistemi x64-based.

http://www.tomshw.it/articles/20060701/ROOTKIT.JPG

L’idea di una macchina virtuale rootkit non è del tutto nuova. I ricercatori di Microsoft Research in collaborazione con la University of Michigan avevano creato un rootkit VM-based chiamato “SubVirt”, quasi impossibile da rilevare, dato che i software di sicurezza in esecuzione sul computer attaccato non potevano accedere al suo “stato”. Questo codice può comunque essere rilevato offline in virtù di alcune modifiche apportate al hard disk del computer necessarie per il suo funzionamento.

Ora, Rutkowska ha portato questo concetto uno step più avanti, e ha avvertito che l’unico modo di rilevare Blue Pill sarebbe quello di sfruttare un falla nella tecnologia AMD Pacifica. Rutkowska spiega sul suo blog Invisible Things: “La forza di Blue Pill deriva dalla tecnologia SVM“. Se si potesse creare un metodo di rilevamento generico per la tecnologia di virtualizzazione, allora Blue Pill potrebbe essere isolato, ma questo significherebbe anche aver trovato un bug nella tecnologia Pacifica. “D’altra parte, se non si riuscirà a trovare una tecnica di rilevamento generico per macchine virtuali SVM-based, Blue Pill non potrà mai essere rilevato“.

La ricercatrice aggiunge: “L’idea alla base di Blue Pill è semplice: il vostro sistema operativo inghiottisce la ‘Pillola Blu’ e si sveglia all’interno della Matrice controllata dall’hypervisor ultra leggero del rootkit. Tutto questo avviene ‘al volo’ (senza riavvio del sistema al contrario di SubVirt) e non si noteranno neanche rallentamenti di performance o problemi con nessun dispositivo installato“.

http://www.tomshw.it/articles/20060701/RootKit1.jpg

Rutkowska ha voluto ribadire che la tecnologia Blue Pill non sfrutta nessun bug software del sistema operativo sottostante. “Ho implementato un prototipo funzionate per Vista x64, ma non vedo alcun motivo per il quale non si possa eseguire il porting del codice per altri sistemi operativi, come Linux o BSD, che possono girare su piattaforme x64“.

Blue Pill sta venendo sviluppato esclusivamente per COSEINC Research e non verrà reso disponibile come download sulla rete. Tuttavia Rutkowska ha dichiarato che l’azienda prevede di organizzare dei corsi su Blue Pill e altre simili tecnologie, durante i quali dovrebbe essere reso disponibile il codice sorgente. Rutkowska aveva precedentemente lavorato al progetto “Red Pill“, software che poteva essere usato per rilevare codice eseguito in un VMM (virtual machine monitor) o in ambiente reale.