
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.
Aktualizace mikrokódu procesoru je možná ze systému už velmi dlouho (i z Windows). Našel jsem zmínku z roku 2004: http://www.tomshardware.co.uk/forum/154782-45-microcode-update Fakticky je aktualizace mikrokódu možná od Pentium II (rok 1997), ale tenkrát to bylo možné jen flashnutím nového BIOSu.
Tak to fungovalo už i pro Windows 98: https://msfn.org/board/topic/44388-microcode-updates-updatesys/
Je to tak, ale MS to nepoužívá nijak zvlášť pravidelně, tj. že by touhle cestou byly dostupné všechny aktualizace mikrokódu, které od Intelu (nebo AMD) vyjdou, jako to víceméně funguje na Linuxu.
Ta „novina“ na tomhle není, že to jde, ale že se MS rozhodl, že tyhle aktualizace zrovna poskytne (zatímco jiné ne). Předtím nic podobného avizováno nebylo, takže to trochu vypadalo, že na Windows bude jediná možnost BIOS.
Spis by me zajimala aktualni situace, jestli uz je po samovolnych restartech a muzu aktualizovat Windows 7 a pripadne i BIOS na pocitaci s procesorem Haswell?
Radeji jsem totiz od ledna svuj Windows 7 na pocitaci s Haswellem neaktualizoval, BIOS take ne.
Druhy pocitac s Windows 10 a procesorem Skylake aktualizovany mam, ale BIOS teda zatim ne.
Pro Haswell záplata zatím není. Intel postupuje od novějších procesorů ke starším.
Dell dal novou verzi záplaty mikrokódu přes flash BIOSu do placu 20.2. Předchozí vadnou předtím v distribuci nenechával, stáhl ji hned, jakmile bylo jasné, že někomu způsobuje problémy (mně nezpůsobovala, já s ní na KabyLake normálně jel bez potíží). Takže se podívej k výrobci motherboardu, ne?
Diky, staci mi ta informace, ze pro Haswell to Intel nevydal. Zatim teda aktualizovat nic nebudu. Ono vzhledem k tomu, ze Melta/Spektra nejsou nijak nebezpecne problemy (pro domaciho uzivatele), tak neni kam s aktualizaci spechat.
Pro Haswell už Intel opravený microcode vydal – Haswell-S verze mikrokódu 0x24.
https://newsroom.intel.com/wp-content/uploads/sites/11/2018/03/microcode-update-guidance.pdf
Tak možná na papíře v tom pdfku, ale dostupnýho nic není…. Budem si holt muset počkat až se na nás se staršími CPU dostane, nebo nás dotlačí ke koupi novýho procáku :=(((
Sorry za rýpnutie, ale nechápem prečo vlastne chceš aktualizovať win, či updatovať BIOS. Tebe je predsa nad slnko jasnejšie, že ti žiadne riziko nehrozí, nakoľko nie si „veľké datacentrum“ ani nič podobné. 😀
BIOS aktualizovat ani nechci, ale Windows ano, kvuli dalsim moznym chybam, ktere jednou urcite budou, ale jak pisu, zadny stres zatim nic velkeho neni.
Kaky Lake Intel Core i7-7700K pro toto CPU Windows záplatu vydá?
Eventuálně ano. Intel vydal ten mikrokód až asi o týden později než ty pro Skylake (6700K), takže proto se asi do téhle první vlny nedostal. Ale Microsoft má do tohohle balíčku postupně přidávat i pro ostatní CPU, až budou dostupné a otestované.
Super,díky za odpověd a info-počkáme a uvidíme……..