Grupa od istraživači sa Univerziteta za tehnologiju u Grazu u Austriji i Helmholtz-ov centar za informacionu sigurnost (CISPA), su identificirali novi vektor napada Foreshadow (L1TF), koji vam omogućava izdvajanje podataka iz memorije enklava Intel SGX, SMM-ova, područja memorije jezgra operativnog sistema i virtualnih mašina u sistemima za virtualizaciju.
Za razliku od originalnog napada Foreshadow, Nova varijanta nije specifična za Intelove procesore i utječe na nju CPU drugih proizvođača kao što su ARM, IBM i AMD. Nadalje, nova opcija ne zahtijeva visoke performanse, a napad se može izvesti čak i pokretanjem JavaScript-a i WebAssembly-a u web pregledniku.
Foreshadow iskorištava činjenicu da se memoriji pristupa na virtualnoj adresi, što dovodi do iznimke (neuspjeh stranice terminala), procesor špekulativno izračunava fizičku adresu i učitava podatke ako je u predmemoriji L1.
Špekulativni pristup se vrši prije nego što se iteracija završi tablice memorijske stranice i bez obzira na stanje unosa tablice memorijske stranice (PTE), odnosno prije provjere jesu li podaci u fizičkoj memoriji i jesu li čitljivi.
Nakon završetka provjere dostupnosti memorije, u nedostatku indikatora prisutnog u PTE, operacija se odbacuje, ali podaci se keširaju i mogu se preuzeti koristeći metode za određivanje sadržaja predmemorije putem bočnih kanala (analizom promjena u vremenu pristupa predmemoriranim i ne-predmemoriranim podacima).
Istraživači su pokazali Que postojeće metode zaštite od Foreshadowa su neučinkovite a provode se s netačnom interpretacijom problema.
Ranjivost Foreshadow može se iskoristiti bez obzira na upotrebu zaštitnih mehanizama u jezgri koji su se prethodno smatrali dovoljnim.
Kao rezultat, Istraživači su pokazali mogućnost izvođenja napada Foreshadow na sisteme s relativno starim jezgrima, u kojem su omogućeni svi dostupni načini zaštite od Foreshadow-a, kao i kod novijih jezgri, u kojima je onemogućena samo zaštita Spectre-v2 (koristeći opciju nospectre_v2 Linux kernel).
Utvrđeno je da efekt prefetch-a nije povezan sa uputama za unaprijed dohvaćanje softvera ili efektom hardverskog prefetch-a tokom pristupa memoriji, već proizlazi iz špekulativnog preusmjeravanja registara korisničkog prostora u kernel.
Ova pogrešna interpretacija uzroka ranjivosti u početku je dovela do pretpostavke da se curenje podataka u Foreshadowu može dogoditi samo kroz L1 predmemoriju, dok je u jezgri prisutnost određenih isječaka koda (uređaja za prethodno dohvaćanje) može doprinijeti curenju podataka iz L1 predmemorije, na primjer u L3 predmemoriji.
Otkrivena karakteristika takođe otvara mogućnosti za stvaranje novih napada. namijenjen prevođenju virtualnih adresa u fizičke adrese u okruženjima sa zaštićenim okruženjem i određivanju adresa i podataka pohranjenih u CPU registre.
Kao demonstracije, pokazali su istraživači sposobnost korištenja otkrivenog efekta za izvlačenje podataka iz jednog procesa u drugi protokom od približno 10 bita u sekundi na sistemu sa procesorom Intel Core i7-6500U.
Takođe je prikazana mogućnost filtriranja sadržaja zapisa iz enklave Intel SGX (trebalo je 15 minuta da se odredi 32-bitna vrijednost zapisana u 64-bitni registar).
Da blokira napad Foreshadowa putem L3 predmemorije, metoda zaštite Spectre-BTB (Područni ciljni međuspremnik) implementiran u retpoline set zakrpa je efikasan.
Zbog toga, istraživači smatraju da je neophodno da retpoline ostane omogućen čak i na sistemima s novijim CPU-ima, koji već imaju zaštitu od poznatih ranjivosti u spekulativnom mehanizmu izvršavanja CPU-ovih instrukcija.
Sa druge strane, Predstavnici Intela rekli su da ne planiraju dodavati dodatne mjere zaštite protiv Foreshadowa procesorima i smatraju dovoljnim da omogući zaštitu od Spectre V2 i L1TF (Foreshadow) napada.
Izvor: https://arxiv.org