Jump to content

Qubes OS

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by TheWhiteTophat (talk | contribs) at 13:25, 7 February 2020 (Updated latest preview). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Qubes OS
Qubes OS
Applications running in different security domains
DeveloperInvisible Things Lab
OS familyLinux (Unix-like)
Working stateCurrent
Source modelOpen source (GPLv2)[1]
Initial releaseSeptember 3, 2012; 12 years ago (2012-09-03)[2]
Latest release4.0.2[3] / January 2, 2020; 4 years ago (2020-01-02)
Latest preview4.0.3-rc1[4] / February 14, 2020; 4 years ago (2020-02-14)
Available inMultilingual
Update methodYum (PackageKit)
Package managerRPM Package Manager
Platformsx86-64
Kernel typeMicrokernel (Xen Hypervisor running minimal Linux-based OSes and others)
UserlandFedora, Debian, Whonix, Microsoft Windows
Default
user interface
KDE, Xfce
LicenseFree software licenses
(mainly GPL v2[5])
Official websitewww.qubes-os.org

Qubes OS is a security-focused desktop operating system that aims to provide security through isolation.[6] Virtualization is performed by Xen, and user environments can be based on Fedora, Debian, Whonix, and Microsoft Windows, among other operating systems.[7][8]

Security goals

Security domains scheme

Qubes implements a Security by Isolation approach.[9] 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 over a machine.[10][11]

In order to secure a desktop, a Qubes user should take care of isolating various environments, so that if one of the components gets compromised, the malicious software would get access to only the data inside that environment.[12]

In Qubes, 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 decided in domains with different levels of trust. For instance: work domain (most trusted), shopping domain, random domain (less trusted).[13] Each of those domains is run in a separate virtual machine.

Qubes is not a multiuser system.[14]

System architecture overview

Xen hypervisor and administrative domain (Dom0)

The hypervisor provides isolation between different virtual machines. The administrative domain, also referred to as Dom0 (a term inherited from Xen), has direct access to all the hardware by default. Dom0 hosts the GUI domain and controls the graphics device, as well as input devices, such as the keyboard and mouse. The GUI domain runs the X server, which displays the user desktop, and the window manager, which allows the user to start and stop the applications and manipulate their windows.

Integration of the different virtual machines is provided by the Application Viewer, which provides an illusion for the user that applications execute natively on the desktop, while in fact they are hosted (and isolated) in different virtual machines. Qubes integrates all these virtual machines onto one common desktop environment.

Because Dom0 is security-sensitive, it is isolated from the network. It tends to have as little interface and communication with other domains as possible in order to minimize the possibility of an attack originating from an infected virtual machine.[15][16]

The Dom0 domain manages the virtual disks of the other VMs, which are actually stored as files on the dom0 filesystem(s). Disk space is saved by virtue of various virtual machines (VM) sharing the same root file system in a read-only mode. Separate disk storage is only used for userʼs directory and per-VM settings. This allows software installation and updates to be centralized. It is also possible to install software only on a specific VM, by installing it as the non-root user, or by installing it in the non-standard, Qubes-specific /rw hierarchy.

Network domain

The network mechanism is the most exposed to security attacks. To circumvent this it is isolated in a separate, unprivileged virtual machine, called the Network Domain.

An additional firewall virtual machine is used to house the Linux-kernel-based firewall, so that even if the network domain is compromised due to a device driver bug, the firewall is still isolated and protected (as it is running in a separate Linux kernel in a separate VM).[17]

Application Virtual Machines (AppVM)

AppVMs are the virtual machines used for hosting user applications, such as a web browser, an e-mail client or a text editor. For security purposes, these applications can be grouped in different domains, such as "personal", "work", "shopping", "bank", etc. The security domains are implemented as separate, Virtual Machines (VMs), thus being isolated from each other as if they were executing on different machines.

Some documents or applications can be run in disposable VMs through an action available in the file manager. The mechanism follows the idea of sandboxes: after viewing the document or application, then the whole Disposable VM will be destroyed.[18]

Each security domain is labelled by a color, and each window is marked by the color of the domain it belongs to. So it is always clearly visible to which domain a given window belongs.

Reception

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

Jesse Smith wrote review of Qubes OS 3.1 for DistroWatch Weekly:[20]

I had a revelation though on the second day of my trial when I realized I had been using Qubes incorrectly. I had been treating Qubes as a security enhanced Linux distribution, as though it were a regular desktop operating system with some added security. This quickly frustrated me as it was difficult to share files between domains, take screen shots or even access the Internet from programs I had opened in Domain Zero. My experience was greatly improved when I started thinking of Qubes as being multiple, separate computers which all just happened to share a display screen. Once I began to look at each domain as its own island, cut off from all the others, Qubes made a lot more sense. Qubes brings domains together on one desktop in much the same way virtualization lets us run multiple operating systems on the same server.

Kyle Rankin from Linux Journal reviewed Qubes OS in 2016:[21]

I'm sure you already can see a number of areas where Qubes provides greater security than you would find in a regular Linux desktop.

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.[22]

See also

References

  1. ^ "Qubes OS License".
  2. ^ "Introducing Qubes 1.0!". September 3, 2012.
  3. ^ Wong, Andrew David (January 7, 2020). "Qubes OS 4.0.2 has been released!". Qubes OS. Retrieved January 7, 2020.
  4. ^ Wong, Andrew David (January 15, 2020). "Qubes OS 4.0.3-rc1 has been released!". Qubes OS. Retrieved February 7, 2020.
  5. ^ "License Qubes OS". www.qubes-os.org.
  6. ^ "Qubes OS bakes in virty system-level security". The Register. September 5, 2012.
  7. ^ "Qubes OS Templates".
  8. ^ "Installing and using Windows-based AppVMs".
  9. ^ "The three approaches to computer security". Joanna Rutkowska. September 2, 2008.
  10. ^ "Qubes OS: An Operating System Designed For Security". Tom's hardware. August 30, 2011.
  11. ^ "A digital fortress?". The Economist. March 28, 2014.
  12. ^ "How Splitting a Computer Into Multiple Realities Can Protect You From Hackers". Wired. November 20, 2014.
  13. ^ "Partitioning my digital life into security domains". Joanna Rutkowska. March 13, 2011.
  14. ^ Rutkowska, Joanna (May 3, 2010). "Google Groups - Qubes as a multi-user system". Google Groups.
  15. ^ "(Un)Trusting your GUI Subsystem". Joanna Rutkowska. September 9, 2010.
  16. ^ "The Linux Security Circus: On GUI isolation". Joanna Rutkowska. April 23, 2011.
  17. ^ "Playing with Qubes Networking for Fun and Profit". Joanna Rutkowska. September 28, 2011.
  18. ^ "Qubes To Implement Disposable Virtual Machines". OSnews. June 3, 2010.
  19. ^ "Endpoint Security Prize Finalists Announced!".
  20. ^ DistroWatch Weekly, Issue 656, 11 April 2016
  21. ^ Secure Desktops with Qubes: Introduction | Linux Journal
  22. ^ "Endpoint Security Prize Finalists Announced!". Michael Carbone. February 13, 2014.