Zraniteľnosť je spôsobená funkciami optimalizácie pamäte v procesoroch Intel.
znova, bola objavená zraniteľnosť v systéme špekulatívneho vykonávania inštrukcií procesorov Intel, a tentoraz výskumník Google, oznámil, že identifikoval novú zraniteľnosť (už katalogizovanú pod CVE-2022 40982,), s názvom „Pád“
Downfall je zraniteľnosť, ktorá umožňuje určiť obsah XMM, YMM a vektorové registre ZMM, ktoré predtým používali iné procesy pri vykonávaní inštrukcií AVX na rovnakom jadre CPU.
O páde
Čo sa týka zraniteľnosti, spomína sa, že neprivilegovaný útočník so schopnosťou spustiť svoj vlastný kód v systéme, mohli využiť túto zraniteľnosť na únik údajov z iných používateľských procesov, systémové jadro, izolované enklávy Intel SGX a virtuálne stroje.
Filtrovateľné vektorové registre sú široko používané pri šifrovaní, funkciách kopírovania pamäte a spracovaní reťazcov, napríklad tieto registre sa okrem iného používajú v knižnici Glibc vo funkciách memcpy, strcmp a strlen. Z praktického hľadiska by sa zraniteľnosť mohla zneužiť na určenie údajov spracovávaných v inštrukciách AES-NI alebo REP-MOVS (používaných vo funkcii memcpy) v iných procesoch, čo by mohlo spôsobiť únik šifrovacích kľúčov, citlivých údajov a používateľských hesiel.
Zraniteľnosť sa prejavuje v procesoroch Intel ktoré podporujú rozšírené inštrukčné sady AVX2 a AVX-512 (to znamená, že sa to týka procesorov 6. až 11. generácie), zatiaľ čo procesory Intel založené na mikroarchitektúrach Alder Lake, Raptor Lake a Sapphire Rapids sa nezdajú byť ovplyvnené.
Rovnako ako v prípade nedávno objavenej zraniteľnosti Zenbleed ovplyvňujúcej procesory AMD Zen2, v páde je dôvodom tejto zraniteľnosti únik údajov z protokolových súborov, ktoré sa používajú na zdieľanie obsahu protokolov vo všetkých aplikáciách úloh na rovnakom jadre CPU.
Únik je spôsobený špekulatívnym prenosom údajov pri vykonávaní príkazu GATHER, dostupné v rozšíreniach AVX2 a AVX-512 a navrhnuté tak, aby poskytovali rýchly prístup k rôznorodým údajom v pamäti. Počas vykonávania príkazu GATHER sa staré údaje v súbore registrov použijú na špekulatívne vykonávanie závislých inštrukcií. Tieto údaje sa priamo neodrážajú v softvérových protokoloch, ale možno ich určiť pomocou techník útokov na bočný kanál navrhnutých pre útoky Meltdown, ako je napríklad analýza zvyšných údajov vo vyrovnávacej pamäti CPU.
Ak chcete využiť pád, bola vyvinutá technika útoku s názvom Gather Data Sampling (GDS) a pre ktoré boli publikované prototypy exploitov na extrahovanie kryptografických kľúčov z procesu iného používateľa, únik dát po ich skopírovaní do linuxového jadra funkciou memcpy a zachytenie vytlačených znakov, ktoré zostali vo vektorových registroch po práci iných procesov. Napríklad demonštruje schopnosť definovať kľúče AES, ktoré sa používajú na šifrovanie údajov v procese iného používateľa pomocou knižnice OpenSSL.
Metóda preukázala vysokú účinnosť: vykonaním experimentu so 100 rôznymi kľúčmi sa určilo 100 % kľúčov AES-128 a 86 % kľúčov AES-256, pričom trvanie každého pokusu nebolo dlhšie ako 10 sekúnd. V cloudových systémoch možno útok použiť na určenie toho, aké údaje sa spracúvajú na iných virtuálnych strojoch. Je možné, že túto chybu zabezpečenia by bolo možné zneužiť spustením kódu JavaScript vo webovom prehliadači.
Treba spomenúť, že Intel sa o probléme dozvedel minulý rok (presne v auguste) a že táto zraniteľnosť bola zverejnená až tento rok na konferencii BlackHat USA. a opravy na ochranu pred zraniteľnosťou sú už zahrnuté v rôznych aktualizáciách jadra Linuxu od verzie 6.4.9 6.1.44 po 4.14.321.
Okrem toho sa medzi možnými opatreniami na zamedzenie negatívneho vplyvu ochrany proti zraniteľnosti typu Downfall na výkon uvádza aj vykonanie zmien v kompilátoroch na zakázanie používania príkazu GATHER alebo pridanie príkazu bezprostredne za príkaz GATHER LFENCE, ktorý zakáže preventívne vykonávanie nasledujúcich príkazov pred dokončením všetkých predchádzajúcich potvrdení.
Pre systémy, kde nie sú dostupné opravy firmvéru, bola zakázaná podpora všetkých rozšírení AVX, zatiaľ čo pre časť aktualizácie mikrokódu Intel poskytuje aj možnosť použiť rozhranie MSR na selektívne vypnutie ochrany firmvéru v kontexte jednotlivých procesov.
konečne, ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti v nasledujúci odkaz.