Superare le protezioni hardware, continua

Intervista esclusiva a Joanna Rutkowska, massima esperta di sicurezza informatica.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Superare le protezioni hardware, continua

TH: E c'è chi si arricchisce su entrambi i fronti, proprio come i mercanti d'armi. Alcuni malware attuali sono progettati per fermare tutte le azioni sospette se si trovano dentro a una macchina virtuale. In questo modo l'autore del codice cerca di evitare che i ricercatori come te possano individuare il malware e le sue caratteristiche, o almeno tentano di renderlo un lavoro più difficile. Il malware cerca di sfruttare la IDT (Integrated Device Technology) nella memoria di alto livello, dove possiamo trovare anche i sistemi operativi. D'altra parte, però, l'autore del malware non ha modo, con questo metodo, di sapere se ha colpito un utente inconsapevole che sta sfruttando queste tecnologie (che però sarebbe quantomeno insolito), oppure un abile ricercatore che gli ha teso una trappola.

Joanna: Gli autori di malware capirebbero rapidamente che non vale più la pena di evitare i sistemi virtualizzati, e ci ritroveremmo al punto in cui siamo oggi.

TH: Al momento tu però sei un passo avanti, perché il malware non può nascondersi dentro ad una VM. In un certo senso, la tua proposta riduce il tempo necessario a trovare le soluzioni, giusto?

Joanna: Come dicevo prima, questo modo di pensare è un po' ingenuo. In verità questo approccio non offre protezione a lungo termine.

TH: Ok, la tua squadra però non si è fermata al livello Ring -1. Cosa succede a Ring -2?

Joanna: In effetti il malware a livello Ring -1 è del 2006! Ogni CPU x86 ha un cosa chiamata System Management Mode (SMM), che in sé non è nulla di nuovo, visto che è stata presentata con i processori 80386.  Ciò che lo rende interessante, oggi, è che quando fu aggiunta la virtualizzazione ai processori, è emerso che il sistema SMM aveva privilegi maggiori di quelli introdotti con la virtualizzazione, cioè Ring -1, dati all'hypervisor. S'introdusse quindi il concetto di livello Ring-2, per enfatizzare la loro maggiore potenza, rispetto a Ring-1.

Il nostro gruppo, in ogni caso, non è stato il primo a sfruttare la SMM. Nel 2006, infatti, Loic Duflot presentò un attacco contro OpenBSD che usava la modalità SMM, sfruttandola come strumento, non come obiettivo. All'epoca, in effetti, era normale che la SMM non fosse protetta in alcun modo sulla maggior parte dei sistemi, quindi se si aveva un accesso di root (kernel mode), era possibile iniettare codice liberamente ed eseguirlo con i privilegi, altissimi, della SMM. Per fortuna, tuttavia, c'èra comunque bisogno di privilegi di root per sfruttare questo meccanismo.

Poi i produttori hanno cominciato a proteggere la SMM. C'è una parte della DRMA usata per ospitare il codice eseguito in SMM, chiamata SMRAM, alla quale sono state applicate speciali protezioni tramite il chipset (tramite il Memory Controller Hub, per essere precisi). Sulla maggior parte dei sistemi moderni, quindi, non è facile eseguire del codice con privilegi SMM. Bisogna trovare un bug nel chipset o nel BIOS per farlo (anche con accesso kernel). All'ultimo Black Hat di Las Vegas Sherri Sparks e Shawn Embleton hanno presentato un rootkit SMM, ed era chiaro che il rootkit poteva essere caricato solo su sistemi vecchi, precedenti al 2006.  Nei giorni successivi, curiosamente, vedemmo diverse comunicazioni inerenti ad attacchi a Xen, e parlammo di un bug nei BIOS di Intel che permetteva l'esecuzione di codice arbitrario in modalità SMM. Credo che sia stato il primo bug di questo tipo di cui si è parlato pubblicamente; da allora abbiamo trovato altri modi di aggirare la protezione della SMM su molti sistemi. Alla fine del 2008, per esempio, abbiamo scoperto che molti sistemi Intel (e potenzialmente anche altri BIOS) erano vulnerabili, e abbiamo usato la falla per aggirare la Intel TXT al Black Hat DC di febbraio.

Questo bug non è ancora stato risolto, e non è l'unico. Ne abbiamo trovato un altro nella semantica di caching usata dalle CPU Intel, confermato anche da Loic Duflot, con cui ci siamo accordati per la pubblicazione contemporanea della documentazione relativa.

In conclusione, i rootkit SMM (o rootking Ring -2) hanno bisogno di un accesso alla memoria SMM, che è molto ben protetta sui sistemi moderni, quindi un attaccante dovrebbe trovare e usare exploit davvero molto complessi, anche per i più bravi di noi.

TH: Questi attacchi SMM sono legati ad hardware specifico?

Joanna: In generale sono limitati a certe versioni di certi BIOS, o famiglie di BIOS, e anche a famiglie di chipset.