Hardwarové chyby přinášející bezpečnostní zranitelnosti do procesorů, toť „oblíbená“ náplň posledních dvou let (převratné odhalení děr Spectre a Meltdown nastalo začátkem roku 2018). A vypadá to, že tu máme další kolo, jen to tenkrát není úplně v jádrech CPU, ale v integrovaných grafikách, konkrétně od Intelu. Chyba v návrhu umožňuje kódu běžícímu na GPU neoprávněně číst data z paměti jiných programů, což jakožto bezpečnostní riziko musí být opraveno. Bohužel tato oprava může u starších GPU stát nějaký ten výkon.
Slabá místa v iGPU potřebují softwarové záplaty
V čem má Intel integrovaná GPU děravá, příliš konkrétně neprozradil. Loni v srpnu ale pod informačním embargem byla odhalena slabina, spočívající v tom, že GPU mají chyby, kde jsou u určitých datových struktur nedostatky v „control flow“, tedy vymáhání správného pořadí operací. Je to hodně vágní, patrně to však znamená, že není v každém momentu pohlídána /synchronizace dat v interních pamětech a může se stát, že při změně kontextu může být zpřístupněn nesprávný obsah registrů či pamětí cache a jeden proces může přečíst, co měl v paměti jiný. Podle Intelu chyba umožňuje únik informací. Jde asi o paměť GPU, takže by šlo zejména to, s čím pracují o grafické operace, nicméně pořád může jít o citlivé operace, které by nějaký špionážní malware mohl zneužít.
Zranitelnost s číslem CVE-2019-14615 je lokální, útočník musí mít možnost spustit na PC svůj kód (ale nemusí mít administrátorský přístup). Díra by tedy neměla být využitelná ke konvenčnímu vzdálenému útoku. Ovšem asi je zde možnost, aby ji zneužila třeba webová stránka přes prohlížeč pomocí technologie WebGL. Zda je to teoreticky možné, nebylo sděleno.
Intel považuje závažnost za jen střední a pro většinu uživatelů asi není velkých důvodů k obavám, riziko zneužití je asi relativně menší.
Tato chyba se týká procesorů počínajíc Intel Core 3. generace, tedy prvních 22nm Ivy Bridge, až po všechny dnešní deriváty Skylake (tedy i Kaby Lake, Coffee Lake a také 10. generaci Comet Lake), které nesou integrované grafiky Gen7 (Ivy Bridge), Gen7.5 (Haswell), a Gen9 (Skylake+). Starší CPU mezi nimi Intel neuvádí, takže se Sandy Bridge byste mohli být snad z obliga – doufejme, že to není jen proto, že už je Intel nepodporuje aktualizacemi ovladačů. Novější grafiky Gen11 a Xe v 10nm CPU jsou naštěstí asi imunní. A výjimkou jsou ještě Broadwelly s grafikou Gen8 – tam údajně už Intel opravoval nějakou jinou chybu, jejíž záplata nynější chybu také vykryla.
Kromě velkých procesorů Core mají ovšem úplně stejný problém mít také GPU v úsporných/levných Atomech a na nich založených Celeronech a Pentiích. Bay Trail, Apollo Lake i Gemini Lake jsou zdá se postižené.
Opravy jsou v nových ovladačích GPU
Intel k zalátání této chyby vydal aktualizace ovladačů pro Windows a také patche pro Linux – měly by být k mání již v tuto chvíli, takže je už můžete stahovat (a jako u všech bezpečnostních aktualizací vám doporučujeme to udělat).
Určitá komplikace je u starších čipů Bay Trail, Ivy Bridge a Haswell s GGPU Gen7/7.5. Tam je totiž uvedeno, že nyní vydané ovladače nemají na platformě Windows 10 v tuto chvíli opravy 100% účinné. Aktualizace by měly přinést určitou míru ochrany a výrazně zredukovat míru zranitelnosti. Na Linuxu by měl mít nyní dostupný kód již ochrany kompletní. Vlastníci tohoto hardwaru ale nebudou ponecháni na holičkách, Intel uvádí, že pracuje na dokončení oprav i v ovladačích pro Windows a v budoucnu by měla tato definitivní ochrana být doplněna dalšími aktualizacemi ovladačů grafiky. Zatím ji čeká testování a ověřování, které asi Intel nestihl před termínem zveřejnění chyby.
Na Haswellu a Ivy ztrácí integrované GPU dost výkonu...
Oprava spočívá zřejmě v tom, že se při přepínání kontextu vyprazdňuje paměť/registry (tzv. execution state) výpočetních jednotek EU v GPU. U Skylake má pro to zřejmě hardware už na místě patřičné funkce, ale u Haswellu a Ivy Bridge a Bay Trailu je kvůli tomu vždy potřeba spustit v rámci ovladačů speciální kód – proto asi ty problémy s opravou u Windows. Bohužel to vypadá, že tato verze opravy (minimálně na Linuxu) stojí GPU dost výkonu, podle testu Phoronixu je dopad poměrně drastický.
…ale ještě by to mohlo být opraveno
Nicméně asi ještě není definitivní, Intel chce údajně provést nějaké optimalizace, které snad propad výkonu zmírní. Současná verze pro Linux je zdá se zcela neoptimalizovaná a Intel snad dokonce slibuje, že by finální verze mohla být prakticky bez měřitelného dopadu, což by bylo pozitivní (a doufejme to bude platit i pro Windows). Ovšem asi i nějaké jen jednociferné propady by nebyly problém. Na grafikách Haswell a Ivy Bridge už asi nikdo moc hry nehraje, tak snad ztráta výkonu nebude nikoho moc bolet. Toto se každopádně týká jen oprav pro Ivy Bridge a Haswell, u GPU generace Skylake/Gen9 a pozdějších toto snad není.