Kasper, en enhetsskanner för spekulativ kod i Linux-kärnan

En grupp av forskare från Free University of Amsterdam avslöjade via ett blogginlägg ett verktyg som heter "Casper" som markerar att det är det utformad för att identifiera kodavsnitt i Linux-kärnan som kan användas för att utnyttja Spectre klass sårbarheter orsakad av spekulativ kodexekvering av processorn.

För de som inte är medvetna om den här typen av attacker bör de veta det klasssårbarheter som Spectre v1 tillåter att bestämma innehållet i minnet, krävs ett visst skript (prylar) i privilegierad kod, vilket leder till spekulativ exekvering av instruktioner.

Att optimera, processorn börjar köra sådana enheter i ett spekulativt lägeeller bestämmer sedan att grenförutsägelsen inte har motiverats och rullar tillbaka operationerna till deras ursprungliga tillstånd, men data som behandlas under spekulativ exekvering sitter i cache- och mikroarkitekturbuffertarna och är tillgänglig för extrahering med hjälp av olika metoder för bestämning av restdata genom tredje- partykanaler.

Gadget Scan Tools baserat på mönster tidigare tillgänglig för Spectr-sårbarhetene visade en mycket hög andel falska positiva, medan många riktiga prylar gick förlorade (experiment visade att 99 % av prylarna som upptäcktes av sådana verktyg inte kunde användas för attacker, och 33 % av de fungerande var inte observerade enheter som kunde leda till en attack).

Vi presenterar Kasper, en transient (eller spekulativ) exekveringsenhetsscanner. Den använder policyer för korruptionsanalys för att modellera en angripare som kan utnyttja godtyckliga sårbarheter i mjukvara/hårdvara på en övergående väg. 

Om Casper

För att förbättra kvaliteten av identifiering av problematiska enheter, Kasper modellerar de sårbarheter som en angripare kan använda vid varje steg av Spectre-klassattacker: problem modelleras för att tillåta datakontroll (till exempel ersättning av angripardata i mikroarkitektoniska strukturer för att påverka efterföljande spekulativ exekvering) med LVI-klassattacker , få tillgång till känslig information (till exempel när bufferten är utanför gränserna eller minnet används efter att det har frigjorts), och läcker känslig information (till exempel genom att analysera tillståndet för processorcachen eller använda MDS-metoden ).

Modellera en angripare som kan kontrollera data (t.ex. via minnesmassage eller LVI-värdeinjektion), komma åt hemligheter (t.ex. via out-of-bound access eller användning efter gratis) och läcka dessa hemligheter (t.ex. genom cache-baserad, MDS- baserade eller hamnstridsbaserade hemliga kanaler). 

När du utför testet, kärnkontakter körtidsbibliotek av Kasper och verifiera att de fungerar på LLVM-nivå. Under verifiering emuleras exekvering av spekulativ kod av kontrollpunktsåterställningsmekanismen, som specifikt exekverar en felaktigt förutspådd kodgaffel, varefter den återgår till sitt ursprungliga tillstånd innan gaffeln började.

Kasper försöker också modellera olika sårbarheter i mjukvara och hårdvara, analyserar inverkan av arkitektoniska och mikroarkitektoniska effekter och utför otydliga tester av möjliga angriparåtgärder. För analysen av exekveringsflödena används DataFlowSanitizer-porten för Linux-kärnan och för fuzzing-testerna en modifierad version av syzkaller-paketet.

Som ett resultat upptäckte Kasper 1.379 XNUMX tidigare okända enheter i den kraftigt härdade Linuxkärnan. Vi bekräftade våra fynd genom att demonstrera en end-to-end proof-of-concept-exploatering för en av enheterna som hittades.

När Linux-kärnan skannades med Kasper identifierades 1379 XNUMX tidigare okända enheter, vilket kan leda till dataläckage under spekulativ exekvering av instruktioner.

Det noteras att kanske bara några av dem kan ge verkliga problem, men för att visa att det finns en verklig fara, och inte bara en teoretisk sådan, utvecklades en fungerande prototyp av en exploit för en av de problematiska kodsnuttarna, vilket ledde till att ett läckage av kärnminnesinformation.

Slutligen om du är intresserad av att veta mer om det om Kasper, det borde du veta källkoden Den distribueras under Apache 2.0-licensen.

Fuente: https://www.vusec.net


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.