Actions

Dev/Technical Introduction

< Dev(Redirected from Technical Introduction)

Introduction[edit]

Whonix aims to be safer than Tor alone. The main goal is, that no one can find out the user's IP and location.

The basic idea is, that all applications are untrustworthy. No application must be able to obtain the user's real external IP. Whonix ensures that applications can only connect through Tor. Direct connections (leaks) must be impossible. This is the only way we know of, that can reliably protect your anonymity from client application vulnerabilities and IP/DNS and protocol leaks.10 When the term protocol leak or "information leak" is used in the context of security and anonymity it is referring to an event that causes the release of secure or private information to an untrusted party or environment [1] [2].

Whonix consists of two machines, which are connected through an isolated network. One machine acts as the client or Whonix-Workstation, the other as a proxy or Whonix-Gateway, which will route all of the Whonix-Workstation's traffic through Tor. This setup can be implemented either through virtualization and/or Physical Isolation (explained below).

All traffic from Whonix-Workstation and Whonix-Gateway is routed over Tor. [3] [4] [5] [6]

The Whonix Concept (see below) is agnostic about everything, the anonymizer, platform, etc. See Whonix Framework below.

Whonix Example Implementation: Anonymity setup built around Tor, two virtual machines using Qubes, KVM, VirtualBox or physical isolation and Debian GNU/Linux. Whonix can be installed on every supported platform. (Supports Windows, OS X, Linux, BSD and Solaris.)

Physical Isolation describes installing Whonix-Gateway and Whonix-Workstation on two different pieces of hardware. It is more secure than VirtualBox / KVM virtual machines alone, requires more physical space, and hardware and electricity costs are higher. Keep in mind that you don't need very powerful dedicated servers or desktops. Unfortunately, using Qubes-Whonix with physical isolation is unsupported. For more information, see Physical Isolation.

See Design for Technical Design and security of Whonix. For security introduction, see below.

The listed Features, advantages and disadvantages shall give you an overview, what Whonix is useful for, what Whonix can do for you, and what not.

Technical Challenges[edit]

System security, privacy and anonymity are dependent upon sensitive information or data not escaping the trusted environment, which is protected and under the user's control. This is a technically challenging task with a multitude of elements to be considered. The numerous applications and background processes running on a system at any given time exacerbate the difficulties encountered.

Sensitive Information[edit]

In the context of privacy and anonymity, sensitive information is any information that can be used to identify an individual. An inexhaustive list of sensitive information includes:

  • Hardware serials - can be used to uniquely identify a computer and in turn be linked to the person who purchased or was using it.
  • DNS leak - if DNS queries are leaking, an ISP or any on-path eavesdropper can log the sites that are visited.[7]
  • IP leaks - a user's external (ISP-facing) IP address can be used to identify an individual as well as their location.
  • Personally identifiable information (PII) - information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context.[8].

Origin of Leaks[edit]

Even if sensitive data is only a very small proportion of the total, it is extremely difficult to block all available leak avenues. Information leaks have several primary causes:

  • Misbehaving applications (buggy software) - programs that do not function as intended, leading directly to data leakage or causing other applications they interact with to leak.
  • Deliberate (Backdoors) - a backdoor is a method, often secret, of bypassing normal authentication or encryption in a computer system, product, or embedded device (like a home router), or its embodiment which forms part of a cryptosystem, an algorithm, a chipset, or a "homunculus computer".[9]
  • Mis-configured applications - some applications can leak sensitive information if configured improperly. For instance, VPN clients can leak DNS queries. Other applications that can be used to block information leaks, such as iptables, may be ineffective if configured improperly.
  • Software vulnerability - a weakness which allows an adversary to reduce a system's integrity, availability, authenticity, non-repudiation and confidentiality of user data.[10][11]

Whonix Framework[edit]

The Whonix Concept is agnostic about everything. With some development effort you can replace any component. The Whonix developers would like to support each and any use case, but due to limited amount of developers this is impossible and we focus on the Whonix Example Implementation.

The Tor network is Whonix's official and best supported anonymizing network. Whonix can also potentially and optionally use other anonymizing networks (Such as JonDo, I2P, Freenet, RetroShare), either in addition (tunneled through Tor) or as a replacement for Tor. See the article for more information.

You can also avoid using virtualization by using Physical Isolation without any virtualization, although that is not recommended, see Comparison of different Whonix variants‎ for more information.

It is possible to use other virtualization platforms than VirtualBox, e.g. Qubes (which is based on XEN), VMware, KVM, XEN, QEMU, Bochs, etc. (See Dev/Other Virtualization Platforms.).

Other operating systems (e.g. Windows; *nix; BSD; etc.) can potentially be used as host and/or guest operating system. See the Other Operating Systems for more information.

