Security-Focused Operating System Comparison as Base for Whonix

From Whonix
< Dev
Jump to navigation Jump to search

Comparison and Consideration of various Operating Systems as base for the Whonix Anonymous Operating System. Design Documentation.

Introduction[edit]

This chapter applies to the host(s), Whonix-Gateway and Whonix-Workstation.

Whonix Example Implementation is currently based on Debian. Historically there have been development discussions about switching to BSD, Alpine Linux or other secure operating systems.

Whonix can't protect against malicious code inserted into upstream operating system infrastructure. Debian ensures some chain of trust as it requires contributors to sign commits.

Why not Use a Live CD/DVD as the Whonix-Workstation Operating System?[edit]

This option was previously discussed in depth and it was decided that Live CD/DVDs are not suitable for Whonix-Workstation.

Advantages:

  • Often actively maintained.
  • Stabilized.
  • Hardened GNU/Linux distribution.
  • Advanced features.

Disadvantages:

  • No timely security updates.
  • Limited persistence.
  • Inflexible design.

Another serious disadvantage of Live CD/DVDs in the context of an anonymity-oriented OS is that they often have their own method of Tor enforcement included. In Whonix, this would result in a Tor over Tor scenario.

Why don't you use <your favorite most secure operating system> for Whonix?[edit]

Generally[edit]

Why do you use Debian, and not...?

General Base Operating System Requirements:

  • usability: acceptable usability
  • popularity: must be somewhat popular, because only that leads to sufficient public scrutiny and enough available documentation.
  • legal: For redistribution of Whonix, there are no legal/trademark issues such as with Ubuntu, see #Ubuntu Legal Issues chapter below for details.
  • package manager security: Must have a secure operating system updater (package manager), i.e. must not fall through the TUF Threat Modelarchive.org. Not having a secure updater is very dangerousarchive.org.
  • binary distribution: Source based distributions take a long time for upgrading and installation of packages, which users complain about. The same or even better security characteristics can be reached with deterministic (reproducible) builds.

Debian is a good compromise of security and usability.

The following list of distributions either fail or pass the requirements for the Whonix threat model.

Ubuntu[edit]

Ubuntu Introduction[edit]

Ubuntu is not used as Whonix-Gateway/Workstation operating system for legal reasons (see below) and was lately negatively perceived due to privacy issues [1], so it is recommended against to use it as host operating system as well.

Whonix 0.4.4 and above based on Debian. Previously Whonix was based on Ubuntu. From technical perspective, Ubuntu was a good choice, see About Ubuntu if you are interested. The switch was due to Ubuntu Trademark issues, see below.

Ubuntu Legal Issues[edit]

About Ubuntu Trademarkarchive.org and Ubuntu termsarchive.org generally are complicated. Since Whonix changes are beyond a remix (as defined by Ubuntu Licensing), Whonix would either to have to ask for a license, which they reserve to revoke. Such a legally insecure state is not acceptable. Or Whonix would have to rebrand Ubuntu. It would be possible in theory, but in practice it would require a lot work to remove all Ubuntu strings. Even new apt mirrors would be requiredarchive.org, which is much beyond the manpower of the Whonix project.

References:

Debian is much more Libre without any legal issues. According to Debian project leader Stefano Zacchiroli (in private mail), there are no trademark issues as long as the derivative does not claim to be Debian. This is also clarified in Debian trademark policyarchive.org which is easy to comply with.

Derivatives of Debian are even encouraged to use Debian infrastructure, see Derivatives/Guidelinesarchive.org. Debian even supports derivatives. There is a lot documentation, see Derivativesarchive.org and even a debian-derivatives mailing listarchive.org.

Mac OS X[edit]

Mac OS X can not be used for legal reasons. Even if that were not a problem, it is still a proprietary, closed source operating system, We don't like their attitude and how they (not) communicate with the security community. Also see: Apple Took 3+ Years to Fix FinFisher Trojan Holearchive.org.

Fedora[edit]

Fedora yet did not fall through Whonix threat model and could be considered as host and future or alternative Whonix-Gateway/Workstation operating system. Also Qubes OS, an operating system focusing on security by isolation, is based on Fedora. Started considering it, help welcome, see Dev/Fedora.

phone home issue (says closed but is unfixed):

https://github.com/QubesOS/qubes-issues/issues/1814archive.org

https://github.com/QubesOS/qubes-issues/issues/1919#issuecomment-691545936archive.org

https://github.com/QubesOS/qubes-issues/issues/1919#issuecomment-689245921archive.org

https://arstechnica.com/information-technology/2016/12/how-to-make-linux-more-trustworthy/archive.org

https://forums.whonix.org/t/port-whonix-to-fedora-as-base-operating-system/16528archive.org

Qubes[edit]

Implemented as Qubes-Whonix.

Debian GNU/Hurd[edit]

Not ready for mainstream use, in active development. Microkernel makes device compatibility harder.

Gentoo / Hardened Gentoo[edit]

