Mluvčí AMD nedávno vydáni prostřednictvím publikace zprávu, ve které je zveřejněna - informace o provedené analýze bezpečnosti optimalizační technologie PSF (Predictive Store Forwarding) implementovaná v procesorech Řada Zen 3.
El Estudio teoreticky potvrdil použitelnost metody útoku Spectre-STL (Spectre-v4) k technologii PSF, která byla identifikována v květnu 2018, ale v praxi dosud nebyly nalezeny žádné šablony kódů schopné vyvolat útok a celkové nebezpečí je považováno za zanedbatelné.
Záznam citováno specialistovi na Graz University of TechnologyDaniel Gruss, který zjistil, že AMD PSF mohou být zranitelné k různým útokům postranních kanálů, které se v průběhu let hodně vyvinuly.
Připomeňme, že útok Spectre-v4 (Spekulativní obchvat obchodu) spoléhá na obnovení dat, která byla uložena do mezipaměti po vyřazení výsledku spekulativního provádění operací zpracováním alternativních operací čtení a zápisu pomocí nepřímého adresování.
Když operace čtení pokračuje na operaci zápisu (například mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), posun směru čtení již může být známý Kvůli podobným operacím (operace čtení se provádějí mnohem častěji a čtení lze provádět z mezipaměti) a procesor může spekulativně číst před zápisem, aniž by čekal na výpočet offsetu směru nepřímého zápisu.
Tato funkce umožňuje instrukci čtení přístup k předchozí hodnotě v libovolném směru, zatímco operace ukládání stále čeká. V případě chyby predikce bude neúspěšná spekulativní operace zahozena, ale stopy jejího provedení zůstanou v mezipaměti procesoru a lze ji načíst pomocí jedné z metod k určení obsahu mezipaměti na základě analýzy změn v době přístupu do mezipaměti a data bez mezipaměti.
Tato technologie byla přidána k procesorům AMD Zen 3 PSF optimalizuje metodu Store-To-Load-Forwarding (STLF), který provádí operace čtení spekulativně na základě predikce vztahu mezi operacemi čtení a zápisu. U klasického STLF procesor provede operaci „načtení“ na datech přímo přesměrovaných z předchozí instrukce „uložení“, aniž by čekal na skutečné zapsání výsledku do paměti, ale musí se ujistit, že adresy použité v „načtení“ y Pokyny pro „obchod“ se shodují.
Díky optimalizaci PSF je ověření adresy spekulativní a provede operaci "načtení" před dokončením výpočtu informací o adrese, pokud byl dříve proveden pár uložení / načtení manipulující s adresou. Pokud prognóza selže, stav se vrátí, ale data zůstanou v mezipaměti.
Samotný útok na PSF je to možné v rámci peer privilegií, pokrývá pouze kontext aktuálního procesu a je blokován metodami izolace adresního prostoru nebo mechanismy izolovaného prostoru hardwaru. Problém může být potenciálně ovlivněn technikami izolace izolovaného prostoru softwaru v procesech.
Útok představuje hrozbu pro systémy, jako jsou prohlížeče, virtuální stroje pro provádění kódu a SVT, které spouští kód třetí strany ve stejném procesu (v důsledku útoku může nedůvěryhodný kód izolovaného prostoru získat přístup k dalším datům v procesu).
AMD poskytla různé metody úplného nebo selektivního deaktivace PSF, ale vzhledem k zanedbatelnému riziku pro většinu aplikací doporučil tuto optimalizaci ve výchozím nastavení deaktivovat.
Pro selektivní ochranu procesů provádějících nespolehlivý kód izolovaně se navrhuje deaktivovat PSF nastavením bitů MSR „SSBD“ a „PSFD“, a to i pro jednotlivá vlákna. Pro linuxové jádro byly připraveny opravy s implementací možností příkazového řádku „psfd“ a „nopsfd“, které řídí zapnutí a vypnutí PSF.
Pro ty, kteří mají zájem o poznání zprávy, mohou konzultovat následující odkaz.