De nieuwe Windows-versie vertrouwt op UEFI (unified extensible firmware interface) voor sterkere beveiliging. Zo kan met die opvolger van het aloude BIOS (basic input/output system) worden voorkomen dat een pc onvertrouwde software laadt; zoals malware, instabiele drivers en Linux. Laatstgenoemde kan worden geblokkeerd als de UEFI-functie SecureBoot is ingeschakeld.

Alleen software die is ondertekend met een digitaal certificaat komt dan door het bootproces. Zo'n certificaat, of sleutel, komt van Microsoft zelf, of van een pc-producent voor diens eigen systemen, of van een fabrikant van een computercomponent.

Compleet met proof-of-concept

Nu hebben security-onderzoekers een gat ontdekt in UEFI waardoor de bootprocedure kan worden onderschept en gecorrumpeerd. De hackers van het Italiaanse bedrijf ITSEC hebben hiervoor een eigen UEFI-bootloader gemaakt die de legitieme bootloader van Windows 8 overschrijft.

Deze zogeheten bootkit onderschept alle I/O (input/output) van de harde schijf (of ssd) en voorkomt dat de Windows 8-kernel in zijn normale staat wordt geladen. In plaats daarvan laat de bootkit de kernel starten zónder de security-functies die het laden van onvertrouwde software voorkomen.

Rootkit 2.0

Deze boot-onderschepping van ITSEC is volgens de Britse ict-nieuwssite The Register vergelijkbaar met oudere rootkits die via het MBR (master boot record) van een harde schijf Windows' systeembestanden overschrijven. Ook daarmee worden bepaalde beschermingsfuncties en detectiemogelijkheden uitgeschakeld.

Voor Windows 8 bestaan er al geruime tijd bootkits, maar die wisten tot op heden niet de bescherming van UEFI te doorbreken. Dat bastion is nu wel geslecht door de onderzoekers van ITSEC, die hiermee bovendien systeemcorruptie 'gebruiksvriendelijker' weten te maken. In plaats van een complexe, low-level programmeertaal (assembly) te moeten gebruiken, zorgt UEFI ervoor dat ontwikkelaars gewoon een hogere taal kunnen gebruiken, zoals het bekende C. Dit geldt dus ook voor bootkits.

Makkelijk malware maken

"Het schrijven van een bootkit kan bijna niet makkelijker voor virusschrijvers dankzij het UEFI-framework", stelt ITSEC-directeur Marco Giuliani. "Het is veel makkelijker dan voorheen toen ze code moesten schrijven in pure assembly."

ITSEC wil met zijn bootkit-research de computerindustrie duidelijk maken dat het nieuwe UEFI-platform net zo onveilig is als de oude BIOS-technologie. De vervanger is volgens Giuliani nog steeds kwetsbaar voor de oude aanvalsmethodes, ténzij SecureBoot standaard is ingeschakeld.

Veiligheid versus vrijheid

Het inzetten van die bootbeveiliging in UEFI en Windows 8 staat alleen bootloaders toe die digitaal zijn ondertekend. Dat sluit dan echter alternatieve software uit, zoals Linux. Giulani merkt op dat SecureBoot vanuit een beveiligingsstandpunt aan te raden is, maar dat dat wel een inperking is van de keuzevrijheid van eindgebruikers. Die computer-ideologische kwestie heeft al eerder voor ophef gezorgd, in de Linux-wereld.

Security-onderzoeker Andrea Allievi van ITSEC demonstreert de UEFI-bootkit voor Windows 8 en omzeilt daarmee de Driver Signing Enforcement-policy en PatchGuard (Kernel Patch Protection) van Microsofts nieuwste besturingssysteem: