SWAPGS nová spekulativní chyba zabezpečení

SWAPGS-exploit-2

L Vědci společnosti Bitdefender zjistili novou zranitelnost v mechanismu spekulativního provádění pokynů v moderních procesorech, kdo dostal jméno SWAPGS, Odpovídá názvu instrukce procesoru způsobující problém.

Zranitelnost umožňuje neprivilegovanému útočníkovi určit obsah oblastí paměti jádra nebo běžící virtuální stroje. Problém je potvrzen na procesorech Intel (x86_64) a částečně ovlivňuje procesory AMD, pro které se primární útočný vektor neobjevuje.

Dříve implementované metody zabezpečení proti zranitelnosti Spectre a Meltdown nechrání před útoky SWAPGS pomocí procesorů Intel, ale řešení pro Linux, ChromeOS, Android a Windows již byla navržena.

Tato chyba zabezpečení patří do třídy Spectre v1 a je založen na myšlence načíst data z mezipaměti procesoru, která zůstanou po spekulativním provedení pokynů.

Bloky predikce převodu moderních CPU používají proaktivní provedení některých instrukcí, u nichž je větší pravděpodobnost, že budou provedeny, ke zlepšení výkonu, ale bez čekání na výpočet všech faktorů, které určují jejich provedení (například když podmínky přechodu instrukcí nebo parametry přístupu dosud nebyly vypočítány).

Pokud se předpověď nepotvrdí, procesor zahodí výsledek spekulativního běhu, ale data zpracovaná během běhu jsou procesorem uložena do mezipaměti a lze je obnovit pomocí metod k určení obsahu mezipaměti napříč kanály. Třetí strany, které analyzují změna času přístupu k datům v mezipaměti a v mezipaměti.

O SWAPGS

Zvláštností nového útoku je použití úniku, který vznikne během spekulativního provádění instrukce SWAPGS, který se používá v operačních systémech k nahrazení hodnoty registru GS, když je řízení přeneseno z uživatelského prostoru do jádra operačního systému (hodnota GS použitá v uživatelském prostoru je nahrazena hodnotou použitou v operacích jádra).

Linuxové jádro v GS ukládá ukazatel per_cpu, který se používá pro přístup k datům jádra, a ukazuje na TLS (Thread Local Storage) v uživatelském prostoru.

Chcete-li vyloučit dvojité vyvolání instrukce SWAPGS po opakovaném přístupu k jádru z prostoru jádra nebo při provádění kódu, který nevyžaduje výměnu registru GS, je před instrukcí provedena kontrola a podmíněný přechod.

Spekulativní spouštěcí mechanismus předchází provedení kódu pomocí instrukce SWAPGS, bez čekání na výsledek ověření a pokud není vybraná větev potvrzena, zahoďte výsledek.

Proto, může nastat situace, když je spekulativně vybrána větev specifikující provedení SWAPGS, ale během spekulativního provádění bude hodnota registru GS ​​změněna instrukcí SWAPGS a bude použita v operacích závislých na paměti, které jsou ukládány do mezipaměti CPU.

Vědci navrhli dva scénáře útoku pro které byly připraveny prototypy zneužití.

  • První scénář je založen na situaci, kdy se instrukce SWAPGS neprovádí spekulativně, i když se používá ve skutečném provedení, a druhý scénář je opačný, když se instrukce SWAPGS provádí spekulativně, i když by to opravdu neměla.
  • Pro každý scénář existují dvě operační možnosti: útočník může určit hodnotu na konkrétní adrese v oblasti jádra a útočník může vyhledat konkrétní hodnotu na náhodných adresách v jádru.

Řešení vyžaduje instalaci aktualizace jádra v hostitelském i hostovaném prostředí, po které následuje restart systému. Chcete-li zakázat ochranu v systému Linux, můžete použít možnost „nospectre_v1“, která také zakáže opatření blokující chybu zabezpečení SWAPGS.

Řešení je k dispozici jako oprava pro linuxové jádro, který je již obsažen ve verzích 4.19.65, 5.2.7, 4.14.137, 4.9.188 a 4.4.188, zatímco pro různé distribuce Linuxu budou příslušné opravy přicházet během tohoto a následujícího týdne.


Zanechte svůj komentář

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

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  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.