There was an effort to port Whonix to Gentoo a long time ago.

  • That effort has been abandoned.
  • Only preliminary research was done and a few contributions to Securix-Linuxarchive.org (a build script for Hardened Gentoo).
  • Was considered as an additional port of Whonix to Hardend Gentoo. Not necessarily leading to the deprecation of Debian based Whonix.
  • Historical archive of that effort can be found here: https://github.com/Whonix/Gentoo-Port/issuesarchive.org
  • Started in December 2014.
  • Only 2 years after Whonix had been founded. By that time, Whonix had a much smaller feature set and its base distribution (Debian), user base, focus on usability was much less enshrined at that time. In other words, Whonix was less established and more flexible at the time.
  • Ended in January 2015.
  • Something similar would most likely not be interesting anymore nowadays.

Insecure package manager. Back then bug reports got closed down without much regard.

In this regard, Hardened Gentoo does not differ from Gentoo.

Due to the way these bug reports were handled, Gentoo was removed from the candidates of secure base operating systems.

In Patrick's opinion mortal users are unlikely to learn how to use them. [2]

Alpine Linux[edit]

Quote https://www.alpinelinux.org/about/archive.org

Alpine Linux was designed with security in mind. All userland binaries are compiled as Position Independent Executables (PIE) with stack smashing protection. These proactive security features prevent exploitation of entire classes of zero-day and other vulnerabilities.

That doesn't sound super secure since other distributions do that too. Any other security features?

At first sight it looks like alpine's package manager suffers from the same issues as gentoo's. (Being vulnerable to indefinite freeze and downgrade attacks.) TODO researcharchive.org

The question to ask is "Does the package manager pass the TUF Threat Model?"

The Update Framework (TUF) - Attacks and Weaknesses:

One can ask the TUF people, who are in my experience very friendly and helpful, for their opinion on their mailing list: https://groups.google.com/g/theupdateframeworkarchive.org

Arch Linux[edit]

Arch Linux Distro Previewarchive.org

Devuan[edit]

Whonix is systemd based distribution. Whonix is not anti-systemd.

Whonix lead developer isn't convinced of anti-systemd arguments justifying moving to a non-systemd distribution.

Non-systemd is unsupported because no contributors support this use case.

https://forums.whonix.org/t/why-whonix-uses-linux-with-systemd/6920archive.org

https://linuxiac.com/devuan-forgot-to-renew-the-key-that-signs-system-updates/archive.org

NixOS[edit]

Doesn't really care about the OS itself to hardenize it, It just care about Nix package manager. So to expect from them caring about OS security is sorta faraway.

They dont use MAC/Namespaces by default. (MAC: Apparmorarchive.org and Namespaces: firejailarchive.org are Turned OFF by default, While SElinux is unsupportedarchive.org yet)

GuixOS[edit]

MAC/Namespaces support doesnt exist in GuixOS yet.

More: GuixSD Distro previewarchive.org and Dev/Default_Application_Policy#guix

Hyperbola[edit]

Voidlinux[edit]

  • Their main developer left the project,they lost access to their resourcesarchive.org like github, IRC, Domain..etc. (some of them regained access to only)
  • Another sad loss of the project was the passing away of Jürgen Buchmüller (pullmoll)archive.org, one of their main maintainers.
  • After almost 6 years they switched backarchive.org from libressl to openssl
  • They do not sandbox their packages with MAC/Namespaces by default. Only xbps-src which is the package builder but not for sandboxing packages within their distro.

SubgraphOS[edit]

There are several reasons why Whonix has decided not to use the Subgraph projectarchive.org platform.

Table: Whonix Rationale

Domain Reasoning
Development
  • Future Roadmap: Basing Whonix on Subgraph would tie our future to the viability of another project. It is not ideal to rely on an OS in alpha status, particularly when the Debian alternative is rock solid and has decades of development behind it.
  • Features: Subgraph has some undesirable feature additions that add no value. Whonix cannot benefit from Subgraph's manpower if the goals for the development roadmap are fundamentally different.
  • Bugs: The plentiful Subgraph bugsarchive.org would become Whonix bugs and developers would depend on them for fixes.
  • Programming Language: Subgraph choose different programming languages (like Golang) that are unfamiliar to lead Whonix developers, making customization or modification very difficult.
  • Desktop Environment: Whonix Developer HulaHoop has noted that Subgraph features completely rely on the GNOME desktop environment. This is undesirable because it is visually unappealing, has an over-simplified interface and would require any "cloud integration" elements to be removed. Configuring GNOME to approach the specifications already achieved in Whonix would require a lot of effort.
Source Code / Software
Collaboration To date, there has been no cooperation from the Subgraph project developers to correct any of the issues outlined in this section.

OpenBSD[edit]

This FAQ entry addresses the suggestion that Whonix should be based on OpenBSD rather than Debian. The opinion provided below is based on the perspective of Whonix developers. [6]

The OpenBSD FAQ states: sourcearchive.org

OpenBSD is thought of by many security professionals as the most secure UNIX-like operating system, as the result of a never-ending comprehensive source code security audit.

The landing page for OpenBSD also notes: [7]

Only two remote holes in the default install, in a heck of a long time!

To OpenBSD's credit, they have a solid reputation for taking security seriously. For example, the development team has adopted these principles: [8]

  • A strong focus on cryptographic approaches towards fixing security problems.
  • Full disclosure of security bugs and speedy fixes.
  • An auditing team of 6-12 members (including ex-corporate security researchers) continuously searches for and fixes security holes; a process underway since 1996. [9]
  • Development of new technologies, such as additional memory protections.
  • Shipping the OS in a "Secure by Default" mode with all non-essential services disabled.
  • Contributing to research -- a number of security papers have been written by OpenBSD team members.

