Spook.js, nová technika, jak využít slabiny Spectre v Chromu

Skupina výzkumníků z amerických, australských a izraelských univerzit to uvedlo popsal novou techniku ​​útoku což umožňuje zneužít zranitelnosti Třída Spectre v prohlížečích poháněných Chromiem.

Útok s kódovým označením Spook.js, umožňuje při provádění kódu JavaScript obejít mechanismus izolace webu a čtení obsahu celého adresního prostoru aktuálního procesu, to znamená přístup k datům stránek, které jsou prováděny na jiných kartách, ale které jsou zpracovávány stejným procesem.

Protože Chrome spouští různé weby v různých procesech, praktické útoky jsou omezeny na služby, které umožňují hostování jejich stránek různým uživatelům. Útočná metoda Spook.js umožňuje stránku, do které může útočník vložit svůj kód JavaScript, určit přítomnost dalších stránek otevřených uživatelem stejného webu a extrahovat důvěrné informace z nich například přihlašovací údaje nebo bankovní údaje nahrazené systémem automatického doplňování ve webových formulářích.

Další aplikací metody je útok na doplňky prohlížeče, což umožňuje, když je nainstalován modul plug-in ovládaný útočníkem, extrahovat data z jiných modulů plug-in.

Spook.js je použitelný pro jakýkoli prohlížeč založený na enginu Chromium, včetně Google Chrome, Microsoft Edge a Brave. Vědci se také domnívají, že tuto metodu lze přizpůsobit tak, aby fungovala s Firefoxem, ale jelikož je motor Firefoxu velmi odlišný od prohlížeče Chrome, práce na vytvoření takového exploitu je ponechána na budoucnosti.

Aby byla chráněna před útoky souvisejícími se spekulativním prováděním instrukcí prostřednictvím prohlížeče, je v Chromu implementována segmentace adresního prostoru: izolace sandboxu umožňuje JavaScriptu pracovat pouze s 32bitovými ukazateli a sdílí paměť řadiče v nepřekrývajících se 4GB zásobnících.

Aby organizovali přístup do celého adresního prostoru procesu a vyhnuli se 32bitovému omezení, použili vědci techniku ​​záměny typů, která umožňuje modulu JavaScript zpracovat objekt se špatným typem, což umožňuje vytvořit 64bitový kód založený na kombinaci dvou 32bitových hodnot.

Podstata útoku spočívá v tom, že zpracováním speciálně vytvořeného škodlivého objektu v enginu JavaScript jsou vytvořeny podmínky, které vedou ke spekulativnímu provádění pokynů, které přistupují k poli. Objekt je vybrán tak, že pole ovládaná útočníky jsou umístěna v oblasti, kde je použit 64bitový ukazatel.

Protože typ škodlivého objektu neodpovídá typu zpracovávaného pole, jsou za normálních podmínek takové akce v prohlížeči Chrome blokovány mechanismem deoptimizace kódu použitého pro přístup k maticím. K vyřešení tohoto problému je kód útoku typu Confusion umístěn do podmíněného bloku „if“, který se za normálních podmínek neaktivuje, ale běží ve spekulativním režimu, pokud procesor nesprávně předpovídá více větví.

Výsledkem je, že procesor spekulativně přistupuje k vygenerovanému 64bitovému ukazateli a vrací stav po určení neúspěšné predikce, ale stopy provádění jsou nastaveny ve sdílené mezipaměti a lze je obnovit pomocí metod k určení obsahu mezipaměti prostřednictvím třetího párty kanály, analyzující změnu přístupového času k datům uloženým v mezipaměti a bez mezipaměti.

K analýze obsahu mezipaměti v podmínkách nedostatečné přesnosti časovače dostupného v JavaScriptu se používá metoda navržená společností Google, která trikuje strategii vystěhování dat mezipaměti Tree-PLRU používanou v procesorech a umožňuje zvýšením počtu cyklů výrazně zvýšit časový rozdíl v přítomnosti a nepřítomnosti hodnoty v mezipaměti.

Vědci vydali prototyp exploitu, který funguje v prohlížeči Chrome 89 en systémy s procesory Intel i7-6700K a i7-7600U. Exploit byl vytvořen pomocí prototypů kódu JavaScript dříve publikovaných společností Google k provádění útoků Spectre.

Nakonec to vědci zmiňují podařilo připravit pracovní exploity pro systémy založené na procesorech Intel a Apple M1, které dostávají možnost organizovat čtení paměti rychlostí 500 bajtů za sekundu a přesností 96%. Metoda má být použitelná pro procesory AMD, ale nebylo možné připravit plně funkční exploit.

zdroj: https://www.spookjs.com


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.