Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Procesory v ohrožení, jak funguje Spectre a Meltdown?

5.1.2018, Jan Vítek, aktualita
Procesory v ohrožení, jak funguje Spectre a Meltdown?
Spectre a Meltdown, to jsou exploity, které se rychle stávají noční můrou pro celý počítačový svět, ale především pro Intel, který je jimi zasažen zdaleka nejvíce. O co se ale jedná a jak Spectre a Meltdown fungují?
Stále více se ukazuje, že nejvíce másla na hlavě má Intel, který se zatím snažil mluvit spíše obecně a zatahovat do problému další firmy a především AMD a ARM. Právě AMD však už na celou věc reagovalo podrobnějšími informacemi o tom, co pro jeho procesory a není problém a následující tabulka zase podrobně ukazuje, které verze architektury ARM jsou zasaženy některou z celkem čtyř variant. 
 
 
Z výpisu se ukázalo, že pouze Cortex-A75 je zasažený Meltdownem (Variant 3), zatímco všechny bez rozdílu jsou náchylné na Spectre (Variant 1 a 2). ARM ještě definuje vlastní verzi Meltdownu (Variant 3a), ale uvádí, že dle jeho názoru na ni není třeba softwarová záplata. 
 
Spectre i Meltdown se týkají jednoho z hlavních způsobů, jimiž se výrobci procesorů snaží navyšovat výkon svých modelů. Jde o tzv. "speculative execution", čili provádění výpočtů či operací, které mohou, ale nemusí být zapotřebí pro budoucí účely. Pokud zapotřebí nebudou, pak se výsledek prostě zahodí. Google Project Zero přitom říká, že problém tkví v možnosti zneužití dat v paměti cache procesoru, která jsou spojena se spekulativními výpočty, jež nakonec nebyly potřeba. 
 
 
V případě Meltdown je možné, aby útočník využívající svůj proces získal přístup k paměti jiných procesů nebo dokonce virtuálních strojů ve stejném cloudu, a to bez jakýchkoliv práv a privilegií, což je velice závažný problém právě pro provozovatele cloudových systémů a právě ten se týká dle dostupných informací pouze procesorů Intel a ARM Cortex-A75. AMD tvrdí, že Meltdown se jeho procesorů netýká vůbec kvůli odlišné architektuře. 
 
Intel je zasažen nejvíce, neboť jeho techniky pro speculative execution jsou agresivní. CPU Intel umožňují přístup i do paměti jádra operačního systému (to pro AMD neplatí), a to i v případě, kdy aplikace, která se o to snaží, běží jen s uživatelskými právy. Procesor sice kontroluje, zda nedošlo k takovému přístupu k datům jádra či cizích procesů, k nimž by útočník neměl dostat přístup, ale kvůli prefetchi jsou tato data již načtena do paměti cache, kde je při správném načasování lze najít a získat. 
 
Možná si pamatujete na to, že Intel v nedávném prohlášení tvrdil, že tyto "exploity nemají potenciál poškozovat, modifikovat či mazat data". To skutečně nemají, ale ono bohatě stačí, že mohou zajistit jejich přečtení. Meltdown může být vyřešen softwarově v rámci operačního systému, ovšem s hrozbou výrazně sníženého výkonu.
  
 
Spectre už je problém pro Intel a ARM i AMD (pro ně však má být složitější pro zneužití) a funguje různými způsoby. Jedna verze se třeba zaměřuje na branch prediction, čili funkci pro předpovídání větvení kódu. Vedle speculative execution jde o další techniku, která výrazně zvyšuje výkon procesorů a jde o snahu předpovědět, kam se bude ubírat vlákno v celém stromu možností daných strukturami if-then-else, přičemž cílem je především zajistit co nejefektivnější využití instrukční pipeline. V důsledku by pak logicky mělo jít o podobný problém s provedenými výpočty a načtenými daty do cache jako v případě Meltdown, jen se nemá týkat jádra systému, ale jednotlivých procesů. Zatím ale prý není vůbec jasné, zda pro tuto hrozbu výrobci najdou hardwarové řešení. 
 
Však Intel, AMD a ani ARM nebudou chtít přestat s využíváním technik branch prediction či speculative execution, které byly naprosto klíčové pro výkonnostní pokrok procesorových architektur. Rýsuje se tak obrovský problém, který může být s jistou výkonnostní penalizací řešen softwarově v případě Meltdown, ale pro útoky Spectre typu Branch Target Injection prý softwarové řešení neexistuje. Firma AMD ale uvádí, že pro její procesort je tento typ Spectre téměř neškodný. 
 
To vše není ani tak problém pro běžné uživatele, ale pro provozovatele velkých serverů s virtuálními stroji, jež sdílí více zákazníků, kteří si tak už nemohou být jisti, že jsou chráněni před svými sousedy.