Naujas Foreshadow atakos variantas, turintis įtakos Intel, AMD, ARM ir IBM procesoriams

Grupė mokslininkų iš Graco technikos universiteto (Austrija) ir Helmholtz informacijos saugumo centro (CISPA), atskleista (PDF) naujas vektorius, skirtas naudoti šoninių kanalų atakas Pranašas (L1TF), leidžianti išgauti duomenis iš Intel SGX anklavų atminties, SMM (sistemos valdymo režimo), OS branduolio atminties sričių ir virtualiųjų mašinų virtualizacijos sistemose. Skirtingai nuo pradinio išpuolio, pasiūlyto 2018 m Pranašas Naujasis variantas nėra būdingas „Intel“ procesoriams ir turi įtakos kitų gamintojų, tokių kaip ARM, IBM ir AMD, CPU. Be to, naujasis variantas nereikalauja didelio našumo ir ataka gali būti vykdoma net paleidus JavaScript ir WebAssembly interneto naršyklėje.

Foreshadow ataka pasinaudoja tuo, kad kai prie atminties prisijungiama virtualiu adresu, dėl kurio atsiranda išimtis (terminalo puslapio klaida), procesorius spekuliaciniu būdu apskaičiuoja fizinį adresą ir įkelia duomenis, jei jie yra L1 talpykloje. Spekuliacinė prieiga atliekama dar nebaigus atminties puslapių lentelės paieškos ir neatsižvelgiant į atminties puslapių lentelės įrašo (PTE) būseną, t.y. prieš patikrindami, ar fizinėje atmintyje yra duomenų ir ar jie skaitomi. Užbaigus atminties prieinamumo patikrinimą, jei PTE nėra žymos Dabar, operacija atmetama, tačiau duomenys lieka talpykloje ir gali būti nuskaityti naudojant talpyklos turinio nustatymo per šoninius kanalus metodus (analizuojant prieigos laiko pokyčius talpykloje saugomiems ir neišsaugotiems duomenims).

Mokslininkai įrodė, kad esami apsaugos nuo Foreshadow metodai yra neveiksmingi ir yra įgyvendinami neteisingai interpretuojant problemą. Pažeidžiamumas
Foreshadow galima išnaudoti nepaisant branduolio saugumo mechanizmų, kurie anksčiau buvo laikomi pakankamais. Dėl to mokslininkai pademonstravo galimybę atlikti Foreshadow ataką sistemose su palyginti senais branduoliais, kuriose įjungti visi galimi Foreshadow apsaugos režimai, taip pat su naujais branduoliais, kuriuose išjungta tik Spectre-v2 apsauga (naudojant Linux branduolio parinktis nospectre_v2).

Buvo nustatyta, kad išankstinio įkėlimo efektas nesusiję su programinės įrangos išankstinio gavimo instrukcijomis ar aparatinės įrangos efektu
prefetch prieigos prie atminties metu, bet įvyksta, kai branduolyje registruojamos spekuliacinės vartotojo erdvės nuorodos. Šis klaidingas pažeidžiamumo priežasties aiškinimas iš pradžių lėmė prielaidą, kad duomenų nutekėjimas Foreshadow gali įvykti tik per L1 talpyklą, o tam tikrų kodo fragmentų (išankstinio gavimo programėlių) buvimas branduolyje gali prisidėti prie duomenų nutekėjimo už L1 talpyklos ribų. pavyzdžiui, L3 talpykloje.

Nustatyta funkcija taip pat atveria galimybę kurti naujas atakas, nukreiptas į virtualių adresų vertimo į fizinius procesus izoliuotose aplinkose bei procesorių registruose saugomų adresų ir duomenų nustatymą. Kaip demonstraciją, mokslininkai parodė galimybę panaudoti identifikuotą efektą duomenims iš vieno proceso išgauti į kitą su maždaug 10 bitų per sekundę našumu sistemoje su Intel Core i7-6500U procesoriumi. Taip pat parodyta registro turinio nutekėjimo galimybė iš Intel SGX anklavo (32 bitų reikšmės, įrašytos į 64 bitų registrą, nustatymas užtruko 15 minučių). Paaiškėjo, kad kai kuriuos atakų tipus galima įdiegti „JavaScript“ ir „WebAssembly“, pavyzdžiui, buvo galima nustatyti „JavaScript“ kintamojo fizinį adresą ir užpildyti 64 bitų registrus užpuoliko valdoma verte.

Norint užblokuoti Foreshadow ataką per L3 talpyklą, efektyvus yra Spectre-BTB (Branch Target Buffer) apsaugos metodas, įdiegtas retpoline pataisų rinkinyje. Taigi, mokslininkai mano, kad retpoline būtina palikti įjungtą net sistemose su naujais procesoriais, kurie jau turi apsaugą nuo žinomų procesoriaus spekuliacinio vykdymo mechanizmo spragų. Kartu „Intel“ atstovai teigė neplanuojantys procesoriams pridėti papildomų apsaugos priemonių nuo „Foreshadow“ ir mano, kad pakanka įtraukti apsaugą nuo Spectre V2 ir L1TF („Foreshadow“) atakų.

Šaltinis: opennet.ru

Добавить комментарий