Qubes OS explained

Qubes OS
Developer:The Qubes OS ProjectInvisible Things LabsJoanna Rutkowska
Family:Linux (Unix-like)
Working State:Current
Source Model:Open source with proprietary blobs,[1] [2]
Released:[3]
Marketing Target:security by compartmentalization, desktop, laptop
Language:Multilingual
Update Model:DNF (PackageKit)
Package Manager:RPM Package Manager
Supported Platforms:x86-64
Kernel Type:Microkernel (Xen Hypervisor running minimal Linux-based OSes and others)
Userland:GNU
Ui:Xfce
License:Free software licenses
(mainly GPL v2[4])

Qubes OS is a security-focused desktop operating system that aims to provide security through isolation.[5] Isolation is provided through the use of virtualization technology. This allows the segmentation of applications into secure virtual machines called qubes. Virtualization services in Qubes OS are provided by the Xen hypervisor.

The runtimes of individual qubes are generally based on a unique system of underlying operating system templates. Templates provide a single, immutable root file system which can be shared by multiple qubes. This approach has two major benefits. First, updates to a given template are automatically "inherited" by all qubes based on it. Second, shared templates can dramatically reduce storage requirements compared to separate VMs with a full operating install per secure domain.

The base installation of Qubes OS provides a number of officially supported templates based on the Fedora and Debian Linux distributions. Alternative community-supported templates include Whonix, Ubuntu, Arch Linux, CentOS, or Gentoo.[6] Users may also create their own templates.

Operating Systems like Qubes OS are referred to in academia as Converged Multi-Level Secure (MLS) Systems.[7] Other proposals of similar systems have surfaced[8] [9] and SecureView and VMware vSphere are commercial competitors.

Security goals

Qubes implements a Security by Isolation approach.[10] The assumption is that there can be no perfect, bug-free desktop environment: such an environment counts millions of lines of code and billions of software/hardware interactions. One critical bug in any of these interactions may be enough for malicious software to take control of a machine.[11] [12]

To secure a desktop using Qubes OS, the user takes care to isolate various environments, so that if one of the components gets compromised, the malicious software would get access to only the data inside that environment.[13]

In Qubes OS, the isolation is provided in two dimensions: hardware controllers can be isolated into functional domains (e.g. network domains, USB controller domains), whereas the user's digital life is divided into security domains with different levels of trust.

For instance: work domain (most trusted), shopping domain, random domain (less trusted).[14] Each of these domains is run in a separate qube.

The qubes have passwordless root access (e.g. passwordless sudo) by default.[15] UEFI Secure Boot is not supported out of the box, but this is not considered a major security issue.[16] Qubes is not a multiuser system.[17]

Installation and System Requirements

As a desktop-focused operating system, Qubes OS targets personal computer hardware. This market is dominated by laptops running Intel and AMD processors and chipsets.

The base system requirements for Qubes OS are:

User experience

Users interact with Qubes OS in much the same manner that they interact with any standard graphical desktop operating systems with some key differences:

System architecture overview

Xen hypervisor and domains

The Xen hypervisor provides strong isolation between its hosted virtual machines, called domains in Xen terminology.

The first domain started by Xen is the privileged administrative domain referred to as domain zero or more commonly dom0.

The Administrative domain: dom0

As of Qubes OS 4.1.2, the operating system running in dom0 is Fedora Linux running a paravirtualized Linux kernel. It is the Linux kernel in dom0 that controls and brokers access to all the physical system hardware, via standard Linux kernel device drivers.

The operating system hosts the user's graphical desktop and controls most hardware devices. This includes the graphics device, USB ports, storage and input devices, such as the keyboard and mouse. The base graphical desktop is composed of the X server, the XFWM window manager and the XFCE desktop.

By design, dom0 has the least possible direct interaction with the qubes in order to minimize the possibility of an attack originating from there.[22] [23]

Updates to the dom0 operating system and the included Template OS images are performed via a special mechanism which does not require dom0 operating system to connect directly to a network.

The User domains: qubes

An app qube (an instance of a qube) provides secure, compartmentalized execution of standard user applications such as a web browser, an email client or a text editor.

Operation of app qubes is controlled by the Qube Manager. It launches the discrete app qubes and presents their applications on the desktop of dom0 as normal process windows.

This mechanism follows the idea of a sandbox. After running the application, viewing the document, etc., the whole disposable will be destroyed on shutdown.[24]

Qubes OS integrates all of the app qubes into a single common desktop environment. The identity of each app qube for a given process is provided by an unforgeable, colored window border which is defined in the properties of the app qube.

