Kasper, skener zařízení pro spekulativní kód v jádře Linuxu

Skupina odhalili vědci ze Svobodné univerzity v Amsterdamu prostřednictvím příspěvku na blogu nástroj nazvaný "casper" které zdůrazňují, že je určené k identifikaci úryvků kódu v linuxovém jádře, které lze použít ke zneužití Zranitelnost třídy Spectre způsobené spekulativním spuštěním kódu procesorem.

Pro ty, kteří o tomto typu útoku nevědí, by to měli vědět zranitelnosti třídy, jako je Spectre v1, umožňují určit obsah paměti, je v privilegovaném kódu vyžadován určitý skript (gadgety), což vede ke spekulativnímu provádění instrukcí.

Chcete-li optimalizovat, procesor spustí taková zařízení ve spekulativním režimunebo poté určí, že predikce větvení nebyla oprávněná, a vrátí operace do jejich původního stavu, ale data zpracovaná během spekulativního provádění jsou uložena v mezipaměti a vyrovnávací paměti mikroarchitektury a jsou dostupná pro extrakci pomocí různých metod určování zbytkových dat prostřednictvím třetího párty kanály.

Nástroje pro skenování gadgetů na základě vzorů dříve k dispozici kvůli zranitelnosti Spectre vykazoval velmi vysokou míru falešně pozitivních výsledků, zatímco mnoho skutečných gadgetů bylo ztraceno (experimenty ukázaly, že 99 % gadgetů detekovaných takovými nástroji nebylo možné použít k útokům a 33 % těch fungujících nebyla pozorována zařízení schopná vést k útoku).

Představujeme Kasper, přechodný (nebo spekulativní) skener zařízení pro provádění. Používá zásady analýzy korupce k modelování útočníka schopného zneužít libovolnou zranitelnost softwaru/hardwaru v přechodné cestě. 

O Casperovi

Zlepšit kvalitu identifikace problematických zařízení, Kasper modeluje zranitelnosti, které může útočník použít v každém kroku útoků třídy Spectre: problémy jsou modelovány tak, aby umožňovaly kontrolu dat (například nahrazení dat útočníků do mikroarchitektonických struktur, aby ovlivnily následné spekulativní provádění) pomocí útoků třídy LVI, získat přístup k citlivým informacím (například když vyrovnávací paměť je mimo meze nebo je paměť použita poté, co byla uvolněna) a dochází k úniku citlivých informací (například analýzou stavu mezipaměti procesoru nebo použitím metody MDS ).

Modelujte útočníka schopného ovládat data (např. prostřednictvím masáže paměti nebo vkládání hodnoty LVI), přistupovat k tajným informacím (např. prostřednictvím přístupu mimo hranice nebo používat po volném ) a prozradit tato tajemství (např. prostřednictvím MDS-based skryté kanály založené na sporech nebo portech). 

Při provádění testu, běhové knihovny kontaktů jádra od Kaspera a ověřte, že fungují na úrovni LLVM. Během ověřování je spekulativní provádění kódu emulováno mechanismem obnovy kontrolního bodu, který specificky provede nesprávně předpovězenou větev kódu, načež se vrátí do původního stavu před zahájením větvení.

Kasper se také snaží modelovat různé softwarové a hardwarové zranitelnostianalyzuje vliv architektonických a mikroarchitektonických efektů a provádí fuzzing testy možných akcí útočníka. Pro analýzu spouštěcích toků se používá port DataFlowSanitizer pro linuxové jádro a pro fuzzing testy upravená verze balíčku syzkaller.

Výsledkem bylo, že Kasper objevil 1.379 XNUMX dříve neznámých zařízení v silně zesíleném linuxovém jádře. Naše zjištění jsme potvrdili předvedením komplexního proof-of-concept exploitu pro jedno z nalezených zařízení.

Při skenování linuxového jádra pomocí Kasperu bylo identifikováno 1379 XNUMX dříve neznámých zařízení, což by mohlo vést k úniku dat při spekulativním provádění instrukcí.

Je třeba poznamenat, že možná jen některé z nich mohou představovat skutečné problémy, ale aby se ukázalo, že existuje skutečné nebezpečí, a to nejen teoretické, byl pro jeden z problematických fragmentů kódu vyvinut funkční prototyp exploitu, který vedl k únik informací o paměti jádra.

Konečně pokud máte zájem o tom vědět více o Kasperovi, to bys měl vědět zdrojový kód Je distribuován pod licencí Apache 2.0.

zdroj: https://www.vusec.net


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.