Přichází dobrá zpráva pro ty, kdo by rádi zvýšenou ochranu počítače před bezpečnostními dírami Spectre a Meltdown loni objevenými v procesorech a letos v lednu veřejně odhalenými. Jak jsme probírali zde, jednu z nich, tzv. Spectre varianta 2 („Branch Target Injection“, známé též pod označením CVE-2017-5715) mají ošetřovat nové funkce procesorů umožňující kontrolu nad predikcí větvení při vykonávání programů, ovšem tyto nové funkce se procesorům musí přidat aktualizací mikrokódu. K té se obvykle dostanete aktualizací BIOSu desky/počítače, z čehož bylo hned jasné, že nastane problém u starších počítačů. Nové BIOSy totiž obvykle vycházejí maximálně dva-tři roky po vydání. Naštěstí to vypadá, že situaci zachrání Microsoft. Společnost stojící za operačním systémem Windows totiž distribuci potřebného mikrokódu vezme na sebe a bude ji dodávat skrze aktualizace operačního systému. Kromě BIOSu (UEFI) základní desky může totiž mikrokód nahrávat i operační systém při spouštění, čímž lze aktualizovat i procesory v počítačích, kterým již nový BIOS nebude dopřán.
Mikrokód přes operační systém
Microsoft ale tuto možnost dosud moc nevyužíval, a tak se zdálo, že proti Spectre nebude nic platná – na rozdíl od platformy Linux, kde už skrze aktualizaci OS mikrokód dostat můžete. Naštěstí se zdá, že vzhledem k vážnosti situace nyní Microsoft ze své politiky vykročil a uživatelé Windows budou mít stejnou kliku jako ti s Linuxem. Aktualizace mikrokódu bude dostupná ve zvláštním balíčku, který lze v katalogu Microsoftu nalézt zde. Ten zatím zdá se není distribuován automaticky, musíte si ho najít a instalovat manuálně (instalátory ke stažení jsou tady).
Důležité ale je, že zde tato možnost je, zvlášť v situaci, kdy Intel hodlá aktualizovat docela velké množství starších CPU jdoucích až do roku 2007. Počítače z éry Core 2, Nehalemu se už rozhodně nových BIOsů nedočkají a ostatně i takové Sandy Bridge je už z hlediska výrobců desek dávná historie. A je také možné, že časem, až bude fungování dobře ozkoušeno, se aktualizace dostane i do standardních automaticky instalovaných aktualizací ve Windows Update.
Zatím jen pro Skylake, další CPU budou přibývat postupně
Nyní možná Microsoft čeká na to, až budou mikrokódy dostupné pro všechna CPU. Toho se ještě Intelu nepodařilo dosáhnout kvůli chybě, která byla objevena v první verzi mikrokódu a vše zdržela. Záplata Microsoftu proto zatím slouží jen některým procesorům Intel, a to Skylake čili generaci 6000 pro stolní PC a notebooky (bez serverové verze Skylake-SP/X).
Pro ty byla totiž finální oprava vydána nejdřív. Další CPU budou přibývat podle toho, jak pro ně bude Intel opravu publikovat, a měly by být začleněné do nových verzí tohoto balíčku. O procesorech AMD v článku zmínka není, ale doufejme, že jejich aktualizaci mikrokódu bude Microsoft distribuovat taktéž, až bude uvolněna.
Aktualizace je podle popisu dostupná pro Windows 10 verze 1709 (tedy aktuální Fall Creators Update) a Windows Server 1709. O ostatních systémech řeč není, i když opravami pro Meltdown a Spectre jinak kryté jsou. Možná, že se širší podpora ještě objeví v budoucnu, uvidíme.
Aktualizace se není třeba bát, ochrany lze vypnout v registrech
Instalace těchto mikrokódů mimochodem neznamená, že se musí ochranné funkce nutně používat, s čímž je spojená jistá ztráta výkonu. Obranu proti Spectre v2 lze deaktivovat pomocí nastavení v registrech, takže i pokud by se vám aktualizace nainstalovala automaticky „proti vaší vůli“, lze negativní efekty klíčem v registru vypnout. Microsoft také doporučuje zkontrolovat v případě, že ochrany chcete, zda náhodou nejsou v registrech vypnuté. Jde to pomocí nástrojů zmíněných v tomto článku; použít by se ale měl dát i jednodušší SpecuCheck.