Het kan onder ict'ers zomaar inzet zijn van een discussie bij een biertje en een bakje borrelnootjes: welk besturingssysteem is intrinsiek het veiligst? Vaak mondt het uit in een discussie waarin liefhebbers van Mac, Linux, BSD en andere Unix-achtigen de boventoon voeren en de Windows-sympathisant vooral stil is of in de verdediging schiet.

Maar de Poolse beveiligingsonderzoekster Joanna Rutkowska vindt het een nutteloze discussie. Het antwoord is uiteindelijk dat ze allemaal op laag niveau kwetsbaar zijn. De manieren waarop vanuit de kernel met de hardware wordt gecommuniceerd verschilt volgens haar namelijk bar weinig. Om die reden werkt Rutkowska aan een eigen besturingssysteem dat het anders aanpakt. Qubes, zoals de Linux-derivaat heet, is nu nog in de Alfafase en moet eind dit jaar definitief stabiel worden.

Monolitische kernels

Directe aanleiding voor Qubes is de onvrede die Rutkowska heeft met het ontwerp van de huidige gangbare besturingssystemen. “Allemaal, of het nou Windows, Linux of Mac OS is, werken ze met een monolitische kernel. Daardoor draaien 'tig drivers op een niveau waar ze helemaal niet hoeven te draaien”, stelt de onderzoeker. “Dat is eigenlijk volstrekt onnodig. Waarom moet bijvoorbeeld een stom Tetrisspelletje volledige toegang krijgen tot de kernel? Een verveelde Russische hacker krijgt zo vrij spel om een virus in dat spelletje mee te smokkelen die het hele systeem in één keer opblaast. Als dat spelletje geen toegang krijgt tot de andere drivers binnen de kernel, kan een eventueel virus ook geen schade berokkenen.”

Onderzoek

De oprichter van Invisible Things Lab staat binnen securitykringen vooral bekend om haar onderzoek naar rootkits. Rutkowska maakte vooral naam in 2007, toen ze samen met een andere onderzoeker, de Rus Alexander Tereshkin, haar ontwerp voor een rootkit presenteerde op de Black Hat-conferentie: Blue Pill. Met dat pakket werd het indertijd gloednieuwe Windows Vista in een gevirtualiseerde omgeving geplaatst die onder controle staat van de aanvaller. Het besturingssysteem, detectieprogramma's die erin draaien, niets dat de rootkit kan opmerken.

De laatste twee jaar blijft ze meer op de achtergrond. Ze concentreert ze zich vooral op technologieën binnen Intel-chipsets, zoals Trusted Execution Technology (TXT) en virtualisatietechniek VT-d. Haar onderzoek wordt vooral getypeerd als een staaltje 'Laag-niveau-hacking' of 'hardware-hacking'. “Maar ik zou het zo niet willen noemen”, lacht Rutkowska. “De kwetsbaarheid ligt namelijk niet in de hardware, maar in het besturingssysteem zelf.”

Ze doelt dan vooral op de manier waarop het OS communiceert met die onderliggende hardware en de toegang tot de kerneldrivers. Niet alleen maakt dat het plaatsen van rootkits mogelijk, maar ook 'gewone' malware heeft het volgens Rutkowska iets eenvoudiger. “Aanvallers hoeven maar één brakke driver te vinden om een hack te zetten. Meer services in de kernel betekent meer onderdelen met potentiële bugs, en dat zorgt automatisch voor meer aanvalsmogelijkheden. Het beveiligingsmodel op dat niveau stamt nog uit de tijd van MS-DOS.”

Rutkowska is ervan overtuigd dat vooral IOMMU's (Input Output memory management unit) een belangrijke rol gaan spelen in het verder beveiligen van systemen. Ze heeft vooral technologieën als TXT en VT-d van Intel grondig bestudeerd, en is positief. “Reden is dat ze als losse bouwstenen kunnen functioneren, waarbij elk domein van het systeem via virtualisatie alleen toegang krijgt tot datgene waar het toegang toe moet krijgen”, zegt Rutkowska. Maar, zo denkt ze ook, grootschalige inzet van dergelijke technologieën zal nog vijf tot tien op zich laten wachten.

Qubes

Om haar punt te bewijzen, is ze sinds 2009 bezig met het schrijven van haar besturingssysteem. Hoewel Qubes op Linux is gebaseerd, verschilt het op juist dat punt waar ook dat OS het volgens haar laat afweten. Het idee achter Qubes is dat alle functies worden onderverdeeld in zogenaamde domeinen: Zeer lichte VM's die vanuit hun eigen ingestelde functie beperkt toegang hebben tot de kernel. Die domeinen zijn Xen-gebaseerd, maar over een hypervisor wil ze niet spreken. “Dan moet ik direct aan VMware denken. Maar VMware is qua functies dusdanig gegroeid dat het eigenlijk geen hypervisor meer is, maar een grote dikke kernel.”

“Het hangt allemaal van de ingestelde admin-policies af, maar simplistisch gezegd komt het erop neer dat je bijvoorbeeld een apart applicatiedomein hebt en een apart browser-domein”, legt Rutkowska uit. “Stel nou dat een gebruiker een mail krijgt met een kwaadaardige link. Als de gebruiker op die link klikt, dan wordt die in het browser-domein uitgevoerd. De aangeroepen malware krijgt daardoor geen toegang tot de backend.”

Gevolg is dat de malware zich niet in het systeem kan nestelen, omdat de toegang van de browser zeer beperkt is. Uitvoeren wordt een heel moeilijk verhaal, omdat allerlei drivers die een virus eventueel nodig heeft onvindbaar zijn. Om de gebruiker te informeren welk domein een bepaalde applicatie gebruikt, wordt een kleurcode ingezet. Zo kan direct worden gezien welke applicaties direct invloed kunnen hebben op welke andere applicaties.

Beperkingen

Maar er zijn ook beperkingen aan Qubes, waardoor het in ieder geval niet geschikt zal zijn voor de mainstream consumentenmarkt. “Ondersteuning van 3D-acceleratie zie ik bijvoorbeeld niet gebeuren”, verzucht Rutkowska. “Code van OpenGL en DirectX is gewoon te rommelig, en roept te veel diensten aan om effectief te kunnen zijn.” Dat ziet ze niet als een groot probleem, omdat ze voor Qubes vooral een rol ziet weggelegd binnen bedrijven en overheden. Uiteindelijke moeten Windows-extensies beschikbaar komen, zodat Windowsapplicaties gedraaid kunnen worden. Qubes is open source, maar Rutkowska sluit niet uit dat die extensies betaald worden.

Toch is Qubes vooral een poging van Rutkowska om de ideeën rond OS-ontwerp te veranderen. “Virtualisatie kan wel degelijk een rol spelen in beveiliging”, zegt Rutkowska. Maar het denken gaat wat Rutkowska daarin niet ver genoeg. Ze noemt Thin Clients als voorbeeld van een model dat als veilig wordt ervaren, maar wat haar betreft onvoldoende is. “Het idee is: als je maar één app draait op een desktop of laptop, dan moet je alleen die app beveiligen om aanvallers te weren”, zegt Rutkowska. “Maar vergeten wordt dat daarmee niet wordt afgedaan met de dikke, rijke api die eronder ligt. Het enige verschil is dat deze elders draait. Wie zo controle heeft over het werkstation, heeft nog steeds controle over het systeem.”