SWAPGS novu spekulativnu ranjivost

SWAPGS-eksploatacija-2

u Istraživači Bitdefendera identificirali su novu ranjivost u mehanizmu za spekulativno izvršavanje naredbi u modernim procesorima, koji su dobili ime SWAPGS, Odgovara imenu naredbe procesora koja uzrokuje problem.

Ranjivost omogućava neprivilegiranom napadaču da odredi sadržaj područja memorije jezgre ili pokretanje virtualnih mašina. Problem je potvrđen na Intelovim procesorima (x86_64) i djelomično utječe na AMD procesore kod kojih se primarni vektor napada ne pojavljuje.

Prethodno implementirane Spectre i Meltdown metode protiv ranjivosti ne štite od SWAPGS napada koristeći Intel procesore, ali rješenja za Linux, ChromeOS, Android i Windows već su predložena.

Ranjivost pripada klasi Spectre v1 a zasnovan je na ideji dohvaćanja podataka iz predmemorije procesora koji ostaju nakon spekulativnog izvršavanja uputstava.

Blokovi predviđanja pretvorbe modernih CPU-a koriste proaktivno izvršavanje nekih naredbi, za koje je vjerojatnije da će se izvršiti, za poboljšanje performansi, ali bez čekanja na izračun svih čimbenika koji određuju njihovo izvršavanje (na primjer, kada uslovi prijelaza uputa ili parametri pristupa još nisu izračunati).

Ako prognoza nije potvrđena, procesor odbacuje rezultat spekulativnog izvođenja, ali podatke obrađene tijekom izvođenja procesor kešira i može ih vratiti metodama za određivanje sadržaja predmemorije na svim kanalima. Treće strane koje analiziraju promjena vremena pristupa predmemoriranim i nespremljenim podacima.

O SWAPGS-u

Posebnost novog napada je upotreba curenja koja se javlja tijekom spekulativnog izvršavanja SWAPGS instrukcije, koja se koristi u operativnim sistemima za zamjenu vrijednosti GS registra kada se kontrola prenosi iz korisničkog prostora u jezgro operativnog sistema (GS vrijednost koja se koristi u korisničkom prostoru zamjenjuje se vrijednošću koja se koristi u operacijama jezgre).

Linux kernel u GS pohranjuje pokazivač per_cpu, koji se koristi za pristup podacima jezgre, i ukazuje na TLS (Thread Local Storage) u korisničkom prostoru.

Da bi se isključio dvostruki poziv SWAPGS instrukcije nakon ponovljenog pristupa jezgri iz prostora jezgre ili prilikom izvođenja koda koji ne zahtijeva zamjenu GS registra, provjera i uvjetni prijelaz se izvode prije naredbe.

Mehanizam špekulativnog izvršavanja prethodi izvođenju koda sa SWAPGS naredbom, bez čekanja na rezultat provjere, a ako odabrana grana nije potvrđena, odbacite rezultat.

Zbog toga, može doći do situacije kada je grana koja specificira izvršavanje SWAPGS-a spekulativno odabrana, ali tijekom spekulativnog izvršavanja vrijednost GS registra promijenit će se SWAPGS naredbom i koristit će se u operacijama koje ovise o memoriji i koje predmemorira CPU.

Istraživači su predložili dva scenarija napada za koji su pripremljeni eksploatacijski prototipovi.

  • Prvi se scenarij temelji na situaciji kada se SWAPGS naredba ne izvršava špekulativno, iako se koristi u stvarnom izvršavanju, a drugi je scenarij suprotan, kada se SWAPGS naredba izvršava špekulativno, mada to stvarno ne bi trebalo.
  • Za svaki scenarij postoje dvije operativne opcije: napadač može odrediti vrijednost na određenoj adresi u području jezgre, a napadač može tražiti određenu vrijednost na slučajnim adresama u jezgri.

Rješenje zahtijeva instalaciju ažuriranja kernela i na hostovnom i na gostujućem okruženju, nakon čega slijedi ponovno podizanje sistema. Da biste onemogućili zaštitu u Linuxu, možete koristiti opciju "nospectre_v1", koja također onemogućava mjere za blokiranje SWAPGS ranjivosti.

Rješenje je dostupno kao zakrpa za Linux kernel, koji je već uključen u verzije 4.19.65, 5.2.7, 4.14.137, 4.9.188 i 4.4.188, dok će za različite distribucije Linuxa odgovarajuće ispravke stići tokom razdoblja ove i naredne sedmice.


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.