Ve Windows Update už je mikrokód proti Spectre pro čipy Sandy Bridge. Vyzkoušeli jsme ho

33

Jak už asi víte, na začátku ledna bylo oznámeno objevení bezpečnostní chyby Spectre víceméně ve všech současných procesorech. Část oprav, které proti jejímu zneužití (přesněji řečeno proti Spectre variantě 2) nasadily operační systémy, závisí na nových speciálních funkcích pro ovládání prediktoru větvení v jádrech CPU. Ovšem tyto funkce musí procesorům nejprve dodat aktualizace mikrokódu. Intel již tyto záplaty vydal pro všechny své procesory z posledních let, počínaje některými verzemi Nehalemu, ale problém je v tom, že výrobce starší desky nebo PC vám obvykle nedodá potřebný nový BIOS. Naštěstí ale tyto aktualizace začal distribuovat také Microsoft a jeho prostřednictvím byly nyní zpřístupněné aktualizace mikrokódu pro starší architektury, takže už lze zabezpečit i docela postarší počítače.

 

Aktualizace pro starší CPU už jsou ve Windows Update

V katalogu záplat pro Windows lze nyní nalézt aktualizace mikrokódu pro procesory od Skylake a derivátů (Coffee Lake, Kaby Lake), přes Haswell a Broadwell a v posledních dnech přibyly také stále populární Sandy Bridge a Ivy Bridge z let 2011 a 2012. Tyto architektury lze do značné míry stále považovat za moderní CPU, zvlášť pokud se jedná o čtyřjádrový model, takže jejich pokrytí bezpečnostními patchi je víc než vítané. Nadále tak zůstanou plnohodnotná i co do bezpečnosti, místo aby je konec podpory odeslal do důchodu.

Tato aktualizace není zřejmě zařazena mezi záplaty, které by vám Windows nainstalovaly automaticky – alespoň na PC s procesorem Sandy Bridge, které jsem zkoušel, se tak nestalo. Je třeba stáhnout samostatný instalátor, jenž má pro Windows 10 v sestavení 1803 označení KB4100347, a nainstalovat ručně. Poté je třeba počítač restartovat, jelikož mikrokód se do CPU nahrává při spouštění OS. Bohužel se zdá, že balíček s mikrokódy není dostupný pro Windows 7 nebo WIndows 8.1, ale pouze pro desítky. A verzi obsahující i mikrokódy pro Sandy Bridge a Ivy Bridge má Microsoft jen pro aktuální build 1803 (stáhnout se balík dá zde), tedy April 2018 update.

Pro předchozí sestavení Windows 10 sice tato záplata také existuje, ale zatím jen ve starší verzi, které má ještě mikrokódy jen pro Haswell až Skylake. Odkazy na aktualizaci pro jednotlivé starší verze Windows 10 má Microsoft zde.

intel-cpu-procesor-desktop-sandy-bridge
Čtyřjádrový čip Sandy Bridge. Pravděpodobně jim už nikdo nevezme titul nejoblíbenějších CPU aktuální dekády.

Zatímco pro některé desky platformy Haswell a Broadwell se již začaly objevovat i aktualizace BIOSů od výrobců, počítače s procesory Sandy Bridge a Ivy Bridge jinou možnost než tento update nemají a je třeba pochválit Microsoft, že jim mikrokód zprostředkovává. Kromě běžných desktopových a mobilních čipů jsou touto záplatou pokryté i highendové a serverové verze (Haswell-E/EP, Sandy Bridge-E/EP a tak dále) a také Xeony D. Seznam najdete v popisu aktualizace.

Doufejme, že se brzo dostane i na zbylé architektury, které Intel opravil a také jádra Atom, které Microsoft v balíku zatím nemá. Zda se takto budou distribuovat také stejné opravy pro procesory AMD, bohužel také nevíme.

Zběžný test: procesor Sandy Bridge opravou moc neutrpí

