User:IrrationalBeing/sandbox/Whonix

Whonix (/hu nɪks/, Who Nix) is a Kicksecure–based security hardened Linux distribution. Its main goals are to provide strong privacy and anonymity on the Internet. The operating system consists of two virtual machines, a "Workstation" and a Tor "Gateway", running Debian GNU/Linux. All communications are forced through the Tor network.

Both Whonix and Kicksecure have a wiki with documentation that spans from basic operating system maintenance to more advanced topics.

The first iteration, TorBOX (February-Juli 2012)
The initial concept was announced by developer proper. His idea was to leverage a virtual machine acting as a transparent proxy to route all Internet traffic through the Tor network. This would have allowed to mask one's IP address, prevent DNS leaks and avoid having to configure proxy settings for individual applications (or ones who do not support them).

TorBOX was at its beginning only a guide released on the Tor Project website which also provided some shell scripts. Other contributors provided more information as TorBOX became more popular.

As the project's complexity grew, leak tests became increasingly necessary. Some contributors developed utilities to automatize many steps and improve user-friendliness. Nonetheless, maintaining the build instructions for TorBOX while simultaneously updating the shell scripts became too much of a burden for the developers, who decided to drop the manual creation instructions, migrating them and focusing exclusively on the shell scripts.

Even then, complexity was still growing due to additional features or changes in line with security research. In March 25, 2012 with the release of TorBOX's 0.1.3, the programmers agreed to completely automatize the build process and improving codability with a change in the developing process, brought by a new website with better capabilities than the old project's wiki.

The TorBOX/aos wiki listed seven released versions. With the advent of the third release, proper released his GPG public-key containing his contact information,

The sixth version saw the first rename of the developer proper to adrelanos. However, the former username was maintained on the Tor Website until the seventh and final version.

Development of TorBOX continued until version 0.2.1, release Juli 16, 2012. The project was renamed the following day.

Rename into aos (Juli-September 2012)
Andrew Lewman (then Tor Project Executive Director ) privately advised adrelanos to rename the project, stating that even if TorBOX mentioned on its website about being unaffiliated with the Tor Project, it was still being mistaken by some people. Adrelanos renamed the project aos, acronym of "anonymous operating system".

No new releases were made under the name aos.

Final rename and continued development as Whonix (August 2012-present)
The choice of the name aos was quickly regretted and described as "sub-optimal" by adrelanos. He noted that search engines didn't return relevant results due to the name being shared with many other acronyms. A secondary reason was the project's name being non-capitalized, which would have made it incompatible with the grammatical convention of capitalizing a word at the beginning of a sentence.

At the end of August 2012, Adrelanos posted a request for suggestions on the tor-talk mailing list. His original idea was a name which would have made the purpose of the anonymous operating system clear and at the same time avoiding confusion or trademark issues. Nick Mathewson, Tor Project's co-founder debated the idea of having a self-explanatory name, stating that Tor was "doing okay" even without having a particularly descriptive name.

While many suggestions were sent, adrelanos concluded the post announcing the new name, Whonix, and publishing a signed message with his final decision on the project's website. He reasoned that the name was unused and would have provided more results in search engines. Whonix is a compound of two words: who ("what person/s") and nix (a German word that means "nothing").

Whonix 0.3.0, never released, was based on Ubuntu. While Ubuntu was praised from a technical perspective, potential trademark issues would have complicated the distribution along the potential revocation of the license from Canonical. Complying with the terms requested by a rebranding would have required work which was beyond the capability of the Whonix developers. Moreover, the release of Ubuntu 12.10 was heavily criticized for the closer integration with the Amazon ecosystem and other privacy issues.

The Whonix project recognized the privacy issues which would have caused a problem with the use of Ubuntu, and recommended against using it even on the host machine.

The first release under the new name of Whonix happened with version 0.4.4, the first one since TorBOX 0.2.1. It was rebased on Debian which is described by the project as being "a good compromise of security and usability".

The second release, Whonix 0.4.5 was the first to be announced by adrelanos on the tor-talk mailing list.

In a blog post published on January 18, 2014 on the Whonix wiki, adrelanos decided to give up his pseudonymity and using for the first time his real name, Patrick Schleizer.

Schleizer, a German citizen stated the burden of maintaining his operational security. Also, he mentioned that both the USA and Germany are not persecuting their citizens for criticizing the government, concluding with a remark on the importance of speaking out in public and taking action.

Porting to Qubes OS
In August 2014 a user called WhonixQubes announced on the qubes-users mailing list the first successful integration of Qubes OS version R2-rc2 and Whonix 8.2. Joanna Rutkowska, founder of Qubes OS, publicly stated her praise about the efforts.

In June 2015, Rutkowska announced the reception of funding from the Open Technology Fund to further sponsor the porting work of Whonix to Qubes OS. The proposal to OTF was made initially in September 2014, after Rutkowska was approached by Michael Carbone, an employee of Access Now and member of the Qubes OS team who helped with the process.

