L'escaping di una macchina virtuale non richiede abilità. Richiede solo:
- Esiste una vulnerabilità nota nella VM.
- L'utente malintenzionato scarica e utilizza l'exploit.
Internet è una cosa favolosa; permette alle persone di fare un sacco di cose che in realtà non capiscono.
In ogni caso, se devi diligentemente applicare gli aggiornamenti di sicurezza alla tua soluzione VM (cioè quando VirtualBox ti dice che è disponibile una nuova versione, non ti tardare: scarichi e installi subito la nuova versione ), quindi i rischi di una fuga di successo sono scarsi. Un utente malintenzionato "non qualificato" può applicare gli exploit noti solo per vulnerabilità note e il venditore VM tiene traccia di tali vulnerabilità. La nozione rilevante qui è quella di un Zero-day : un attacco che l'hacker conosce prima di chiunque altro; la tua assunzione di "attacker non qualificato" significa in realtà che gli attaccanti non possono utilizzare le vulnerabilità di zero-day.
Detto questo, mentre si può presumere che la VM sia robusta, sussistono ancora rischi di errata configurazione. Le soluzioni VM, in particolare VirtualBox, consentono "scorciatoie" tra il guest e l'host. VirtualBox chiama queste aggiunte ospite . In particolare, questi consentono cartelle condivise; ma anche l'integrazione del mouse, l'accesso agli appunti, la grafica 3D fall-through ... sono così tante vie di fuga attraverso le quali il codice ospite ostile potrebbe avere un impatto sull'host.
Un punto importante è che le "aggiunte guest" sono i driver installati nell'ospite, che esercitano funzionalità aggiuntive offerte dalla VM. Se non si installano le aggiunte guest, la buca di fuga potrebbe essere ancora lì, pronta per essere utilizzata. Ad esempio, per impedire a un ospite ostile di accedere alle cartelle condivise, è necessario disabilitarlo (o non abilitarlo) dal VM impostazioni .
Allo stesso modo, se lasci che la VM usi le impostazioni di rete predefinite (NAT), il codice ostile può effettuare chiamate di rete ad altre macchine all'interno della rete locale.
Pertanto, devi esaminare tutte le impostazioni della VM per essere certo di disattivare tutte le funzionalità che potrebbero consentire una fuga o un impatto indesiderato al di fuori del guest. In particolare, prenditi cura della configurazione di rete (è più semplice se la disattivi del tutto, o usi networking interno ).