Retbleed: Nový spekulativní exekuční útok zasahující Intel a AMD

Nedávno to prolomila zprávaSkupina výzkumníků z ETH Zurich identifikovala nový útok na mechanismus spekulativního provádění nepřímých skoků v CPU, který umožňuje extrahovat informace z paměti jádra nebo organizovat útok na hostitelský systém z virtuálních strojů.

Chyby byly označeny kódovým označením Retbleed (již katalogováno pod CVE-2022-29900, CVE-2022-29901) a jsou svou povahou podobné útokům Spectre-v2.

Rozdíl se scvrkává na organizaci spekulativního provádění libovolného kódu zpracováním instrukce „ret“ (return), která získá adresu pro skok ze zásobníku, spíše než nepřímým skokem pomocí instrukce „jmp“, načtením adresy z paměti nebo registr CPU.

O novém útoku je zmíněno, že útočník může vytvořit podmínky pro předpověď forku nesprávné a organizovat záměrný spekulativní skok na blok kódu, který není zamýšlen logikou provádění programu.

Nakonec, procesor zjistí, že předpověď větvení nebyla oprávněná a vrátí operaci do původního stavu, ale zpracovávaná data Během spekulativního provádění budou sedět v keši a mikroarchitektonické nárazníky. Pokud chybně provedený blok provede přístup do paměti, pak jeho spekulativní provedení povede k instalaci do obecné mezipaměti a načtení dat z paměti.

K určení dat zbývajících v mezipaměti po spekulativním provedení operací může útočník použít metody k určení zbytkových dat prostřednictvím kanálů třetích stran, například analyzovat změny v době přístupu k datům uloženým v mezipaměti a neuložená do mezipaměti.

Pro záměrnou extrakci informací z oblastí na jiné úrovni oprávnění (například z paměti jádra) se používají „zařízení“: skripty přítomné v jádře, vhodné pro spekulativní čtení dat z paměti, v závislosti na vnějších podmínkách je lze ovlivnit útočníkem.

K ochraně před klasickými útoky třídy Spectre, které využívají nepřímé a podmíněné instrukce větve, používá většina operačních systémů techniku ​​„retpoline“, která je založena na nahrazení operací nepřímé větve instrukcí „ret“, pro kterou je vyžadována samostatná predikce stavu zásobníku. jednotka se používá v procesorech, nepoužívá blok predikce větvení.

Při zavedení retpoline v roce 2018 se věřilo, že manipulace s adresou podobná Spectre je nepraktická pro spekulativní větvení s instrukcí „ret“.

Vědci, kteří vyvinuli metodu útoku Retbleed demonstroval možnost vytvoření mikroarchitektonických podmínek iniciovat spekulativní přechod pomocí instrukce „ret“ a uvolnil připravenou sadu nástrojů k identifikaci vhodných sekvencí instrukcí (gadgetů) pro zneužití zranitelnosti v jádře Linuxu, ve kterém se takové podmínky objevují.

V průběhu studia byl připraven pracovní exploit což umožňuje na systémech s procesory Intel z neprivilegovaného procesu v uživatelském prostoru extrahovat libovolná data z paměti jádra rychlostí 219 bajtů za sekundu as 98% přesností.

En procesory AMD, účinnost exploitu je mnohem vyšší, protože rychlost úniku je 3,9 kB za sekundu. Jako praktický příklad je ukázáno, jak použít navrhovaný exploit k určení obsahu souboru /etc/shadow. Na systémech s procesory Intel byl útok na určení hash hesla root proveden za 28 minut a na systémech s procesory AMD za 6 minut.

Útok byl potvrzen u 6-8 generací procesorů Intel které byly vydány před 2019. čtvrtletím 1 (včetně Skylake) a procesory AMD založené na mikroarchitekturách Zen 1, Zen 2+ a Zen 2021, které byly vydány před XNUMX. čtvrtletím XNUMX. U novějších modelů procesorů, jako jsou AMD Zen3 a Intel Alder Lake, stejně jako procesory ARM, problém je blokován stávajícími ochrannými mechanismy. Například použití instrukcí IBRS (Indirect Branch Restricted Speculation) pomáhá chránit před útokem.

Připravena sada změn pro linuxové jádro a hypervizor Xen, které problém programově blokují na starších CPU. Navrhovaná oprava linuxového jádra změní 68 souborů, přidá 1783 řádků a odstraní 387 řádků.

Bohužel ochrana přináší značné režijní náklady: v textech vytvořených na procesorech AMD a Intel se snížení výkonu odhaduje na 14 % až 39 %. Je vhodnější použít ochranu založenou na instrukcích IBRS, která je dostupná v novějších generacích procesorů Intel a je podporována od jádra Linuxu 4.19.

Nakonec, pokud máte zájem o tom vědět více, můžete se obrátit na podrobnosti v následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.