Despite these strengths, the primary downside to adopting OpenBSD relates to the estimated size of the user base:

  • bsdstats.orgarchive.org, suggests OpenBSD has few users. While bsdstats is not representative of the total population of OpenBSD users due to the opt-in data collection program, 9 systems at the time of writing is a very small figure. By comparison, TrueOS has over 15,000 users in 2019.
  • Although unscientific, DistroWatcharchive.org also shows OpenBSD attracts far less interest than popular Linux distributions.
  • OpenBSD is estimated to have less than 10 percent of total BSD market share. [10]
  • Estimates of BSD market share across all categories (desktops, servers etc.) is tinyarchive.org.

One valid concern is that if a critical mass of users does not gravitate to OpenBSD, then naturally less human resources ("eyeballs") in the population will be searching for, identifying, and remedying security flaws. While the audit team is skilled, a relatively small number of people must inspect code across an entire operating system. As a result, this could potentially aid targeted attacks or other exploits. [11] [12]

In comparison, alternatives like Debian have a large user/contributor base, a similar focus on securityarchive.org, renowned stability, and a solid reputation in security-critical environments such as web servers. [13] It is also strongly contested that BSD variants have innovative security improvementsarchive.org that provide greater protection than modern platforms like Qubes OS; see Qubes Security.

openSUSE[edit]

FreeBSD[edit]

This FAQ entry addresses the suggestion that Whonix should be based on FreeBSD rather than Debian. The opinion provided below is based on the perspective of Whonix developers. [14]

It is difficult and time consuming to try and list all the disadvantages of using FreeBSD, such as highlighting non-existent security features. The onus is on FreeBSD proponents to manually search for relevant features (or lack thereof) and present an objective case for its adoption.

To avoid presenting information that will quickly become out-of-date or that may insult FreeBSD adherents, it is better to avoid definitive security statements and instead ask appropriate questions which might affect the usability, security, anonymity and wide-scale adoption of Whonix. For instance:

  • Does FreeBSD have a secure-by-default update mechanism?
  • By default, will every (new) user download come from an existing signed repository?
    • If not, what special settings are required?
    • Are users expected to run their own repository?
  • Does FreeBSD defend against outdated metadata; for example, can a man-in-the-middle use a roll back or freeze attack against the repository?
  • Does FreeBSD defend against various attacks on package managers?archive.org
  • Does FreeBSD defend against attacks on the software update process by using the TUF threat modelarchive.org?

Research which might provide a strong case for FreeBSD does not exclude the possibility of weaknesses or missing security features. The best way to determine the strength of the platform and its relative resilience is to directly ask the developers of that project. Honest replies can reasonably be expected from vibrant, open source communities.The only problem is, the Linux/BSD ecosystems have hundreds of distributions and it is a daunting prospect to rank their merits in this way.

Ultimately, the burden of proof falls on FreeBSD advocates (and not Whonix developers) to prove that it is the most secure distribution available. Properly researched contributions that answer the questions above would be a good start, along with possibly approaching FreeBSD developers directly. Alternatively, research into why various aforementioned protections are not necessary to improve security would also be welcomed. Until claims about FreeBSD are substantiated, one should not take offense that it has not already been adopted.

To check for FreeBSD security features see: https://wiki.freebsd.org/CategorySecurityarchive.org

OpenWRT[edit]

OpenWRTarchive.org is not used for the same reasons outlined above. Further, in early 2018 OpenWRT did not have signed packagesarchive.org.

Tails[edit]

How is Whonix Different from Tails?[edit]

See Comparison with Others.

Why not Merge with Tails and Collaborate?[edit]

The following is a subjective opinion by lead Whonix developer Patrick Schleizer. [15] Feedback, corrections and suggested improvements are welcome.

Tailsarchive.org is a respected project with similar goals to Whonix - improved anonymity, privacy and security. Tails has existed for many years and has multiple developers, significant experience and a complete working infrastructure. Whonix and Tails developers already cooperate to some degree and discuss things of mutual interest to both projects on various developers mailing lists like whonix-devel, tails-devel and secure-os.

Whonix and Tails Collaboration[edit]

Several parts of Whonix are based on Tails. For example, the development of sdwdate in Whonix was reliant upon Tail's invention of tails_htp. Whonix also profits from Tails' previous efforts to upstream packaging and other changes in Debian, current and historical discussions in various forums, Tails research, design documents, experience, feedback and so on.

Other examples of Tails and Whonix cooperation include:

Why Whonix is a Separate Project[edit]

Even though Tails is highly valued by Whonix developers, it may not be clear to the reader why Whonix remains a separate project and not just a contributor to Tails. There are several reasons for this decision: Whonix cannot be merged into Tails by the Whonix team on technical, skill and political grounds; implementing features or changes in Tails is an unfamiliar process; and it is unknown when/if Whonix priorities will be implemented in Tails -- but it is known how to solve these in a separate project (at least with appropriate user documentation).

Further examples are outlined in the table below. Note that some of these items are partially or nearly solved in Tails, but it is has been kept to justify the prior decision not to merge projects.

Table: Whonix and Tails Design and Functionality Comparison

