CROSSTalk — zranitelnost v CPU Intel, která vede k úniku dat mezi jádry

Skupina výzkumníků z Amsterdamské univerzity osvobození odhalila nové zranitelnost (CVE-2020-0543) v mikroarchitektonických strukturách procesorů Intel, která se vyznačuje tím, že umožňuje obnovit výsledky vykonávání některých instrukcí, které byly vykonávány na jiném jádru CPU. To je první zranitelnost mechanismu spekulativního provádění instrukcí, která umožňuje únik dat mezi jednotlivými jádry CPU (dříve byly úniky omezeny na různé vlákna jednoho jádra). Výzkumníci tomuto problému přiřadili název CROSSTalk, ale v dokumentech Intel se zranitelnost zmiňuje jako SRBDS (Special Register Buffer Data Sampling).

Zranitelnost se vztahuje na představenou před rokem třídu problémů MDS (Microarchitectural Data Sampling) a vychází z použití metod analýzy skrze kanály na data v mikroarchitektonických strukturách. Princip činnosti CROSSTalk je blízký zranitelnosti RIDL, ale liší se zdrojem úniku.
Nová zranitelnost manipuluje s únikem z dříve nedokumentovaného mezipaměťového bufferu, který je sdílen všemi jádry CPU.

CROSSTalk - zranitelnost v CPU Intel, vedoucí k úniku dat mezi jádry

Podstata problému spočívá v tom, že některé instrukce mikroprocesoru, včetně RDRAND, RDSEED a SGX EGETKEY, jsou implementovány pomocí vnitřní mikroarchitektonické operace SRR (Special Register Reads). Na zranitelných procesorech se data vracená pro SRR ukládají do mezipaměťového bufferu, který je společný pro všechna jádra CPU, a poté jsou přenesena do bufferu plnění, který je vázán na konkrétní fyzické jádro CPU, na kterém byla iniciována operace čtení. Dále se z bufferu plnění hodnota kopíruje do registrů, které jsou aplikacím viditelné.

Velikost společného mezipaměťového bufferu odpovídá velikosti cache řádku, což je obvykle více než velikost čtených dat, a různé operace čtení se dotýkají různých posunů v bufferu. Protože se společný buffer kopíruje do bufferu plnění najednou, dochází k přesunu nejen potřebné části pro aktuální operaci, ale také k datům, která zůstala po vykonání jiných operací, včetně těch provedených na jiných jádrech CPU.

CROSSTalk - zranitelnost v CPU Intel, vedoucí k úniku dat mezi jádry

CROSSTalk - zranitelnost v CPU Intel, vedoucí k úniku dat mezi jádry

V případě úspěšného provedení útoku může autentizovaný lokální uživatel v systému zjistit výsledek vykonávání instrukcí RDRAND, RDSEED a EGETKEY v cizím procesu nebo uvnitř enclavy Intel SGX, bez ohledu na jádro CPU, na kterém je kód prováděn.
Výzkumníci, kteří problém odhalili publikovali Prototyp exploitu, demonstrující možnost úniku informací o náhodných hodnotách získaných prostřednictvím instrukcí RDRAND a RDSEED, pro obnovení soukromého klíče ECDSA zpracovávaného v enclavě Intel SGX po provedení v systému jedné operace s digitálním podpisem.


Přehrát video

Problému podléhá široký rozsah desktopových, mobilních a serverových procesorů Intel, včetně Core i3, i5, i7, i9, m3, Celeron (série J, G a N), Atom (série C, E a X), Xeon (rodiny E3, E5, E7, W a D), Xeon Scalable atd. Je pozoruhodné, že společnost Intel byla o zranitelnosti informována v září 2018, a v červenci 2019 byl předložen prototyp exploitu, demonstrující únik dat mezi jádry CPU, ale vývoj opravy se prodloužil kvůli složitosti realizace. V dnes navrhované aktualizaci mikrokódu je problém zablokován změnou chování instrukcí RDRAND, RDSEED a EGETKEY pro nadbytečné přepsání dat ve sdíleném vyrovnávací paměti, aby se zabránilo usazování zbytkových informací. Navíc byla aplikována pozastavení přístupu k vyrovnávací paměti do dokončení operací čtení a přepsání obsahu.

Vedlejším efektem takové ochrany je zvýšení zpoždění při provádění RDRAND, RDSEED a EGETKEY a snížení propustnosti při pokusu o současné provádění těchto instrukcí na různých logických procesorech. Provádění RDRAND, RDSEED a EGETKEY také pozastavuje přístup k paměti z jiných logických procesorů. Tyto vlastnosti mohou negativně ovlivnit výkon některých serverových aplikací, proto je v firmwaru zajištěn mechanismus (RNGDS_MITG_DIS) pro deaktivaci ochrany instrukcí RDRAND a RDSEED prováděných mimo enclavu Intel SGX.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster