Ještě včera to byly pouze spekulace, dnes je vše potvrzeno oficiálně. Většina moderních procesorů trpí kritickou chybou, která umožní případným útočníkům číst privilegované části paměti. Tím se mohou dostat k citlivým datům včetně jednoduchého zachytávání hesel.
O chybě jsme se měli dozvědět až za týden, kdy už bude většina operačních systémů obsahovat opravu, nicméně kvůli článkům v médiích se nakonec velké firmy rozhodly pro stáhnutí informačního embarga už nyní. Podrobné informace a dokumentace jsou k dispozici na meltdownattack.com.
Meltdown
Chyby jsou ve skutečnosti dvě. První z nich, která je nazývaná Meltdown, se týká pouze procesorů od Intelu (s velkou pravděpodobností). A to prakticky všech aktuálně využívaných – kromě starších Atomů a procesorů Itanium je to každý procesor Intelu od roku 1995.
Háček je v metodě out-of-order, kterou tyto procesory zpracovávají instrukce. O pořadí zpracování si rozhodne sám procesor a nikoliv jejich uspořádání v paměti. Při této metodě způsobuje hardwarová chyba v procesorech možnost postranním kanálem přečíst privilegovanou část paměti. Jde tak o snadnou cestu, jak se dostat k nejcitlivějším datům.
Abychom byli přesní, vedle zmíněných procesorů Intel se Meltdown týká i mobilního procesoru Cortex-A75 od ARM.
Spectre
A pak je tu druhá chyba Spectre. Ta se na rozdíl od první týká pravděpodobně většiny moderních procesorů včetně velké trojice Intel, AMD a ARM. Tady souvisí zranitelnost s další optimalizací práce s instrukcemi, která je nazývaná jako speculative execution.
Procesor při této metodě může vykonávat některé instrukce na základě předpokládaného využití ideálně v době s menším vytížení. Chyba Spectre spočívá v tom, že je vykonána instrukce mimo standardní program, která postranním kanálem umožní útočníkovi přečíst obsah paměti dalšího programu. Zdaleka se tedy netýká pouze desktopů, ale i mobilních zařízení.
Výsledky obou chyb jsou tedy velmi podobné, mnohem závažnější je nicméně Meltdown na procesorech Intelu. V druhém případě jsou možnosti útočníků omezené a útok je složitější.
Oprava až v nových procesorech
Pro Meltdown již byl vydán patch pro Linux a aktualizace je k dispozici rovněž pro Windows. Ve Windows Update ji najdete pod označením KB4056892. Spočívá v izolování adresních prostorů pro uživatele a kernel. Metoda se nazývá KPTI (kernel page-table isolation) a dopady na výkon si můžete prohlédnout na grafech nad článkem.
Záplatování druhé chyby Spectre bude složitější a je pravděpodobné, že softwarovou cestou nedojde ke kompletnímu odstranění rizika. Jak uvádí oficiální materiály, obě chyby vyžadují změnu návrhu budoucích procesorů. Ale zatímco Meltdown lze plně záplatovat softwarovou cestou (byť se ztrátou výkonu), u Spectre to pravděpodobně možné nebude.
Pro Spectre se nicméně zatím neobjevil žádný exploit, který by chybu zneužíval. U Meltdown je situace horší – na videu se můžete podívat, co umožňuje. Třeba zachycení vkládaného hesla.