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

Grupa istraživača sa Tehničkog univerziteta u Gracu (Austrija) i Helmholtz centra za sigurnost informacija (CISPA), otkriveno (PDF) novi vektor za korištenje napada sa strane kanala Predviđanje (L1TF), koji vam omogućava da izvučete podatke iz memorije Intel SGX enklava, SMM (System Management Mode), memorijskih područja jezgra OS-a i virtuelnih mašina u sistemima virtuelizacije. Za razliku od prvobitnog napada predloženog 2018 Predviđanje Nova varijanta nije specifična za Intelove procesore i utiče na CPU drugih proizvođača kao što su ARM, IBM i AMD. Osim toga, nova varijanta ne zahtijeva visoke performanse i napad se može izvesti čak i pokretanjem JavaScripta i WebAssembly-a u web pretraživaču.

Napad Foreshadow koristi činjenicu da kada se memoriji pristupa na virtuelnoj adresi koja rezultira izuzetkom (greška terminalne stranice), procesor spekulativno izračunava fizičku adresu i učitava podatke ako su dostupni u L1 kešu. Špekulativni pristup se vrši prije nego što se završi pretraživanje tablice memorijskih stranica i bez obzira na stanje unosa tablice memorijske stranice (PTE), tj. prije provjere prisutnosti podataka u fizičkoj memoriji i njihove čitljivosti. Nakon što je provjera dostupnosti memorije završena, u nedostatku zastavice Present u PTE-u, operacija se odbacuje, ali podaci ostaju u kešu i mogu se dohvatiti korištenjem metoda za određivanje sadržaja keša kroz bočne kanale (analizom promjena u vremenu pristupa na keširane i nekeširane podatke).

Istraživači su pokazali da su postojeće metode zaštite od Foreshadowa neefikasne i da se provode uz pogrešnu interpretaciju problema. Ranjivost
Foreshadow se može iskoristiti bez obzira na sigurnosne mehanizme kernela koji su se ranije smatrali dovoljnim. Kao rezultat toga, istraživači su demonstrirali mogućnost izvođenja Foreshadow napada na sisteme sa relativno starim jezgrima, u kojima su omogućeni svi dostupni modovi Foreshadow zaštite, kao i sa novim kernelima, u kojima je onemogućena samo zaštita Spectre-v2 (koristeći opcija Linux kernela nospectre_v2).

Utvrđeno je da efekat preloada nije povezano sa uputstvima za prethodno preuzimanje softvera ili hardverskim efektom
prefetch tokom pristupa memoriji, ali se dešava kada se spekulativne dereferencije korisničkog prostora registruju u kernelu. 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 keš memoriju, dok bi prisustvo određenih isječaka koda (preddobeči gadgeta) u kernelu moglo doprinijeti curenju podataka izvan L1 keša, na primjer, u L3 kešu.

Identifikovana karakteristika takođe otvara mogućnost kreiranja novih napada usmerenih na procese prevođenja virtuelnih adresa u fizičke u izolovanim okruženjima i određivanje adresa i podataka pohranjenih u CPU registrima. Kao demonstraciju, istraživači su pokazali mogućnost korišćenja identifikovanog efekta za izdvajanje podataka iz jednog procesa u drugi sa performansama od oko 10 bita u sekundi na sistemu sa Intel Core i7-6500U CPU-om. Takođe je prikazana mogućnost curenja sadržaja registra iz enklave Intel SGX (trebalo je 32 minuta da se odredi 64-bitna vrednost upisana u 15-bitni registar). Pokazalo se da je neke vrste napada moguće implementirati u JavaScript-u i WebAssembly-u, na primjer, bilo je moguće odrediti fizičku adresu JavaScript varijable i popuniti 64-bitne registre vrijednošću koju kontrolira napadač.

Da bi se blokirao Foreshadow napad kroz L3 keš memoriju, efikasna je metoda zaštite Spectre-BTB (Branch Target Buffer) implementirana u skupu zakrpa retpoline. Stoga, istraživači smatraju da je potrebno ostaviti retpoline omogućenu čak i na sistemima sa novim CPU-ima koji već imaju zaštitu od poznatih ranjivosti u mehanizmu spekulativnog izvršavanja CPU-a. Istovremeno, predstavnici Intela su izjavili da ne planiraju da dodaju dodatne mere zaštite od Foreshadow procesorima i smatraju da je dovoljno uključiti zaštitu od Spectre V2 i L1TF (Foreshadow) napada.

izvor: opennet.ru

Dodajte komentar