Skip to content

Enable X11 event buffering in Whonix by default #9771

@ArrayBolt3

Description

@ArrayBolt3

The problem you're addressing (if any)

Now that QubesOS/qubes-gui-daemon#149 is merged, any VM in Qubes OS that supports a GUI daemon can have Kloak-like features (keyboard and mouse event delay) enabled on them. While most VMs probably would probably have their usability degraded if this feature was enabled on them by default, Whonix benefits greatly from having this feature because it directly helps it to accomplish its goal of providing additional anonymity to users.

Right now a user has to explicitly set the gui-ebuf-max-delay feature to a non-zero value on a VM in order to enable event buffering. This is not something the average user should have to do, Whonix-Workstation should have this enabled by default. (Whonix-Gateway should potentially leave this disabled since the user won't be interacting with websites in Whonix-Gateway if used as designed.)

The solution you'd like

  • Modify https://github.com/QubesOS/qubes-core-admin-addon-whonix/blob/main/qubeswhonix/__init__.py so that it responds to a feature request from a Whonix VM to set gui-ebuf-max-delay. Requests should only be honored if they fall between reasonable thresholds so that malware can't disable the delay entirely or set it to be so high as to render the VM unusable.
  • Add a script to Whonix's anon-ws-base-files package to request the feature and set it to a sensible value.

This strategy will allow Whonix to adjust the delay in the future if it is desirable to do so.

Alternatively, since the gui-ebuf-max-delay relies entirely on dom0 and doesn't require any domU-side code at all,
we could just modify https://github.com/QubesOS/qubes-core-admin-addon-whonix/blob/main/qubeswhonix/__init__.py to set the feature all by itself one time, and that's it. This does mean that setting the delay is a "one shot" operation and if it turns out to be bad, another change to qubes-core-admin-addon-whonix will be needed. This would have the advantage of not allowing malware to even try to adjust the delay however.

The value to a user and who that user might be

Applications (especially websites) should have a harder time tracking the user via keyboard biometrics. (Mouse movements may also be obfuscated enough to make fingerprinting difficult through that method, though I'm not sure any concrete tests have been done on the mouse beyond "now it's laggy".)

Completion criteria checklist

No response

Metadata

Metadata

Assignees

Labels

C: WhonixThis issue pertains to Whonix templates or standalones.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.community templateThis issue pertains to a community-maintained template.pr submittedA pull request has been submitted for this issue.privacyThis issue pertains to privacy in Qubes OS or something controlled by the Qubes OS Project.
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions