Dvě nové zranitelnosti v eBPF umožňují ochranu bypassu proti Spectre 4

Logo Spectre

Nedávno to zprávy prolomily byly identifikovány dvě zranitelnosti v linuxovém jádře to povolit použití subsystém eBPF k obejití ochrany před útokem Spectre 4 (SSB, Speculative Store Bypass). Uvádí se, že pomocí neprivilegovaného programu BPF může útočník vytvořit podmínky pro spekulativní provádění určitých operací a určit obsah libovolných oblastí paměti jádra.

Metoda útoku Spectre 4 spoléhá na obnovu dat uvězněných v mezipaměti procesoru po zahození výsledku spekulativního provádění operací při zpracování prokládaných operací čtení a zápisu pomocí nepřímého adresování.

Pokud operace čtení následuje po operaci zápisu, odchylka směru čtení již může být známá kvůli podobným operacím (operace čtení se provádějí mnohem častěji a čtení lze provádět z mezipaměti) a procesor může spekulativně číst před zápisem, aniž by čekal na vypočítání posunu nepřímého směru zápisu.

Pokud je po výpočtu offsetu detekován průnik paměťových oblastí pro zápis a čtení, procesor jednoduše zahodí již získaný výsledek čtení spekulativně a tuto operaci zopakuje. Tato funkce umožňuje instrukci čtení přistupovat k předchozí hodnotě v určitém směru, zatímco operace uložení stále čeká.

Po vyloučení neúspěšného spekulativního obchodu, stopy jeho provedení zůstávají v mezipaměti a poté k jeho načtení lze použít jednu z metod k určení obsahu mezipaměti na základě analýzy změn v době přístupu do mezipaměti a v mezipaměti dat.

Všimněte si, že každé téma může být zneužíváno nezávisle na druhém, spoléhání se na v chybách, které se nepřekrývají.

PoC byly soukromě sdíleny s správci subsystému BPF pomoc s vývojem aranžmá.

První zranitelnost CVE-2021-35477: je to způsobeno chybou ve validačním mechanismu programu BPF. Aby se ochránil před útokem Spectre 4, přidá kontrola po potenciálně obtížných operacích ukládání do paměti další instrukci, která ukládá nulovou hodnotu, aby se vyrovnaly stopy předchozí operace.

Předpokládalo se, že operace nulového zápisu bude velmi rychlá a zablokuje spekulativní provádění, protože závisí pouze na ukazateli rámce zásobníku BPF. Ale ve skutečnosti bylo možné vytvořit podmínky, ve kterých má instrukce vedoucí ke spekulativnímu provedení čas provést před operací preventivního uložení.

Druhá zranitelnost CVE-2021-3455: souvisí se skutečností, že když kontrola BPF detekuje potenciálně nebezpečné operace ukládání do paměti, neinicializované oblasti zásobníku BPF, první operace zápisu, ve které není chráněn, jsou ignorovány.

Tato funkce vede k možnosti provedení spekulativní operace čtení v závislosti na neinicializované oblasti paměti před provedením instrukce úložiště. Nová paměť pro zásobník BPF je přidělena bez kontroly obsahu, který je již v přidělené paměti, a ve fázi před spuštěním programu BPF existuje způsob, jak spravovat obsah oblasti paměti, která bude následně přidělena zásobník BPF.

Dostupné řešení znovu implementuje techniky zmírňování, aby mohlo pokračovat doporučeno prodejci CPU a dostupné v jádře hlavní řady úložiště git.

Nakonec je zmíněno, že správci subsystémů eBPF v jádře získali přístup k prototypu exploitu, který demonstruje možnost provádění útoků v praxi.

Problémy jsou vyřešeny formou záplat, které budou zahrnuty v příští aktualizaci jádra Linuxu, takže aktualizace pro různé distribuce začnou přicházet během několika příštích dnů.

zdroj: https://www.openwall.com/


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.