Nova varijanta napada Foreshadow koja utječe na procesore Intel, AMD, ARM i IBM

Grupa istraživača s Tehničkog sveučilišta u Grazu (Austrija) i Helmholtz centra za informacijsku sigurnost (CISPA), otkriveno (PDF) novi vektor za korištenje napada s bočnih kanala Nagovijestiti (L1TF), koji vam omogućuje izdvajanje podataka iz memorije Intel SGX enklava, SMM (System Management Mode), memorijskih područja OS kernela i virtualnih strojeva u virtualizacijskim sustavima. Za razliku od prvobitnog napada predloženog 2018 Nagovijestiti Nova varijanta nije specifična za Intelove procesore i utječe na CPU drugih proizvođača kao što su ARM, IBM i AMD. Osim toga, nova varijanta ne zahtijeva visoke performanse, a napad se može izvesti čak i pokretanjem JavaScripta i WebAssemblyja u web pregledniku.

Foreshadow napad iskorištava činjenicu da kada se pristupi memoriji na virtualnoj adresi koja rezultira iznimkom (greška stranice terminala), procesor spekulativno izračunava fizičku adresu i učitava podatke ako su dostupni u L1 predmemoriju. Spekulativni pristup izvodi se prije dovršetka pretraživanja tablice memorijskih stranica i bez obzira na stanje unosa tablice memorijskih stranica (PTE), tj. prije provjere prisutnosti podataka u fizičkoj memoriji i njihove čitljivosti. Nakon što je provjera dostupnosti memorije dovršena, u nedostatku zastavice Present u PTE-u, operacija se odbacuje, ali podaci ostaju u predmemoriji i mogu se dohvatiti pomoću metoda za određivanje sadržaja predmemorije kroz sporedne kanale (analizom promjena u vremenu pristupa na predmemorirane i nekeširane podatke).

Istraživači su pokazali da su postojeće metode zaštite od Foreshadowa neučinkovite i da se provode s netočnim tumačenjem problema. Ranjivost
Foreshadow se može iskoristiti bez obzira na sigurnosne mehanizme kernela koji su se prije smatrali dovoljnima. Kao rezultat toga, istraživači su pokazali mogućnost izvođenja Foreshadow napada na sustave s relativno starim kernelima, u kojima su omogućeni svi dostupni načini zaštite Foreshadow, kao i s novim kernelima, u kojima je onemogućena samo Spectre-v2 zaštita (koristeći opcija Linux jezgre nospectre_v2).

Utvrđeno je da učinak predopterećenja nije povezano s uputama prethodnog dohvaćanja softvera ili učinkom hardvera
prefetch tijekom pristupa memoriji, ali se događa kada se spekulativna dereferencija korisničkog prostora registrira u kernelu. Ovo pogrešno tumačenje uzroka ranjivosti u početku je dovelo do pretpostavke da se curenje podataka u Foreshadowu može dogoditi samo kroz L1 predmemoriju, dok bi prisutnost određenih isječaka koda (prethodno dohvaćanje gadgeta) u kernelu mogla pridonijeti curenju podataka izvan L1 predmemorije, na primjer, u L3 predmemoriju.

Identificirana značajka također otvara mogućnost kreiranja novih napada usmjerenih na procese prevođenja virtualnih adresa u fizičke u izoliranim okruženjima te određivanje adresa i podataka pohranjenih u CPU registrima. Kao demonstraciju, istraživači su pokazali mogućnost korištenja identificiranog učinka za izvlačenje podataka iz jednog procesa u drugi s performansama od oko 10 bita u sekundi na sustavu s procesorom Intel Core i7-6500U. Također je prikazana mogućnost curenja sadržaja registra iz Intel SGX enklave (trebalo je 32 minuta da se odredi 64-bitna vrijednost upisana u 15-bitni registar). Pokazalo se da je neke vrste napada moguće implementirati u JavaScript i WebAssembly, na primjer, bilo je moguće odrediti fizičku adresu JavaScript varijable i ispuniti 64-bitne registre vrijednošću koju kontrolira napadač.

Za blokiranje Foreshadow napada kroz L3 predmemoriju učinkovita je metoda zaštite Spectre-BTB (Branch Target Buffer) implementirana u skupu zakrpa retpoline. Stoga istraživači vjeruju da je potrebno ostaviti retpoline omogućen čak i na sustavima s novim CPU-ima koji već imaju zaštitu od poznatih ranjivosti u mehanizmu spekulativnog izvršavanja CPU-a. Istodobno, predstavnici Intela izjavili su da ne planiraju dodavati dodatne mjere zaštite od Foreshadowa procesorima i smatraju dovoljnim uključivanje zaštite od Spectre V2 i L1TF (Foreshadow) napada.

Izvor: opennet.ru

Dodajte komentar