Het op security gerichte Qubes OS

Marco den Teuling
0

Qubes OS voert alles in gescheiden virtuele machines uit en biedt tools zodat je daar zo min mogelijk van merkt. Je moet desondanks wel omdenken, maar krijgt daar een zeer veilig systeem met unieke kenmerken voor terug.

Als je je beveiliging serieus neemt, is Qubes OS het beste besturingssysteem dat beschikbaar is – aldus Edward Snowden, die meldt dat hij het systeem elke dag gebruikt. Het project beschrijft zichzelf bescheiden als een ‘redelijk veilig’ besturingssysteem, hoewel het de veiligheidskwestie veel radicaler benadert dan andere besturingssystemen. De belangrijkste manier waarop Qubes OS dat doet is door programma’s van elkaar af te schermen. Aanvallers die een bepaald programma infiltreren zitten dan vast in een geïsoleerd gebied en kunnen de rest van het systeem niet overnemen. Dat is een groot veiligheidsvoordeel ten opzichte van conventionele besturingssystemen.

Het systeem maakt gebruik van de Xen-hypervisor om qubes aan te bieden. Dit zijn virtuele machines die van elkaar geïsoleerd zijn en gewoonlijk Linux-distributies draaien. Alle programma’s draaien afzonderlijk in die qubes, waarvan er dus heel wat zijn.

Als gevolg daarvan zijn de hardware-eisen van Qubes OS niet bepaald bescheiden: de processor moet diverse virtualisatiefuncties bieden en de ontwikkelaars adviseren 16 GB of meer aan geheugen. Details en expliciet aanbevolen hardware zijn te vinden in de Qubes OS-documentatie.

Aan de slag met Qubes

Na het installeren van Qubes met het van Fedora bekende Anaconda-installatieprogramma, merk je de ongebruikelijke opbouw in eerste instantie niet op en word je begroet door een Xfce-desktop. Maar als je programma’s start, zul je merken dat ze in het menu in qubes gegroepeerd zijn. Het openen van het eerste programma van een qube duurt langer omdat de qube zelf eerst moet starten.

Programma’s uit verschillende qubes kun je naast elkaar bekijken, maar kunnen elkaar niet beïnvloeden. Hun vensters hebben verschillend gekleurde randen die aangeven in welke qube een applicatie draait en beveiligingsniveaus aangeven met een kleurcodering.


Ontvang gratis informatie en tips over smarthome en meer, schrijf je in voor de nieuwsbrief:


 

Veel VM’s – één OS

Afgezien van de randkleuren bevat Qubes OS tal van andere kleine tools om het werken met VM’s zo praktisch mogelijk te maken. Het centrale aanspreekpunt is Qube Manager, dat je in het app-menu vindt onder Qubes Tools. De manager geeft een lijst van alle aanwezige qubes en laat je qubes aanmaken, verwijderen, configureren, starten en meer. Zoals overal bij Qubes OS zijn er alternatieve commandline-opdrachten, zoals qvm-ls, qvm-create en qvm-remove.

De manager toont ook de netwerktoegang van qubes. Programma’s hebben alleen toegang tot internet als de qube waarin ze draaien een zogenaamde NetVM heeft (ook wel Net-Qube genoemd). Standaard is dat de service-qube sys-firewall. Daarin is de firewall ondergebracht, die zelf weer de service-qube sys-net als NetVM gebruikt. Alleen sys-net heeft toegang tot de netwerkhardware. Die constructie verkleint het aanvalsoppervlak aanzienlijk. Niettemin worden programma’s die geen internettoegang nodig hebben voor de zekerheid gedraaid in qubes zonder NetVM.

Service-qubes

Qubes OS behandelt microfoons en usb-apparaten op een vergelijkbare manier: een service-qube zorgt voor die apparaten, normale qubes hebben standaard geen toegang tot die apparaten. Via een pictogram op het systeemvak kunnen afzonderlijke apparaten naar wens aan qubes doorgeleid worden. Usb-opslagmedia kunnen in hun geheel of alleen per afzonderlijke partitie voor qubes worden vrijgegeven. Dat werkte bij de test goed, maar we moesten de doorgegeven apparaten wel handmatig mounten. Meerdere qubes kunnen een microfoon benaderen, maar we kregen dat niet voor elkaar via de grafische interface, maar alleen met de commandline-tool qvm-device.

Qubes waarin programma’s worden uitgevoerd, worden door het systeem App-Qubes genoemd. Elke app-qube heeft een sjabloon, een speciale qube waarvan de inhoud van de app-qube afgeleid is. Technisch gezien gebeurt dat via gedeelde root-bestandssystemen. Met Qube Manager kun je zien van welk sjabloon een app-qube afgeleid is. Wijzigingen aan een sjabloon hebben invloed op alle daarvan afgeleide cubes. Als je nieuwe software in een sjabloon installeert of het bestaande sjabloon bijwerkt, worden daarmee ook alle gerelateerde app-qubes bijgewerkt.

Qubes OS

Qubes OS isoleert programma’s in qubes (virtuele machines). In dit voorbeeld zie je de bestandsbeheerder die is geopend in de personal-qube (gele rand) en een dialoogvenster van de netwerk-qube (rode rand). Op de achtergrond zie je de centrale Qube Manager.

