Advanced Deanonymization Attacks
This page aims to track and document advanced attacks  that also affect virtualized and anonymous systems like Whonix ™. Attacks discussed below tend to have a very high accuracy rate and can easily have devastating impacts upon anonymity. The common thread to these attacks is abuse of the underlying hardware design to undermine isolation barriers imposed by the software stack operating above it.  Exploiting buggy software remains the lowest hanging fruit for network adversaries. It is expected they will further expand their toolbox and more regularly utilize these vectors, since the chances of discovery are minimal to none.
Table: Common Attack Vectors causing Data Leakage
|Biometric Tracking||Behavioral tracking (also called biometric tracking) relies on spying on how users interact with their devices,  rather than looking at the unique identifiers of the device, protocol or application levels.|
|Local Covert Channels||Local covert channels [archive] require collaboration between a malicious VM and an infected victim VM to leak confidential data.|
|Network Covert Channels||Network [archive] covert [archive] channels [archive] only require that a compromised VM induce identifiable changes in network traffic that are immediately visible to adversaries that surveil the network.|
|Side Channels||Side channel attacks [archive] allow a malicious process to spy on events/data outside the VM.|
Advanced Remote Deanonymization Methods
Table: Advanced Remote Deanonymization Methods
|CPU-induced Network Latency ||TCP ISNs and Temperature-induced Clock Skews ||Keystroke Deanonymization ||Mouse Fingerprinting|
|Attack Class||Covert Channel (network)||Covert Channel (network)||Behavioral Tracking||Behavioral Tracking|
|Attack Summary||CPU load induces a noticeable latency in ICMP network packets. ||CPU load skews the clock crystal frequency; these changes are detectable in the TCP ISN field.||Timing of/between keystrokes creates a unique individual pattern.||Timing of/between mouse movement speed/angles creates a unique individual pattern.|
|Mitigation||Add random delays per ICMP packet with tc-netem or block the protocol on host. No mitigation needed for Whonix - Tor is TCP only. Attack doesn't work on TCP and tc-netem causes visible latency for streams when traffic is induced, harming anonymity and performance. ||Rewrite TCP ISNs to conceal timer skews.||Abstract keyboard input into a network layer and the injection of random delays. ||Abstract mouse input into a network layer and the injection of random delays. |
|Whonix ™ KVM Mitigation||Unneeded ||Production ||Production ||No|
|Whonix ™ VirtualBox Mitigation||Unneeded ||Production ||Production ||No|
|Qubes-Whonix ™ Mitigation||Unneeded ||No ||No ||No|
Advanced Local Deanonymization Methods
Table: Advanced Local Deanonymization Methods
|DRAMA Cross-CPU Attacks ||Cross-VM CPU Cache Attacks  |
|Attack Class||Covert (local) and Side Channel||Covert (local) and Side Channel|
|Attack Summary||Timing of access to the shared memory bank permits data leaks, as well as snooping on keystrokes.||Measurement of the shared CPU cache access latency; this leaks timing data concerning cryptographic processes.|
|Mitigation||Block clflush and tsc instructions, as well as removing all timers. Further, avoid the multi-threading of VMs, or alternatively use non-interleaved NUMA with pinned vCPUs.||Pin vCPUs to separate pCPUs. Proper mitigations are added by upstream crypto lib projects when attacks are discovered.|
|Whonix ™ KVM Mitigation||No ||Production|
|Whonix ™ VirtualBox Mitigation||No||No|
|Qubes-Whonix ™ Mitigation||No||No|
Other Advanced Deanonymization Attacks
There are numerous other advanced attacks which have not been included in the above table. The reason is they have easy fixes, such as avoiding some unsafe hypervisor features.
Other Deanonymization Vectors
High-risk users should familiarize themselves with other attack vectors that can lead to deanonymization or other harmful outcomes.
- Time-related Attacks: These are in a class of their own. In simple terms, insecure time synchronization and the leaking of time data can result in deanonymization. Although documented separately, time attacks have some overlap with factors outlined here.
- Tor Ecosystem Attacks: Advanced adversaries are capable of attacking the Tor client, server and/or network (sometimes in combination) to identify users and/or servers in specific situations.
- Dev/Advanced Deanonymization Attacks
- Ticket: Covert Channels Meta Ticket [archive]
- forum discussion [archive]
- https://phabricator.whonix.org/T540 [archive]
- See Introduction to Computers: Hardware and Software [archive] for a basic description of the difference between hardware, firmware and software.
- https://www.whonix.org/blog/biometric-fingerprinting [archive]
- https://phabricator.whonix.org/T530 [archive]
- https://phabricator.whonix.org/T543 [archive]
- https://phabricator.whonix.org/T542 [archive]
- https://lists.torproject.org/pipermail/tor-talk/2016-July/041807.html [archive]
- https://phabricator.whonix.org/T530#20163 [archive] / Dev/latency-obfuscator
- Removing fine-grained timers also helps in this situation.
- https://forums.whonix.org/t/tcp-isn-cpu-information-leak-protection-tirdad/8552 [archive]
- Qubes-Whonix Security Disadvantages - Help Wanted! [archive]
- https://phabricator.whonix.org/T541 [archive]
- https://phabricator.whonix.org/T539 [archive]
- Hello from the Other Side: SSH over Robust Cache Covert Channels in the Cloud [archive]: a newer covert channel attack that requires the same condition of a shared CPU cache.
- Measure reverted to enable spectre/meltdown guest mitigations