Google prikazuje izkoriščanje ranljivosti Spectre z uporabo JavaScript v brskalniku

Google je predstavil pred nekaj dnevi različni prototipi izkoriščanja ki dokazujejo možnost izkoriščanja ranljivosti razreda Spectre pri izvajanju kode JavaScript v brskalniku, ne da bi šli skozi zgoraj dodane varnostne metode.

Izkoriščanja se lahko uporabljajo za dostop do pomnilnika procesa ki obdeluje spletne vsebine v trenutnem zavihku. Za preizkus delovanja eksploatacije je bilo zagnano spletno mesto za puščajočo stran in koda, ki opisuje logiko operacije, je objavljena na GitHub.

Predlagani prototip je zasnovan tako, da napadalni sistemi z Procesorji Intel Core i7-6500U v okolju Linux in Chrome 88, čeprav to ne izključuje, da je mogoče spremeniti uporabo exploit-a v drugih okoljih.

Način delovanja ni specifičen za procesorji Intel: po ustrezni prilagoditvi, Izkoriščanje je bilo potrjeno za delo na sistemih s CPU tretjih oseb, vključno z Apple M1, ki temelji na arhitekturi ARM. Po manjših popravkih deluje tudi na drugih operacijskih sistemih in drugih brskalnikih, ki temeljijo na motorju Chromium.

V okolju, ki temelji na standardnih procesorjih Chrome 88 in Intel Skylake, smo dosegli uhajanje podatkov iz procesa, odgovornega za upodabljanje spletne vsebine na trenutnem zavihku Chrome (postopek upodabljanja) s hitrostjo 1 kilobajt na sekundo. Poleg tega so bili razviti alternativni prototipi, na primer podvig, ki omogoča, da za ceno zmanjšane stabilnosti poveča hitrost puščanja na 8 kB / s pri uporabi časovnika performance.now () z natančnostjo 5 mikrosekund (0.005 milisekund) ). Pripravljena je bila tudi različica, ki je delovala s časovno natančnostjo ene milisekunde, s katero je bilo mogoče organizirati dostop do pomnilnika drugega procesa s hitrostjo približno 60 bajtov na sekundo.

Objavljena predstavitvena koda je sestavljena iz treh delov:

  • Prvi del umerite časovnik, da ocenite čas delovanja operacij, potrebnih za pridobivanje podatkov, ki ostanejo v predpomnilniku procesorja zaradi špekulativnega izvajanja navodil CPU.
  • Drugi del Določa postavitev pomnilnika, ki se uporablja pri dodeljevanju polja JavaScript.
  • Tretji del neposredno izkorišča ranljivost Spectre za določanje vsebine pomnilnika trenutnega procesa kot rezultat ustvarjanja pogojev za špekulativno izvajanje nekaterih operacij, katerih rezultat procesor zavrže po določitvi neuspešne napovedi, vendar se sledi izvrševanja poravnajo v skupni predpomnilnik in jih je mogoče obnoviti metode za določanje vsebine predpomnilnika z uporabo neodvisnih kanalov, ki analizirajo spremembo časa dostopa do predpomnjenih in nepredpomnjenih podatkov.

Predlagana tehnika izkoriščanja odpravlja visoko natančne časovnike na voljo prek API-ja performance.now () in brez podpore za tip SharedArrayBuffer, ki omogoča ustvarjanje nizov v skupnem pomnilniku.

Izkoriščanje vključuje napravo Spectre, ki povzroči nadzorovano izvajanje špekulativne kode, in analizator puščanja stranskega kanala, ki določa, kateri podatki so bili predpomnjeni med špekulativnim izvajanjem.

Pripomoček se izvaja z uporabo polja JavaScript, v katerem poskusi se dostop do območja zunaj meja medpomnilnika, ki vpliva na stanje bloka napovedovanja vej zaradi prisotnosti preverjanja velikosti medpomnilnika, ki ga doda prevajalnik (procesor špekulativno izvede dostop pred časom, stanje pa po preverjanju povrne).

Za analizo vsebine predpomnilnika v pogojih nezadostne natančnosti časovnika je bila predlagana metoda, ki izigra strategijo izseljevanja podatkov predpomnilnika Tree-PLRU, ki se uporablja v procesorjih, in omogoča, da s povečanjem števila ciklov znatno poveča čas razlike, ko vrednost se vrne iz predpomnilnika in če v predpomnilniku ni vrednosti.

Google je objavil prototip eksploatacije, da bi pokazal izvedljivost napadov z uporabo ranljivosti razreda Spectre in spodbujati spletne razvijalce, naj uporabljajo tehnike, ki zmanjšujejo tveganja takšnih napadov.

Google hkrati meni, da brez večje revizije predlaganega prototipa ni mogoče ustvariti univerzalnih podvigov, ki so pripravljeni ne samo za predstavitev, temveč tudi za široko uporabo.

vir: https://security.googleblog.com


Pustite svoj komentar

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

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  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.