Whonix for VirtualBox with XFCE
Please press on expand on the right.
Experimental spectre/meltdown defenses
Testers only! For more please press on expand on the right.
- host microcode upgrade
- host kernel upgrade
- VM kernel upgrade
- spectre-meltdown-checker on the host showing "not vulnerable"
- latest VirtualBox version 
- all spectre/meltdown related VirtualBox settings tuned for better security as documented below
VBoxManage modifyvm "Whonix-Gateway" --ibpb-on-vm-entry on VBoxManage modifyvm "Whonix-Workstation" --ibpb-on-vm-entry on VBoxManage modifyvm "Whonix-Gateway" --ibpb-on-vm-exit on VBoxManage modifyvm "Whonix-Workstation" --ibpb-on-vm-exit on VBoxManage modifyvm "Whonix-Gateway" --l1d-flush-on-vm-entry on VBoxManage modifyvm "Whonix-Workstation" --l1d-flush-on-vm-entry on VBoxManage modifyvm "Whonix-Gateway" --l1d-flush-on-sched on VBoxManage modifyvm "Whonix-Workstation" --l1d-flush-on-sched on VBoxManage modifyvm "Whonix-Gateway" --spec-ctrl on VBoxManage modifyvm "Whonix-Workstation" --spec-ctrl on VBoxManage modifyvm "Whonix-Gateway" --nestedpaging off VBoxManage modifyvm "Whonix-Workstation" --nestedpaging off
These steps have to be repeated for every VirtualBox VM (Whonix or non-Whonix) (including multiple and custom VM). Above instructions cover only default VM names Whonix-Gateway and Whonix-Workstation. If you are using Multiple Whonix-Workstations and/or Multiple Whonix-Gateways, you need to repeat these instructions for all custom created VMs as well.
- By using the Tor Browser Bundle (TBB). For an introduction, see Tor Browser. See also Hide Tor and Whonix from your ISP.
- It does not matter if the bulk download is done over an insecure channel if OpenPGP verification is used at the end.
- OpenPGP is a standard for data encryption that provides cryptographic privacy and authentication through the use of keys owned by its users.
This is required since VirtualBox in unavailable in Debian
- This is non-ideal, see next footnote.
- Users should Prefer Packages from Debian Stable Repository, but using backports is better than manual software installation or using third party package managers since this prefers APT. To contain the risk, Non-Qubes-Whonix users might want to consider using Multiple Whonix-Workstations and Qubes-Whonix users might want to consider using Multiple Qubes-Whonix TemplateVMs or Software Installation in a TemplateBasedVM.
- Or alternatively use the .onion mirror.
sudo su -c "echo -e 'deb tor+http://vwakviie2ienjx6t.onion/debian stretch-backports main contrib' > /etc/apt/sources.list.d/backports.list"
- Most often this step applies before attempting major Whonix upgrades; upgrade instructions are also made available at that time (see stay tuned).
5.2.18or above required since only that version comes with spectre / meltdown defenses. See https://forums.whonix.org/t/whonix-vulerable-due-to-missing-processor-microcode-packages/5739/22.
- VirtualBox bug report: VirtualBox 5.2.18 vulnerable to spectre/meltdown despite microcode being installed
- VirtualBox forum discussion: VirtualBox 5.2.18 vulnerable to spectre/meltdown despite microcode being installed (#17987)
- Whonix forum discussion: Whonix vulerable due to missing processor microcode packages? spectre / meltdown / retpoline / L1 Terminal Fault (L1TF)
--ibpb-on-vm-[enter|exit] on|off: Enables flushing of the indirect branch prediction buffers on every VM enter or exit respectively. This could be enabled by users overly worried about possible spectre attacks by the VM. Please note that these options may have sever impact on performance.
There is a mistake in VirtualBox manual saying
enterwhich does not work. It's
--l1d-flush-on-vm-enter on|off: Enables flushing of the level 1 data cache on VM enter. See Section 13.4.1, “CVE-2018-3646”.
For users not concerned by this security issue, the default mitigation can be disabled using
VBoxManage modifyvm name --l1d-flush-on-sched off
Since we want to enable the security feature we set
--spec-ctrl on|off: This setting enables/disables exposing speculation control interfaces to the guest, provided they are available on the host. Depending on the host CPU and workload, enabling speculation control may significantly reduce performance.
According to this VirtualBox ticket
--spec-ctrlshould be set to
--nestedpaging on|off: If hardware virtualization is enabled, this additional setting enables or disables the use of the nested paging feature in the processor of your host system; see Section 10.7, “Nested paging and VPIDs” and Section 13.4.1, “CVE-2018-3646”.
This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.
Whonix is provided by ENCRYPTED SUPPORT LP. See Imprint.