Tails Issue Tracker (TODO) Whonix Design / Instructions
Remember installed packagesarchive.org By design, everything persists [17]
Applications Auditarchive.org By design, protocol leaks cannot lead to deanonymization
Two-layered, virtualized systemarchive.org By design, this is achieved by either software compartmentalization (VMs) or Physical Isolation
VPN supportarchive.org VPN / Tunnel support
Freenetarchive.org over Tor Freenet
obfsproxyarchive.org [18] Bridges
Can I hide the fact that I am using Tails?archive.org Hide Tor and Whonix from your ISP
I2P over Torarchive.org [19] I2P
Transparent Proxy as a fallback mechanismarchive.org By design, everything not configured to use a SocksPort will automatically use Tor's TransPort
Use Tor Browserarchive.org Tor Browser
Stream Isolationarchive.org [20] Stream Isolation
Evaluate web fingerprintarchive.org [21] Same as Tor Browser
Unsafe browser fingerprintarchive.org Logging in to captive portals
Location Hidden/IP Hidden Serversarchive.org Location/IP Hidden Servers
VoIParchive.org VoIP
... ...

Political and Design Considerations[edit]

There are also significant differences in political and design decisions which prohibit a merger:

  • As a code contributor to Tails, Patrick Schleizer would need to accept decisions made via internal Tails decision-making processes. Whonix would lose the autonomy to simply modify anything in line with personal preferences or favored solutions. [22] At the time Whonix was created, Schleizer did not favor a Live DVD/USB approach and personally found improving Tails to be far more difficult than starting a fresh project.
  • Source Code Merge Policy:
    • Whonix: A comprehensive merge policy has not yet been developed. This would be ideal, but it is not compulsory to formulate such a design or associated documentation.
    • Tails: In Schleizer's opinion, the Tails merge policyarchive.org is too strict. This is not a complaint or critique. No doubt there are good reasons for that decision and it should be noted that Tails is still a popular and effective solution for many users. Anyone who does not agree has the freedom to contribute to another project or to start a new project, leading Schleizer to make use of that freedom.
  • Another major design difference is Tails' reliance on a Live DVD/USB which inherits some restrictions and limitations. Tails must fit on a DVD/USB, while Whonix does not have this requirement. Whonix also has higher hardware requirements, but therefore more space to implement features. As a consequence, initially fewer people are able to use Whonix, but this situation will improve in the future as available hardware improves. The Whonix design is fluid and new designs (both theoretical and practical) are being discovered over time. Depending on user feedback and general interest, eventually a Live DVD or Blu-ray might be created in Whonix.
  • Schleizer has found it easier to cooperate with the security by isolation focused operating system Qubes OSarchive.org, which resulted in Qubes-Whonix.

Minimal Distribution Disadvantages[edit]

The primary reason for the large size of the images is that small/er distributions do not meet Whonix requirements; namely the upstream distribution must have a proactive security policy. In addition:

  • Most minimal distributions are small projects. Consequently, there is no dedicated security team that audits packages and quickly releases security patches.
  • Whonix requires a distribution that cryptographically signs all updates. [23]
  • The security of minimal distributions is premised on reducing the potential attack surface and not much else. Whonix also has a small attack surface, due to only installing a few select applications and not having any network listening services by default. However, on the upside a full distribution supports MAC, kernel patches, IDS and much more.
  • Large, established projects have many users and developers - the many eyeballs on the code implies greater trustworthiness.
  • Debian has a significant number of security featuresarchive.org that are unavailable in smaller distributions.
  • For further reading on this topic, see Operating System.

Maintenance and Usability Concerns[edit]

Since Whonix is based on Debian, it is a complete, anonymity-oriented, general purpose operating system. This greatly improves usability in comparison to minimal systems which lack a host of features.

There are several other benefits of relying on Debian, rather than a minimal distribution:

  • A wider range of use cases is supported, such as hosting onion services. In contrast, small distributions usually have limited repositories.
  • Debian has comprehensive documentation about topics like security and hardening, unlike many small distributions.
  • Creating a slim system increases the maintenance burden, because it is difficult and requires significant development time. This is not and should not be the primary focus of the Whonix team.
  • Minimal projects do not usually focus on anonymity, privacy and security-related matters; the core competence of the Whonix project.
  • Attempts to slim down systems inevitably results in numerous "strange bugs". Users who are familiar with Debian or Ubuntu would then question why Whonix is broken or lacks full functionality.

It should be noted that by increasing usability, Whonix actually improves security over time. This stems from a larger user pool, a more prominent profile in the press, increased development activity and additional security audits and research. On the contrary, a slimmed down system would only attract specialists or experts. [24]

An interesting analogy is Mixminionarchive.org, which was once touted as an alternative to Tor. [25] Due to Mixminion being a high latency remailer, with cover traffic and protection against traffic confirmation (end-to-end correlation attacks), it should theoretically have been more secure than Tor. The only problem was that Mixminion did not attract a critical mass of users. Without a sizable population to help disguise traffic, the putative anonymity benefits were seriously degraded - making it no more or less (in)secure than Tor. [26]

Debian[edit]

General[edit]

Whonix is based on Debian.

