The Qubes OS team offered a sneak preview for the the upcoming major Qubes OS 4.0 release, which has gone through some code refactoring for its “Core3” management architecture.
Qubes OS, the security-focused operating system that isolates multiple core parts of the operating system by using different virtual machines, will soon reach version 4.0, six years after its first release. The team shared some details for what the new version will entail.
Code Refactoring Of Main Functionality
The team said that in the first few years of Qubes OS development, it has mainly focused on adding features and building up the necessary functionality as fast as possible with the few resources it had. Therefore, there hasn’t been a focus on code hygiene and documentation for that code, which allowed the main parts of the software to become increasingly more complex and unreadable.
The new “Core3” of Qubes 4.0 has been rewritten with modularity and extensibility in mind, which should make work on future Qubes OS versions easier. That means new features should land faster as well, and there may be less room for software bugs.
Thanks to the newer cleaner code, the team has already been able to add a few unplanned extra features such as support for multiple DispVMs (disposable VMs that can be quickly created and destroyed), new storage API, instant VM cloning, improved firewall interface that allows more rules and doesn’t interfere with other firewall tools anymore, and more.
Moving From PV to HVM
Switching from paravirtualization (PV) to hardware virtual machines (HVM) should solve some compatibility and security issues for Qubes OS. For instance, by using HVM in Qubes OS 4.0 and beyond, it may be possible to eventually support Subgraph OS, a Grsecurity-hardened Linux distribution, as a template for Qubes (in addition to Debian, Whonix, etc). However, with Grsecurity support now being tested directly for Qubes OS, that may not even be necessary anymore, as Qubes OS could get its own VMs protected by Grsecurity.
Improving Qubes Manager UX
One of the worst and most confusing parts of Qubes OS, according to the project’s own co-founder Joanna Rutkowska, is the Qubes manager. The main problem with it is that it shows the users both the persistent configuration of the system as well as the ephemeral state of the system.
The Qubes manager was supposed to be rewritten from scratch, too, but it looks like that is going to be delayed. Instead, the backend will be preserved for now, while users will now see two separate applications for the ephemeral and the persistent state of the system.
VM Admin API
The Qubes team said it should be able to finish the administration API for version 4.0, instead of delaying it until 4.1. This API should allow remote configuration and control of VMs of other machines, a feature that’s typically used in enterprise environments.
The Qubes team recently announced that it’s going to start focusing on enterprise customers in order to sustain the project financially. This is a feature that should make Qubes OS more appealing to IT administrators, so it makes sense to finish it earlier.
Many of these features are mostly done and can already be tested by developers, but those willing to try them out should still think of this as a technology preview rather than a build that can be used as a daily driver.