Informace o nová třída útoků HVAC v mechanismu spekulativní spuštění ovlivňující Intel, které lze použít k odvození klíčů a citlivých dat z enkláv Intel SGX a dalších procesů.
Nová třída útoků je založena na manipulaci se stejnými mikroarchitekturními strukturami jako při útocích MDS, Spectre a Meltdown. Ve stejnou dobu, nové útoky nejsou blokovány existujícími metodami ochrana proti Meltdown, Spectre, MDS a dalším podobným útokům.
O společnosti LVI
Problém byl identifikován v dubnu loňského roku výzkumníkem Jo Van Bulckem z univerzity v Lovani, poté za účasti 9 výzkumných pracovníků z jiných univerzit bylo vyvinuto pět základních metod útoku, každá z nich umožňuje konkrétnější možnosti.
V únoru tohoto roku každopádně Výzkumníci společnosti Bitdefender také objevili jednu z možností útoku LVI a nahlásil to společnosti Intel.
Možnosti útoku se vyznačují použitím různých mikroarchitekturních struktur, jako Store Buffer (SB, Store Buffer), Fill Buffer (LFB, Line Fill Buffer), FPU Context Switch Buffer a First Level Cache (L1D), dříve používané v útocích jako ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow a Zhroucení.
Hlavní rozdíl mezi Zaútočím na něs LVI a MDS spočívá v tom, že MDS manipuluje s určováním obsahu mikroarchitekturních struktur, které zůstanou v mezipaměti po spekulativním zpracování chyb nebo operacích načítání a ukládání, zatímco Útoky LVI umožňují útočníkovi nahradit mikroarchitekturní struktury ovlivnit následné spekulativní provádění kódu oběti.
Pomocí těchto manipulací může útočník extrahovat obsah uzavřených datových struktur v jiných procesech při provádění určitého kódu v jádru cílového CPU.
Pro zneužití musí být problémy nalezeny v procesním kódu a poslat sekvence speciálních kódů (gadgetů), ve kterých je načtena hodnota řízená útočníkem a načtení této hodnoty způsobí výjimky, které zahodí výsledek a zopakují instrukci.
Při zpracování výjimky se zobrazí spekulativní okno, během kterého jsou filtrována data zpracovaná v miniaplikaci.
Zejména procesor začne spekulativně vykonávat část kódu (gadget), pak určí, že předpověď nebyla oprávněná, a obrátí operace, ale zpracovávaných údajů Během spekulativního provádění jsou uloženy v mezipaměti L1D a vyrovnávacích pamětí mikroarchitekturní data a lze je z nich extrahovat pomocí známých metod k určení zbytkových dat z kanálů třetích stran.
Hlavní obtíž zaútočit na jiné procesy ajak zahájit pomoc manipulací s procesem oběti.
V současné době neexistují spolehlivé způsoby, jak toho dosáhnout, ale v budoucnu jeho nález není vyloučen. Možnost útoku byla zatím potvrzena pouze pro enklávy Intel SGX, další scénáře jsou teoretické nebo reprodukovatelné za syntetických podmínek.
Možné vektory útoku
- Únik dat ze struktur jádra do procesu na úrovni uživatele. Linuxová ochrana jádra proti útokům Spectre 1 a ochrannému mechanismu SMAP (Supervisor Mode Access Prevention) výrazně snížit pravděpodobnost útoku LVI. Zavedení další ochrany jádra může být nutné při identifikaci jednodušších metod k provedení útoku LVI v budoucnu.
- Únik dat mezi různými procesy. Útok vyžaduje přítomnost určitých úryvků kódu v aplikaci a stanovení metody k vyvolání výjimky v cílovém procesu.
- Únik dat z hostitelského prostředí do hostujícího systému. Útok je klasifikován jako příliš složitý a vyžaduje implementaci několika obtížně implementovatelných kroků a předpovědí aktivity v systému.
- Únik dat mezi procesy v různých hostujících systémech. Vektor útoku se blíží organizaci úniku dat mezi různými procesy, ale také vyžaduje složité manipulace, aby se zabránilo izolaci mezi hostujícími systémy.
K zajištění účinné ochrany proti LVI jsou nutné hardwarové změny CPU. Tím, že programově organizujete ochranu, přidáte příkaz LFENCE kompilátoru po každé operaci načtení z paměti a nahradíte příkaz RET POP, LFENCE a JMP, opravíte příliš velkou režii; Podle výzkumníků povede komplexní ochrana softwaru ke snížení výkonu 2 až 19krát.
zdroj: https://www.intel.com