Intel zrušil opravy Spectre pro starší procesory. Core 2 a (některé) Nehalemy mají smůlu

14

Chyby Meltdown a Spectre v procesorech, odhalené na začátku roku, stále ještě nejsou kompletně za námi, byť už jsou to tři měsíce, co se o nich ví. Intel proti chybě Spectre vyvinul protiopatření, která pomocí kontrolních registrů upravují fungování prediktoru větvení, aby se zabránilo jeho zneužití variantou 2 této chyby („Branch Target Injection“, CVE-2017-5715). Před nějakou dobou jsme zde měli dobrou zprávu, že tyto aktualizace budou dostupné i pro dnes již hodně staré – ale leckde asi stále používané – procesory. Bohužel se zdá, že takové štěstí nakonec mít nebudeme a tento plán skončil pod stolem.

Z dokumentů, které byly dostupné v únoru, vyplývalo, že Intel plánuje opravené verze mikrokódů pro procesory s architekturou Nehalem (z let 2008–2010) a navíc ještě pro čipy Core 2. U těch sice nešlo o všechny, jen o jejich 45nm druhou generaci „Penryn“ z roku 2007, ale i tak to bylo hodně příjemné. I v pozdějších verzích dokumentu ukazujícího stav vývoje oprav tato CPU nadále vystupovala. V aktuálně dostupné dubnové verzi to tak ale již bohužel není. Intel těmto čipům mikrokódové funkce proti Spectre nedodá a nechá je být. První generací procesorů, která opravy dostane, bude tudíž s určitými výjimkami až architektura Sandy Bridge z roku 2011.

Stav oprav je nyní už pro všechny procesory Intelu, které je dostanou, ve stavu „Production“ (jen několik, jako například nově vydaná Coffee Lake s grafikou Iris Plus, jsou zatím jen „Production Candidate“). To znamená, že práce na mikrokódu jsou hotové a už jen zbývá ho dostat do BIOSů a/nebo operačních systémů. Ovšem u Nehalemu a Core 2 se stav opravy změnil na „Stopped“, což značí, že mikrokód proti Spectre už nedostanou. Kromě nich podobný osud stihl ještě procesor Atom SoFIA 3GR (což byl čínský Atom vyvinutý s Rockchipem).

spectre-text

Některé Nehalemy mají smůlu, některé ne

Core 2 budou bez opravy všechna, u Nehalemu je to však komplikovanější. Nás asi nejvíce zajímající procesory jako Core i7-920/940/965 atd. pro socket LGA 1366, které mají kódové označení Bloomfield, mají smůlu včetně odvozených Xeonů. Také šestijádrové Gulftowny i7-970/980/990X nebudou opraveny. Naopak již 32nm procesory Lynnfield pro socket LGA 1156 jako Core i5-750 nebo i7-870 a dvoujádra Clarkdale (například i5-860, i3-530, Pentium G6950) mají štěstí opravu dostanou. Xeony Nehalem EX a Westemere EX/EP opravu mikrokódu také mají.

45nm desktopové Nehalemy pro socket LGA 1366 katualizaci mikrokódu nedostanou
Například 45nm desktopové Nehalemy pro socket LGA 1366 aktualizaci mikrokódu nedostanou

Architektura jader nemusela opravy umožňovat

Toto rozhodnutí moc nepotěší, ale je možné, že je způsobeno objektivními příčinami. Mechanismy zahazování stavu prediktoru větvení nebo izolace jednotlivých vláken (funkce IBPB, STIBP a IBRS) nejsou asi úplně triviální věcí a nemusí být snadné je v rámci CPU implementovat jen pomocí mikrokódu za chodu – s čímž se původně nepočítalo. Jak ukázala šlamastika s nestabilitou první verze těchto aktualizací, mohou tyto snahy o úpravu fungování vnitřností přinést problémy. Je tedy možné, že starší architektury jednoduše zpětné implementování těchto funkcí neumožnily a nepovedlo se najít řešení, jak je zprovoznit. Případně mělo u těchto architektur zasahování do prediktoru tak velký výkonnostní dopad, že to nebylo považováno za akceptovatelné.

Něco takového naznačuje i legenda k tabulce, ovšem dost vágně, takže reálný důvod zůstává nejistý. Podle Intelu „Stopped“ znamená, že po prozkoumání možností dané architektury a toho, čeho u ní lze úpravami mikrokódu dosáhnout, došla firma k rozhodnutí, že opravu pro ně vydávat nebude. Důvody pro tento krok mohou být dle Intelu různé a jmenuje z nich tři.

  • Vlastnosti mikroarchitektury neumožňují praktickou implementaci funkcí chránících před chybou.
  • Produkty už mají jen omezenou komerční podporu.
  • Na základě komunikace se zákazníky je většina těchto produktů v „uzavřených systémech“, kde je nižší pravděpodobnost, že budou zranitelností ohrožené.

Co byl ale hlavní faktor a zda ony technické překážky byly neřešitelné, to těžko říct. Podle Intelu mohla být příčina v „jednom nebo více z nich“, případně ale i v dalších, zde nejmenovaných. Je samozřejmě možné i to, že někdo prostě rozhodl o tom, že vynakládat úsilí na dávno neprodávané produkty není v zájmu firmy. Onen třetí důvod totiž naznačuje, že staré architektury jako Core 2 a Nehalem by případně byly opravovány jen kvůli embedded verzím těchto čipů. Ty mají velmi dlouhé životní cykly a jsou zřejmě jediné z těchto rodin CPU, se kterými je ještě Intel vázán nějakou formou záruky nebo podpory. Protože ale takové systémy neotvírají cizí webové stránky nebo nespouštějí nedůvěryhodný kód, zřejmě jejich uživatelé opravy nepotřebovali (nebo nebyli ochotní zaplatit, pokud šlo o nějakou formu placené podpory).

