BluePill, la pillola blu, continua

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

Avatar di Tom's Hardware

a cura di Tom's Hardware

BluePill, la pillola blu, continua

TH: Quindi il punto è avere un livello di accesso che sia almeno un livello superiore rispetto all'avversario. Più piccolo è il numero, più forti siamo. A questo punto ci puoi parlare degli exploit "Ring -1", e della tua "pillola blu"?

Joanna: Ring -1 è un nome informale, coniato quando AMD e Intel introdussero la virtualizzazione a livello di CPU, circa tre anni fa. Quelle nuove tecnologie introdussero un nuova modalità operativa, chiamata "root mode" o anche "host", in base al produttore. A livello informale, questa novità è stata chiamata "Ring -1", per sottolineare il fatto che l'hypervisor ha più privilegi del kernel del sistema operativo, tradizionalmente a livello Ring 0.

Ho scritto BluPill nel 2006 per dimostrare come la tecnologia di virtualizzazione a livello hardware può offrire un'occasione per creare malware molto sofisticato: è possibile creare un hypervisor invisibile e, senza grossi ostacoli, spostare il sistema operativo principale in una macchina virtuale, controllate dall'hypervisor maligno.

Supponiamo di avere un software per controllare l'integrità del sistema, capace di verificare l'integrità del codice del kernel, strutture di dati e puntatori di funzioni, per controllare se uno di questi elementi è stato compromesso. Anche uno scanner così, del tutto ideale, non sarebbe capace di individuare malware come BluPill. Questo perché, a differenza dei rootkit kernel precedenti, BluPill non tocca nulla del kernel o dei dati. Quello che fa è installarsi sopra al kernel, senza bisogno di fare modifiche.

Un altro elemento unico di BluePill, che lo rende davvero unico nel suo genere, è che supporta la virtualizzazione "a nido" (nested). Si può caricare BluePill e poi, dentro alla macchina virtuale creata, avviare un normale hypervisor, come Xen o Virtual PC. Potete persino caricare diverse istanze di BluePill una dentro all'altra. In effetti, sono piuttosto orgogliosa dei risultati che ho ottenuto.

In molti hanno cercato di dimostrare che BluePill è individuabile, con diversi software scritti apposta. Il principio generale era che bastasse individuare un processo di virtualizzazione per poter dire di trovarsi dentro a BluePill.

Qualche hanno fa, in effetti, si poteva fare un'affermazione simile perché non c'erano altri prodotti che usassero la virtualizzazione a livello hardware. Chiaramente, però, se diamo retta a questa impostazione potremmo anche dire che se un eseguibile attiva o usa connessioni di rete, allora deve essere per forza l'elemento di una botnet.