Dvi atakos prieš AMD procesorių talpyklos kanalo numatymo mechanizmą

Graco technikos universiteto (Austrija) mokslininkų grupė, anksčiau garsėjusi užpuolimo metodų kūrimu MDS, „NetSpectre“, Plaktukas и „ZombieLoad“, atliko AMD procesoriams būdingų techninės įrangos optimizavimo tyrimus ir išvystė du nauji šoninių kanalų atakų metodai, kurie manipuliuoja duomenų nutekėjimu, kai veikia AMD procesorių L1 talpyklos kanalo numatymo mechanizmas. Metodai gali būti naudojami siekiant sumažinti ASLR apsaugos efektyvumą, atkurti pažeidžiamų AES diegimų raktus ir padidinti Spectre atakos efektyvumą.

Buvo nustatytos problemos diegiant kanalo numatymo mechanizmą (būdo prognozuotoją) procesoriaus pirmojo lygio duomenų talpykloje (L1D), naudojamą nuspėti, kuriame talpyklos kanale yra tam tikras atminties adresas. AMD procesoriuose naudojamas optimizavimas pagrįstas μ žymų (μTag) tikrinimu. μTag apskaičiuojamas virtualiam adresui pritaikant konkrečią maišos funkciją. Veikimo metu kanalo numatymo variklis naudoja μTag, kad nustatytų talpyklos kanalą iš lentelės. Taigi, μTag leidžia procesoriui apsiriboti prieiga prie konkretaus kanalo, neieškojus per visas parinktis, o tai žymiai sumažina procesoriaus energijos sąnaudas.

Dvi atakos prieš AMD procesorių talpyklos kanalo numatymo mechanizmą

Atliekant atvirkštinę kanalų numatymo sistemos diegimo inžineriją įvairių kartų AMD procesoriuose, išleistuose 2011–2019 m., buvo nustatyti du nauji šoninio kanalo atakos būdai:

  • Collide+Probe – leidžia užpuolikui stebėti procesų, veikiančių tame pačiame loginiame procesoriaus branduolyje, prieigą prie atminties. Metodo esmė yra naudoti virtualius adresus, kurie sukelia susidūrimus maišos funkcijoje, naudojamoje apskaičiuojant μTag, kad būtų galima sekti prieigą prie atminties. Skirtingai nuo „Flush+Reload“ ir „Prime+Probe“ atakų, naudojamų „Intel“ procesoriams, „Collide+Probe“ nenaudoja bendros atminties ir veikia nežinant fizinių adresų.
  • Load+Reload – leidžia labai tiksliai nustatyti atminties prieigos pėdsakus tame pačiame fiziniame procesoriaus branduolyje. Metodas pagrįstas tuo, kad fizinės atminties ląstelė gali būti L1D talpykloje tik vieną kartą. Tie. prieiga prie tos pačios atminties ląstelės kitu virtualiu adresu ląstelė bus pašalinta iš L1D talpyklos, todėl bus galima sekti prieigą prie atminties. Nors ataka remiasi bendrinamąja atmintimi, ji neišplauna talpyklos eilučių, todėl galima atlikti slaptas atakas, kurios nepašalina duomenų iš paskutinio lygio talpyklos.

Remdamiesi Collide+Probe ir Load+Reload metodais, mokslininkai parodė kelis šoninio kanalo atakų scenarijus:

  • Parodyta galimybė panaudoti paslėpto netiesioginio ryšio kanalo tarp dviejų procesų organizavimo metodus, leidžiančius perduoti duomenis iki 588 kB per sekundę greičiu.
  • Naudojant susidūrimus μTag, buvo galima sumažinti skirtingų ASLR variantų (Address Space Layout Randomization) entropiją ir apeiti ASLR apsaugą branduolyje visiškai atnaujintoje Linux sistemoje. Parodyta galimybė įvykdyti ataką siekiant sumažinti ASLR entropiją tiek iš vartotojo programų, tiek naudojant JavaScript kodą, vykdomą smėlio dėžės aplinkoje, ir kodą, veikiantį kitoje svečio aplinkoje.

    Dvi atakos prieš AMD procesorių talpyklos kanalo numatymo mechanizmą

  • Remiantis Collide+Probe metodu, buvo įgyvendinta ataka siekiant atkurti šifravimo raktą iš pažeidžiamo diegimo (remiantis T lentelė) AES šifravimas.
  • Naudojant Collide+Probe metodą kaip duomenų gavimo kanalą, Spectre ataka galėjo išgauti privačius duomenis iš branduolio nenaudodama bendros atminties.

Pažeidžiamumas atsiranda AMD procesoriuose, pagrįstuose mikroarchitektūromis
Buldozeris, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ ir Zen2.
AMD apie problemą buvo pranešta 23 m. rugpjūčio 2019 d., tačiau iki šiol ataskaitos nepaskelbė su informacija apie pažeidžiamumo blokavimą. Tyrėjų teigimu, problemą galima užblokuoti mikrokodo atnaujinimo lygiu, pateikiant MSR bitus, kad būtų galima pasirinktinai išjungti kanalo numatymo sistemą, panašiai kaip „Intel“ darė, kad kontroliuotų šakų numatymo mechanizmų išjungimą.

Dvi atakos prieš AMD procesorių talpyklos kanalo numatymo mechanizmą

Šaltinis: opennet.ru

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