CROSSTalk – zraniteľnosť v CPU Intel, vedúca k úniku údajov medzi jadrami

Skupina výskumníkov z Amsterdamskej slobodnej univerzity identifikovala novú zraniteľnosť (CVE-2020-0543) v mikroarchitektonických štruktúrach procesorov Intel, osobitne pozoruhodnú tým, že umožňuje obnoviť výsledky vykonávania niektorých inštrukcií, ktoré boli vykonávané na inom CPU jadre. Tento problém je prvou zraniteľnosťou mechanizmu špekulatívneho vykonávania inštrukcií, ktorá umožňuje únik údajov medzi jednotlivými CPU jadrami (predtým sa úniky obmedzovali na rôzne vlákna jedného jadra). Výskumníci nazvali tento problém CROSSTalk, ale v dokumentoch Intel sa zraniteľnosť uvádza ako SRBDS (Special Register Buffer Data Sampling).

Zraniteľnosť patrí do predstaveného pred rokom triedy problémov MDS (Microarchitectural Data Sampling) a je založená na aplikácii metód analýzy cez bočné kanály na údaje v mikroarchitektonických štruktúrach. Princíp fungovania CROSSTalk je blízky zraniteľnosti RIDL, ale líši sa zdrojom úniku.
Nová zraniteľnosť manipuluje s únikom z predtým nedokumentovaného medzipamäťového buffera, ktorý sa zdieľa medzi všetkými CPU jadrami.

CROSSTalk - zraniteľnosť v CPU Intel, ktorá vedie k úniku údajov medzi jadrami

Podstata problému v tom, že niektoré inštrukcie mikroprocesora, vrátane RDRAND, RDSEED a SGX EGETKEY, sú implementované pomocou vnútornej mikroarchitektonickej operácie SRR (Special Register Reads). Na zraniteľných procesoroch sa údaje vrátené pre SRR ukladajú do medzipamäťového buffera, ktorý je spoločný pre všetky CPU jadrá, po čom sa prenášajú do buffera naplnenia viazaného na konkrétne fyzické CPU jadro, na ktorom je operácia čítania iniciovaná. Následne sa z buffera naplnenia hodnota kopíruje do registrov viditeľných aplikáciám.

Veľkosť spoločného medzipamäťového buffera zodpovedá veľkosti cache riadku, čo je zvyčajne viac ako veľkosť čítaných údajov a rôzne operácie čítania sa týkajú rôznych posunov v buffere. Keďže spoločný buffer sa kopíruje do buffera naplnenia celý, presúva sa nielen potrebná časť pre aktuálnu operáciu, ale aj údaje, ktoré zostali z vykonávania iných operácií, vrátane tých, ktoré boli vykonané na iných CPU jadrách.

CROSSTalk - zraniteľnosť v CPU Intel, ktorá vedie k úniku údajov medzi jadrami

CROSSTalk - zraniteľnosť v CPU Intel, ktorá vedie k úniku údajov medzi jadrami

Pri úspešnom uskutočnení útoku môže autentifikovaný lokálny používateľ určiť výsledok vykonávania inštrukcií RDRAND, RDSEED a EGETKEY v cudzom procese alebo v rámci Intel SGX encláva, bez ohľadu na to, na ktorom CPU jadre je kód spustený.
Problém objavili výskumníci publikovali prototyp exploitu, ktorý demonštruje možnosť úniku informácií o náhodných hodnotách získaných pomocou inštrukcií RDRAND a RDSEED, na obnovenie súkromného kľúča ECDSA, spracovávaného v enclave Intel SGX, po vykonaní len jednej operácie s digitálnym podpisom v systéme.


Prehrajte video

Problematika je vystavený široký rozsah desktopových, mobilných a serverových procesorov Intel, vrátane Core i3, i5, i7, i9, m3, Celeron (sérií J, G a N), Atom (sérií C, E a X), Xeon (rodiny E3, E5, E7, W a D), Xeon Scalable a ďalších. Zaujímavé je, že spoločnosť Intel bola upozornená na zraniteľnosť v septembri 2018 a v júli 2019 bol poskytnutý prototyp exploitu, ktorý demonštruje únik údajov medzi jadrami CPU, avšak vývoj opravy sa oneskoril kvôli zložitosti jej implementácie. V dnes predstavenom aktualizácii mikrokódu je problém zablokovaný zmenou správania inštrukcií RDRAND, RDSEED a EGETKEY na nadbytočnú prepisovanie údajov v zdieľanej pamäti, aby sa zabránilo usadzovaniu zvyškových informácií. Okrem toho bola aplikovaná pozastávka prístupu k pamäti do dokončenia operácií čítania a prepisovania obsahu.

Nežiaducim účinkom takejto ochrany je zvýšenie latencií pri vykonávaní RDRAND, RDSEED a EGETKEY a zníženie priepustnosti pri pokuse o súčasné vykonávanie týchto inštrukcií na rôznych logických procesoroch. Vykonanie RDRAND, RDSEED a EGETKEY tiež pozastavuje prístup k pamäti z iných logických procesorov. Tieto vlastnosti môžu negatívne ovplyvniť výkon niektorých serverových aplikácií, preto je v firme zahrnutý mechanizmus (RNGDS_MITG_DIS) na deaktiváciu ochrany inštrukcií RDRAND a RDSEED vykonávaných mimo enclavy Intel SGX.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster