„Spook.js“ - nauja „Spectre“ pažeidžiamumo „Chrome“ išnaudojimo technika

Tyrėjų grupė apie tai pranešė Amerikos, Australijos ir Izraelio universitetai aprašė naują puolimo techniką kuris leidžia išnaudoti pažeidžiamumą „Spectre“ klasė „Chromium“ valdomose naršyklėse.

Ataka, kodiniu kodu „Spook.js“ leidžia vykdant „JavaScript“ kodą apeiti svetainės izoliacijos mechanizmą ir viso dabartinio proceso adresų srities turinio skaitymas, tai yra prieiga prie puslapių, kurie vykdomi kituose skirtukuose, bet apdorojami tame pačiame procese, duomenų.

Kadangi „Chrome“ paleidžia skirtingas svetaines skirtingais procesais, praktinės atakos apsiriboja paslaugomis, kurios leidžia skirtingiems vartotojams priglobti savo puslapius. „Spook.js“ atakos metodas leidžia iš puslapio, kuriame užpuolikas gali įterpti savo „JavaScript“ kodą, nustatyti, ar yra kitų puslapių, kuriuos atidarė tos pačios svetainės vartotojas ir išgauti konfidencialią informaciją iš jų, pavyzdžiui, prisijungimo duomenys ar banko duomenys, pakeisti žiniatinklio formų automatinio užbaigimo sistema.

Kitas metodo taikymas yra ataka prieš naršyklės papildinius, kuris leidžia įdiegti užpuoliko valdomą papildinį iš kitų papildinių.

„Spook.js“ tinka bet kuriai naršyklei, pagrįstai „Chromium“ varikliu, įskaitant „Google Chrome“, „Microsoft Edge“ ir „Brave“. Mokslininkai taip pat mano, kad šį metodą galima pritaikyti darbui su „Firefox“, tačiau kadangi „Firefox“ variklis labai skiriasi nuo „Chrome“, tokio išnaudojimo kūrimo darbai paliekami ateičiai.

Siekiant apsaugoti nuo atakų, susijusių su spekuliaciniu instrukcijų vykdymu per naršyklę, „Chrome“ įdiegtas adresų erdvės segmentavimas: „sandbox“ izoliacija leidžia „JavaScript“ veikti tik su 32 bitų rodyklėmis ir dalijasi valdiklio atmintimi nesutampančiose 4 GB krūvose.

Norėdami organizuoti prieigą prie visos proceso adresų erdvės ir išvengti 32 bitų apribojimo, tyrėjai naudojo tipo painiavos metodą, kuris leidžia „JavaScript“ varikliui apdoroti netinkamo tipo objektą, leidžiantį suformuoti 64 bitų kodą, pagrįstą dviejų 32 bitų verčių deriniu.

Išpuolio esmė yra ta, kad apdorojant specialiai sukurtą kenkėjišką objektą „JavaScript“ variklyje, sukuriamos sąlygos, dėl kurių spekuliaciniu būdu vykdomos instrukcijos, leidžiančios pasiekti masyvą. Objektas parenkamas taip, kad užpuolikų valdomi laukai būtų patalpinti toje vietoje, kur naudojamas 64 bitų žymeklis.

Kadangi kenkėjiško objekto tipas neatitinka apdorojamo masyvo tipo, įprastomis sąlygomis tokius veiksmus „Chrome“ užblokuoja kodo, naudojamo prieiti prie masyvų, deoptimizavimo mechanizmas. Norėdami išspręsti šią problemą, „Type Confusion“ atakos kodas įterpiamas į sąlyginį bloką „jei“, kuris įprastomis sąlygomis neužsidega, bet veikia spekuliaciniu režimu, jei procesorius neteisingai numato daugiau šakų.

Dėl to procesorius spėliojant pasiekia sukurtą 64 bitų rodyklę ir grąžina būseną nustačius nesėkmingą prognozę, tačiau vykdymo pėdsakai yra nustatyti bendrai naudojamoje talpykloje ir gali būti atkurti naudojant metodus, leidžiančius nustatyti talpyklos turinį per trečią partijos kanalus, analizuodamas prieigos prie talpykloje saugomų ir nesaugotų duomenų pasikeitimą.

Norėdami išanalizuoti talpyklos turinį esant nepakankamam „JavaScript“ laikmačio tikslumui, naudojamas „Google“ pasiūlytas metodas, kuris apgauna „Tree-PLRU“ talpyklos duomenų iškeldinimo strategiją, naudojamą procesoriuose, ir padidina skaičių ciklų skaičių. žymiai padidina laiko skirtumą, jei talpykloje yra ir nėra vertės.

Mokslininkai išleido prototipo išnaudojimą, kuris veikia „Chrome 89 en sistemos su „Intel i7-6700K“ ir „i7-7600U“. Išnaudojimas buvo sukurtas naudojant „Google“ anksčiau paskelbtus „JavaScript“ kodo prototipus „Spectre“ atakoms vykdyti.

Galiausiai mokslininkai tai mini sugebėjo paruošti darbines sistemas, pagrįstas „Intel“ ir „Apple M1“ procesoriais, kuriems suteikiama galimybė organizuoti atminties rodmenis 500 baitų per sekundę greičiu ir 96%tikslumu. Šis metodas turėtų būti taikomas AMD procesoriams, tačiau nebuvo įmanoma paruošti visiškai funkcionuojančio naudojimo.

Fuente: https://www.spookjs.com


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.