Design[edit]

A robust "security by isolation" model is incorporated into the Whonix framework to counter the ever-present threat of information leaks. This model is composed of four (three when using physical isolation)[12] unique, but essential components.

  • Hypervisor - also referred to as a virtual machine monitor. This is software, firmware, or hardware that creates and runs virtual machines. Several elements are involved:
    • The computer on which the hypervisor runs is called the host.
    • The hypervisor in turn runs virtual machines which are called guest machines. The hypervisor provides hardware virtualization which hides the characteristics of a computing platform from the user, instead presenting an abstract computing platform.
    • This platform virtualization -- creation of a virtual machine that acts like a real computer -- is performed on a given hardware platform by host software (a control program).
    • The host software creates a simulated computer environment; a virtual machine (VM), for its guest software.
    • The guest software executes as if it were running directly on the physical hardware.
    • Due to these factors, Whonix is able to isolate the the virtual machines from the actual computer hardware. This prevents the virtual machines from accessing sensitive information on the host OS or from each other.[13][14]
  • Whonix-Gateway - the first of two VMs that make up Whonix. The function of Whonix-Gateway is to run Tor processes and force all traffic through the Tor network. This is done through a modest application of iptables, which blocks network traffic from passing through any other channel besides the dedicated Tor gateway. As mentioned earlier, the hypervisor enforces the isolation between the two VMs used in Whonix. Consequently, any malware that might infect Whonix-Workstation (the second VM) will not compromise Whonix-Gateway or the host.
  • Whonix-Workstation - the second of two VMs, the Workstation is responsible for running user applications. This includes any pre-installed or custom-installed user applications. Since Whonix-Workstation is isolated from both the Whonix-Gateway and host OS, if an application misbehaves or is exploited by an adversary, this will be contained in the isolated Whonix-Workstation. Unless an advanced adversary is able to break out of the VM, there is no way for hardware serials or the externally-facing IP address to leak; Whonix-Workstation is simply unaware of sensitive information. Moreover, DNS leaks are eliminated since all DNS requests are sent over the Tor network via the Whonix-Gateway.
  • Tor -Tor is an anonymity network which helps users defend against traffic analysis, network surveillance and privacy threats. Tor protects users by bouncing their communications around a distributed network of relays.[15]

Whonix Concept[edit]

Whonix is an Isolating Proxy with an additional Transparent Proxy, which can be optionally disabled. (See Stream Isolation).

Security Overview[edit]

In layman's terms[edit]

Shut up or put up! Is Whonix safe?

It is in the nature of security related software, that there is no 100% safety. Believe it or not, we use it ourselves and we keep maintaining and developing it. We believe that Whonix is safer than other tools in some aspects, threat models, and use cases. There is detailed reasoning for such claims on the Whonix Homepage.

If you are more paranoid or have higher security needs, read everything, full documentation and full technical design, you'll learn about physical isolation and build Whonix from source code and so on.

And no, Whonix does not claim to protect from very powerful adversaries, to be a perfectly secure system, to provide strong anonymity, or to provide protection from technically advanced surveillance and similar.

See also Whonix is a work in progress.

At first glance this site may create the impression that Whonix is completely insecure and everything is a lost cause. We are upfront with things we could do better and we are still working on and try to consider all possibilities and document all thinkable and future threats. You must judge for your own which risks are acceptable for your use cases.

With more technical terms[edit]

It is difficult to write a summary of Whonix security features. Both anonymity and security consist of so many different aspects. That's why there is lots of Documentation and the whole Technical Design.

The Technical Design intends to document security philosophy, design, goals and current shortcomings of Whonix.

This chapter is only a short introduction. Please read the full Design.

Whonix follows the principle of security by isolation. We know that making our currently used systems secure is a lost cause. They are too complex and too large to be trustworthy and verifiably free of any bugs. Whonix can't solve this but it tries to minimize attack surfaces and limit what danger exploitable bugs in more exposed parts can do, one primary danger specific to Tor is the danger of exposing the public IP address of a system. Whonix isolates client applications inside the Whonix-Workstation from discovering the external IP address. Specifically, Whonix is designed to prevent direct detection of the IP (not more!) even if an adversary has unrestricted access to the Whonix-Workstation.