Zrovna jako na zavolanou se po ruce naskytlo PC s procesorem Core i7-2600K, které již mělo nainstalovány Windows 10 s April 2018 Updatem, a tak jsem na něm fungování těchto záplat vyzkoušel. Po ručním spuštění instalátoru a restartu na tomto stroji utilita SpecuCheck hlásí, že Windows mají ochranu proti Spectre v2 aktivní a používají rozšíření STIBP, IBRS a IBPB. To znamená, že update mikrokódu při bootu z operačního systému úspěšně funguje a PC je zabezpečeno. Tedy alespoň proti tomuto bezpečnostnímu problému, jistota v počítačích nikdy není absolutní.

Výstup programu SpecuCheck ukazuje po aktualizaci mikrokódu KB4100347, že ochrana proti Spectre v2 je aktivní
Výstup programu SpecuCheck ukazuje po aktualizaci mikrokódu KB4100347, že ochrana proti Spectre v2 je aktivní

Pro informaci, jak ochrana proti Spectre v2 pomocí funkcí v novém mikrokódu případně počítač zpomaluje, jsem letmo zkusil aspoň pár benchmarků. Test je to jen hodně narychlo provedený a bez pořádné metodiky (nebo opakování/průměrování), takže čísla berte jen silně orientačně, ne jako regulérní benchmark. Z tohoto nástřelu to ale vypadá, že majitelé procesorů Sandy Bridge nemají příliš důvodů se opravy Spectre v2 bát. Většina benchmarků sice zpomalení zaznamenala (s výjimkou Cinebench a x264, kde je dokonce nárůst, ovšem asi v rámci chyby měření), jde však o nízké jednotky procent. Rozdíl je malý a tak asi nemá smysl záplaty odmítat.

Největší 7% rozdíl u browserového benchmarku Sunspider už je sice markantnější, jde ale o starý a velmi krátce běžící test, takže změnu výkonu byste reálně nepoznali a výsledek také může být krátkostí výpočtu hodně zkreslen. Delší javascriptový test Mozilla Kraken má ztrátu výkonu mnohem menší. Pro pořádek je ještě třeba říct, že ono krátké testování neodhalilo žádné chyby nebo nestabilitu.

Vliv mikrokódové opravy Spectre v2: Core i7-2600K, Windows 10 64bit

Benchmark Bez mikrokódu S mikrokódem Změna
CPU-intenzivní

 

x264 FHD Benchmark v1.0.1 18,86 fps 18,87 fps +0,05 %
Cinebench R15 MT 615 617 +0,33 %
Cinebench R15 ST 132 133 +0,76 %

Prohlížení webu, javascript

Sunspider 1.0.2 258,0 ms 276,2 ms -7,05 %
Kraken 1.1 1262,8 ms 1274,1 ms -0,90 %

PCMark 10 (základní edice)

App Start-up 3641 3515 -3,58 %
Video Conferencing 5523 5490 -0,60 %
Web Browsing 5455 5549 +1,72 %
Productivity: Spreadsheets 3971 3815 -4,09 %
Productivity: Writing 3757 3604 -4,25 %
Photo Editing 2093 2012 -4,03 %
Video Editing 1424 1377 -3,41 %

 

Konfigurace testovacího PC byla poněkud ve stylu „co dům dal“, což bude odpovídat spíš staršímu domácímu či kancelářskému PC než výkonné či herní sestavě: Intel Core i7-2600K na výchozích taktech, integrovaná grafika HD3000; 8 GB RAM (DDR3 1333 MHz, jeden kanál); deska MSI H61M-P31/W8; Windows 10 64bit 1803; Mozilla Firefox 60.0.1 64bit. Systém byl bohužel na velmi starém HDD Seagate Barracuda NS 250GB (7200RPM), takže dopad opravy Spectre na rychlost I/O operací jsem ani nezkoušel.

Aktualizace mikrokódu nic nepokazí, je reverzibilní

