Kasper, skener naprav za špekulativno kodo v jedru Linuxa

Skupina so razkrili raziskovalci s svobodne univerze v Amsterdamu prek objave v blogu orodje, imenovano "casper" ki poudarjajo, da je zasnovan za prepoznavanje odrezkov kode v jedru Linuxa, ki ga je mogoče uporabiti za izkoriščanje Ranljivosti razreda Spectre posledica špekulativnega izvajanja kode s strani procesorja.

Tisti, ki se ne zavedajo te vrste napada, bi morali to vedeti ranljivosti razreda, kot je Spectre v1, omogočajo določanje vsebine pomnilnika, je v privilegirani kodi potreben določen skript (pripomočki), ki vodi do špekulativnega izvajanja navodil.

Za optimizacijo, procesor začne izvajati takšne naprave v špekulativnem načinuali nato ugotovi, da predvidevanje veje ni bilo upravičeno, in povrne operacije v prvotno stanje, vendar so podatki, obdelani med špekulativnim izvajanjem, shranjeni v predpomnilniku in medpomnilniku mikroarhitekture ter so na voljo za ekstrakcijo z uporabo različnih metod za določanje preostalih podatkov prek tretjih- kanali za zabavo.

Orodja za skeniranje pripomočkov na podlagi vzorcev prej na voljo za ranljivost Spectre je pokazal zelo visoko stopnjo lažno pozitivnih rezultatov, medtem ko je bilo veliko pravih pripomočkov izgubljenih (poskusi so pokazali, da 99 % pripomočkov, ki jih takšna orodja zaznajo, ni bilo mogoče uporabiti za napade, 33 % delujočih pa ni bilo opaženih naprav, ki bi lahko vodile v napad).

Predstavljamo Kasper, prehodni (ali špekulativni) pregledovalnik naprav za izvajanje. Uporablja politike analize korupcije za modeliranje napadalca, ki je sposoben izkoriščati poljubne ranljivosti programske/strojne opreme na prehodni poti. 

Glede Casperja

Za izboljšanje kakovosti identifikacije problematičnih naprav, Kasper modelira ranljivosti, ki jih lahko uporabi napadalec na vsakem koraku napadov razreda Spectre: težave se modelirajo tako, da omogočajo nadzor podatkov (na primer zamenjava podatkov napadalca v mikroarhitekturne strukture, da vplivajo na kasnejšo špekulativno izvedbo) z uporabo napadov razreda LVI, pridobijo dostop do občutljivih informacij (na primer, ko medpomnilnik je izven meja ali je pomnilnik uporabljen, potem ko je bil sproščen) in puščajo občutljive informacije (na primer z razčlenitvijo stanja predpomnilnika procesorja ali z uporabo metode MDS).

Modelirajte napadalca, ki je sposoben nadzorovati podatke (npr. z masažo pomnilnika ali injekcijo vrednosti LVI), dostopati do skrivnosti (npr. prek dostopa izven meja ali uporabe po brezplačnem ) in puščati te skrivnosti (npr. prek predpomnilnika, MDS- prikritih kanalih, ki temeljijo na pristaniščih ali na sporih pri pristaniščih). 

Pri izvajanju testa, knjižnice izvajalnega časa stikov jedra avtorja Kasper in preverite, ali delujejo na ravni LLVM. Med preverjanjem špekulativno izvajanje kode emulira mehanizem za obnovitev kontrolne točke, ki posebej izvede napačno predviden razcep kode, po katerem se vrne v prvotno stanje, preden se je razcep začel.

Kasper poskuša modelirati tudi različne ranljivosti programske in strojne opreme, analizira vpliv arhitekturnih in mikroarhitekturnih učinkov ter izvaja fuzzing teste možnih napadalnih dejanj. Za analizo tokov izvajanja se uporabljajo vrata DataFlowSanitizer za jedro Linuxa, za fuzzing teste pa spremenjena različica paketa syzkaller.

Kot rezultat, je Kasper odkril 1.379 prej neznanih naprav v močno utrjenem jedru Linuxa. Naše ugotovitve smo potrdili z demonstracijo izkoriščanja od konca do konca za dokaz koncepta za eno od najdenih naprav.

Med skeniranjem jedra Linuxa s Kasperjem je bilo ugotovljenih 1379 prej neznanih naprav, kar bi lahko povzročilo uhajanje podatkov med špekulativnim izvajanjem navodil.

Opozoriti je treba, da morda le nekateri od njih lahko predstavljajo resnične težave, a da bi pokazali, da obstaja resnična nevarnost in ne le teoretična, je bil za enega od problematičnih odrezkov kode razvit delovni prototip izkoriščanja, ki je pripeljal do puščanje informacij o pomnilniku jedra.

Končno če vas zanima več o tem glede Kasperja, to bi moral vedeti izvorno kodo Distribuira se pod licenco Apache 2.0.

vir: https://www.vusec.net


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.