BezpečnosťSpravodajstvo

Slabina zenbleed ohrozuje množstvo populárnych AMD procesorov: Spoločnosť chybu ešte neopravila

Hardvérová slabina zenbleed umožňuje teoreticky jednoduchý prístup aj k citlivým dátam.

Bezpečnostný výskumník pracujúci pod Googlom, Tavis Ormandy, informoval o hardvérovej bezpečnostnej slabine, ktorú objavil v procesoroch značky AMD. Táto bezpečnostná slabina ovplyvňovala hlavne procesory z rady Zen 2, ktoré boli po prvýkrát predstavené v roku 2019, no objavuje sa aj v procesoroch z roku 2021.

Hardvérovú slabinu majú stolové počítače, laptopy či serverové počítače. Nájsť ju môžeme v obľúbených procesoroch Ryzen 5 3600 alebo serverových AMD EPYC „Rome“ procesoroch. V praxi táto slabina umožňuje prístup k citlivým údajom cez kombináciu samostatne úplne neškodných funkcií. Ukázalo sa, že interakcia procesorových registrov a spustením systémových kódov môže útočníkom pomôcť získať prístup k utajovaným dátam.

Odoberajte Vosveteit.sk cez Telegram a prihláste sa k odberu správ

Ako vysvetľujú bezpečnostní experti z Kaspersky, získať dáta využitím tejto slabiny je pomerne jednoduché. Zároveň dokáže útočník vytiahnuť dáta z počítača rýchlosťou až 30 kBps pre každé jadro procesora. Bezpečnostní experti upokojujú, že zatiaľ nikto nenahlásil takýto útok v praxi, no veľa procesorov slabinu stále má. AMD sa však zaviazalo problém úplne vyriešiť do roku 2023.

Bezpečnostná medzera sa označuje ako Zenbleed a funguje vďaka systému špekulatívnej exekúcie kódu. Ide o proces, ktorý sa nedá jednoducho vysvetliť. V jednoduchosti povedané, registre procesorov sa používajú ako dočasné úložiská pre dáta, keď procesor vykonáva nejaké inštrukcie. Ak procesor dokáže uložiť veľké množstvo dát vo vektorových registroch, výrazne sa tým zlepší jeho výkon. 128 bitové a 256 bitové registre sa väčšinou používajú na rutinné operácie, akými sú napríklad čítanie alebo zápis dát do pamäte RAM.

Ak sa oba druhy registrov používajú naraz, XMM registre, teda 128 bitové registre, automaticky konvertujú na 256 bitové YMM registre. Na to slúži špecifická inštrukcia s názvom vzeroupper. Problém je, že procesory môžu vykonať inštrukciu bez toho, aby čakali na výsledok predchádzajúcich kalkulácií. To môže urýchliť prácu, no zároveň môže viesť k situácii, kedy sa inštrukcie vykonali zbytočne, teda logika programu si ich nevyžadovala. Ak sa tak stane, výsledky procesu sa musia vrátiť späť.

Prístup k potenciálne citlivým dátam

V prípade inštrukcie vzeroupper to znamená, že sa musí vynulovanie polovice YMM registrov zrušiť. Procesory z rady Zen 2 majú chybu v logike, ktorá spôsobí, že v registroch môžu ostať časti dát z programov, ktoré registre používali. Za normálnych okolností by k dátam nemal mať prístup nikto, no Zenbleed vytvára podmienky, kedy môže malvér monitorovať aké informácie prechádzajú cez vektorové registre.

V určitom zmysle ide o podobnú chybu ako softvérová chyba use after free. Tá sa objavuje pomerne bežne a znamená, že keď jedna aplikácia používa časť RAM na uloženie dát a následne ju uvoľní, ďalšie aplikácie môžu všetky uložené dáta prečítať. Medzi dátami sa môžu nachádzať aj potenciálne citlivé informácie. Rozdiel v prípade slabiny zenbleed je ten, že nejde o softvérovú chybu ale hardvérovú.

Experti sa zhodujú na tom, že vykonať tento útok je teoreticky mimoriadne jednoduché a útočníkovi stačí len jedna webstránka, ktorá by z postihnutého zariadenia ťahala dáta. Najhoršie je, že takýto útok by nezanechal po sebe žiadne stopy. Výskumníci sa však zatiaľ nevedia zhodnúť na tom, či útočník môže vykonať tento typ útoku v praxi. Najviac postihnuté sú však spoločnosti a preto ako prvé AMD opraví chybu na serverových procesoroch AMD EPYC.

Prihláste sa k odberu správ z Vosveteit.sk cez Google správy
Tagy
Zobraziť komentáre
Close
Close