Spook.js, uus meetod Spectre'i turvaaukude kasutamiseks Chrome'is

Teadlaste rühm teatasid Ameerika, Austraalia ja Iisraeli ülikoolid kirjeldas uut rünnakutehnikat mis võimaldab haavatavusi ära kasutada Spectre klass Chromiumi toega brauserites.

Rünnak, koodnimega Spook.js, lubab JavaScripti koodi täitmisel saidi isoleerimismehhanismist mööda minna ja praeguse protsessi kogu aadressiruumi sisu lugemine, st juurdepääs lehtede andmetele, mis täidetakse teistel vahekaartidel, kuid mida töödeldakse samas protsessis.

Kuna Chrome käivitab erinevates protsessides erinevaid saite, piirduvad praktilised rünnakud teenustega, mis võimaldavad erinevatel kasutajatel oma lehti majutada. Spook.js rünnakumeetod võimaldab lehelt, kuhu ründaja saab oma JavaScripti koodi manustada, määrake teiste sama saidi kasutaja poolt avatud lehtede olemasolu ja konfiskeerida konfidentsiaalset teavet neist näiteks volikirjad või pangaandmed, mis on veebivormides asendatud automaatse täitmise süsteemiga.

Teine meetodi rakendus on rünnak brauseri pistikprogrammide vastu, mis võimaldab ründaja juhitava pistikprogrammi installimisel andmeid hankida teistest pistikprogrammidest.

Spook.js on rakendatav mis tahes Chromiumi mootoril põhinevale brauserile, sealhulgas Google Chrome, Microsoft Edge ja Brave. Samuti usuvad teadlased, et meetodit saab kohandada Firefoxiga töötamiseks, kuid kuna Firefoxi mootor on Chrome'ist väga erinev, jäetakse sellise ekspluateerimise loomise töö tulevikku.

Et kaitsta rünnakute eest, mis on seotud juhiste spekulatiivse täitmisega brauseri kaudu, rakendatakse Chrome'is aadressiruumi segmenteerimine: liivakasti eraldamine võimaldab JavaScriptil töötada ainult 32-bitiste kursoritega ja jagab kontrolleri mälu mitte-kattuvates 4 GB virnades.

Kogu protsessi aadressiruumile juurdepääsu korraldamiseks ja 32-bitise piirangu vältimiseks kasutasid teadlased tüübisegaduse tehnikat, mis võimaldab JavaScripti mootoril töödelda vale tüüpi objekti, võimaldades moodustada 64-bitise kood, mis põhineb kahe 32-bitise väärtuse kombinatsioonil.

Rünnaku olemus seisneb selles, et töödeldes JavaScripti mootoris spetsiaalselt loodud pahatahtlikku objekti, luuakse tingimused, mis viivad massiivile juurdepääsetavate juhiste spekulatiivse täitmiseni. Objekt valitakse nii, et ründajate juhitavad väljad paigutatakse 64-bitise kursori kasutamise piirkonda.

Kuna pahatahtliku objekti tüüp ei vasta töödeldava massiivi tüübile, blokeerivad sellised toimingud tavalistes tingimustes Chrome'is massiividele juurdepääsemiseks kasutatava koodi deoptimiseerimise mehhanismi. Selle probleemi lahendamiseks paigutatakse tüübisegaduse rünnakukood tingimusplokki "if", mis normaaltingimustes ei käivitu, kuid töötab spekulatiivses režiimis, kui protsessor ennustab valesti rohkem harusid.

Selle tulemusena pääseb protsessor spekulatiivselt juurde genereeritud 64-bitisele kursorile ja taastab pärast ebaõnnestunud ennustuse määramist oleku, kuid täitmisjäljed on seatud jagatud vahemällu ja neid saab taastada, kasutades meetodeid, mis määravad vahemälu sisu kolmanda osapoolte kanalid, analüüsides vahemällu salvestatud ja vahemällu salvestamata andmetele juurdepääsu aja muutumist.

Vahemälu sisu analüüsimiseks JavaScriptis saadaoleva taimeri ebapiisava täpsuse tingimustes kasutatakse Google'i pakutud meetodit, mis trikkib protsessorites kasutatavat Tree-PLRU vahemälu andmete väljatõstmise strateegiat ja võimaldab, suurendades arvu tsüklit suurendab oluliselt ajavahet vahemälus oleva väärtuse olemasolul ja puudumisel.

Teadlased on välja andnud prototüübi, mis töötab Chrome'is 89 en süsteemid, millel on Intel i7-6700K ja i7-7600U. Kasutamine loodi Spectre'i rünnakute tegemiseks varem Google'i avaldatud JavaScripti koodi prototüüpide abil.

Lõpuks mainivad teadlased seda suutis ette valmistada töövõimalusi Inteli ja Apple M1 protsessoritel põhinevatele süsteemidele, millele antakse võimalus korraldada mälu lugemist kiirusega 500 baiti sekundis ja täpsusega 96%. Meetod peaks olema rakendatav AMD protsessorite jaoks, kuid täielikult toimiva kasutamise ettevalmistamine ei olnud võimalik.

allikas: https://www.spookjs.com


Jäta oma kommentaar

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

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  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.