The scenario is a lightly secured home or work PC used primarily for low-sensitive operations. For more secure activities a pre-built and restrictive virtual machine will be used.

I'm mostly concerned about data theft and/or modification via unauthorized/unattended access to the host machine while the VM is powered off.

For mitigation, I want to encrypt the VM image, and it seems there are three general choices:

  1. Use VeraCrypt or another on-the-fly encryption package to encrypt the partition or folder where the guest VDI will be stored.
  2. Use VirtualBox's or VMWare's built-in encryption to encrypt the guest image.
  3. Use full-disk encryption within the guest OS (e.g. LUKS for guest Linux or BitLocker for guest Windows)

What are the security factors or tradeoffs between the three? Is one generally more secure or more tested than others?

It seems like 1 and 2 might amount to the same thing. I know VeraCrypt has been audited, and LUKS seems pretty well-tested, but not sure about the encryption build into VM software.

note: This answer is for a similar question, but the answer does not address the trade-offs between the three choices

1 Answer 1


Your mindset is backwards. In a hypervisor scenario where you want to use both the host and guest(s) as usable machines, the most secured 'machine' must be the host.

To try and drive this point home:

  • if your 'more-secure' VM is a guest and you use the host to surf the internet, then any compromise of your 'less-secure' internet surfing host provides automatic access to any and all guests. Encrypting the VMs disks only protects the disks when the VM is offline AND that assumes the attacker doesn't know how to pull the keys out of memory (which they would have access to since they would be attacking from the host to the guest)
  • if your 'more-secure' machine is the host and you surf the internet from the guest, then an attacker would have to either attack over the network or through the hypervisor--both that are considerably harder than having implicit rights to manipulate the hardware of the VM.

And while this doesn't answer your question directly, if you choose to flip the route you're taking, just drive encrypt the host's hard drive and all others are automatically included (assuming they're all on the same disk)

  • Encrypting the host's drive may make the running guest VM more secure, but unless I'm missing something, it doesn't address the main security concern I raised in my question - namely a data breach of the guest VM while the VM is powered off but the host machine is running, e.g. leaving the computer on overnight (which is a requirement)
    – Brian H.
    Commented Dec 19, 2018 at 17:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .