Bezpečnostní aktualizace mikrokódů pro procesory, které si v průběhu letošního roku vynutily některé z děr, odhalených v CPU, sebou jako nutné zlo nesou určitou degradaci výkonu, s níž je asi nutno se smířit. Vydávání těchto oprav ale nešlo úplně hladce a objevily se v nich i chyby vedoucí k dalším nežádoucím účinkům. Aktualizace KB4100347, kterou se opravy mikrokódu pro procesory Intel šíří přes službu Windows Update přímo v operačním systému, může vést k různým problémům, jak jsme nedávno psali v tomto článku. A zdá se, že na seznam potíží spojených s tímto patchem si můžete připsat ještě jednu – na některých počítačích totiž navíc rozbíjí přetaktování.
Záplata KB4100347 je balíček, který obsahuje mikrokódy pro procesory Intel, zaměřené na ochranu proti chybě Spectre v2 (Branch Target Injection). Distribuuje ho Microsoft skrze Windows Update, neboť mikrokód lze do CPU nahrávat i při startu operačního systému (pro připomenutí, aktualizace není trvalá, vydrží v CPU jen do restartu nebo vypnutí). Microsoft tento balík postupně aktualizoval a zatímco původně byl nabízen jen k manuální instalaci, koncem srpna se začal instalovat plošně automaticky.
Přetaktování na Broadwellech-E nefunguje
Na různých fórech (například Reddit, Asus ROG, i přímo na webu MS) se objevily stížnosti, že po instalaci této aktualizaci přestalo fungovat přetaktování na procesorech Broadwell-E. To jsou 14nm highendové procesory pro platformu Intel X99, které vyšly v roce 2016, konkrétně jde o Core i7-6800K, i7-6850K, i7-6900K a i7-6950X. Zdá se, že něco na mikrokódu obsaženém v záplatě od Microsoftu způsobuje, že přetaktování nastavené v BIOSu (UEFI) přestane mít efekt a tyto procesory pak uživatelům běhají jen na svých výchozích taktech. Nastavené přetaktování je z nějakého důvodu ignorováno nebo není aplikováno.
Eliminace přetaktování samozřejmě vede k tomu, že PC podává nižší výkon než před instalací, není to však v tomto případě efekt přímo opravy Spectre. Že vás tento problém postihl, lze snadno ověřit pohledem třeba do Správce úloh nebo jiného programu, který monitoruje frekvence CPU.
Zatím to nevypadá, že by tato chyba postihovala i jiné procesory Intelu a Broadwell-E je tedy asi výjimka. Pokud tyto procesory provozujete, je řešením odebrat záplatu KB4100347, což lze v nastaveních aktualizací ve Windows. Pokud vám opravený mikrokód dodal nový BIOS základní desky, tuto aktualizaci pro bezpečnost nepotřebujete (a při aplikace mikrokódu základní deskou nejsou zprávy o problémech).
Problém řeší nová verze KB4346084
Zdá se ovšem, že existuje ještě jedno řešení, které je možná lepší. Podle příspěvků takto stižených uživatelů problém odstraňuje také novější záplata Microsoftu s označením KB4346084. Také ta obsahuje aktualizace mikrokódu pro procesory Intelu, ale mělo by jít o novější verze. V této novější verzi jsou kromě ochrany proti Spectre v2 také opravy proti později odhaleným chybám Spectre v3a (Rogue System Register Read) a Spectre v4 (Speculative Store Bypass) plus také proti chybě L1 Terminal Fault také označované Foreshadow. Instalace této novější aktualizace je tedy přínosné i z bezpečnostního hlediska. KB4346084 tedy problémový balík KB4100347 nahrazuje, nicméně ten asi stále budete muset ručně odebrat. Oprava KB4346084 také zatím asi není automaticky distribuována, na rozdíl od starší verze.