Vědci ze Svobodné univerzity v Amsterdamu oznámeno nedávno jeden našel nová zranitelnost, která je rozšířenou verzí zranitelnosti Spectre-v2 na procesorech Intel a ARM.
Tato nová zranitelnost, ke které pokřtili jako BHI (Injekce historie pobočky, CVE-2022-0001), bhb (Vyrovnávací paměť historie pobočky, CVE-2022-0002) a Spectre-BHB (CVE-2022-23960) se vyznačuje tím, že umožňuje obcházení ochranných mechanismů eIBRS a CSV2 přidaných k procesorům.
Zranitelnost je popsána v různých projevech stejného problému, protože BHI je útok, který ovlivňuje různé úrovně oprávnění, například uživatelský proces a jádro, zatímco BHB je útok na stejné úrovni oprávnění, například eBPF JIT a jádro.
O zranitelnosti
Koncepčně, BHI je rozšířenou variantou útoku Spectre-v2, ve kterém obejít další ochranu (Intel eIBRS a Arm CSV2) a zorganizovat únik dat, nahrazení hodnot ve vyrovnávací paměti globální historií větví (Branch History Buffer), která se používá v CPU pro zlepšení přesnosti predikce větví. zohledněním historie minulých přechodů.
V průběhu útoku prostřednictvím manipulací s historií přechodů, jsou vytvořeny podmínky pro nesprávnou predikci přechodu a spekulativní provedení potřebných instrukcí, jejichž výsledek se uloží do mezipaměti.
S výjimkou použití vyrovnávací paměti historie verzí místo vyrovnávací paměti cílové verze je nový útok identický se Spectre-v2. Úkolem útočníka je vytvořit takové podmínky, aby adresa, při provádění spekulativní operace se bere z oblasti určovaných dat.
Po provedení spekulativního nepřímého skoku zůstane adresa skoku načtená z paměti v mezipaměti, načež lze použít jednu z metod pro určení obsahu mezipaměti k jejímu načtení na základě analýzy změny doby přístupu do mezipaměti a uncached. data.
Výzkumníci prokázali funkční exploit, který umožňuje uživatelskému prostoru extrahovat libovolná data z paměti jádra.
Například ukazuje, jak je možné pomocí připraveného exploitu extrahovat z kernel bufferů řetězec s hashem hesla uživatele root, načtený ze souboru /etc/shadow.
Tento exploit demonstruje schopnost zneužít zranitelnost v rámci jedné úrovně oprávnění (útok z jádra na jádro) pomocí uživatelem načteného programu eBPF. Není vyloučena ani možnost použití existujících gadgetů Spectre v kódu jádra, skriptů, které vedou ke spekulativnímu provádění instrukcí.
Zranitelnost se objevuje na většině současných procesorů Intel, s výjimkou procesorů rodiny Atom a v několika procesorech ARM.
Podle výzkumu se zranitelnost neprojevuje na procesorech AMD. K vyřešení problému bylo navrženo několik metod. software k blokování zranitelnosti, který lze použít před objevením hardwarové ochrany v budoucích modelech CPU.
Pro blokování útoků prostřednictvím subsystému eBPF, sVe výchozím nastavení se doporučuje zakázat možnost načítání programů eBPF nepřivilegovanými uživateli zapsáním 1 do souboru „/proc/sys/kernel/unprivileged_bpf_disabled“ nebo spuštěním příkazu „sysctl -w kernel .unprivileged_bpf_disabled=1“.
Chcete-li blokovat útoky prostřednictvím gadgetů, doporučuje se použít instrukci LFENCE v částech kódu, které potenciálně vedou ke spekulativnímu provádění. Je pozoruhodné, že výchozí konfigurace většiny linuxových distribucí již obsahuje nezbytná ochranná opatření dostatečná k zablokování útoku eBPF, který výzkumníci prokázali.
Doporučení Intelu zakázat neprivilegovaný přístup k eBPF také platí ve výchozím nastavení počínaje linuxovým jádrem 5.16 a budou přenesena do dřívějších větví.
A konečně, pokud máte zájem dozvědět se o tom více, můžete se podívat na podrobnosti v následující odkaz.