At the same time, Patrick Schleizer wrote about wanting to personally focus on the development of Qubes-Whonix.

With the release of Qubes OS R3.0 in October 2015, Whonix templates officially became available.

Standalone
The standard version of Whonix can be used on many different platforms as host-machines, such as Windows, macOS, GNU/Linux and Qubes OS. It is downloadable in formats compatible with the most common hypervisors like VirtualBox, QEMU, KVM and Xen. Whonix is reported to have experimental compatibility with VMware and Hyper-V, though not officially supported.

Virtualbox
The VirtualBox packages for both the Workstation and Gateway are distributed with the xfce desktop environment or in a headless "CLI" version. They can be seamlessly combined.

The Whonix Project advises to not draw the false conclusion of Virtualbox being secure only because it is supported, stating also that it isn't "an ideal choice, but there are reasons for maintaining VirtualBox support."

Qubes OS
Whonix can be configured directly from the Qubes OS' installation menu since version R3.0. Since at least Qubes OS R4.0 it can also be installed at a later time using the management software Salt from dom0.

Design
An "advanced" configuration uses two physically separate computers, with the Gateway running on the hardware of one of the computers, and the Workstation running in a VM hosted on the second. This protects against attacks on hypervisors at the cost of flexibility. Supported physical hardware platforms include the Raspberry Pi 3 and unofficial community efforts on the PowerPC workstation hardware, Talos, from Raptor Computing.

On first startup, each VM runs a check to ensure that the software is up to date. On every boot, the date and time are set using the sdwdate secure time daemon that works over Tor's TCP protocol.

The Gateway VM is responsible for running Tor, and has two virtual network interfaces. One of these is connected to the outside Internet via NAT on the VM host, and is used to communicate with Tor relays. The other is connected to a virtual LAN that runs entirely inside the host.

The Workstation VM runs user applications. It is connected only to the internal virtual LAN, and can directly communicate only with the Gateway, which forces all traffic coming from the Workstation to pass through the Tor network. The Workstation VM can "see" only IP addresses on the Internal LAN, which are the same in every Whonix installation.

User applications therefore have no knowledge of the user's "real" IP address, nor do they have access to any information about the physical hardware. In order to obtain such information, an application would have to find a way to "break out" of the VM, or to subvert the Gateway (perhaps through a bug in Tor or the Gateway's Linux kernel).

The Web browser pre-installed in the Workstation VM is the modified version of Mozilla Firefox provided by the Tor Project as part of its Tor Browser package. This browser has been changed to reduce the amount of system-specific information leaked to Web servers.

Since version 15, like Tails, Whonix supports an optional "amnesiac" live-mode. This combines the best of both worlds by allowing Tor's entry guard system to choose long-lived entry points for the Tor network on the Gateway, reducing the adversaries' ability to trap users by running malicious relays, while rolling back to a trusted state. Some precautions on the host may be needed to avoid data being written to the disk accidentally. Grub-live, an additional separate project, aims to allow bare-metal Debian hosts to boot into a live session, avoiding forensic remnants on disc. Additional testing to confirm the efficacy of the package is needed as of yet.

For the best defense against malicious guards, it is recommended to boot up the gateway from a pristine state and have a unique guard paired to each user activity. Users would take a snapshot to be able to switch to, and use that guard consistently. This setup guarantees that most activities of the user remain protected from malicious entry guards while not increasing the risk of running into one as a completely amnesiac system would.

Scope
Anonymity is a complex problem with many issues beyond IP address masking that are necessary to protect user privacy. Whonix focuses on these areas to provide a comprehensive solution. Some features:


 * Kloak - A keystroke anonymization tool that randomizes the timing between key presses. Keystroke biometric algorithms have advanced to the point where it is viable to fingerprint users based on soft biometric traits with extremely high accuracy. This is a privacy risk because masking spatial information—such as the IP address via Tor—is insufficient to anonymize users.
 * Tirdad - A Linux kernel module for overwriting TCP ISNs. TCP Initial Sequence Numbers use fine-grained kernel timer data, leaking correlatable patterns of CPU activity in non-anonymous system traffic. They may otherwise act as a side-channel for long running crypto operations.
 * Disabled TCP Timestamps - TCP timestamps leak system clock info down to the millisecond which aids network adversaries in tracking systems behind NAT.
 * sdwdate - A secure time daemon alternative to NTP that uses trustworthy sources and benefits from Tor's end-to-end encryption. NTP suffers from being easy to manipulate and surveil. RCE flaws were also discovered in NTP clients.
 * MAT 2 - Software and filesystems add a lot of extraneous information about who, what, how, when and where documents and media files were created. MAT 2 strips out this information to make file sharing safer without divulging identifying information about the source.
 * LKRG - Linux Kernel Runtime Guard (LKRG) is a Linux security module that thwarts classes of kernel exploitation techniques. Hardening the guest OS makes it more difficult for adversaries to break out of the hypervisor and deanonymize the user.