Skupina istraživači sa Sveučilišta u Grazu u Austriji i Helmholtz-ov centar za informacijsku sigurnost (CISPA), su identificirali novi vektor napada Foreshadow (L1TF), koji vam omogućuje izdvajanje podataka iz memorije enklava Intel SGX, SMM-ova, područja memorije jezgre operacijskog sustava i virtualnih strojeva u sustavima za virtualizaciju.
Za razliku od izvornog napada Foreshadow, Nova varijanta nije specifična za Intelove procesore i utječe na nju CPU drugih proizvođača poput ARM, IBM i AMD. Nadalje, nova opcija ne zahtijeva visoke performanse, a napad se može izvesti čak i pokretanjem JavaScripta i WebAssemblya 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 vrši se prije nego što je iteracija završena tablice memorijske stranice i bez obzira na status unosa tablice memorijske stranice (PTE), odnosno prije provjere jesu li podaci u fizičkoj memoriji i čitljivi.
Nakon završetka provjere dostupnosti memorije, u nedostatku pokazatelja prisutnog u PTE, operacija se odbacuje, ali podaci se predmemoriraju i mogu se doći pomoću metoda za određivanje sadržaja predmemorije kroz bočne kanale (analizom promjena u vremenu pristupa predmemoriranim i nespremljenim podacima).
Istraživači su pokazali ovo postojeće metode zaštite od Foreshadowa su neučinkovite a provode se s netočnom interpretacijom problema.
Ranjivost Foreshadowa može se iskoristiti bez obzira na upotrebu zaštitnih mehanizama u jezgri koje su se prije smatrale dovoljnima.
Kao rezultat toga, Istraživači su pokazali mogućnost izvođenja napada Foreshadow na sustave s relativno starim jezgrama, u kojem su omogućeni svi dostupni načini zaštite Foreshadow, kao i kod novijih jezgri, u kojima je onemogućena samo zaštita Spectre-v2 (pomoću opcije Linux kernel nospectre_v2).
Utvrđeno je da efekt prefetch-a nije povezan sa uputama za unaprijed dohvaćanje softvera ili hardverskim efektom pre-dohvaćanja tijekom pristupa memoriji, već proizlazi iz špekulativnog preusmjeravanja registara korisničkog prostora u jezgra.
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 prisutnost određenih isječaka koda (uređaji za prethodno dohvaćanje) u jezgri može doprinijeti istjecanju podataka iz L1 predmemorije, na primjer u L3 predmemoriji.
Otkrivena značajka također otvara mogućnosti za stvaranje novih napada. namijenjen prevođenju virtualnih adresa u fizičke adrese u okruženjima s izdvojenim okruženjem i određivanju adresa i podataka pohranjenih u CPU registre.
Kao demonstracije, pokazali su istraživači sposobnost korištenja otkrivenog učinka za izdvajanje podataka iz jednog procesa u drugi s protokom od približno 10 bitova u sekundi na sustavu s procesorom Intel Core i7-6500U.
Također 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 učinkovit.
Stoga, istraživači vjeruju da je potrebno retpolin ostaviti omogućenim čak i na sustavima s novijim CPU-ima, koji već imaju zaštitu od poznatih ranjivosti u spekulativnom mehanizmu izvršavanja CPU-ovih uputa.
Sa svoje strane, Predstavnici Intela rekli su da ne planiraju dodavati dodatne mjere zaštite protiv Foreshadowa procesorima i smatraju ga dovoljnim da omogući zaštitu od Spectre V2 i L1TF (Foreshadow) napada.
izvor: https://arxiv.org