Nový útok Inception ohrožuje procesory AMD Zen

Zpět na blog

Výzkumníci objevili nový a silný útok na přechodné spouštění nazvaný „Inception“, který může způsobit únik privilegovaných dat pomocí neprivilegovaných procesů na všech procesorech AMD Zen, včetně nejnovějších modelů.

Útoky na přechodné provádění využívají funkci přítomnou ve všech moderních procesorech s názvem spekulativní provádění, která výrazně zvyšuje výkon procesorů tím, že odhaduje, co bude provedeno jako další, než bude dokončena pomalejší operace, pokud bude dokončena.

Pokud je odhad správný, procesor zvýšil výkon tím, že nemusí čekat na dokončení operace, a pokud odhadl špatně, jednoduše vrátí změnu zpět a pokračuje v operaci s novým výsledkem.

Problémem spekulativního provádění je, že může zanechat stopy, které mohou útočníci pozorovat nebo analyzovat a získat tak cenná data, která by jinak měla být chráněna.

Inception kombinuje dříve známou techniku „Phantom speculation“ (CVE-2022-23825) s novým útokem na přechodné provádění zvaným „Training in Transient Execution“ (TTE).

Phantom speculation umožňuje útočníkům vytvářet chybné předpovědi, aniž by měli přístup k zdroji chyby, např. umožňuje vytvářet spekulativní provádění u instrukce XOR. Na druhou stranu, TTE manipuluje s budoucími predikcemi, což může vést k zneužitelným spekulativním exekucím.

Útok Inception využívá obě tyto techniky a manipuluje s procesorem tak, aby věřil, že instrukce XOR je instrukcí rekurzivního volání. To může vést k přetečení vyrovnávací paměti návratového zásobníku a umožnit únik dat z neprivilegovaných procesů na procesorech AMD Zen.

Také rychlost úniku dat dosažená pomocí Inception je 39 bajtů za sekundu, což by pro krádež 16znakového hesla trvalo asi půl sekundy a pro klíč RSA 6,5 sekundy.

Tým ETH Zurich zveřejnil samostatné technické dokumenty pro InceptionPhantom pro ty, kteří se chtějí ponořit hlouběji do specifik útoků.

Prevence útoků Inception

Výzkumníci tvrdí, že všechny procesory AMD Ryzen a EPYC založené na architektuře Zen, od Zen 1 po Zen 4, jsou zranitelné vůči útokům Phantom a Inception. Specifické varianty TTE potenciálně ovlivňují procesory Intel, ale Phantom je na procesorech Intel těžko zneužitelný díky mitigacím eIBRS.

Ačkoli je proof-of-concept vytvořený týmem ETH Zurich určen ke spuštění v systému Linux, útoky by měly fungovat v jakémkoli operačním systému používajícím zranitelné procesory AMD, protože se jedná o hardwarovou, nikoli softwarovou chybu.

Strategií pro zmírnění problému by bylo úplné vyprázdnění stavu prediktoru větví při přepínání mezi nedůvěryhodnými kontexty. U procesorů Zen 3 a Zen 4 vhodná hardwarová podpora pro tuto strategii zmírnění zpočátku chyběla, ale společnost AMD vydala aktualizace mikrokódu, které tuto funkci umožňují.

Majitelům procesorů AMD založených na architektuře Zen doporučujeme nainstalovat nejnovější aktualizace, které mohou přijít také jako součást aktualizací zabezpečení od výrobce počítače a/nebo operačního systému.

Oprava chyby Phantom, CVE-2022-23825, byla vydána v aktualizaci systému Windows z července 2022.

Ačkoli výzkumníci ukázali, že útok může být úspěšný na všech procesorech AMD Zen, společnost AMD reagovala rychle a tvrdí, že útok je možné realizovat pouze lokálně.

Společnost dále doporučuje zákazníkům aktualizovat mikrokód a BIOS, pokud používají Zen 3 a Zen 4. Pro procesory Zen a Zen 2 není aktualizace nutná, protože jsou navrženy tak, aby predikce typu větvení byly z prediktoru větvení vypouštěny. Kromě toho, společnost AMD plánuje vydání aktualizovaných verzí AGESA™ pro výrobce.

Zdroj: Bleepingcomputer.com

15. 8. 2023