Google demonštruje zneužitie zraniteľností Spectra pomocou JavaScriptu v prehliadači

Google predstavený pred niekoľkými dňami rôzne prototypy využitia ktoré demonštrujú možnosť zneužitia zraniteľnosti triedy Spectre pri vykonávaní kódu JavaScript v prehliadači, bez použitia vyššie uvedených bezpečnostných metód.

Exploity možno použiť na získanie prístupu do pamäte procesu ktorá spracováva webový obsah na aktuálnej karte. Na otestovanie fungovania exploitu bola spustená webová stránka s netesnou stránkou a kód popisujúci logiku operácie je zverejnený na GitHub.

Navrhovaný prototyp je navrhnutý tak, aby: útočné systémy s Procesory Intel Core i7-6500U v prostredí Linux a Chrome 88, aj keď to nevylučuje, že je možné vykonať zmeny, aby sa využitie využilo v iných prostrediach.

Spôsob činnosti nie je konkrétny pre spracovatelia Intel: po správnej adaptácii, Bolo dokázané, že exploit funguje na systémoch s procesormi tretích strán, vrátane Apple M1 založenej na architektúre ARM. Po menších vylepšeniach exploit funguje aj na iných operačných systémoch a iných prehľadávačoch založených na engine Chromium.

V prostredí založenom na štandardných procesoroch Chrome 88 a Intel Skylake sme dosiahli únik údajov z procesu zodpovedného za vykreslenie webového obsahu na aktuálnej karte Chrome (proces vykresľovania) rýchlosťou 1 kilobajt za sekundu. Ďalej boli vyvinuté alternatívne prototypy, napríklad exploit, ktorý umožňuje za cenu zníženej stability zvýšiť mieru úniku na 8kB / s pri použití performance.now () časovač s presnosťou na 5 mikrosekúnd (0.005 milisekundy) ). Bol tiež vyvinutý variant, ktorý pracoval s presnosťou časovača na jednu milisekundu, ktorú bolo možné použiť na usporiadanie prístupu do pamäte iného procesu rýchlosťou asi 60 bajtov za sekundu.

Publikovaný demo kód sa skladá z troch častí:

  • O prvej časti kalibrujte časovač na odhad doby chodu operácií potrebných na získanie údajov, ktoré zostávajú v medzipamäti procesora v dôsledku špekulatívneho vykonania pokynov CPU.
  • O druhej časti Definuje rozloženie pamäte použité pri prideľovaní poľa JavaScriptu.
  • O tretej časti priamo využíva zraniteľnosť Spectra na určovanie obsahu pamäte súčasného procesu v dôsledku vytvorenia podmienok pre špekulatívne vykonávanie určitých operácií, ktorých výsledok procesor po stanovení zlyhanej prognózy zahodí, ale stopy vykonania sa usadia v zdieľanej medzipamäti a dajú sa obnoviť pomocou metódy na určenie obsahu medzipamäte pomocou kanálov tretích strán, ktoré analyzujú zmenu času prístupu k údajom v medzipamäti a bez nich.

Navrhovaná technika využívania eliminuje veľmi presné časovače dostupné prostredníctvom API performance.now () a bez podpory pre typ SharedArrayBuffer, ktorý umožňuje vytvárať polia v zdieľanej pamäti.

Toto zneužitie zahŕňa zariadenie Spectre, ktoré spôsobuje riadené špekulatívne vykonávanie kódu, a analyzátor úniku bočného kanála, ktorý určuje, aké údaje boli do pamäte cache pri špekulatívnom vykonávaní.

Modul gadget sa implementuje pomocou poľa JavaScript, v ktorom dôjde k pokusu o prístup do oblasti mimo hraníc nárazníka, ktorý ovplyvňuje stav bloku predikcie vetvy v dôsledku prítomnosti kontroly veľkosti vyrovnávacej pamäte pridanej kompilátorom (procesor špekulatívne vykoná prístup vopred, ale po kontrole stav vráti späť).

Na analýzu obsahu medzipamäte za podmienok nedostatočnej presnosti časovača bola navrhnutá metóda, ktorá podvedie stratégiu vysťahovania údajov z pamäti Tree-PLRU použitú v procesoroch a umožní zvýšením počtu cyklov výrazne zvýšiť čas rozdielu, keď hodnota sa vráti z medzipamäte a pri absencii hodnoty v medzipamäti.

Google zverejnil prototyp zneužitia, aby ukázal uskutočniteľnosť útokov pomocou zraniteľností triedy Spectre a nabádajte vývojárov webu, aby používali techniky, ktoré minimalizujú riziká takýchto útokov.

Spoločnosť Google sa zároveň domnieva, že bez významnej revízie navrhovaného prototypu nie je možné vytvoriť univerzálne využitie, ktoré by bolo pripravené nielen na demonštráciu, ale aj na široké použitie.

Fuente: https://security.googleblog.com


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.