By default, the CPU model information is leaked, which significantly reduces anonymity when running untrusted software. This issue can be addressed (with a slight performance impact) by using KVM and changing the CPU model to ‘qemu64’ instead of ‘host-passthrough’. Additionally, ensure that necessary features to protect against Spectre, Meltdown, and other attacks are enabled.
<cpu mode="custom" match="exact" check="none">
<model fallback="forbid">qemu64</model>
<feature policy="require" name="ibpb"/>
<feature policy="require" name="md-clear"/>
<feature policy="require" name="spec-ctrl"/>
<feature policy="require" name="ssbd"/>
</cpu>
Other CPU models are vendor-specific (AMD or Intel), so ‘qemu64’ appears to be the best available option. You can verify the security of your system by running the following command: sudo spectre-meltdown-checker
Any persistent changes made to the operating system also make the virtual machine unique. This includes updating the OS or even booting into it in persistent mode. To ensure that each VM remains similar, you can run the VM in live mode with a read-only hard disk directly from the download. If a user needs to edit files within the VM, a shared folder can be used, perhaps with additional features similar to bind-dirs in Qubes OS.
Other factors that can differentiate VMs include the number of vCPUs, the amount of RAM, and the display size. To minimize these differences and enhance consistency, users can be suggested to use preconfigured options based on performance, such as
Low: 1 vCPUs, 2GB of RAM, and a display resolution of 1280x720.
Medium: 2 vCPUs, 4GB of RAM, and a display resolution of 1920x1080.
High: 4 vCPUs, 1GB of RAM, and a display resolution of 1920x1080.

