Wednesday, August 1, 2007

Virtualizzazione e sicurezza

Da parecchi mesi si parla delle tecniche di virtualizzazione per realizzare sistemi informatici di molti tipi.

Il consolidamento di più host virtuali su un unico hardware permette di

  1. minori costi di hardware;

  2. centralizzazione facilitazione di gestione e manutenzione;

  3. facilità di ripristino e di roll-back in fase di test di un software;

  4. isolamento dell'host virtuale.


Durante una presentazione al SansFire 2006, Ed Skoudis e Tom Liston hanno presentato un talk molto interessante.

Le slide, disponibili qui, presentavano tool e tecniche utilizzabili da attacker remoti che cercano di capire se si sono introdotti in un "sistema fisico" o un "sistema virtualizzato".
Nelle ultime slide accennavano al passo successivo: l'evasione dall'isolamento della macchina virtuale (guest) per accedere al sistema che ospita la macchina virtuale (host). Questo permetterebbe ad un intruso di accedere ad un sistema decisamente più importante e critico rispetto alla macchina virtuale.

A distanza di un anno, al SanFire 2007, sono stati presentati alcuni tool e Proof of Concept di evasione dalle macchine virtuali. La presentazione non è ancora pubblicamente disponibile e in rete si trovano solo commenti da parte di chi ha potuto seguire l'intervento al SansFire.
Nel talk sono stati presentati alcuni talk che abusano di Vmware per accedere a risorse della macchina host dall'interno della macchina guest. Sono state inoltre presentate alcune possibilità per abusare di macchine virtuali non Vmware (Xen, Virtual PC, QEMU, BOCHS).

Attendo con trepidazione la pubblicazione del talk e nuovi sviluppi di queste tecniche di evasione dagli ambienti virtualizzati.

Per approfondire il discorso segnalo anche questo interessantissimo paper.

Mediante tecniche di fuzzing è stato analizzato il comportamento di alcuni sistemi di virtualizzazione molto diffusi.

I risultati sono molto interessanti: per alcuni sistemi è stato possibile effettuare una compromissione totale, cioè l'esecuzione di codice arbitrario sulla macchina host dalla macchina guest.

Sono anche stati trovate possibilità di compromissione parziali (lettura di memoria host dal guest) e di Denial Of Service (per esempio sspegnere o incasinare tutto il sistema di virtualizzazione a partire dalla macchina guest).

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.