Om nieuwe software te installeren, start je een terminal in een sjabloon en gebruik je die om de software te installeren. Hoe dat precies gedaan wordt, hangt af van welk besturingssysteem het sjabloon gebruikt. Fedora en Debian Linux zijn gangbaar, dus het installeren kan worden gedaan met sudo dnf install <package name>. Stop vervolgens het sjabloon en herstart de app-qubes die daarop gebaseerd zijn. Om het nieuw geïnstalleerde programma makkelijk te kunnen starten via het app-menu van het systeem, moet je het nog selecteren op het tabblad Applications bij de instellingen van de app-qube. Daar moet je sowieso eens naar kijken, want veel software is al voorgeïnstalleerd maar staat niet in het app-menu. Het systeem up-to-date houden is eenvoudig: Qubes OS wordt geleverd met een grafische updater die de admin-, sjabloon- en standalone-qubes bijwerkt. Meer informatie vind je in de how-to-guides van Qubes.

Delen van gegevens

Het van elkaar scheiden van programma’s is de centrale beveiligingsmaatregel van Qubes OS. Bij normaal werken wil je echter meestal gegevens tussen programma’s uitwisselen. Je wilt bijvoorbeeld een wachtwoord kopiëren uit de beveiligde wachtwoordmanager- cube en die plakken in een browser die draait in een untrusted-qube. Of je wilt een via mail ontvangen pdf bekijken met de pdf-viewer in een andere qube.

Dat werkt zonder de basis veiligheidsscheiding te verbreken. Om tussen qubes te kopiëren en plakken, kopieer je iets eerst zoals normaal, bijvoorbeeld met Ctrl+C. Druk daarna op Ctrl+Shift+C om de inhoud van het qube-specifieke klembord naar het inter-qube- klembord te kopiëren. Ga dan naar het doel-programma druk op Ctrl+Shift+V om de gegevens van het inter-qube-klembord op het klembord van de doel-qube te plakken.

Druk daarna op Ctrl+V om de inhoud normaal te plakken. Dat klinkt ingewikkeld, maar is in de praktijk vrij makkelijk en snel als je er eenmaal aan gewend bent. Tegelijkertijd elimineert Qubes OS daarmee het klembord als databron waar elk programma bij kan.

Qubes desktop

De standaard desktop van Qubes OS is Xfce4 en het starten van applicaties uit verschillende domeinen (AppVM’s) is eenvoudig.

Qubes OS biedt ook een inter-qube uitwisselingsmechanisme voor bestanden. In het snelmenu van de bestandsbeheerder staan opdrachten zoals ‘Copy To Other AppVM …’. In het dialoogvenster dat verschijnt kies je de doel-cube. Het bestand verschijnt daar dan in de gebruikersdirectory onder Qubes-Incoming/< source-cube>/. Andere qubes hebben geen toegang tot het bestand en vanwege de vaste doellocatie kunnen op die manier geen willekeurige doelbestanden overschreven worden.

Toch moet je voorzichtig zijn bij het overbrengen van bestanden uit minder vertrouwde qubes naar meer vertrouwde qubes. Voor het bekijken of verwerken van onveilige bestanden, zoals verdachte mailbijlagen, is er hoe dan ook een betere manier: disposables.

Via het snelmenu van de bestandsbeheerder (of qvm-open-in-dvm) start je het standaardprogramma voor een bestandstype in een wegwerp-qube. Als je het programma weer sluit, wordt de qube automatisch verwijderd. Wijzigingen in het betreffende bestand blijven echter bewaard, zodat je disposables kunt gebruiken om verdachte bestanden te bekijken en bewerken zonder dat mogelijk kwaadaardige code het systeem aantast. Qubes OS bestrijdt zo effectief een belangrijke aanvalsmogelijkheid voor cyberaanvallen.

Conclusie

Qubes OS biedt een beveiligingsniveau dat zelfs voldoet aan de eisen van NSA-klokkenluider Snowden. Weinig andere besturingssystemen kunnen dat niveau evenaren. Ondanks alle hulpmiddelen is het bedienen heel anders dan je gewend bent en kost het veel tijd en moeite voordat je met Qubes OS productief kunt werken.

Als je er serieus mee aan de slag wilt, moet je enige Linux-ervaring hebben en niet bang zijn voor de commandline (voor veel configuratiewijzigingen). Er is prima documentatie aanwezig en veel informatie beschikbaar via het officiële forum.

De moeite die je in Qubes OS steekt verdient zichzelf terug: het systeem biedt tal van andere functies, zowel voor meer veiligheid als meer comfort. De community ondersteunt bijvoorbeeld qubes met andere Linux-distributies, zoals Whonix om netwerkverkeer over het anonimiserende Tor-netwerk te routeren.

Standalone-qubes kunnen ook Windows hosten, zodat je met Qubes OS niet beperkt bent tot Linux-programma’s.

 

Deze tekst is eerder verschenen in c’t 7/2022, p.102 met medewerking van Knut von Walter

 

 

Meer handige workshops vind je in c't magazine 10/2022

Meer over

Software

Deel dit artikel

Lees ook

ChromeOS Flex installeren: blaas je oude laptop of pc nieuw leven in

Google biedt al enige tijd officieel een Chrome OS-variant aan genaamd ChromeOS Flex die je zelf op elke pc kunt installeren. In dit artikel vertellen...

Gebruik maken van een Raspberry Pi om energieverbruik te monitoren

Als er bij jou thuis een slimme meter geïnstalleerd is, heb je met een Raspberry Pi een simpele mogelijkheid om het verbruik aan gas en stroom realtim...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er