Le informazioni su un host possono essere divulgate a un ospite in diversi modi. VMware (e i prodotti di virtualizzazione in generale) forniscono protezione contro molte cose. Sebbene sia improbabile che sia in grado di fornire un ambiente di isolamento completo, probabilmente fa un ottimo lavoro. Ad esempio, alcuni ricercatori di virus usano VMware per fornire un ambiente sicuro per studiare il comportamento del malware .
Le informazioni sull'host possono essere trasferite all'ospite:
- se il guest esegue direttamente istruzioni che il livello di virtualizzazione non intercetta.
- se il guest può osservare il traffico di rete direttamente sullo stesso segmento di rete dell'host.
- se l'ospite può comunicare con il mondo esterno e sondare nuovamente l'host.
La tua preoccupazione principale sembra riguardare il primo metodo di perdita, anche se dovresti essere sicuro di proteggere anche dagli altri meccanismi.
VMware (e altri hypervisor) forniscono la virtualizzazione intercettando quelle che sono considerate istruzioni sensibili. Le istruzioni sensibili rivelerebbero all'ospite informazioni sull'host o consentirebbero all'ospite di sfuggire al contenimento del livello di virtualizzazione. Ad esempio, l'istruzione che modifica la base della tabella delle pagine (che controlla l'accesso alla memoria) deve essere rilevata dal livello di virtualizzazione, intercettata e sostituita con una versione "sicura" di tale istruzione che preserva l'illusione della virtualizzazione.
Per fornire l'illusione di una macchina separata dall'host, vengono anche virtualizzate le istruzioni che rivelano informazioni identificative sull'host (come numeri di serie, indirizzi MAC ecc.). In VMware, queste cose possono essere impostate nel vmx
file. Questa roba è ben compresa e presumibilmente sicura.
A volte, ci sono dei compromessi su ciò che è esposto, come l'istruzione CPUID, contro la quale le versioni recenti di VMware offrono "protezione". (Vedi Compatibilità VMotion e CPU per molti dettagli sulla virtualizzazione CPUID.) Se eseguito come istruzione privilegiata, questa può essere intrappolata ed emulata, ma può anche essere eseguita come istruzione nativa che può esporre al guest alcune informazioni (presumibilmente non interessanti) .
Tuttavia, l'ospite può anche imparare passivamente altre informazioni sull'host. Ad esempio, sondando i tempi di memoria, il guest può ottenere informazioni delle dimensioni di varie cache. La capacità di conoscere altri ospiti (o l'host) tramite tempistica e altri vettori ("canali laterali") è un'area di ricerca attiva. Nell'ottobre 2012, i ricercatori hanno scoperto che in realtà è possibile estrarre chiavi crittografiche da altre macchine virtuali . Questo può essere abbastanza spaventoso e i limiti di ciò che può essere scoperto e come proteggerlo non sono ancora del tutto chiari.
Il modo migliore per essere completamente sicuri è isolare la tua macchina attraverso il traferro dal resto del mondo. Quindi non importa cosa apprende il software dannoso perché non può comunicare tali informazioni a nessuno. Al termine, pulire la macchina. L'uso di uno strumento come VMware semplifica la pulizia e il ripristino dello stato poiché lo stato della macchina è incapsulato in un set di file.