Vývojár spoločnosti Google navrhol ochranu pred útokmi LVI

Pred niekoľkými dňami tu v blogu sme hovorili o LVI, ktorý je klasifikovaný ako nová séria útokov ktoré ovplyvňujú iba procesory Intel a sú charakterizované sekvenciou útokov založených na manipuláciách s rovnakými mikroarchitektúrnymi štruktúrami ako pri útokoch MDS, Spectre a Meltdown.

Hlavný rozdiel medzi Napádam ichs LVI a MDS spočíva v tom, že MDS manipuluje s určovaním obsahu mikroarchitektúrnych štruktúr, ktoré zostanú v cache po špekulatívnej manipulácii s chybami alebo operáciách načítania a uloženia, zatiaľ čo Útoky LVI umožňujú útočníkovi nahradiť sa v mikroarchitektúrnych štruktúrach ovplyvniť následné špekulatívne vykonávanie kódu obete.

Predsa Intel spomína, že pracuje na riešení Z tohto dôvodu spomínajú, že toto zlyhanie má veľké ťažkosti v úspešnom uskutočňovaní procesu, a preto sa domnievajú, že na to, aby bolo možné v ňom uspieť, je potrebné splniť niekoľko požiadaviek, a to je dôvod, prečo je zlyhanie katalogizované s mimoriadnymi ťažkosťami. .

Súvisiaci článok:
LVI: nová trieda špekulatívnych útokov na procesory Intel

Okrem toho, Zolské mosty (vývojár Google) pracoval na vydaní a nedávno ponúkol opravu pre kompilátor LLVM s ochranou SESES (Speculative Execution Side Effects Suppression), ktorá pomáha blokovať útoky na konkrétne špekulatívne exekučné motory, ktoré ovplyvňujú procesory Intel, ako sú LVI.

Navrhovaný spôsob ochrany je implementovaný na úrovni prekladača a je založený na pridaní príkazov LFENCE kompilátor pri generovaní strojového kódu, ktorý sa vkladá pred každú inštrukciu na čítanie alebo zápis do pamäte, ako aj pred prvú vetvovú inštrukciu v skupine inštrukcií, ktorá sa dokončí v bloku.

Zmiernenie pozostáva z kroku kompilátora, ktorý predtým vloží LFENCE
každá inštrukcia na čítanie pamäte, inštrukcia na zápis do pamäte a prvá
vyhlásenie pobočky o skupine terminátorov na konci a
základný blok. 

Inštrukcia LFENCE očakáva, že potvrdí všetky predchádzajúce čítania z pamäte a neumožňuje proaktívne vykonávanie pokynov, ktoré nasledujú po LFENCE pred dokončením potvrdenia.

Využitie LFENCE vedie k výraznému zníženiu výkonu, Preto v extrémnych prípadoch sa navrhuje použitie ochrany pre obzvlášť kritické kódy. Okrem úplnej ochrany patch ponúka tri príznaky, ktoré selektívne deaktivujú určité úrovne ochrany, aby sa znížil negatívny dopad na výkon.

V našich testoch viedlo použitie ochrany SESES k balíku BoringSSL k 14-násobnému zníženiu počtu operácií vykonaných knižnicou za sekundu - výkon verzie knižnice zostavenej s ochranou sa ukázal byť v priemere iba 7.1% výkon nechránenej verzie (rozšírený v závislosti od testu zo 4% na 23%)

Okrem plnej verzie zmiernenia táto oprava implementuje tri príznaky deaktivujúce časť zmiernenia.

Tieto príznaky sú predvolene zakázané. Zámerom vlajok nie je dosiahnuť bezpečný variant zmiernenia. Indikátory sú určené na použitie používateľmi, ktorí chcú experimentovať s cieľom zlepšiť výkon systému
zmiernenie.

Na porovnanie, mechanizmus navrhnutý pre GNU Assembler, ktorá vykonáva substitúciu LFENCE po každej operácii načítania z pamäte a pred niekoľkými vetviacimi pokynmi, preukázali pokles výkonu približne 5-násobne (22% kódu bez ochrany).

Metóda ochrany tiež bol navrhnutý a implementovaný inžiniermi spoločnosti Intel, ale výsledky testov výkonnosti ešte neboli zverejnené. Vedci, ktorí detekovali útok LVI, pôvodne predpovedali 2-19-násobné zníženie výkonu pri použití plnej ochrany.

Na záver, ak sa o ňom chcete dozvedieť viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze. 


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.