Spectre a Meltdown ještě jednou
Suverénně největší událostí týdne a možná největší událostí tohoto roku, ne-li tohoto desetiletí, je zveřejnění dvou typů bezpečnostních chyb ve většině procesorových architektur, napříč firmami a napříč léty uvedení na trh. Tématu jsme věnovali samostatný úvodní článek (po několika hodinách byla aktualizován, ale i tak už je dnes opět z určité části neaktuální), dále několik zpráviček týkajících se reakce Intelu, měření výkonnostního dopadu záplat v Linuxu či patchům pro GCC i kernel a také pro LLVM.
Následující části rekapitulují pozdější vývoj, byť lze pochopitelně předpokládat, že nemálo z toho už víte, neboť diskuse pod úvodním článkem je obsáhlá a věc „probublala“ nejen do mainstreamových médií typu Novinky.cz, ale i do hlavní zpravodajské relace České televize.
Předně připomeňme, že je nutné rozlišovat, zdali se bavíme o chybě Spectre nebo chybě Meltdown. Spousta článků to z logických důvodů míchá dohromady, vzniklo to tím, jak se postupně informace objevovaly (a ne každý hned v počátku podchytil, že nejde jen o Intel a jeho o Meltdown). Velmi stručně řečeno: už dávno neplatí, že chybu v CPU má jen Intel a že jde pouze o jednu chybu. Nicméně Intel má másla na hlavě nejvíce a jednání firmy ke klidu nijak nepřispělo.
Krzanich a jeho akcie
Jedna věc je jasná: velmi krátce předtím, než byly ony bezpečnostní chyby odhaleny světu, prodal šéf Intelu významnou část svých akcií, v hodnotě zhruba půl miliardy Kč. Údajně si ponechal pouze množství, které musí jako šéf společnosti povinně držet, vše ostatní prodal. Učinil tak v době, kdy většina světa, a tedy i burzovních hráčů a akcionářů firmy, nevěděla, jak VELKÝ má firma problém, že se již brzy provalí a akcie Intelu půjdou rapidně dolů.
Tak se také po ohlášení stalo, Krzanichovi to nepochybně ušetřilo milióny dolarů. Pokud se ale podíváme na vývoj hodnoty akcií Intelu za posledních 5 dní, tak sice vidíme 3. ledna velký propad, následovaný 4. ledna dalším propadem, nicméně nyní se hodnota akcií opět pozvolna zvedá. Také lze narazit na (též neoficiální) zprávy, že jak o plánovaném velkém prodeji Krzanichových akcií, tak o chybě v CPU, byly příslušné úřady informovány s dostatečným předstihem.
Bude zajímavé sledovat, jak se tato věc vyvine, neboť Intel bývá jednou z těch firem, které se označují jako „too big to fail“.
Naštvaný Linus Torvalds
Kdo si již tradičně nebral servítky, je samotný Linus. Na mailing listu jádra lze nalézt jeho ostrou reakci na adresu Intelu.
Problém přiznávají i další firmy
Nikdo si pochopitelně nemůže dovolit strkat hlavu do písku, takže většina výrobců už k tomu vydala svoje prohlášení. Toto je přehled procesorových firem:
- AMD vydala An Update on AMD Processor Security – vyjadřuje se ke třem variantám popisovaným v původním blogpostu Google Project Zero. Mezitím je ale AMD postižena bezpečnostní chybou ve svém Platform Security Processoru, obdobě Intel Management Engine.
- Nadace kolem architektury RISC vydala prohlášení, ve kterém situaci hodnotí jako historickou možnost pro RISC-V ukázat, jak se dá bezpečnost dělat správně.
- Apple vydal prohlášení, ve kterém potvrzuje chyby Spectre či Meltdown v CPU Intel a AMD, která používá ve všech svých produktech (problém nemají Apple Watch). Firma již vydala aktualizace iOS 11.2, macOS 10.13.2 a tvOS 11.2, které řeší Meltdown. Ohledně Spectre dodává, že největším problémem možná bude zneužití chyb skrze webové prohlížeče, firma chystá tyto opravy (tj. pro Safari a související) přednostně. Podle prvních odhadů bude výkonnostní dopad oprav menší než 2,5 % (opět: netýká se watchOS, neboť hodinky od Apple nejsou chybou Spectre postiženy).
- Nvidia vydala prohlášení, ve kterém uvádí mezi postiženými produkty karty GeForce, Quadro, NVS, Tesla a přidává rozpis toho, kdy která aktualizace ovladačů problém opraví (nutno podotknout, že dle rozpisu ve chvíli, kdy tyto řádky čtete, už byla pro drtivou většinu produktů k dispozici opravná verze ovladačů).
- Procesory POWER jsou též zranitelné.
Toto je přehled operačních systémů:
- OpenBSD situaci prověřuje, nejprve aplikuje záplaty pro amd64, poté se bude zjišťovat, co s i386 a ARMy.
- Je k dispozici i krátké vyjádření FreeBSD: o problému ví od pozdního prosince 2017 a na řešení pracují mimo jiné ve spolupráci s výrobci CPU.
- DragonFlyBSD již má opravu pro Meltdown
- K dispozici je vyjádření SUSE, ke kterému je nutno dodat, že na AMD procesorech tyto patche mikrokódu CPU rodiny Zen nevypínají branch prediciton.
- Red Hat založil samostatnou stránku fungující jako informační rozcestník pro uživatele.
- Canonical zatím řeší problém Ubuntu 17.10 s některými laptopy, oprava je k dispozici, vyjdou aktualizované ISO obrazy. Co se týče KPTI, aktualizace by měly přijít již dnes. Podrobnosti k oběma chybám shrnuje na samostatné stránce.
- Microsoft poskytl první záplatu pro Windows již 3. ledna, aktualizace přišla i pro stroje Surface.
Dlužno ještě doplnit, že záplaty průběžně nasazují či připravují k nasazení provozovatelé velkých cloudových služeb běžících na postižených CPU architekturách. Mezi prvními jsme se dozvěděli o Amazon EC2 či Microsoft Azure.
A v neposlední řadě se proti těmto chybám ošetřují i další webové prohlížeče, kupříkladu čerstvý Firefox 57.0.4 řeší právě Spectre.
Výkonnostní dopad může být jen omezený?
Prvotní záplaty řeší chybu přítomnosti dat v nechráněných bufferech procesoru tak, že zavádějí do procesu neustálé zahazování tohoto obsahu, což zpomaluje chod CPU kvůli neustále zahazované predikci. Jde o hrubé rychlé řešení velkého průšvihu, ale neznamená to, že aktuální titulky článků hovořící o 30% až 50% propadu výkonu CPU budou platné třeba i za rok.
Chystají se žaloby na Intel
Aktuální informace hovoří o tom, že na Intel je připravováno hned několik hromadných žalob, a to rovnou typu class-action, kdy je firma žalována za všechny postižené zákazníky a z případného vysouzeného balíku peněz jsou pak všichni odškodněni.
Co budoucí CPU architektury?
Prostý selský rozum říká toto (a použiji Intel jako příklad): Pokud Intel chtěl už letos uvést první 10nm procesory a pokud tyto procesory v duchu firemní tradice mají být převážně jen „die-shrink“ stávajících 14nm procesorů, je nad Slunce jasné, že chybami Spectre a Meltdown jsou stiženy i ony.
Teoreticky stejné platí i pro AMD a procesory Ryzen 2, potažmo architekturu Zen 2. Stejné platí jistě i pro chystané ARM CPU jádra. Zkrátka všude tam, kde výrobce architektury či CPU již řadu let tradičně používá z výkonnostního hlediska obrovského pomocníka jménem „spekulativní / prediktivní vykonávání“, lze na 99,999 % předpokládat, že s ním počítal i pro budoucí architektury. Takže buď se podaří tuto věc nějak vyřešit, nebo se budou CPU muset obejít bez ní.
Co tvrdil Theo de Raadt před 11 lety?
V souvislosti s chybami Spectre / Meltdown koluje nyní internetem také neustálé odkazování na mailing list OpenBSD, kde Theo de Raadt v červnu 2007 velmi nelichotivě komentoval procesory Intel Core 2. Závěr si učiňte sami.
Další témata
- Apple se stal členem Alliance for Open Media vyvíjející licenčně nezatížený next-gen formát videa AV1.
- Bývalý kontraktor NSA Harold Martin ukradl 50TB dat z této agentury. Nyní přiznal vinu a čeká jej možná až 10 let vězení.
- VESA ohlásila Certifikaci DisplayPort kabelů pro 8k/60Hz zobrazení. Týká se i už existujících kabelů, které pro udělení ale musí zvládat propustnost definovanou v DisplayPort High Bit Rate 3 (8,1 Gbit/s na linku).
- Ethernet Alliance vítá 200Gbit/s a 400Gbit/s ethernet, tedy IEEE 802.3bs.