Durante la recente conferenza
Black Hat Briefings, che ha visto riuniti esperti di sicurezza e hacker per discutere i problemi di sicurezza nei codici software, Joanna Rutkowska, ricercatrice che studia gli stealth malware per l'azienda di sicurezza
COSEINC, ha descritto una nuova tecnica capace di installare "facilmente" un rootkit in Windows Vista, il prossimo "fortificato" sistema operativo del colosso di Redmond. Rutkowska ha presentato una "metodologia generica", funzionante, per inserire codice arbitrario nel kernel di Vista Beta 2 (x64 edition) senza necessità di reboot di 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. La ricercatrice ha poi dimostrato il concept rootkit "Blue Pill", che abbiamo già trattato in una
news precedente. "Blue Pill" sfrutta la tecnologia di virtualizzazione AMD SVM/Pacifica per creare un hypervisor ultra-leggero capace di prendere il controllo del sistema operativo "sottostante".
Blue Pill: Malware 100% Invisibile Uno dei numerosi livelli di protezione integrati in Vista, è rappresentato da un meccanismo in grado di bloccare l'esecuzione di software driver non firmato sulla versione 64-bit del sistema operativo. Rutkowska ha tuttavia trovato un modo di bypassare questo scudo ed eseguire il codice necessario per installare il rootkit VM. Rutkowska ha spiegato: "
Il fatto di aver bypassato questo meccanismo non significa che Vista è completamente non-sicuro. Solamente [per ora] non è sicuro some viene pubblicizzato … è molto difficile implementare una protezione kernel efficiente al 100%". Per condurre con successo l'installazione di "Blue Pill" infatti, Vista deve essere eseguito in modalità amministrativa. Questo significa che l'attacco viene bloccato sul nascere dalla funzione
User Account Control. UAC è un altro importante strato di protezione introdotto in Vista per prevenire l'esecuzione di codice nocivo sul sistema, impedendo l'accesso con privilegi amministrativi e quindi i danni più gravi per il sistema. Durante il suo intervento Rutkowska ha descritto come usare codice script per allocare quantità eccessive di memoria in un processo, e forzare il sistema ad eseguire il "page out" di codice e driver non utilizzati. A questo punto la ricercatrice ha mostrato come eseguire codice shell all'interno di uno di questi driver inutilizzati, vanificando così totalmente la policy di device driver signing implementata in Vista. Rutkowska ha creato un tool one-click capace di installare il rootkit e ha usato alcuni codici euristici speciali per calcolare automaticamente quanta memoria deve essere allocata per sferrare l'attacco con il driver.
Vista dai Black Hat -
Black Hat: Falla Critica Wi-Fi -
Su Vista x64 Solo Firme Digitali Alla dimostrazione ha assistito Ben Fathi, Microsoft security chief, che è rimasto impassibile anche allo scroscio di applausi della platea a conclusione dell'intervento di Rutkowska. In una intervista successiva alla presentazione Fathi ha affermato: "
Siamo qui per questo, per vedere i passi avanti nella ricerca e per lavorare a stretto contatto con le persone che trovano ciò che funziona e ciò che non funziona". Fathi aggiunge: "Abbiamo già corretto quel vettore [di attacco] … si tratta di software beta che presenta bug. Quello [scenario di attacco] è stato già corretto nelle build successive del sistema".
Fathi non ha rilasciato ulteriori dettagli sui fix introdotti nelle ultime versioni di Vista che avrebbero già modificato il codice del sistema in modo da impedire l'attacco descritto da Rutkowska. È stata però la ricercatrice stessa a fornire durante il suo intervento numerosi consigli e raccomandazioni a riguardo. Secondo Rutkowska Microsoft dovrebbe valutare le possibilità di impedire l'accesso raw disk da modalità user, o di crittare il pagefile in modo da mantenerlo nella memoria kernel non-paged. Queste modifiche, ha aggiunto Rutkowska, potrebbero tuttavia avere un impatto sulle performance. Una terza soluzione possibile è quella di disabilitare completamente il paging della memoria kernel.