intel-core2-quad-q6600Procesory používané v PC nebo serverech takto dlouhou produktovou životnost oficiálně nemají, tudíž k jejich přetrvávajícím uživatelům už na rozdíl od embedded klientů dost možná přihlíženo nebylo. Ovšem realisticky vzato – i pokud byl toto jediný důvod, tak se asi stále nemůžeme zas nějak moc zlobit. I Sandy Bridge je nyní šest let stará architektura (i když se pravda některé modely se vyráběly ještě v roce 2015), a některé jiné firmy by nejspíš podporu zastavily ještě dřív. Tak to v byznysu holt chodí.

Intel zrušil opravy Spectre pro starší procesory. Core 2 a (některé) Nehalemy mají smůlu
Ohodnoťte tento článek!
4.92 (98.33%) 12 hlas/ů

14 KOMENTÁŘE

      • Jo sak nedávno našli tie desiatky chýb ktoré budú musieť poriešiť. Bola tu o tom novinka. A výkon treba tiež zvyšovať nielen systemom viac jadier, viac Adidas.

        Tie nehelemy majú už aj cez 10 rokov tuším, čo tam chces dnes ešte opravovať, načo?

        • Nehalemy mají 8 let.

          A co tam opravovat? Problém je, že u notebooků to bývají poslední generace strojů, které za něco stojí. Ukažte mi ekvivalentní náhradu HP Elitebooku 8540w (Clarksfield CPU) nebo Lenovo ThinkPadů T510 (Clarksfield CPU) / T520 (Sandy Bridge CPU). Jasně, najdou se stroje jako Dell Precision nebo Lenovo ThinkPad P51, které stále ctí tuto bytelnou konstrukci, ale jsou cenově jinde i než jak bývaly výše zmíněné.

        • Takže mám zahodit svůj server, vyndat sto táců, a nahradit ho? Jasně, získám záruku, možná vyšší výkon, rozhodně nižší spotřebu. Ale kvůli pár blbě položeným tranzistorům (obrazně) vyhodím asi 40kg železa, 16 disků (do nového serveru už asi tolik 2.5″ SAS disků nenarvu), 96GB RAM (DDR3), dva zdroje…
          Ani omylem. IME nepoužívám, na zbytku je firewall, a budu se modlit, že když používám jen ověřený SW, že mě nikdo nepodělá 🙁
          Ale Intel už si do serveru znovu nepořídím, pokud to alespoň trochu půjde. Před půlrokem to ještě třeba nešlo, ty Opterony byly nepoužitelné (pro mě).

  1. Hrozny kecy.
    Jsem si rikal, ze teda afera uz utichla, tak snad vsechno OK, tak teda taky nainstaluju Melta/Spektra updaty.

    Nejdriv jsem sel na web Microsoftu a stahl si pro Windows 7 vsechny only-security updaty, ktere jsem nemel nainstalovane nekdy od prosince.
    Tim jsem tusim vyresil Meltu.
    Pak jsem sel na web Asus, abych updatoval mikrokod pomoci noveho BIOSu a vyresil tusim Spektra problem a ono kde nic tu nic, posledni BIOS ze zacatku roku 2016. A to mam Haswell a docela popularni desku Asus H97-Plus.
    Takze sice Intel mozna poresil ale vyrobci desek na update mikrokodu tak nejak totalne kaslou.

    • Kdyby Intel na opravy microcode kašlal, tak asi nejsou v Linuxu 🙂 i ve Windows si ho můžete zavést sám. Ale při každém spuštění, a musí být pro váš procesor dostupný (což snad je, protože nemáte žádnou vykopávku, ne? 😀 )

      • Ja tu opravu toho problemu nepotrebuju, ja tu celou dobu tvrdim, ze je to blbost a je to prakticky nezneuzitelne, ale proste me fascinuje to divadlo kolem toho a pak update BIOSu desky skutek utek, Asus na to z vysoka kaci a vsem je to totalne sumafuk.

        • Redmarxi..je treba to brat trochu s nadhledem..Tobe je to fuk a ty mas na to svoje duvody a to je v poradku. Jinym to fuk neni a maji na to taky svoje duvody. Kdyz bych byl treba systemak a mel spravovat nejaky server, ktery je vystrceny ven, tak mi to rozhodne fuk nebude. Kdyz bych byl systemak a mel pod sebou X nejakych stroju, na kterych se musi pracovat, tak mi to urcite taky fuk nebude…vsechno zalezi od uhlu pohledu.

    • Dnešní odpověď na můj dotaz ohledně updatu BIOSu na desce ASUS Z87 Gryphon (celkem high-end micro-ATX deska svého času):

      „Your concern was escalated to ASUS development and research department. They have advised that the Gryphon Z87 will not receive further bios updates. Please advise if you have faced issues with Spectre.“

      S updatem Z97 bych taky nepočítal, na webu ASUSu už v lednu tyto čipsety nebyly listovány k opravě:
      https://www.asus.com/News/V5urzYAT6myCC1o2