Hardening VBox for high risk scenarios.
Posted: 6. May 2017, 21:56
Dear forum,
I am currently in process of designing a template which will be used extensively in high risk situations by some of our employees (malware research, journalism in certain countries, other adversaries).
If you already read about Whonix, that's basically the same thing - just with more bloat attached to it.
1.) Gateway VM with two NIC's, one connected to the isolated internal network, one bridged to the host network interface, running a Tor client.
2.) Workstation VM with a single NIC connected to the isolated internal network, forcing all traffic over the gateway VM.
My goal is to prevent the discovery the users real IP address, at any cost.
By default, this should work fine - since all work will happen within a VM only connected to a virtual isolated network.
Regarding my setup (Windows Host, Linux guest) , I have a few questions:
a.) What are the risks of running Guest Additions, considering I am only loading the vboxuser and vboxvideo kernel modules?
I am aware of the /dev/vbox{guest,user} character devices - I already added a udev rule to prevent access to either as non-root user as I don't run any of the functionality which would require them.
I didn't actually look at the callbacks registered in the driver, but surely a compromised virtual machine (up to the point of gaining root priviliges) could send spurious requests causing the host to trip over and possibly allow compromising such through unknown vulnerabilities.
b.) According to my knowledge, the guest additions side channel is always exposed to a virtual machine.
If I decide to drop the guest additions completely, is there some config option to close / disable said side channel for the sake of hardening my virtual machines?
I might be completely wrong here so feel free to correct me on any mistakes I did.
c.) Is there any guest-to-host backdoor / sidechannel which somehow could enable a VM to do network config changes on-the-fly?
All replies are greatly appreciated
Best Regards,
John
I am currently in process of designing a template which will be used extensively in high risk situations by some of our employees (malware research, journalism in certain countries, other adversaries).
If you already read about Whonix, that's basically the same thing - just with more bloat attached to it.
1.) Gateway VM with two NIC's, one connected to the isolated internal network, one bridged to the host network interface, running a Tor client.
2.) Workstation VM with a single NIC connected to the isolated internal network, forcing all traffic over the gateway VM.
My goal is to prevent the discovery the users real IP address, at any cost.
By default, this should work fine - since all work will happen within a VM only connected to a virtual isolated network.
Regarding my setup (Windows Host, Linux guest) , I have a few questions:
a.) What are the risks of running Guest Additions, considering I am only loading the vboxuser and vboxvideo kernel modules?
I am aware of the /dev/vbox{guest,user} character devices - I already added a udev rule to prevent access to either as non-root user as I don't run any of the functionality which would require them.
I didn't actually look at the callbacks registered in the driver, but surely a compromised virtual machine (up to the point of gaining root priviliges) could send spurious requests causing the host to trip over and possibly allow compromising such through unknown vulnerabilities.
b.) According to my knowledge, the guest additions side channel is always exposed to a virtual machine.
If I decide to drop the guest additions completely, is there some config option to close / disable said side channel for the sake of hardening my virtual machines?
I might be completely wrong here so feel free to correct me on any mistakes I did.
c.) Is there any guest-to-host backdoor / sidechannel which somehow could enable a VM to do network config changes on-the-fly?
All replies are greatly appreciated
Best Regards,
John