Are there any hardware specific fingerprinting differences between an AppVm and a standalone linux vm with kernel provided by qubes (HVM vs PV vs PVH) ?
If i wanted to prevent a debian app from having access to my hardware informaton what approaches are available
It’s unfortunate that neither the Qubes nor Whonix teams have taken action to resolve this issue.
If I choose to move forward, would using PVH mode along with editing the CPUID and libvirt settings be effective?
Here’s what I’m considering:
EDIT:
- Create a standaloneVM in PVH mode
- Dom0 terminal:
sudo virsh edit
- add/modify cpu section
<cpu mode='host-passthrough'> <feature policy='disable' name='vmx'/> <feature policy='disable' name='svm'/> <feature policy='disable' name='sse4_2'/> <feature policy='disable' name='avx'/> <feature policy='disable' name='avx2'/> <feature policy='disable' name='popcnt'/> <feature policy='disable' name='aes'/> <feature policy='disable' name='fma'/> <feature policy='require' name='invtsc'/> </cpu>
How many Qubes users do you think mask their CPUID? Would I stand out significantly if I did?
… this didnt seem to work
Those configs set with virsh are not persistant. There used to be a place in which you can put templates. Not sure if that is still true in 4.2.
The linked issue does shed some light on this matter. If it’s to be done at all, it should be good, rather than a security theater.
We were discussing something similar during the Qubes summit 2024 hackathon in regard to Secure Boot support - unless there’s a good handling of lockdown in Xen, and other tweaks to support the Microsoft requirements, a mere checking off of some points in a list won’t make the thing reasonably secure.
For instance, a lot of information can be deduced, that a mere mortal like me can’t even imagine and a healthy amount of humbleness does help with considering that.
What I can deduce is something that gets printed from tools that others wrote, and they likely don’t account for everything out there, especially with how tracking methods get better and better. See a sneak peek here (I recommend reading that whole thread).
1 Like
You should edit the libvirt config instead of using sudo virsh edit:
https://dev.qubes-os.org/projects/core-admin/en/latest/libvirt.html