Reasons for being based on Debian:

  • stable distribution
  • exists for years
  • will likely still be around in 10 years
  • attempts to sow dissent failed [27]
  • massive architecture support [28]
  • secure package manager
  • As per checksec.sharchive.org --kernel, reports good kernel protection: GCC stack protector support, enforce read-only kernel data, restrict /dev/mem and /dev/kmem access are all enabled.
  • https://snapshot.debian.org/archive.org, hosted and signed by a trusted third party (Debian) [29], allows implementation of robust build scripts [30] and Verifiable Builds
  • config-package-devarchive.org allows creation of robust configuration packages
  • grml-debootstraparchive.org is a tool that allows creation of bootable raw images
  • Debian is working on ReproducibleBuildsarchive.org
  • huge knowledgeable community of Debian and their derivative users (stackexchange, debian forums, askubuntu and many more)
  • Debian Developers are very approachable at conferences
  • Tor has ties to Debian.
  • No legal/trademark issues.

General explanation, why so many distributions are based on Debian:

Also interesting:

Related:

Debian Security[edit]

Debian isn't (a | the most) security-focused Linux distribution. Under some threat models, Debian is judged insecure. Issues with Debian then would have to be considered deeper than technical, i.e. architectural, organizational, ideological issues. To put it another way (a lot | many | most) (?) Debian Developers don't prioritize security over everything else readily compromising other things such as package availability, features, usability, etc. That shouldn't come to a surprise. Debian slogan is "the universal operating system". Not "attempting to be the most secure operating system" and therefore Debian didn't attract that mindset. Debian consists of mostly volunteers that need to attend to day jobs which might arguably not be the best for security either.

Debian Signed Packages[edit]

prerequisite knowledge:

summary:

  • Debian build servers signs repository metadata.
  • Debian maintainers must sign their source packages. Otherwise uploads are automatically rejected.
  • Individual .deb packages are not signed by Debian maintainers.

tools:

  • debsign: Signs the .changes before upload. Does not sign packages. Always used in Debian.
  • debsig: embeds signatures into .deb packages. Not commonly used.
  • dpkg-sig: embeds signatures into .deb packages. Not commonly used.

steps toward making dpkg-sig sign all packagesarchive.org

There was once a bounty Build Debian Packages from Source Codearchive.org worth $ 3000 USD but no implementation was ever contributed.

forum discussion:
https://forums.whonix.org/t/end-to-end-signed-debs-debsign-debsig-and-dpkg-sig/3446archive.org

Why is Whonix based on Debian Stable, not Debian Testing?[edit]

A long time ago, Whonix was based on Debian Testing. Due to many issues documented below, for many releases already, Whonix is based on Debian Stable.

  • Connectivity breaking bugs: Sometimes severe bugs are introduced in Debian testing, such as the AppArmor bugarchive.org, which prevented Tor from starting for everyone until a workaround was applied.
  • Build process breaking bugs: Sometimes bugs are introduced which break derivative-maker (build script), such as thisarchive.org bug related to mount, which breaks grml-debootstrap and therefore derivative-maker or thisarchive.org kpartx bug.
  • Boot breaking bugs: Often other disturbing bugs are introduced, such as the grub bug (not able to reproduce and report upstream yet).
  • VirtulaBox Guest Additions breaking bugs: Non-functional VirtualBox Guest Additions or issuesarchive.org with shared folders.
  • Higher upgrade time effort: Too often, too many packages are upgraded (not just security fixes) (costs lots of time to keep up, bandwidth, system load).

If you want to have a secure (and stable) server you are strongly encouraged to stay with stable.

    • Debian stable receives security fixes faster than Debian testing. For example, by 12/15/2016 Debian jessie was Debian stable and Debian stretch was Debian testing. CVE-2016-1252archive.org was fixed in Debian stable but not in Debian testing, see Debian security tracker by 12/15/2016.
  • Permanent package removal: Sometimes packages get entirely removed from Debian testing, such as enigmail wasn't available for a while in Debian testing.
    • Support request overhead: This is confusing and constantly creating support requests.
  • (Temporary) package removal: Sometimes packages are (temporarily) removed from Debian testing.

torsocks (- to 2.4.0-1)

Migration status for torsocks (- to 2.4.0-1): BLOCKED: Rejected/violates migration policy/introduces a regression
Issues preventing migration:
Updating torsocks would introduce bugs in testing: #1066313archive.org

The package has not entered testing even though the delay is overnormal
The package has not entered testing even though the 5-day delay is over. Check why.

      • Such package removal would break the Whonix build process due to the missing dependency. (Whonix package uwt (implements stream isolation) Depends: on torsocks:.)
      • System upgrade breaking bugs: Such package removal can break system updates (apt-get dist-upgrade) due to missing dependencies. (Kicksecure or Whonix packages are often depending on such packages.)

Debian Rolling[edit]

Does not exist.

https://lists.debian.org/debian-devel/2011/05/msg00111.htmlarchive.org

Popularity Contest[edit]

The Debian popularity-contest (popcon) package does not get installed on Whonix. Installing it gets prevented by the anon-banned-packagesarchive.org package.

popcon readmearchive.org | popcon faqarchive.org | popcon bugsarchive.org | popularity contest mailing listarchive.org | popularity contest mailing list: Drop atime and ctime for privacy reasons possible?archive.org

