Koho skutečně ohrožuje Meltdown a Spectre
Zatímco zranitelnost CVE-2017-5754, tedy Meltdown, se týká pouze procesorů Intel, CVE-2017-5753 a CVE-2017-5715, které nesou společné označení Spectre, postihují také procesory ostatních výrobců (tedy i AMD a ARM). Největší problém z pohledu zabezpečení je ten, že se zranitelnosti netýkají konkrétních aplikací či systémů, ale jsou na úrovni procesoru. Tradiční metody obrany se v jejich případě stávají neefektivní. Na druhé straně jde o tak specifické slabiny, že je asi žádný průměrný kyberzločinec nedokáže zneužít. I přesto, že využití Meltdown a Spectre je náročný proces, který byl zatím prováděn pouze jako řízený „proof of concept“, a je sotva představitelné, že by jej skutečně někdo zneužil, museli výrobci reagovat.
Prostřednictvím Meltdown a Spectre se může potenciální útočník dostat k obsahu citlivé paměti procesoru, jejíž obsah může číst (jde opravdu „pouze“ o čtení, zranitelnosti nelze zneužít pro vložení instrukcí do kernelu). Bezpečnostní slabiny tak dovolují programům přístup k informacím, které jsou aktuálně počítačem zpracovávány. Za normálních okolností nemají aplikace povoleno číst data z jiných programů. Problém spočívá v tom, že se může objevit kód schopný zneužít Meltdown a Spectre k získání dat uložených v paměti ostatních spuštěných programů. Může jít například o přihlašovací informace apod. Obě zranitelnosti mohou být zneužity díky tzv. „speculative execution“ neboli spekulativnímu provádění instrukcí, což je operace, kterou provádí snad všechny moderní procesory kvůli optimalizování výkonu. Prakticky jde o testování podmínek, jehož výsledkem je provádění kódu, tzv. podmíněné větvení. Procesor předpokládá, že jsou určité instrukce pravdivé a dochází k ověřování těchto předpokladů. Pokud se pravdivost potvrdí, probíhá proces dál. Pokud se ukáže, že jde o nesprávný předpoklad, tak je stávající proces zastaven a zahozen a je určena nová větev, která se odvíjí na základě aktuálních podmínek. Při této spekulaci se objevuje nežádoucí „vedlejší účinek“ – citlivá paměť je v tu chvíli otevřená, a právě v tom okamžiku může dojít ke čtení informací.
Meltdown
Meltdown dovoluje případným útočníkům nejen čtení paměti kernelu, ale celé fyzické paměti zařízení. Dochází k prolomení izolace mezi uživatelskou aplikací a operačním systémem, což umožňuje jakékoliv aplikaci přístup k systémové paměti, včetně paměti kernelu.
Zranitelnost Meltdown se týká téměř všech notebooků, počítačů a serverů s procesory Intel.
Bezpečnostní aktualizace pro Meltdown jsou již k dispozici. Předpovědi, že dojde k významnému zpomalení chodu zařízení, se však nepotvrdily. Microsoft vydal opravný patch pro Windows 10 na začátku ledna. Počítače s procesory Skylake a Kaby Lake zaznamenaly po updatu zpomalení o jednotky procent, což je pro uživatele sotva patrné. Horší je situace u starších modelů procesorů a u sestav, které používají některou ze starších verzí Windows.
Spectre
Druhý problém, Spectre, který se skládá ze dvou částí (CVE-2017-5753 a CVE-2017-5715), nelze tak snadno eliminovat na softwarové úrovni jako Meltdown. Podle všeho je pro jeho úplné odstranění zapotřebí změnit architekturu procesoru.
Spectre narušuje izolaci mezi různými aplikacemi. Fakticky porušuje kontrolu omezení během procesu spekulace, kdy může procesor zpracovávat data, která jsou pak použita k lokalizaci dalších. Kvůli optimalizaci výkonu může procesor rovnou načíst druhou část dat bez nutnosti ověřovat, že je první část legitimní. V takovém případě lze nasadit útočný kód, aby načetl přenášené informace do cache paměti procesoru. Pomocí analýzy cache postranním kanálem, jak se tato technika nazývá, je pak možné dočasně uložená data číst. Spectre se teoreticky dá zneužít ke krádeži informací, které putují z kernelu pro uživatelský program, stejně tak směrem z hypervizoru k hostovanému systému.
Zranitelnost Spectre se týká procesorů všech hlavních výrobců, tedy vedle Intelu také AMD a ARM. Přestože není momentálně možné Spectre ošetřit patchem, jsou k dispozici nástroje, které umí bránit zneužití zranitelností Spectre.
Vlna nevole
Zkraje roku 2018 se kolem Meltdown a Spectre rozpoutala intenzivní debata. Nejděsivější scénáře hovořily o obrovském dopadu na všechna zařízení, čehož se zalekla řada uživatelů, kteří se paradoxně citelných výkonnostních ztrát nedočkali. O poznání horší pozici mají provozovatelé cloudu a datových center, kde by měly být klientské aplikace od dalších systémů bezpečně odděleny, a kde probíhá neporovnatelně vyšší počet softwarových volání.
Vlnu kritiky schytal také Intel, který „tajil“ přítomnost Meltdown; což je mimochodem zcela běžná praxe. Dokud nejsou k dispozici první verze bezpečnostních oprav, není příliš moudré vypouštět do světa návod a upozornění, kde jsou neošetřené slabiny. Hněv davu se snesl i na hlavu Briana Krzanicha, CEO Intelu; ten totiž v listopadu loňského roku rozprodal velkou část akcií Intelu, které vlastnil. Transakce za bezmála 40 milionů dolarů (jeho zisk činil 25 milionů) nezůstala bez povšimnutí, přičemž ji mnozí spojují právě s Meltdown. Intel i Krzanich spekulace vyvrací s tím, že šlo o dlouho naplánovanou akci. Podobné pochybnosti doprovázely i nedávný případ masivního úniku dat společnosti Equifax, kde několik vysoce postavených představitelů společnosti rozprodalo své akcie krátce před tím, než byl jeden z nejzávažnějších úniků posledních let uveřejněn. Cena akcií Intelu po zveřejnění Meltdown a Spectre pochopitelně významně klesla.
Pro všechny aktuálně používané systémy jsou k dispozici alespoň první verze patchů, do konce ledna by pak měly být pokryté všechny platformy a systémy.