Windows 8 a zabezpečené bootování přes UEFI: konec Linuxu na PC, nebo mnoho povyku pro nic?
Pár základních faktů na začátek:
- UEFI není BIOS, i kdyby vám to říkalo dvacet výrobců základních desek (fráze jako UEFI BIOS jsou spíše úsměvné, je na nich vidět, že marketing se snaží dramaticky si zjednodušit práci). UEFI je nová generace firmwaru, která se už hezkou řadu let snaží v základních deskách BIOS nahradit. UEFI může obsahovat (a v tradičních deskách typicky obsahuje) BIOS modul, s jehož pomocí může počítač mimo jiné nabootovat klasickým BIOS-style způsobem, tedy z aktivního oddílu MBR-rozděleného primárního disku.
- UEFI umožňuje implementovat bezpečnostní politiku (podobně jako operační systém, ale už na úrovni firmwaru).
- Secure boot není vlastností Windows 8, ale UEFI, přesněji jde o jeden z UEFI protokolů (UEFI jej má od verze 2.3.1). Windows 8 obsahují možnost bootovat zabezpečeně, říká se jí UEFI Secure Boot.
- Secure boot automaticky neznamená vyřazení jiných boot loaderů (než Windows) ze hry. Pouze umožňuje před bootováním ověřovat autentičnost jednotlivých částí boot loaderu.
- Zda bude možné Secure boot vypnout/zapnout, nebo bude natvrdo vypnut, nebo zapnut (bez možnosti změny), je výhradně na OEM výrobci (tvůrci desek, popř. hotových počítačů, ať už desktopů, nebo notebooků), podle toho, jak vyrobí svůj UEFI a co v Setupu dovolí uživateli nastavit.
Asi nemá valný smysl popisovat detailně proces zabezpečeného bootování. Zjednodušeně řečeno jde o možnost zabezpečit boot pomocí certifikátu. Certifikáty budou uloženy v UEFI při výrobě počítače, půjde o certifikáty jak pro firmwary jednotlivých hardwarových komponent s vlastními ROM BIOSy, tak certifikáty pro boot loadery. Certifikát boot loaderu musí pasovat na certifikát v UEFI (UEFI v sobě bude mít tabulku povolených, případně i nepovolených certifikátů).
Technika ukládání certifikátů do firmwaru desky není ničím novým. Již dnes se do BIOSů (ano, nejen UEFI, ale i BIOSů) desek ukládají certifikáty pro různé věci, např. zprovoznění Nvidia SLI, certifikát pro licenci na Windows pro OEM výrobce a podobně. Např. systémy Windows si sahají do BIOSu pro tento certifikát a ověřují jej s OEM certifikátem nainstalovaným v sobě, čímž se řeší pravost systému na OEM počítači bez nutnosti aktivace – asi vám nemusíme říkat, jak snadné je do BIOSu i do Windows vpravit takový certifikát a v podstatě tak „bez cracků nelegálně zlegalizovat Windows“.
Domníváme se, že právě proto, že je to tak jednoduché, přichází Microsoft se zabezpečeným bootováním přes UEFI. Vůbec bychom se nedivili, kdyby všechny OEM verze Windows musely bootovat touto cestou, což by znamenalo nemožnost jejich použití tam, kde certifikát není, přičemž i možnost vpravení certifikátu do UEFI nebude nijak jednoduchá (i samotný UEFI image může mít certifikát a nahrání upraveného UEFI do desky tak může být znemožněno). Jinými slovy Microsoft tím může zabít dvě mouchy jednou ranou: 1. zajistí, že škodlivý kód na počítači s povoleným Secure Boot nenabootuje a neobejde tak některé klíčové funkce systému, a 2. OEM verze Windows nebude možné používat na běžných „stavěných“ počítačích tak, jako doposud, kdy si uživatel vpravil do BIOSu patřičný OEM certifikát, proti němu patřičný klíč a certifikát do systému a byl tak imunní vůči všem softwarovým metodám odhalení nepravého systému Windows.
Co to může znamenat pro běžného uživatele? Pokud patříte mezi ty, kteří si kupují např. notebooky s předinstalovanými Windows s tím, že je stejně vyhodíte a hodíte si tam Linux nebo něco jiného, může nastat problém, pokud výrobce takového notebooku neumožní v Setupu vypnout Secure Boot. Pokud to Setup umožní, pak to pro takového uživatele znamená jeden krok navíc: Secure boot vypnout. Pak je na tom počítač stejně jako před tím. Výrobce se však může rozhodnout tuto volbu v Setupu nezpřístupnit a tím ve skutečnosti omezí používání svého notebooku jen na operační systémy, jejichž certifikáty bootloaderů nainstaluje do UEFI. Nabootovat tak bude moci pouze ověřený systém s patřičným certifikátem.
OEM výrobci počítačů, kteří budou předinstalovávat Windows 8, musí pro dané počítače projít Windows Certification programem, takže ten, kdo si takový počítač koupí, si bude jist třemi věcmi:
- Počítač bude mít v době prodeje zapnutou funkci Secure Boot
- firmware neumožní toto nastavení změnit programovou cestou
- nebude možné do počítače nahrát neautorizovaný firmware
Tyto body samy o sobě nic neříkají o tom, zda bude možné Secure Boot vypnout uživatelsky. To nechává Microsoft na výrobci. Až si budete kupovat nový počítač s předinstalovaným OEM systémem Windows 8, věnujte zvýšenou pozornost možnosti vypnutí Secure Bootu. Klidně se na to prodejců ptejte a požadujte jasnou odpověď - jde to, nejde to. Jen tak můžete počítač vrátit v rámci reklamace a chtít peníze zpět, protože budete mít v ruce informaci od prodejce, že počítač má nějakou vlastnost, zatímco ji ve skutečnosti nemá. Druhou možností je počítač vracet v rámci zákonné 14denní lhůty bez udání důvodu.
Samozřejmě tu vyvstává otázka, pokud Secure Boot vypnout nepůjde, zda se prodejce nedostane do křížku s regulačními úřady kvůli možnému „vázanému prodeji“ a omezování zákazníka. Dá se na to samozřejmě reagovat mnoha způsoby, ať už způsobem „my vás neomezujeme, pokud bude mít alternativní operační systém Secure Boot loader s patřičným certifikátem, klidně si ho tam spusťte“, nebo klasickým stylem „zákazník není nucen kupovat právě tento produkt, na trhu je řada dalších“ až po skutečnost, že „operační systém může být v takovém případě stejně nedílnou součástí jako firmware a produkt jako takový se právě takto prodává“… „výmluv“ lze najít řadu, uvidíme, jak to nakonec na trhu dopadne.
Pro uživatele se „stavěným počítačem“ se s největší pravděpodobností nezmění vůbec nic. I přes skutečnost, že z licencí na Windows se nejvíce prodá těch OEM a pro velké firmy, si Microsoft nemůže dovolit zrušit krabicové verze instalovatelné na libovolný počítač, ať už má UEFI 2.3.1, nebo starší, nebo dokonce jen BIOS. Jen tam prostě nebude ten Secure Boot, takže boot loader může být nějakým škodlivým (nebo jiným) kódem kompromitován stejně jako u dnešních systémů Windows.
Je jen otázkou, jak bude řešeno ověřování OEM verzí Windows 8, zda to bude výhradně přes UEFI 2.3.1 a jeho Secure Boot, nebo bude i nějaká starší metoda podobná třeba té ve Windows Vista či Windows 7. Podle toho budou mít uživatelé Windows bez náležité licence o starost více, nebo ne.