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.|
Table: Advanced Deanonymization Methods
|CPU-induced Network Latency ||TCP ISNs and Temperature-induced Clock Skews ||DRAMA Cross-CPU Attacks ||Cross-VM CPU Cache Attacks  ||Keyboard/Mouse Input Fingerprinting |
|Attack Class||Covert Channel (network)||Covert Channel (network)||Covert (local) and Side Channel||Covert (local) and Side Channel||Behavioral Tracking|
|Local Compromise Required||No||No||Yes||Yes||No|
|Attack Summary||CPU load induces a noticeable latency in network packets.||CPU load skews the clock crystal frequency; these changes are detectable in the TCP ISN field.||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.||Timing of/between keystrokes and mouse movement speed/angles creates a unique individual pattern.|
|Mitigation||Queue and release packets randomly in kernel.||Rewrite TCP ISNs to conceal timer skews.||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, block tsc instructions, and remove all timers.||Abstract keyboard/mouse input into a network layer and the injection of random delays. |
|Whonix ™ KVM Mitigation||No||Testing||No||Production||Testing|
|Whonix ™ VirtualBox Mitigation||No||Testing||No||No||No|
|Qubes-Whonix ™ Mitigation||No||No||No||No||No|
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/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.
- https://phabricator.whonix.org/T542 [archive]
- https://lists.torproject.org/pipermail/tor-talk/2016-July/041807.html [archive]
- https://github.com/ethan2-0/nfqueue-packet-delay [archive]
- Removing fine-grained timers also helps in this situation.
- Measure reverted to enable spectre/meltdown guest mitigations
This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! Read, understand and agree to Conditions for Contributions to Whonix ™, then Edit! Edits are held for moderation.
Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP. Whonix ™ is a trademark. Whonix ™ is a licensee [archive] of the Open Invention Network [archive]. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Freedom Software license as Whonix ™ itself. (Why?)