Once there is a vulnerability found in Tor (ex: exploiting Tor's ports) or a successful attack against Tor, Whonix fails.

Same goes for iptables. Whonix is a setup based on Linux, iptables, Tor, etc. If any of the underlying projects has a vulnerability, which we can not rule out, of course, Whonix will fail as well.

Whonix also has limited countermeasures and protections against most classes of side-channel attacks.

In summary, Whonix does not claim to be a perfectly secure system or able to provide anonymity if one faces a very powerful adversary, and so on.

There are three ways to torify. Read the link for a comparison of the security.

Whonix-Workstation has no access to the internet without going through Tor. You can look into our setup. It is all Open Source and well documented.

Whonix uses multiple security layers.

  1. IP-forwarding is disabled.
  2. IPv6 is disabled.
  3. The firewall fails "closed": when Tor is disabled, loses connection, or the Whonix-Gateway crashes, no network connections are possible.
  4. Iptables redirects any traffic from Whonix-Workstation to Tor's ports. Local network connections are dropped. No leaks are possible, assuming the TCB is trustworthy.
  5. Applications are configured correctly using latest suggestions (correct application and proxy and other privacy settings, Stream Isolation).
  6. Firewall rules are enforced and prevent accessing the internet directly, thus leaks are prevented in case some application leaks.
  7. Optionally, Physical Isolation is documented.
  8. Protocol-Leak-Protection and Fingerprinting-Protection.
  9. Whonix's Secure And Distributed Time Synchronization Mechanism.
  10. Check.torproject.org is checked (see whonixcheck) anyway, even though we are sure, that there are no leaks.
  11. Built in update notification for operating system updates, Tor Browser version and Whonix version (see whonixcheck).
  12. Comprehensive, growing Documentation.
  13. Comprehensive, growing Technical Design.
  14. Openness about weaknesses, shortcomings, etc.
  15. Cryptographically signed binary builds and git source code tags.
  16. ...

Whonix was tested for leaks, see Dev/Leak Tests. All went negative. Additionally, Skype, which is known for it is ability to punch through firewalls, was not able to establish non-torified connections. Also BitTorrent doesn't leak the IP (there is an online bittorrent leak tester), which of course should never be used through Tor (because it chokes Tor nodes), but for leak testing it was welcome. Right now we don't know of any leak tests which leaks the real IP.

Whonix is safe (not affected) from Protocol leaks, like this the ones listed on Security in Real World, Skype, Flash or BitTorrent. This already justifies to use a "no non-Tor connections possible" approach.

When you go ahead now, and ask in a hacker forum, they probably won't spread a simple method to get the real IP of Whonix-Workstation. On the other hand, if you run an intelligence service and have 100.000 $ left over, you can announce something like "find a new exploit in Tor's SocksPort and get 100.000 $". Qualified people start looking into it and might find something.

See Also[edit]

Footnotes[edit]

  1. https://en.wikipedia.org/wiki/Information_leakage
  2. https://en.wikipedia.org/wiki/Data_breach
  3. Since Whonix 0.2.1, Whonix-Gateway traffic is also routed over Tor. In this way, use of Whonix is hidden from persons or systems observing the network.
  4. To preserve the anonymity of a user's Whonix-Workstation activities, it is not necessary to torify Whonix-Gateway's own traffic.
  5. For reader interest: If DNS settings on Whonix-Gateway are changed in /etc/resolv.conf, this only affects Whonix-Gateways's own DNS requests issued by applications using the system's default DNS resolver. By default, no applications issuing network traffic on Whonix-Gateway use the system's default DNS resolver. All applications installed by default on Whonix-Gateway that issue network traffic (apt-get, whonixcheck, timesync) are explicitly configured, or forced by uwt wrappers, to use their own Tor SocksPort (see Stream Isolation).
  6. Whonix-Workstation's default applications are configured to use separate Tor SocksPorts (see Stream Isolation), thereby not using the system's default DNS resolver. Any applications in Whonix-Workstation that are not configured for stream isolation - for example nslookup - will use the default DNS server configured in Whonix-Workstation (via /etc/network/interfaces), which is the Whonix-Gateway. Those DNS requests are redirected to Tor's DnsPort by Whonix-Gateway's firewall. Whonix-Gateway's /etc/resolv.conf does not affect Whonix-Workstation's DNS requests.
  7. [1]
  8. https://en.wikipedia.org/wiki/Personally_identifiable_information
  9. [https://en.wikipedia.org/wiki/Backdoor_(computing) https://en.wikipedia.org/wiki/Backdoor_(computing)
  10. https://en.wikipedia.org/wiki/Vulnerability_(computing)
  11. [2]
  12. Whonix uses three components when using physical isolation, non-virtualization. Whonix-Workstation, Whonix-Gateway and Tor
  13. https://en.wikipedia.org/wiki/Hypervisor
  14. https://en.wikipedia.org/wiki/Platform_virtualization
  15. https://en.wikipedia.org/wiki/Tor_(anonymity_network)

Random News:

Have you read our Documentation, Technical Design and Developer Portal links yet?


https | (forcing) onion

Share: Twitter | Facebook

This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.

Whonix is a licensee of the Open Invention Network. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Libre Software license as Whonix itself. (Why?)