Spook.js, nova tehnika za izkoriščanje ranljivosti Spectre v Chromu

Skupina raziskovalcev poročali z ameriških, avstralskih in izraelskih univerz opisal novo tehniko napada ki omogoča izkoriščanje ranljivosti Spectre razred v brskalnikih s Chromiumom.

Napad z kodnim imenom Spook.js, omogoča pri izvajanju kode JavaScript zaobiti mehanizem izolacije spletnega mesta in branje vsebine celotnega naslovnega prostora trenutnega procesa, to je dostop do podatkov strani, ki se izvajajo na drugih zavihkih, vendar se obdelujejo v istem postopku.

Ker Chrome v različnih procesih zažene različna spletna mesta, so praktični napadi omejeni na storitve, ki različnim uporabnikom omogočajo gostovanje na njihovih straneh. Metoda napada Spook.js omogoča s strani, v katero lahko napadalec vstavi svojo kodo JavaScript, ugotoviti prisotnost drugih strani, ki jih je odprl uporabnik istega spletnega mesta in izvleči zaupne podatke med njimi so na primer poverilnice ali bančni podatki, ki jih v spletnih obrazcih nadomesti sistem za samodokončanje.

Druga uporaba metode je napad na vtičnike brskalnika, ki omogoča, ko je nameščen vtičnik, ki ga nadzira napadalec, izvleči podatke iz drugih vtičnikov.

Spook.js se uporablja za kateri koli brskalnik, ki temelji na Chromium motorju, vključno z brskalniki Google Chrome, Microsoft Edge in Brave. Raziskovalci tudi menijo, da je mogoče metodo prilagoditi za delo s Firefoxom, a ker se motor Firefox zelo razlikuje od Chroma, je delo pri ustvarjanju takega izkoriščanja prepuščeno prihodnosti.

Za zaščito pred napadi, povezanimi s špekulativnim izvajanjem navodil prek brskalnika, je v Chromu izvedena segmentacija naslovnega prostora: izolacija peskovnika omogoča, da JavaScript deluje samo z 32-bitnimi kazalci in deli pomnilnik krmilnika v nepreklapljajočih se skladih 4 GB.

Da bi organizirali dostop do celotnega naslovnega prostora procesa in se izognili 32-bitni omejitvi, so raziskovalci uporabili tehniko zmede tipov, ki motorju JavaScript omogoča obdelavo predmeta z napačno vrsto, kar omogoča oblikovanje 64-bitnega kodo, ki temelji na kombinaciji dveh 32-bitnih vrednosti.

Bistvo napada je, da se z obdelavo posebej izdelanega zlonamernega predmeta v motorju JavaScript ustvarijo pogoji, ki vodijo do špekulativne izvedbe navodil, ki dostopajo do matrike. Objekt je izbran tako, da so polja, ki jih nadzirajo napadalci, postavljena na območje, kjer se uporablja 64-bitni kazalec.

Ker vrsta zlonamernega objekta ne ustreza vrsti matrike, ki se obdeluje, v normalnih pogojih takšna dejanja v Chromu blokira mehanizem deoptimizacije kode, ki se uporablja za dostop do nizov. Če želite odpraviti to težavo, je koda napada zmede tipa postavljena v pogojni blok "if", ki se v normalnih pogojih ne sproži, ampak deluje v špekulativnem načinu, če procesor napačno napoveduje več vej.

Posledično procesor špekulativno dostopa do ustvarjenega 64-bitnega kazalca in po ugotovitvi neuspele napovedi povrne stanje, vendar so sledi izvajanja nastavljene v predpomnilniku v skupni rabi in jih je mogoče obnoviti z metodami za določanje vsebine predpomnilnika do tretjega. strank, ki analizirajo spremembo časa dostopa do predpomnjenih in predpomnjenih podatkov.

Za analizo vsebine predpomnilnika v pogojih premajhne natančnosti časovnika, ki je na voljo v JavaScriptu, se uporablja metoda, ki jo je predlagal Google, ki prevara strategijo izselitve predpomnilnika Tree-PLRU, ki se uporablja v procesorjih, in s povečanjem števila ciklov omogoča znatno povečala časovno razliko v prisotnosti in odsotnosti vrednosti v predpomnilniku.

Raziskovalci so izdali prototipno izkoriščanje, ki deluje v Chromu 89 en sistemi z Intel i7-6700K in i7-7600U. Izkoriščanje je bilo ustvarjeno z uporabo prototipov kode JavaScript, ki jih je Google že objavil za izvedbo napadov Spectre.

Na koncu to omenjajo raziskovalci uspelo pripraviti delovne podvige za sisteme, ki temeljijo na procesorjih Intel in Apple M1, ki imajo možnost organizirati branje spomina s hitrostjo 500 bajtov na sekundo in natančnostjo 96%. Metoda naj bi bila uporabna za procesorje AMD, vendar ni bilo mogoče pripraviti popolnoma funkcionalnega izkoriščanja.

vir: https://www.spookjs.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.