Some privacy considerations and reasons why it is not installed:

  • The connection would obviously need to go over its own Tor circuit (stream isolation). At the moment popcon tries to go through http and if it fails (no internet connectivity) it goes into the mail queue. (sendmail) Sendmail probably works though TransPort, but we don't know if it can be torified for proper stream isolation.
  • (From the popcon readme) "Each popularity-contest host is identified by a random 128bit uuid (MY_HOSTID in /etc/popularity-contest.conf)." - This would allow to enumerate a quite good guess about the amount number of Whonix users. We are not sure if sourceforge could already have an insight about that (due to Whonix News File downloads, see whonixcheck) or about any other negative implications.
  • MY_HOSTID would probably get created at Whonix build time and all Whonix users would have the same MY_HOSTID, which would make it useless. A new MY_HOSTID would have to be created at first boot of Whonix.
  • Popcon runs at a random day. Good.
  • If the machine is powered on: it runs at 6:47, which is bad, because a local adversary (ISP or hotspot) could guess popcon runs over Tor which would likely be a Whonix user.
  • If the machine is powered off at 6:47, it sends the report later, only if anachron is installed. It shouldn't run instantly after powering on, also for fingerprinting reasons. The time would have to be truly randomized.
  • The transmission is not encrypted, see popularity-contest should encrypt contentsarchive.org and it is not planned to encrypt it. Malicious Tor exit relays could modify the transmission, but this is only a minor issue. Such malicious Tor exit relays could send fake transmissions on their own.
  • It is questionable if and if yes, how long Debian will accept popularity contest transmissions from Tor exit relays. There is potential for electoral fraud.

For these reasons it is not a good idea to add popcon to Whonix. If you have suggestions or a different view, please get in contact.

Criteria for Choosing a Base Distribution[edit]

Previously Compared but Removed[edit]

  • Devuan: Not useful to compare if the only difference is a different init system.

Missing Criteria[edit]

The following criteria are not yet part of the following comparison table but should be added.

  • Compile time hardening flags.
  • services enabled by default or not [31]
  • secure package manager
  • onion repositories
  • permission to use upstream repositories [32]
  • rebranding required
    • package name changes in the repository required
  • This is is non-exhaustive. What else?

Not applicable, valid, clear or related or suffers from a lack of information in general to be covered in the table yet:

  • The user's package manager verifies the package maintainer's and upstream developer's digital signature.
  • End-to-end signed packages
  • Untrusted packages (similar to Debian proposal UntrustedDebsarchive.org)
  • Daemons (systemd units) do not automatically start once package is installed (It is up to the package developer to have it not enabled by default on most all systems)

Previous Criteria[edit]

  • Vanguards available: dropped because unmaintained upstream
  • Onionbalance available: dropped because not too important, if needed can be manually installed

Minimum Criteria[edit]

Since most distributions have it, this is considered a minimum criteria. If not available, the distribution does not need to be added below.

  • Tor available
  • Wayland available
  • Pipewire available

Comparison Table[edit]

Figure: Base Operating Systems Criteria Comparison Table

Debian GNU/Linux Void Linux Alpine Linux openSUSE Tumbleweed openSUSE MicroOS GNU Guix
Good Usability Yes [33] No No Yes [34] Yes [35] No ?
The Update Framework (TUF) threat modelarchive.org Pass Yes ? ? Yes ? Yes ? Yes ?
Minimal Number of Services by Default No Yes [36] Yes [37] Yes Yes Yes [38]
Mandatory Access Control Policy Enforced by Default Yes No No Yes Yes No
Transactional updates by default No No No Yes Yes No
Option to secure rollback after update by default No No No Yes Yes No
Distribution package source code signed by distribution package maintainer Yes [39] Yes ? Yes Yes ?
Package maintainer digital signature is verified by the distribution's build server. Yes ? ? Yes Yes ?
Package Manager Explicitly Uses HTTPS only No [40] ? ? No [41] Yes ?
Reproducible Buildsarchive.org (deterministic builds) No [42] ? No [43] ? [44] ? ?
Source-based distribution No ? ? No No Yes [45]
Kicksecure logo Verified Boot The Web Archive Onion Version No ? ? Yes? Yes? ?
Non-systemd Init No Yes Yes [46] No No Yes
Musl Libc No Yes Yes [47] No No No
Hardened Memory Allocator No No ? No No No
Hardened Kernel No No No No No No
Microkernel No No No No No No
Clang CFI No No ? No No No
Rolling Release No Yes Yes [48] Yes Yes Yes
No packages with many unfixed high severity security issues [49] No ? Yes Yes [50] Yes Yes
No packages security issues which are exploited in-the-wild [51] No ? Yes Yes Yes No [52]
VirtualBox Available Yes Yes ? Yes Yes ?
KVM Available Yes Yes Yes [53] Yes Yes Yes
EFI Booting Available Yes Yes Yes [54] Yes Yes ?
Secure Boot Compatibility with Firmware Default Keys [55] Yes ? No Yes Yes No
LibreSSL by Default[56] No No [57] No [58] No No No
Stateless/Immutable No No No No Yes No
Weak Dependenciesarchive.org (to avoid the metapackage issue) No ? ? Yes [59] Yes ?
no legal issues (such as this) Yes ? Yes ? ? Yes
On GNU FSDGarchive.org good listarchive.org and not on bad listarchive.org No No No No No Yes

