Google demonstruje zneužití zranitelností Spectru pomocí JavaScriptu v prohlížeči

Google představen před několika dny různé zneužít prototypy které prokazují možnost zneužití slabých míst třídy Spectre při provádění kódu JavaScript v prohlížeči, aniž byste procházeli výše uvedenými způsoby zabezpečení.

Exploity lze použít k přístupu do paměti procesu který zpracovává webový obsah na aktuální kartě. Abychom otestovali provoz exploitu, byl spuštěn web pro děravou stránku a kód popisující logiku operace je zveřejněn na GitHubu.

Navrhovaný prototyp je navržen tak, aby útočné systémy s Procesory Intel Core i7-6500U v prostředí Linux a Chrome 88, i když to nevylučuje, že lze provést změny, aby bylo možné využít exploit v jiných prostředích.

Způsob provozu není specifický pro procesory Intel: po správné adaptaci, Bylo potvrzeno, že exploit funguje na systémech s CPU třetích stran, včetně Apple M1 založeného na architektuře ARM. Po drobných vylepšeních funguje exploit také na jiných operačních systémech a jiných prohlížečích založených na motoru Chromium.

V prostředí založeném na standardních procesorech Chrome 88 a Intel Skylake jsme dosáhli úniku dat z procesu odpovědného za vykreslování webového obsahu na aktuální kartě Chrome (proces vykreslování) rychlostí 1 kilobajt za sekundu. Kromě toho byly vyvinuty alternativní prototypy, například exploit, který umožňuje za cenu snížené stability zvýšit míru úniku na 8kB / s při použití performance.now () časovač s přesností na 5 mikrosekund (0.005 milisekundy) ). Byla také připravena varianta, která fungovala s přesností časovače na jednu milisekundu, kterou bylo možné použít k uspořádání přístupu do paměti jiného procesu rychlostí asi 60 bajtů za sekundu.

Publikovaný demo kód se skládá ze tří částí:

  • První část kalibrujte časovač pro odhad doby chodu operací potřebných k načtení dat, která zůstávají v mezipaměti procesoru v důsledku spekulativního provádění pokynů CPU.
  • Druhá část Definuje rozložení paměti použité při přidělování pole JavaScriptu.
  • Třetí část přímo využívá chybu zabezpečení Spectre k určení obsahu paměti aktuálního procesu v důsledku vytvoření podmínek pro spekulativní provedení určitých operací, jejichž výsledek procesor po stanovení neúspěšné prognózy zahodí, ale stopy po provedení se usadí ve sdílené mezipaměti a lze je obnovit pomocí metody k určení obsahu mezipaměti pomocí kanálů třetích stran, které analyzují změnu doby přístupu k datům v mezipaměti a v mezipaměti.

Navrhovaná technika využití eliminuje vysoce přesné časovače dostupné prostřednictvím API performance.now () a bez podpory pro typ SharedArrayBuffer, který umožňuje vytvářet pole ve sdílené paměti.

Využití zahrnuje zařízení Spectre, které způsobuje řízené spekulativní provádění kódu, a analyzátor úniku postranního kanálu, který určuje, která data byla uložena do mezipaměti během spekulativního spuštění.

Gadget je implementován pomocí pole JavaScriptu, ve kterém dojde k pokusu o přístup do oblasti mimo limity vyrovnávací paměti, který ovlivňuje stav bloku predikce větve kvůli přítomnosti kontroly velikosti vyrovnávací paměti přidané kompilátorem (procesor spekulativně provede přístup předem, ale po kontrole stav vrátí zpět).

Aby bylo možné analyzovat obsah mezipaměti za podmínek nedostatečné přesnosti časovače, byla navržena metoda, která podvádí strategii vyřazování dat z mezipaměti Tree-PLRU používanou v procesorech a umožňuje zvyšováním počtu cyklů významně zvýšit dobu rozdílu, kdy hodnota je vrácen z mezipaměti a při absenci hodnoty v mezipaměti.

Google zveřejnil prototyp zneužití, aby ukázal proveditelnost útoků pomocí zranitelností třídy Spectre a povzbuzovat webové vývojáře, aby používali techniky, které minimalizují rizika takových útoků.

Google se zároveň domnívá, že bez významné revize navrhovaného prototypu je nemožné vytvořit univerzální exploity, které jsou připraveny nejen k předvádění, ale také k širokému použití.

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