I ricercatori di Microsoft Research e della University of Michigan hanno collaborato alla creazione di alcuni prototipi di rootkits basati su macchina virtuale, nuova tattica di camuffamento per guadagnare il controllo di un sistema attaccato. Il rootkit proof-of-concept, chiamato SubVirt, sfrutta alcune vulnerabilità e crea un VMM (virtual machine monitor) nelle installazioni Windows o Linux.
I Rootkits nei Software Commerciali -
I Rootkits All'Attacco di XP SP2 Quando il sistema operativo preso di mira viene elevato in una virtual machine, non è più capace di rilevare il rootkit dato che il suo stato lo protegge dai software di sicurezza in esecuzione sul sistema (ora guest). Il prototipo, che sarà presentato durante il prossimo IEEE Symposium su Sicurezza e Privacy a fine Maggio, è stato concepito dal Microsoft Cybersecurity and Systems Management Research Group, la divisione di Redmond che ha sviluppato lo scanner anti-rootkit Strider GhostBuster e il sistema di rilevamento exploit Strider HoneyMonkey.
MS Antispyware Beta 1.0.615 Attualmente, i tools di pulizia anti-rootkit confrontano le discrepanze nei registri e nella API del file system per verificare la presenza di rootkits user-mode o kernel-mode. Tuttavia questa tattica è inutile se il rootkit salva il codice malware in una locazione impossibile da analizzare.
I ricercatori scrivono in un paper tecnico, redatto in collaborazione con la University of Michigan, che descrive lo scenario di attacco: "
Abbiamo usato il nostro [rootkit] proof-of concept per corrompere sistemi target Windows XP e Linux e implementare quattro servizi malware di esempio ... Abbiamo assunto il punto di vista di un attacker che sta tentando di eseguire software nocivo evitandone il rilevamento. Assumendo questa prospettiva riteniamo di poter aiutare a capire meglio come riuscire a difendersi da questa nuova classe di rootkits".
Una macchina virtuale è una istanza del sistema operativo che si esegue tra hardware e sistema "guest". Posizionandosi a livello più basso del sistema operativo, le VM sono capaci di controllare i livelli superiori in maniera invisibile e furtiva. "
Se il servizio di sicurezza che difende occupa un livello più basso rispetto al malware, allora il servizio di sicurezza dovrebbe essere capace di rilevare, bloccare e rimuovere il malware. Al contrario, se è il malware ad occupare il livello più basso rispetto al servizio di sicurezza, allora sarà anche in grado di evadere il sistema di sicurezza e di falsificare la sua esecuzione." Il gruppo afferma che il progetto SubVirt è riuscito ad implementare rootkits VM-based su due piattaforme, Linux/VMWare e Windows/VirtualPC, ed è stato capace di eseguire servizi nocivi che non venivano rilevati.

Per esempio, una falla che consente esecuzione di codice potrebbe venire sfruttata per guadagnare diritti root o administrator e manomettere la sequenza di boot del sistema. Quando il rootkit viene installato, può usare un sistema operativo separato di attacco per installare un malware invisibile dalla prospettiva del sistema bersaglio. I ricercatori aggiungono: "
Qualsiasi codice eseguito all'interno di un OS di attacco risulta effettivamente invisibile. La possibilità di eseguire servizi nocivi invisibili in un 'attack OS' offre agli intrusi la libertà di usare codice user-mode senza temere il rilevamento". Il gruppo ha usato i prototipi rootkits per attivare quattro servizi maliziosi: un phishing Web server, un keystroke logger, un servizio che esegue lo scan del file system attaccato in cerca di informazioni sensibili e un servizio contromisura che contrasta i sistemi di rilevamento VM esistenti. Secondo i ricercatori il rilevamento lato hardware è uno dei metodi per poter controllare il livello più basso del sistema e rilevare i rootkits VM-based. Questa tecnica sarebbe già possibile sfruttando l'hardware proposto da Intel e AMD.
I ricercatori concludono: "
Riteniamo che i rootkits VM-based rappresentino un pericolo realizzabile e probabile .. vari virtual-machine monitors sono offerti sia dalla community open-source sia dai commercial vendors ... Su sistemi attuali x86, [questi rootkits] sono capaci di eseguire un sistema target mostrando minime differenze delle performance in grado di evidenziare all'utente la loro presenza." Il pericolo è così reale, afferma il team di ricercatori, che durante la creazione di SubVirt, uno degli autori ha usato accidentalmente una macchina infettata dal rootkit proof-of-concept senza accorgersi che stava usando un sistema compromesso.