ToDo List for Porting to another Base Distribution[edit]

Depending on base distribution:

  • make deprecation of Debian base clear to all Whonix users
  • porting deb packages to another package format
  • rewrite systemd unit files for another init system, possibly including using Bubblewrap to sandbox these
  • List non-exhaustive. What else?

Comparison of Hardening Compile Flags[edit]

Could be outdated!

Debian jessie:

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/bin/curl

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Partial RELRO   Canary found      NX enabled    No PIE          No RPATH   No RUNPATH   /usr/bin/gpg

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/bin/gpg2

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Partial RELRO   Canary found      NX enabled    No PIE          No RPATH   No RUNPATH   /bin/sed

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /bin/grep

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/bin/tor

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Partial RELRO   Canary found      NX enabled    No PIE          No RPATH   No RUNPATH   /bin/bash

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Partial RELRO   Canary found      NX enabled    No PIE          No RPATH   No RUNPATH   /usr/bin/gwenview

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
No RELRO        Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/lib/iceweasel/iceweasel

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Partial RELRO   Canary found      NX enabled    No PIE          No RPATH   No RUNPATH   /usr/lib/icedove/icedove

Securix (a derivative of Hardened Gentoo):

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/bin/curl

Error: Not an ELF file: /usr/bin/gpg: symbolic link to gpg2

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/bin/gpg2

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /bin/sed

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /bin/grep

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/bin/tor

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /bin/bash

TODO
  /usr/bin/gwenview

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/lib64/firefox/firefox

RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/lib64/thunderbird/thunderbird

Requesting a Port to a Different Base Operating System[edit]

Would you like to propose a transition of Whonix from Debian to another base distribution? Below are the procedural steps:

1. Establishing Expectations:

This most likely isn't as simple as a feature request. At the time of writing,

Porting these to a different base distribution different base distribution would be a monumental effort. Therefore the argument to change the base distribution would need to be compelling. The probability of this happening is therefore small.

The probability would be higher if volunteers would contribute to this goal through source code contributions. For example by contribution to genmkfilearchive.org (code review, bug fixing, unit tests, refactoring, adding support for other operating systems).

As an analogy, Whonix is similar to a super tanker. Once it's moving at speed it is difficult to change directions. It is not a racing car that can perform stunts.

2. Open an "informal" forum discussion.

This is because input from the community is desirable as well as there might be some weird distributions in theory where there would be instant rejection reasons. Perhaps a deprecated distribution or closed source distributions.

This is an example of how such a forum thread would go: Porting Whonix to Void Linuxarchive.org

3. Add the base distribution to the comparison table.

The first request that the project lead developer would probably make is "please add it to the comparison table" here: Criteria for Choosing a Base Distribution

Should this task appear excessively challenging, tedious, unrealistic etc. then this needs to be discussed. Perhaps there are easier ways to edit such a comparison table.

related discussions:

See Also[edit]

