Spook.js, nová metóda na využitie zraniteľností Spectre v prehliadači Chrome

Skupina výskumníkov Informovali o tom americké, austrálske a izraelské univerzity popísal novú techniku ​​útoku čo umožňuje využiť zraniteľné miesta Trieda spektra v prehliadačoch poháňaných Chromom.

Útok s kódovým označením Spook.js, umožňuje pri vykonávaní kódu JavaScript obísť mechanizmus izolácie stránok a prečítajte si obsah celého adresného priestoru aktuálneho procesu, to znamená prístup k údajom stránok, ktoré sú vykonávané na iných kartách, ale ktoré sú spracovávané rovnakým procesom.

Pretože Chrome spúšťa rôzne weby v rôznych procesoch, praktické útoky sú obmedzené na služby, ktoré umožňujú hostovať ich stránky rôznym používateľom. Útočná metóda Spook.js umožňuje stránku, na ktorej môže útočník vložiť svoj kód JavaScript, určiť prítomnosť ďalších stránok otvorených používateľom toho istého webu a extrahovať dôverné informácie z nich napríklad poverenia alebo bankové údaje nahradené systémom automatického dopĺňania vo webových formulároch.

Ďalšou aplikáciou metódy je útok na doplnky prehliadača, čo umožňuje pri inštalácii doplnku ovládaného útočníkom extrahovať údaje z iných doplnkov.

Spook.js je použiteľný pre akýkoľvek prehliadač založený na motore Chromium, vrátane Google Chrome, Microsoft Edge a Brave. Vedci sa tiež domnievajú, že túto metódu je možné prispôsobiť tak, aby fungovala s prehliadačom Firefox, ale keďže engine Firefox je veľmi odlišný od prehliadača Chrome, práca na vytvorení takéhoto exploitu je ponechaná na budúcnosť.

Na ochranu pred útokmi súvisiacimi so špekulatívnym vykonávaním pokynov prostredníctvom prehliadača je v prehliadači Chrome implementovaná segmentácia adresného priestoru: izolácia izolovaného priestoru umožňuje JavaScriptu pracovať iba s 32-bitovými ukazovateľmi a zdieľa pamäť radiča v neprekrývajúcich sa 4 GB zásobníkoch.

Na organizáciu prístupu do celého adresného priestoru procesu a zabránenie 32-bitovému obmedzeniu použili vedci techniku ​​zmätenia typov, ktorá umožňuje stroju JavaScript spracovať objekt s nesprávnym typom, čo umožňuje vytvoriť 64-bitový kód založený na kombinácii dvoch 32-bitových hodnôt.

Podstata útoku spočíva v tom, že spracovaním špeciálne vytvoreného škodlivého objektu v motore JavaScript sa vytvoria podmienky, ktoré vedú k špekulatívnemu vykonávaniu pokynov, ktoré pristupujú k poľu. Objekt je vybraný tak, že polia riadené útočníkmi sú umiestnené v oblasti, kde sa používa 64-bitový ukazovateľ.

Pretože typ škodlivého objektu nezodpovedá typu spracúvaného poľa, za normálnych podmienok sú tieto akcie v prehliadači Chrome blokované mechanizmom deoptimalizácie kódu použitého na prístup k poliam. Na vyriešenie tohto problému je útočný kód Type Confusion umiestnený v podmienečnom bloku „ak“, ktorý sa za normálnych podmienok neaktivuje, ale beží v špekulatívnom režime, ak procesor nesprávne predpovedá viac pobočiek.

Výsledkom je, že procesor špekulatívne pristupuje k vygenerovanému 64-bitovému ukazovateľu a po určení neúspešnej predikcie vráti stav, ale stopy po spustení sú nastavené na zdieľanú vyrovnávaciu pamäť a je možné ich obnoviť pomocou metód na určenie obsahu vyrovnávacej pamäte prostredníctvom tretieho párty kanály, analyzujúce zmenu prístupového času k údajom vo vyrovnávacej pamäti a vo vyrovnávacej pamäti.

Na analýzu obsahu vyrovnávacej pamäte v podmienkach nedostatočnej presnosti časovača, ktorý je k dispozícii v JavaScripte, sa používa metóda navrhnutá spoločnosťou Google, ktorá trikuje stratégiu vyhadzovania údajov z pamäte cache stromu-PLRU používanú v procesoroch a umožňuje zvýšením počtu cyklov výrazne zvýšiť časový rozdiel v prítomnosti a neprítomnosti hodnoty v pamäti cache.

Vedci zverejnili prototyp exploitu, ktorý funguje v Chrome 89 en systémy s procesormi Intel i7-6700K a i7-7600U. Exploit bol vytvorený pomocou prototypov kódu JavaScript, ktorý predtým publikoval Google, na vykonávanie útokov Spectre.

Nakoniec to vedci spomenú podarilo pripraviť pracovné exploity pre systémy založené na procesoroch Intel a Apple M1, ktoré dostávajú príležitosť organizovať čítanie pamäte rýchlosťou 500 bajtov za sekundu a presnosťou 96%. Metóda by mala byť použiteľná pre procesory AMD, ale nebolo možné pripraviť plne funkčný exploit.

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