Hvorfor ingen Linux-distro nogensinde vil være helt sikker (og hvad jeg skiftede til i stedet)

Efter skuffende erfaringer med Linux-systemer skiftede jeg til Qubes, som tilbyder en sikrere løsning gennem kompartmentalisering, samtidig med at jeg bevarer Linux’ bekvemmelighed.
Linux lykkedes ikke med at gøre mig tilfreds. Skiftet fra Ubuntu til Arch og videre til Gentoo ændrede ikke på det. Nu trives jeg på et mindre kendt operativsystem, som fremmer nyskabelse.
Linux kan ikke tilbyde den nødvendige sikkerhed, jeg ønsker. En radikal ændring kræves. Selvom et ideelt system ikke findes i stabil form, har jeg fundet et alternativ, der løser mine udfordringer uden at forlade Linux helt.
Linux har et lille problem
Linux handler ikke om sikkerhed; det er et frit og åbent system. Selvom systemet er i konstant udvikling, kræver det en fundamental arkitektonisk forandring og en ny sikkerhedsmodel for at rette op på svaghederne.
For det første er det monolitisk: næsten alle tjenester som drivere kører i kernel-rummet (ring 0), mens dine applikationer opererer i ring 3, inklusiv libc. Kode i ring 0 har fuld adgang til hardware, undtagen ved TPM og management engine. En fejl her kan føre til total kompromittering. Med tusindvis af moduler, der alle kører med ring-0 rettigheder, er risikoen enorm.
Ambient authority er en anden væsentlig svaghed. I næsten alle moderne operativsystemer tildeles tilladelser til processer baseret på deres identitet eller rolle. Når en proces starter, arver den rettigheder fra brugerens "ambient" miljø. Selvom tilladelser kan være lagdelt, er intet reelt skjult. På Linux efterlader discretionary access control (DAC) store dele af systemet sårbare. Et privilegieopgraderingsangreb kan føre til total kompromittering.
Mange funktioner kræver stadig root-adgang. Root i en Docker-container giver ofte root-adgang til værtsmaskinen, hvilket skaber en situation, hvor systemet kun er et par fejl væk fra fuldstændig nedbrud. Selvom Linux har implementeret begrænsninger over tid, herunder ASLR, PIE/PIC og SELinux, er potentialet for fejl stadig til stede.
Sikkerheden i Linux er utilstrækkelig.
Min nuværende løsning
En wrapper omkring Linux der gør angreb meningsløse
Efter flere års erfaring fandt jeg ud af, at justeringer i Linux ikke ville løse mine problemer. Containere eller bwrap ændrer ikke det faktum, at kernen stadig kan kompromittere systemet. Selv ikke SELinux beskytter effektivt. Linux er et åbent, komplekst miljø med mange regler; der vil altid være svagheder. I dag er Qubes det ideelle valg. Det kombinerer Linux’ bekvemmelighed med en robust sikkerhedsarkitektur.
Qubes anvender en tilgang, der ligner capability-based security. Her har emner (f.eks. VMs) ingen viden om deres miljø, bortset fra hvad der eksplicit gives. Det er som et dunkelt rum, hvor kun essentielle ressourcer passerer gennem en brevsprække. Qubes efterlever ikke perfekt denne model, men konceptet om sandkasse-garanterer begrænsning af angreb.
I denne ramme ignorerer Qubes Linux' sikkerhedsproblemer, fordi de fleste angreb bliver isoleret.
Når vi opdeler vores liv efter risiko, vælger vi at lukke af for ondsindede kompromiser fra ubetydelige domæner. Dette reducerer risikoen ved pengeoverførsler, sociale medier og forretningsaktiviteter. Jeg har eksempelvis isoleret min e-mailserver for at begrænse adgangen til en bestemt fjernleverandør og åbner vedhæftninger i en frakoblet virtuel maskine.
Hvad fremtiden holder
En ren form for kapabilitetsbaseret sikkerhedsmodel
Qubes var pioner inden for "sikkerhed ved kompartmentalisering", men det er blot begyndelsen. Spectrum OS tester nye rammer og adresserer nogle af Qubes' mangler, som ressourceforbrug. Denne platform pakker hver applikation ind i en mikroVM, langt mere effektiv end en traditionel VM. Den er bygget på Cloud Hypervisor, der teoretisk kan starte disse gæster på blot 100 ms.
Indtil videre er applikationerne i Spectrum OS indkapslet i en fuld VM.
En anden lovende platform er Sculpt OS, udviklet med Genode-rammeværket med fokus på kapabiliteter. I Sculpt OS kører hver komponent i en mini sandkasse, hvor hierarkiske relationer skaber forældre og børneprocesser. Skal en ondsindet PDF kompromittere systemet, er det svært i et ukendt miljø. Sculpt OS bruger en mikrokerne afledt af NOVA, og Genode understøtter også seL4, som har en matematisk verificeret kodebase. Mikrokerner (som er modsætningen til Linux) flytter næsten alle moduler til ring 3 og gør privilegieoptrapning langt mere udfordrende.
Både Spectrum OS og Sculpt OS (Genode) er langsigtede initiativer og klar til at blive forfinet — men Qubes er klar til brug nu.
Linux er uundgåelig, så Qubes er det fornuftige kompromis
Linux er praktisk og vil forblive relevant, men det er ikke den mest sikre tilgang. Hvis sikkerhed er din prioritet, så undgå at forsøge at tweake Linux til det yderste (som jeg gjorde); brug en VM i stedet. Dette giver fordelene ved Linux sammen med beskyttelsen fra en solid sandkasse. Qubes gør det lettere for dig at navigere i denne balance.

Skriv et svar