Kasper, en enhedsscanner til spekulativ kode i Linux-kernen

En gruppe af Det afslørede forskere fra Det Frie Universitet i Amsterdam gennem et blogindlæg et værktøj kaldet "Kasper" som understreger, at det er designet til at identificere kodestykker i Linux-kernen, der kan bruges til at udnytte Spectre klasse sårbarheder forårsaget af spekulativ kodeeksekvering af processoren.

For dem, der ikke er klar over denne type angreb, bør du vide det klassesårbarheder såsom Spectre v1 tillader bestemmelse af hukommelsesindhold, kræves et bestemt script (gadget) i den privilegerede kode, hvilket fører til spekulativ udførelse af instruktioner.

For at optimere, processoren begynder at køre sådanne enheder i en spekulativ tilstandeller det bestemmer så, at grenforudsigelsen ikke er blevet begrundet og vender operationerne tilbage til deres oprindelige tilstand, men de data, der behandles under den spekulative eksekvering, sidder i cache- og mikroarkitekturbufferne og er tilgængelige for udtræk ved hjælp af forskellige restdatabestemmelsesmetoder gennem tredje festkanaler.

Gadget-scanningsværktøjer mønsterbaseret tidligere tilgængelig for Spectr-sårbarhede viste en meget høj falsk positiv rate, mens mange rigtige gadgets gik tabt (eksperimenter viste, at 99 % af gadgets, der blev opdaget af sådanne værktøjer, ikke kunne bruges til angreb, og 33 % af fungerende enheder var ikke observerede enheder, der kunne føre til et angreb).

Introduktion til Kasper, en transient (eller spekulativ) udførelsesenhedsscanner. Den bruger korruptionsanalysepolitikker til at modellere en angriber, der er i stand til at udnytte vilkårlige software-/hardwaresårbarheder i en forbigående sti. 

Om Kasper

For at forbedre kvaliteten identifikation af problematiske enheder, Kasper modellerer de sårbarheder, som en angriber kan bruge ved hvert trin af Specter-klasse-angreb: problemer modelleres for at tillade kontrol af data (for eksempel at erstatte angriberdata i mikroarkitekturstrukturer for at påvirke efterfølgende spekulativ eksekvering) ved hjælp af LVI-klasse angreb , få adgang til følsom information (for eksempel når buffer er uden for grænserne, eller hukommelsen er brugt, efter at den er blevet frigivet), og lækker følsom information (f.eks. ved at analysere tilstanden af ​​processorcachen eller bruge MDS-metoden ).

Modellerer en angriber, der er i stand til at kontrollere data (f.eks. gennem hukommelsesmassage eller værdiinjektion til LVI), få ​​adgang til hemmeligheder (f.eks. gennem adgang uden for grænserne eller brug-efter-fri) og lække disse hemmeligheder (f.eks. gennem cache- baserede, MDS-baserede eller portkonfliktbaserede skjulte kanaler). 

Når du udfører testen, kernen kontakter runtime-bibliotekerne af Kasper og kontroller, at de fungerer på LLVM-niveau. Under verifikation emuleres spekulativ kodekørsel af kontrolpunktgendannelsesmekanismen, som specifikt udfører en forkert forudsagt kodegren, hvorefter den vender tilbage til sin oprindelige tilstand, før grenen begyndte.

Kasper forsøger også at modellere forskellige software- og hardwaresårbarheder., analyserer indflydelsen af ​​arkitektoniske og mikroarkitektoniske effekter og udfører fuzzing-tests af mulige angriberhandlinger. Til analyse af udførelsesflows bruges DataFlowSanitizer-porten til Linux-kernen, og til fuzzing-tests en modificeret version af syzkaller-pakken.

Som et resultat opdagede Kasper 1.379 hidtil ukendte enheder i den stærkt hærdede Linux-kerne. Vi bekræftede vores resultater ved at demonstrere en end-to-end proof-of-concept udnyttelse for en af ​​de fundne enheder.

Mens Linux-kernen blev scannet med Kasper, blev 1379 tidligere ukendte enheder identificeret, hvilket potentielt kunne føre til et datalæk under udførelse af spekulativ instruktion.

Det bemærkes, at måske kun nogle af dem kan give reelle problemer, men for at demonstrere, at der er en reel, og ikke kun teoretisk, fare, blev der udviklet en fungerende prototype af en udnyttelse til et af de problematiske kodestykker, hvilket førte til en fejllækage kernehukommelsesoplysninger.

Endelig hvis du er interesseret i at vide mere om det om Kasper, det skal du vide kildekoden distribueres under Apache 2.0-licensen.

kilde: https://www.vusec.net


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.