Actions

Open-source Hardware


Introduction[edit]

Hardware Trust in Modern Computing[edit]

Security researcher and Qubes founder, Joanna Rutkowska, has noted that modern computing and networking security relies upon a critical foundation - trusted hardware and firmware domains. Even high-security operating systems have an security upper bound, since that is defined by the trustworthiness of hardware components that are ideally placed to compromise the entire system if bugs or backdoors are present: [1]

... for years we have been, similarly, assuming the underlying hardware, together with all the firmware that runs on it, such as the BIOS/UEFI and the SMM, GPU/NIC/SATA/HDD/EC firmware, etc., is all. . . trusted.


But isn’t that a rational assumption, after all?

Well, not quite: today we know it is rather unwise to assume all hardware and firmware is trusted. Various research from the last ten years, as discussed below, has provided enough evidence for that, in the author’s opinion. We should thus revisit this assumption. And given what’s at stake, the sooner we do this, the better.

Rutkowska has concluded the following hardware components and mechanisms are all vulnerable to exploitation and often flawed in their implementation, making them easy to "backdoor": [1]

  • x86 boot security (BIOS implementation).
  • Vt-d (CPU-enforced sandboxing of networking).
  • Graphics cards (GPUs) and sub-systems.
  • USB controllers.
  • Disk controllers (SATA etc.).
  • Embedded controllers (for keyboard operation, battery charging etc.).
  • Audio cards.
  • Peripheral devices.
  • Intel Management Engine (ME) and AMD Security Processor (embedded microcontrollers).
  • Built-in speakers, microphones and cameras.


This is particularly true for privileged, out-of-band hardware components like Intel ME's AMT which can read or write any of the host computer's memory, without any constraints - the perfect, undetectable rootkiting infrastructure. [1] In short, it appears that modern computing architectures are impossible to secure properly, especially since popular, proprietary hardware options (Intel and AMD) dominate the market. [2]

Open-source Hardware Alternatives[edit]

Users who are motivated to avoid proprietary hardware solutions are in a bind. There are few options available that are truly "free" (open-source), affordable, and provide suitable processing power to run "secure" operating systems like Qubes-Whonix, because specific hardware requirements like VT-d and VT-x are necessary for compatibility with future software releases.

Open-source hardware is also not perfectly secure since it is not "stateless". Meeting this standard requires there be no persistent storage at all. [1] Further, "free" hardware does not really exist, since by definition it requires that hardware be free at all levels, including: licensing, the chip and circuit board designs, the field-programmable gate array, source code, relevant repositories and so on. Also, proprietary "soft cores" which are often incorporated in various hardware circuits need to be purged to meet the necessary criteria. [3] [4]

ARM-based Platforms[edit]

ARM architecture dominates smartphone and tablet markets, providing a good level of performance. However, an open-source "ARM processor" is non-existent, because only the specifications and other intellectual property (IP) are released to manufacturers under specific licenses. This leads to NVIDIA, Samsung and others combining the ARM IP with their own, leading to the actual, customized processors called System-on-Chips (SoCs). [1] ARM SoCs also often have a TrustZone extension, with implementation providing similar functionality to Intel's ME. There is nothing special in ARM architecture that prevents the possible introduction of backdoors.

Open-source Processors[edit]

Unfortunately, a fully open-source, Linux-capable based processor (SoC) is not yet available, with the design still being finalized. While this project will eventually allow a 64-bit RISC-V instruction set architecture and the development of low-cost boards, the wait may be lengthy (many years) and it is not clear such processors will perform well enough for typical desktop workflows like watching movies, running browsers, using office suites and so on. It is also unknown whether this design will allow for security technologies like IOMMU and memory virtualization. [5] [1]

Final Hardware Purchase[edit]

The Free Software Foundation (FSF) makes a number of relevant recommendations: [6]

  • Find devices which support fully free distributions of GNU/Linux.
  • Purchase hardware from manufacturers who support GNU/Linux.
  • Purchase hardware which supports coreboot/libreboot as a proprietary BIOS replacement. [7]
  • Purchase hardware without the need for proprietary drivers or firmware: hdnode.org.
  • Check the FSF criteria for hardware certification requirements.
  • If looking for a single-board computer (SBC), check the list of available (flawed) hardware. [8]
  • Check the list of motherboards that are compatible with coreboot. [9]


A list of suppliers selling or providing Libreboot pre-installed on laptops, desktops, servers and motherboards can be found here.

Buyer Considerations[edit]

Based on the preceding information and links, users seeking an open-source solution need to make a compromise. Since RISC processors supporting a fully-fledged operating system do not yet exist, the closest thing available is single-board computers (SBCs), which are delivered as one circuit board that are powerful enough to run a real operating system.

These systems generally contain a SoC with an ARM processor, with options like Novena and PandaBoardES falling into this category. However, they still have a number of closed-source binary blobs and the FSF also notes "severe flaws" in these products due to proprietary design concerns.

High-end laptop options like those provided by Purism also seek to remove as many proprietary blobs as possible, for example by using coreboot in place of the standard BIOS implementation. Unfortunately, this solution is expensive and still relies on an Intel processor. Despite the claims that ME is "neutralized", the ME still poses potential security threats to the user as highlighted in Rutkowska's research.

In practical terms, it is just simpler for the majority of users to purchase a standard closed-source architecture. This provides a high-performance solution and the features necessary for compatibility with high-end operating systems like Qubes-Whonix. In the coming years when open-source processors and hardware designs further mature and the necessary functionality is provided for virtualization, users will then have a reasonable and fairly-priced alternative.

Firmware Considerations[edit]

Open-source hardware is not affected by the non-free firmware updates issue described in the previous chapter. Such hardware might be more trustworthy, but open-source firmware can be just as insecure as a proprietary one. Fortunately, open source firmware increases the chances of making it actually secure, with options like coreboot appearing to be a promising solution. [1]

References[edit]

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
  2. AMD-based x86 platforms have analogous hardware mechanisms to Intel, so they are not theoretically safer.
  3. https://www.wired.com/2015/03/richard-stallman-how-to-make-hardware-designs-free/
  4. https://www.wired.com/2015/03/need-free-digital-hardware-designs/
  5. http://www.lowrisc.org/about/
  6. https://www.fsf.org/resources/hw
  7. For example, the Thinkpad X200 and X60 laptop series. Users utilizing coreboot/libreboot with Intel CPUs are not necessarily safe, since the Firmware Support Package (FSP) can still potentially modify things in a malicious manner.
  8. None of these options are completely free in their design.
  9. Some motherboards still require proprietary CPU microcode.

License[edit]

Whonix Open-source Hardware wiki page Copyright (C) Amnesia <amnesia at boum dot org>
Whonix Open-source Hardware wiki page Copyright (C) 2012 - 2018 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>

This program comes with ABSOLUTELY NO WARRANTY; for details see the wiki source code.
This is free software, and you are welcome to redistribute it under certain conditions; see the wiki source code for details.



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?)