Pokud máte strach ze ztráty výkonu, nebo vám o něco vyšší potenciální zranitelnost systému nevadí, tyto záplaty samozřejmě instalovat nemusíte. Je možné jejich funkci po instalaci zablokovat pomocí registrů, které Windows zakážou IBRS/IBPB/STIBP používat. Samotná přítomnost mikrokódu v CPU by k degradaci výkonu ještě vést neměla, takže jejím instalováním vyloženě neriskujete (aktualizace mikrokódu je každopádně volatilní a CPU permanentně nemění, takže se jí případně můžete zcela zbavit odinstalováním záplaty KB4100347). Osobně jsem ji v systému ponechal a odinstalovával bych ji asi až tehdy, pokud bych narazil na konkrétní výkonnostní problém v nějakém programu. Například kdyby CPU přestalo stíhat dekódovat real-time nějaké video, které předtím plynule zvládalo, nebo něco podobného.

Ve Windows Update už je mikrokód proti Spectre pro čipy Sandy Bridge. Vyzkoušeli jsme ho
Ohodnoťte tento článek!
4.32 (86.32%) 19 hlas/ů

33 KOMENTÁŘE

  1. Moje PC:
    i7-6700, deska MSI H170 – aktualizace BIOSu neni
    xeon e3-1225v3 deska Asus H97 – aktualizace BIOSu neni
    i7-950, deska Gigabyte – aktualizace BIOSu neni

    Tolik k opravenym BIOSum.

    Jinak i7-6700 mi bezi na Win10, takze mam stahnout nejaky update z katalogu a nainstalovat. Jaky?
    Xeon mi bezi na Win7, takze tam mam smulu?
    i7-950 mi bezi taky na Win10, ale tam teda tez neni update k dispozici?


    Mimochodem pro to i7-950 nejsou ovladace pro desku na Windows 10, tak jsem nainstaloval genericke ovladace od Microsoftu a system je zcela stabilni a funguje i USB3, opravdu skvela prace od MS, prekvapili me!

  2. Šlo by prosím otestovat ty stejné programy při vypnutí Meltdown patche? Na Nehalemu, který taktéž nemá INVPCID, pozoruji zejména při I/O operacích (disk, síťové přenosy) subjektivně značné zpomalení.

  3. Mám Intel i7-5820K s deskou X99/USB 3,0 a zjistil jsem, že i já patřím mezi ty, co by měli updatovat. Tak jsem to ráno zkusil a zjistil jsem, že pro normální chod je to v pořádku, ale pravidelně, asi po 15 minutách se mě ve Firefoxu vypínal internet, kdy po restartu Firefoxu opět vše fungovalo normálně. Stalo se to 5x, tak jsem tu aktualizaci odinstaloval a vše je tak, jak to bylo před instalací.

    • Teď když je Firefox multiprocess, tak se občas stane, že taby a načítání přestanou pracovat a musí se zavřít a znovu spustit (když ho člověk nechává dlouhou dobu otevřenej). Taky jsem pozoroval problémy v kombinaci s Trusteer Rapport a Windows 10 1803, některé javascriptové stránky neodpovídají.

      Asi je možné, že v tomhle případě nastal nějaký podobný problém, spíš bych ale asi čekal, že je to nějaká softwarová chyba při implementaci těch ochran, než přímo chyba toho mikrokódu/CPU.

  4. Cili to vypada, ze nejvic utrpely benchmarky zavisle na diskovem subsystemu, coz koreluje se starsimi vysledky. Herni a plikacni vykon se spis mirne zvysil. Co v testech neni je kompilace, ktera zejmena pod linuxem utrpela nejvic (i kdyz se to pry resi v ramci kernelu a gcc).

      • Ten test je například dělaný s turbem, nastavením rovnováha ještě bez vypnutého AV (Avast), což může dost věcma hýbat. Ale zase je to typické nastavení, v jakém se ten počítač používá. Tím, jak ty testy taky nebyly dělané víckrát a zprůměrované (málo času…), tak je tam nutně větší chyba měření.

  5. A jak jsem se díval, tak Microsoft je trochu opožděný – do té své záplaty přidal mikrokódy pouze z březnové Intelí zbírky. V dubnové jsou navíc některé před-Sandy mikroprocesory. Např. Nehelem a Westmare EP/EX.