Footnotes[edit]

  1. Privacy in Ubuntu 12.10: Amazon Ads and Data Leaksarchive.org
  2. Examples of usability issues.
    emerge firefox
    * There is NOT at least 4 GiB disk space at "/var/tmp/portage/www-client/firefox-31.5.0/temp"
    

    What to do? Increase tmpfs size as per wiki.gentoo.org/wiki/Portage_TMPDIR_on_tmpfsarchive.org.

  3. https://github.com/subgraph/subgraph-os-issues/issues/153archive.org
  4. https://github.com/subgraph/subgraph-os-issues/issues/250archive.org
  5. Subgraph is a Debian derivative.
  6. Last updated in 2019.
  7. https://www.openbsd.org/archive.org
  8. https://www.openbsd.org/security.htmlarchive.org
  9. This has resulted in the discovery of entire new classes of security problems.
  10. https://en.wikipedia.org/wiki/Comparison_of_BSD_operating_systems#Popularityarchive.org
  11. One example previously cited is this years old bug which remains unfixed: security vulnerability - NTP not authenticatedarchive.org. Possibly limited human resources has impacted this bug which affects everyone using the distribution.
  12. This bug would also impact Whonix -- the suggested solution was to authenticate the connection to the NTP server, but this would not be possible for several reasons:
    • The Whonix design focuses on distributing trust and not using only one NTP server.
    • Further, Whonix depends on free services which are available to anyone, ruling out a solution that requires a personal server.
    • Even if Whonix used authenticated NTP, it has been pointed outarchive.org that the clock could not be moved more than 600 seconds. This is better than nothing, but still inadequate for adversaries who are capable of moving the clock more than 600 seconds, harming anonymity/privacy in the process (see Dev/TimeSync for further details).
  13. In fact, Debian's popularity and large contributor base has resulted in its adoption in around one-third of all Linux web serversarchive.org and led to an expansive software library of over 50,000 packages.
  14. Last updated in January 2018.
  15. Last updated in September 2018.
  16. https://github.com/Whonix/onion-graterarchive.org
  17. This is actually a disadvantage for anonymity because it is the opposite of an amnesic system, which many users prefer.
  18. Bridges were not natively supported by Tails when Whonix was founded.
  19. The I2P feature was removed in Tails 2.11archive.org due to the developer effort required.
  20. Tails has basic stream isolation functionality compared to Whonix.
  21. See also: https://tails.boum.org/contribute/design/#index19h2archive.org The bundling of uncommon extensions in Tor Browser like uBlock Origin increase the likelihood of fingerprinting Tails users specifically.
  22. One major advantage of free software is developers are free to disagree about a project's direction, leading to the creation of a fork.
  23. This is always desirable, particularly when updating over untrusted exit relays.
  24. This does not mean Whonix cannot be significantly hardened, customized or reduced in size by those with specialist knowledge.
  25. Consider this interesting statement from Tor developer Roger Dingledine: Mixminion vs Torarchive.org.
  26. This is also the reason development was discontinued.
  27. Debian is Free. Imagine how much money that must cost proprietary competiors from whom not all of them necessarily play by the law.
  28. Not just i386, amd64 and perhaps arm. Should any platform become "evil", Debian as the universal operating system offers options and is most likely to port to new platforms.
  29. From perspective of Whonix.
  30. Build script won't break due to upstream repository changes.
  31. https://forums.whonix.org/t/disable-newly-all-installed-services-by-default/9381archive.org
  32. For example, derivatives of Debian such as Whonix are permitted to use the packages.debian.org APT repository.
  33. Define of usability of "Debian Linux" as "good" since it is a baseline, a starting point since Whonix is currently based on it. There are Linux distributions which might have better usability such as Ubuntu, Elementary OS but also distributions which have worse usability by comparison. The definition of "good" here is not the usability of mainstream operating systems such as Android or iOS. See also Kicksecure logo Linux User Experience versus Commercial Operating Systems The Web Archive Onion Version .
  34. Stable and brand new, plays along with new hardware without breaking. The default system snapshots and easy rollbacks. Everything can be configured with YaST, arguably the most powerfull installation and configuration tool on GNU/Linux. Being able to configure the system in detail using a GUI very rare and valuable for usability for desktop GNU/Linux.
  35. Same as Tumbleweed, but also immutable, so it is really hard for the user to break the system.
  36. Since there is no default per se
  37. Since there is no default per se
  38. Since there is no default per se
  39. apt-get source hello If it shows:
    gpgv: Can't check signature: public key not found
    

    To fix:

    sudo apt install debian-keyring

    Signatures are in .dsc files and can be verified using dscverify, apt-get or manually using gpg.

  40. Can be configured to be this way
  41. Can be configured to be this way
  42. Debian is working on it.
  43. Alpine was taking action on this from 2019-2020, but https://reproducible-builds.org/citests/archive.org has Alpine currently listed as Disabled due to its continuous testing longer being maintained.
  44. Is there are reproducible ISO?
  45. Also binary on demand
  46. Alpine uses OpenRC, see the Alpine wiki pagearchive.org
  47. Alpine says on their organization home pagearchive.org that it runs on musl and BusyBox
  48. Alpine offers repositories for stable branch as well as their edge rolling release branch, as described in their wiki herearchive.org
  49. For a prolonged amount of time. https://web.archive.org/web/20201022174657/https://tracker.debian.org/pkg/chromiumarchive.org
    • 104 security issues in sid high
    • 104 security issues in buster high
    • 104 security issues in bullseye
  50. This problem is only relevant for stable release distros, where the trust to keep things secure is on distro maintainers. A rolling release being always upstream does not suffer from such problems. Only way this would be possible is if the distro provides abandoned packages in their repositories, which openSUSE does not.
  51. For a prolonged amount of time. Debian version of Chromium reported to be exploited in the wild. Quote https://www.theregister.com/2020/11/04/google_chrome_critical_updates/archive.org

    Patch Google Chrome with the latest updates – if you don't, you're vulnerable to a zero-day that is actively being exploited, the US Cybersecurity and Infrastructure Security Agency (CISA) has warned.

    Criminals are targeting users of Chrome with outdated installations, CISA said in an advisory note urging folk to update their browsers immediately.

    "Google has released Chrome version 86.0.4240.183 for Windows, Mac, and Linux addressing multiple vulnerabilities, including vulnerability CVE-2020-16009. Exploit code for this vulnerability exists in the wild," said the agency in a statement.

    Debian affected by CVE-2020-16009 at time of writing, see:

    https://web.archive.org/web/20201109070427/https://security-tracker.debian.org/tracker/CVE-2020-16009archive.org

    https://forums.whonix.org/t/chromium-browser-for-kicksecure-discussions-not-whonix/10388/49archive.org

  52. Despite being up-to-date, not having the proprietary firmware blobs and cpu microcode updates means no update can fix some vulnurabilities
  53. https://wiki.alpinelinux.org/wiki/KVMarchive.org
  54. https://wiki.alpinelinux.org/wiki/Bootloadersarchive.org
    • for usability / hardware compatibility, not necessarily as a security feature
    • default key: Microsoft key
  55. https://forums.whonix.org/t/libressl-by-default/9024archive.org
  56. https://voidlinux.org/news/2021/02/OpenSSL.htmlarchive.org
  57. Setting libressl as default is under consideration per herearchive.org
  58. https://en.opensuse.org/openSUSE:Package_dependencies#Strong_and_Weak_dependenciesarchive.org

We believe security software like Whonix needs to remain open source and independent. Would you help sustain and grow the project? Learn more about our 12 year success story and maybe DONATE!