Disk usage in dom0 is minimized by allowing multiple app qubes to share a common "template" root file system image maintained in read-only mode. Additional disk storage is only used for userʼs applications, data and per-VM settings.

Network domain

The network mechanism is the most exposed to security attacks. To circumvent this, it is isolated in a separate, unprivileged qube, named the net qube.

Another firewall Domain is used to house the Linux-kernel-based firewall, so that even if the network domain is compromised, the firewall is still isolated and protected (as it is running in a separate Linux kernel in a separate VM).[25]

Reception

Security and privacy experts such as Edward Snowden, Daniel J. Bernstein, and Christopher Soghoian have publicly praised the project.[26]

Jesse Smith wrote a review of Qubes OS 3.1 for DistroWatch Weekly:[27] Kyle Rankin from Linux Journal reviewed Qubes OS in 2016:[28] In 2014, Qubes was selected as a finalist of Access Innovation Prize 2014 for Endpoint Security, run by the international human rights organization Access Now.[29]

See also

External links

Notes and References

  1. Web site: Will Qubes seek to get certified under the GNU Free System Distribution Guidelines (GNU FSDG)?.
  2. Web site: Qubes OS License.
  3. News: Introducing Qubes 1.0! . September 3, 2012.
  4. Web site: License Qubes OS. www.qubes-os.org.
  5. Web site: Qubes OS bakes in virty system-level security . . September 5, 2012.
  6. Web site: Qubes OS Templates .
  7. Issa . Abdullah . Murray . Toby . Ernst . Gidon . 2018-12-04 . Association for Computing Machinery (ACM) . In search of perfect users: towards understanding the usability of converged multi-level secure user interfaces . Proceedings of the 30th Australian Conference on Computer-Human Interaction . OzCHI '18: 30th Australian Computer-Human Interaction Conference . 572576 . Melbourne Australia . 2020-11-01 . 10.1145/3292147.3292231 . 978-1-4503-6188-0.
  8. Beaumont . Mark . McCarthy . Jim . Murray . Toby . 2016-12-05 . Association for Computing Machinery (ACM) . 10.1145/2991079.2991087 . 978-1-4503-4771-6 . ACSAC '16: 2016 Annual Computer Security Applications Conference . 533545 . The cross domain desktop compositor: using hardware-based video compositing for a multi-level secure user interface . Proceedings of the 32nd Annual Conference on Computer Security Applications . Los Angeles California USA . 2020-11-01 .
  9. Web site: 11 . Atanas Filyanov . Nas . Aysegül . Volkamer . Melanie . Poster: On the Usability of Secure GUIs . July 1, 2013 . 17605611 .
  10. Web site: The three approaches to computer security . Joanna Rutkowska . September 2, 2008.
  11. Web site: Qubes OS: An Operating System Designed For Security . Tom's hardware . August 30, 2011.
  12. News: A digital fortress? . The Economist . March 28, 2014.
  13. Web site: How Splitting a Computer Into Multiple Realities Can Protect You From Hackers . Wired . November 20, 2014.
  14. Web site: Partitioning my digital life into security domains . Joanna Rutkowska . March 13, 2011.
  15. https://www.qubes-os.org/doc/vm-sudo/ Passwordless Root Access in VMs
  16. https://www.qubes-os.org/faq/ Qubes FAQ
  17. Web site: Google Groups - Qubes as a multi-user system . Rutkowska . Joanna . May 3, 2010. Google Groups.
  18. https://groups.google.com/forum/#!msg/qubes-devel/2UL9ZcIPT6Y/xUzL-wwXEmQJ Why Intel VT-d ?
  19. https://www.qubes-os.org/doc/system-requirements/ Qubes system requirements
  20. Web site: Copying Files between qubes . Qubes OS . 2020-06-05 .
  21. Web site: Copy and Paste . Qubes OS . 2020-06-05 .
  22. Web site: (Un)Trusting your GUI Subsystem . Joanna Rutkowska . September 9, 2010.
  23. Web site: The Linux Security Circus: On GUI isolation . Joanna Rutkowska . April 23, 2011.
  24. Web site: Qubes To Implement Disposable Virtual Machines . OSnews . June 3, 2010.
  25. Web site: Playing with Qubes Networking for Fun and Profit . Joanna Rutkowska . September 28, 2011.
  26. Web site: Endpoint Security Prize Finalists Announced! .
  27. https://distrowatch.com/weekly.php?issue=20160411#qubes DistroWatch Weekly, Issue 656, 11 April 2016
  28. https://www.linuxjournal.com/content/secure-desktops-qubes-introduction Secure Desktops with Qubes: Introduction |Linux Journal
  29. Web site: Endpoint Security Prize Finalists Announced! . Michael Carbone . February 13, 2014.