Kasper, Linuxi tuuma spekulatiivse koodi skanner

Rühm Amsterdami Vaba Ülikooli teadlased paljastasid ajaveebipostituse kaudu tööriist nimega "kasper" mis tõstavad esile, et see on mõeldud koodijuppide tuvastamiseks Linuxi tuumas, mida saab kasutada Spectre klassi haavatavused põhjustatud protsessori spekulatiivsest koodikäitusest.

Need, kes seda tüüpi rünnakutest ei tea, peaksid seda teadma klassi haavatavused, nagu Spectre v1, võimaldavad määrata mälu sisu, on privilegeeritud koodis nõutav teatud skript (vidinad), mis viib juhiste spekulatiivse täitmiseni.

Optimeerimiseks, protsessor hakkab selliseid seadmeid kasutama spekulatiivses režiimisvõi siis teeb kindlaks, et haru ennustus ei ole olnud põhjendatud ja veereb toimingud tagasi algsesse olekusse, kuid spekulatiivse täitmise käigus töödeldud andmed asuvad vahemälus ja mikroarhitektuuripuhvris ning on saadaval ekstraheerimiseks, kasutades erinevaid jääkandmete määramise meetodeid kolmandate peokanalid.

Vidinate skannimise tööriistad mustrite põhjal varem saadaval Spectr haavatavuse jaokse näitas väga palju valepositiivseid tulemusi, samas läksid kaduma paljud tõelised vidinad (katsed näitasid, et 99% selliste tööriistadega tuvastatud vidinatest ei saanud rünnakuteks kasutada ja 33% töötavatest vidinatest ei olnud vaadeldavad seadmed, mis oleksid võimelised rünnakut juhtima).

Tutvustame Kasperit, mööduvat (või spekulatiivset) täitmisseadme skannerit. See kasutab korruptsioonianalüüsi poliitikat, et modelleerida ründajat, kes suudab mööduval teel ära kasutada suvalisi tarkvara/riistvara haavatavusi. 

Casperist

Kvaliteedi parandamiseks probleemsete seadmete tuvastamine, Kasper modelleerib turvaauke, mida ründaja saab kasutada Spectre-klassi rünnete igal etapil: probleemid modelleeritakse nii, et need võimaldavad andmete kontrolli (näiteks ründaja andmete asendamine mikroarhitektuuriliste struktuuridega, et mõjutada hilisemat spekulatiivset täitmist), kasutades LVI-klassi rünnakuid, juurdepääsu tundlikule teabele (näiteks kui puhver on väljaspool piire või pärast selle vabastamist kasutatakse mälu) ja lekib tundlikku teavet (nt protsessori vahemälu oleku analüüsimise või MDS-meetodi abil).

Modelleerida ründajat, kes suudab andmeid juhtida (nt mälumassaaži või LVI väärtuse süstimise kaudu), pääseda juurde saladustele (nt piiridevälise juurdepääsu kaudu või kasutada pärast tasuta kasutamist) ja neid saladusi lekitada (nt vahemälupõhise, MDS-i kaudu). või pordi tülipõhised salakanalid). 

Testi sooritamisel kernel kontakteerub käitusaja teekidega autor Kasper ja veenduge, et need töötavad LLVM-i tasemel. Kontrollimise ajal emuleerib spekulatiivset koodi täitmist kontrollpunkti taastamise mehhanism, mis käivitab konkreetselt valesti ennustatud koodihargi, mille järel see naaseb algsesse olekusse enne kahvli algust.

Samuti proovib Kasper modelleerida erinevaid tarkvara- ja riistvaranõrkusi, analüüsib arhitektuursete ja mikroarhitektuuriliste efektide mõju ning viib läbi võimalike ründajate tegude hägusaid teste. Täitmisvoogude analüüsimiseks kasutatakse Linuxi kerneli DataFlowSanitizeri porti ja fuzzing-testide jaoks syzkalleri paketi muudetud versiooni.

Selle tulemusena avastas Kasper tugevalt karastatud Linuxi tuumast 1.379 senitundmatut seadet. Kinnitasime oma järeldusi, demonstreerides ühe leitud seadme jaoks täielikku kontseptsiooni tõestust.

Kasperiga Linuxi kerneli skaneerimisel tuvastati 1379 senitundmatut seadet, mis võivad käskude spekulatiivsel täitmisel kaasa tuua andmelekke.

Märgitakse, et võib-olla ainult mõned neist võivad tekitada tõelisi probleeme, kuid näitamaks, et oht on reaalne, mitte ainult teoreetiline, töötati ühe probleemse koodilõigu jaoks välja toimiv ärakasutamise prototüüp, mis viis kerneli mälu teabe leke.

Lõpuks kui olete huvitatud sellest rohkem teada saama Kasperi kohta peaksite seda teadma lähtekoodi Seda levitatakse Apache 2.0 litsentsi all.

allikas: https://www.vusec.net


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.