„Google“ demonstruoja „Spectre“ pažeidžiamumų naudojimą naudojant „JavaScript“ naršyklėje

„Google“ pristatė prieš kelias dienas įvairūs prototipai kurie rodo pažeidžiamumo panaudojimo galimybę „Spectre“ klasės, kai naršyklėje vykdote „JavaScript“ kodą, neišlaikę aukščiau pridėtų saugumo metodų.

Išnaudojimai gali būti naudojami norint pasiekti proceso atmintį kuri apdoroja interneto turinį dabartiniame skirtuke. Norėdami išbandyti išnaudojimo veikimą, buvo paleista nutekančio puslapio svetainė, o kodas, apibūdinantis operacijos logiką, paskelbtas „GitHub“.

Siūlomas prototipas sukurtas taip atakuoti sistemas su „Intel Core i7-6500U“ procesoriai „Linux“ ir „Chrome 88“ aplinkoje, nors tai neatmeta galimybės keisti naudojimo galimybes kitose aplinkose.

Veikimo būdas nėra specifinis perdirbėjai „Intel“: tinkamai pritaikius, Patvirtinta, kad išnaudojimas veikia sistemose su trečiųjų šalių procesoriais, įskaitant „Apple M1“, pagrįstą ARM architektūra. Po nedidelių patobulinimų išnaudojimas taip pat veikia kitose operacinėse sistemose ir kitose naršyklėse, pagrįstose „Chromium“ varikliu.

Aplinkoje, pagrįstoje standartiniais „Chrome 88“ ir „Intel Skylake“ procesoriais, pasiekėme duomenų nutekėjimą iš proceso, atsakingo už žiniatinklio turinio pateikimą dabartiniame „Chrome“ skirtuke (atvaizdavimo procesas) 1 kilobaito per sekundę greičiu. Be to, buvo sukurti alternatyvūs prototipai, pavyzdžiui, išnaudojimas, leidžiantis sumažinto stabilumo kaina naudojant nuotolį padidinti nuotėkio greitį iki 8 kB / s. Dabar () laikmatis 5 mikrosekundžių (0.005 milisekundės) tikslumu. ). Taip pat buvo paruoštas variantas, veikiantis vieno milisekundės tikslumu laikmačiu, kuris galėjo būti naudojamas organizuojant prieigą prie kito proceso atminties maždaug 60 baitų per sekundę greičiu.

Paskelbtą demonstracinį kodą sudaro trys dalys:

  • Pirmoji dalis kalibruokite laikmatį, kad įvertintumėte važiavimo laiką operacijų, būtinų norint gauti duomenis, kurie lieka procesoriaus talpykloje dėl spekuliacinio CPU nurodymų vykdymo.
  • Antroji dalis Apibrėžia atminties išdėstymą, naudojamą paskirstant „JavaScript“ masyvą.
  • Trečioji dalis tiesiogiai naudoja „Spectre“ pažeidžiamumą, kad nustatytų atminties turinį dabartinio proceso rezultatas, sukūrus sąlygas tam tikrų operacijų spekuliaciniam vykdymui, kurio rezultatą procesorius atmeta nustatęs nepavykusią prognozę, tačiau vykdymo pėdsakai sutvarkomi bendrojoje talpykloje ir gali būti atkurti naudojant talpyklos turinio nustatymo būdai naudojant trečiųjų šalių kanalus, kurie analizuoja prieigos prie talpykloje ir ne talpykloje saugomų duomenų pasikeitimą.

Siūloma išnaudojimo technika pašalina didelio tikslumo laikmačius galima per „performance.now ()“ API ir be „SharedArrayBuffer“ tipo palaikymo, kuris leidžia kurti masyvus bendroje atmintyje.

Išnaudojimas apima „Spectre“ įrenginį, kuris sukelia kontroliuojamą spekuliacinį kodo vykdymą, ir šoninio kanalo nuotėkio analizatorių, kuris nustato, kokie duomenys buvo talpinami spekuliacinio vykdymo metu.

Programėlė įdiegta naudojant „JavaScript“ masyvą, kurioje bandoma patekti į plotą, esantį už buferio ribų, kuris paveikia šakos numatymo bloko būseną dėl kompiliatoriaus pridėto buferio dydžio patikrinimo (procesorius spekuliaciškai atlieka prieigą anksčiau laiko, bet patikrinęs grąžina būseną).

Siekiant išanalizuoti talpyklos turinį esant nepakankamam laikmačio tikslumui, buvo pasiūlytas metodas, kuris apgauna procesoriuose naudojamą „Tree-PLRU“ talpyklos duomenų iškrovimo strategiją ir leidžia, didinant ciklų skaičių, žymiai padidinti skirtumo laiką, kai vertė grąžinamas iš talpyklos ir jei talpykloje nėra vertės.

„Google“ paskelbė išnaudojimo prototipą, kad parodytų atakų įgyvendinamumą naudojant „Spectre“ klasės pažeidžiamumus ir skatinti interneto kūrėjus naudoti metodus, kurie sumažintų tokių išpuolių riziką.

Tuo pačiu metu „Google“ mano, kad be reikšmingos siūlomo prototipo peržiūros neįmanoma sukurti universalių išnaudojimų, kurie būtų paruošti ne tik demonstravimui, bet ir plačiam naudojimui.

Fuente: https://security.googleblog.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ą.