Spook.js, nova tehnika za iskorištavanje Spectreovih ranjivosti u Chromeu

Grupa istraživača sa američkih, australijskih i izraelskih univerziteta opisao novu tehniku ​​napada što omogućava iskorištavanje ranjivosti Klasa savršenstva na preglednicima koji pokreću Chromium.

Napad pod kodnim imenom Spook.js, omogućava prilikom izvršavanja JavaScript koda zaobići mehanizam izolacije web lokacije i čitanje sadržaja čitavog adresnog prostora trenutnog procesa, odnosno pristup podacima stranica koje se izvršavaju na drugim karticama, ali se obrađuju u istom procesu.

Budući da Chrome pokreće različite web lokacije u različitim procesima, praktični napadi ograničeni su na usluge koje dopuštaju različitim korisnicima da ugoste njihove stranice. Metoda napada Spook.js omogućava sa stranice u koju napadač može ugraditi svoj JavaScript kod, utvrditi prisutnost drugih stranica koje je otvorio korisnik iste web stranice i izvući povjerljive podatke od njih, na primjer, vjerodajnice ili bankovni podaci zamijenjeni sistemom za automatsko dovršavanje u web obrascima.

Druga primjena metode je napad na dodatke za preglednike, koji omogućava, kada je instaliran dodatak kojim upravlja napadač, da izdvoji podatke iz drugih dodataka.

Spook.js je primjenjiv na bilo koji preglednik zasnovan na Chromium motoru, uključujući Google Chrome, Microsoft Edge i Brave. Istraživači također vjeruju da se metoda može prilagoditi radu s Firefoxom, ali budući da se Firefoxov mehanizam jako razlikuje od Chromea, rad na stvaranju takvog iskorištavanja prepušten je budućnosti.

Za zaštitu od napada povezanih sa spekulativnim izvršavanjem instrukcija putem preglednika, segmentacija adresnog prostora implementirana je u Chromeu: izolacija sandbox-a omogućava JavaScript-u da radi samo s 32-bitnim pokazivačima i dijeli memoriju kontrolera u nepreklapajućim hrpama od 4 GB.

Kako bi organizirali pristup cijelom adresnom prostoru procesa i izbjegli 32-bitna ograničenja, istraživači su koristili tehniku ​​zabune tipa, koja omogućava JavaScript motoru da obradi objekt pogrešnog tipa, omogućavajući formiranje 64-bitnog kod zasnovan na kombinaciji dvije 32-bitne vrijednosti.

Suština napada je u tome što se obradom posebno izrađenog zlonamjernog objekta u JavaScript stroju stvaraju uvjeti koji dovode do spekulativnog izvršavanja uputa koje pristupaju nizu. Objekt je odabran na način da se polja koja kontroliraju napadači postavljaju u područje gdje se koristi 64-bitni pokazivač.

Budući da vrsta zlonamjernog objekta ne odgovara vrsti niza koji se obrađuje, u normalnim uvjetima takve radnje su blokirane u Chromeu pomoću mehanizma dezoptimizacije koda koji se koristi za pristup nizovima. Da bi se riješio ovaj problem, kod tipa Confusion napada smješten je u uvjetni blok "if", koji se ne pokreće u normalnim uvjetima, ali radi u spekulativnom načinu, ako procesor pogrešno predvidi više grana.

Kao rezultat toga, procesor spekulativno pristupa generiranom 64-bitnom pokazivaču i vraća stanje nakon utvrđivanja neuspješnog predviđanja, ali se tragovi izvršavanja postavljaju u dijeljenoj predmemoriji i mogu se vratiti pomoću metoda za određivanje sadržaja predmemorije kroz treći- stranačkih kanala, analizirajući promjenu vremena pristupa keširanim i nekéširanim podacima.

Za analizu sadržaja predmemorije u uvjetima nedovoljne preciznosti mjerača vremena dostupnog u JavaScriptu, koristi se metoda koju je predložio Google koja vara strategiju izbacivanja podataka iz predmemorije Tree-PLRU koja se koristi u procesorima i omogućava, povećavajući broj ciklusa, značajno povećati vremensku razliku u prisutnosti i odsutnosti vrijednosti u predmemoriji.

Istraživači su objavili prototip eksploatacije koji radi u Chromeu 89 en sistemi sa Intel i7-6700K i i7-7600U. Eksploatacija je nastala korištenjem prototipova JavaScript koda koji je prethodno objavio Google za izvođenje Spectre napada.

Konačno, istraživači to spominju uspio je pripremiti radne podvige za sisteme zasnovane na procesorima Intel i Apple M1, koji imaju mogućnost organiziranja čitanja memorije brzinom od 500 bajtova u sekundi i točnošću od 96%. Metoda bi trebala biti primjenjiva na AMD procesorima, ali nije bilo moguće pripremiti potpuno funkcionalan exploit.

Izvor: https://www.spookjs.com


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.