Zenbleed, pažeidžiamumas, turintis įtakos AMD Zen 2 procesoriams

pažeidžiamumas

Išnaudojami šie trūkumai gali leisti užpuolikams gauti neteisėtą prieigą prie slaptos informacijos arba apskritai sukelti problemų.

Prieš kelias dienas a Išleistas „Google“ saugos komandos tyrėjas naujienos, kurias aptikau pažeidžiamumas (jau įtraukta į CVE-2023-20593) AMD procesoriuose pagrįsta Zen2 mikroarchitektūra, kurią galima naudoti registrams aptikti, kai kiti procesai veikia tame pačiame procesoriaus branduolyje.

Šis pažeidžiamumas laikomas svarbiu, nes ataka gali būti vykdoma iš virtualių mašinų ir izoliuotų aplinkų. Iš esmės problema primena klasikinį nenaudojamo naudojimo pažeidžiamumą, atsirandantį dėl prieigos prie atminties ją atlaisvinus.

Problema kyla su AMD Ryzen 3000, Ryzen PRO 3000, Ryzen Threadripper 3000, Ryzen 4000 su Radeon Graphics, Ryzen PRO 4000, Ryzen 5000 su Radeon Graphics, Ryzen 7020 su Radeon Graphics ir procesorių serija EPYC 7002.

Apie pažeidžiamumą kalbama dėl to, kad procesoriuose registrų turiniui saugoti naudojamas registro failas (RF, Registro failas), kuris yra išdėstymas, kuris yra bendras atliekant visas užduotis tame pačiame branduolyje. cpu. Įrašų paskirstymo lentelė (RAT) yra atsakinga už įrašų su konkrečiais pavadinimais pridėjimą prie žurnalo failo išteklių. Tokiu atveju nulinė reikšmė registre išsaugoma ne registro faile išsaugant tuščią reikšmę, o nustačius z bitų vėliavėlę RAT lentelėje.

Pažeidžiamumas atsiranda dėl to, kad jei z bitas nustatomas spekuliacinio vykdymo metu instrukcijų, neužtenka jos tiesiog iš naujo nustatyti blogo šakos numatymo atveju, nes vieta žurnalo faile gali būti perskirstyta iš spekuliacinio vykdymo.

Atskleistas efektas atsiranda, kai įrašas tuo pačiu metu pervardijamas, naudojama instrukcija, kuriai taikomas sujungimo optimizavimas, o VZEROUPPER vektorinė instrukcija spekuliatyviai vykdoma nustato z bitą ir atlaisvina išteklius iš žurnalo failo. Jei šakos numatymas nepavyksta ir spekuliatyvi VZEROUPPER operacija atšaukiama, vektorių registrų turinys gali būti sugadintas, nes z-bitas suvyniotas, bet atlaisvintas išteklius lieka neišmestas.

Manipuliuojant VZEROUPPER instrukcija, galima pasiekti kontroliuojamą apdorotų duomenų nutekėjimą YMM vektoriniuose registruose, naudojamuose AVX (Advanced Vector Extensions) ir SSE (streaming SIMD Extensions) režimuose. Šie registrai aktyviai naudojami atminties kopijavimo ir eilučių apdorojimo funkcijose, pavyzdžiui, Glibc bibliotekoje jie naudojami memcpy, strcmp ir strlen funkcijose.

Norėdami parodyti pažeidžiamumą, kodiniu pavadinimu Zenbleed, buvo parengtas eksploatacijos prototipas kuri leidžia neprivilegijuotam vartotojui nustatyti AES-NI arba REP-MOVS instrukcijose apdorojamus duomenis (paprastai naudojamas memcpy funkcijoje), kurie gali būti naudojami atkuriant šifravimo raktus ir vartotojų slaptažodžius, apdorojamus kituose procesuose, įskaitant privilegijuotuosius. Išnaudojimo duomenų nutekėjimo našumas yra maždaug 30 KB per sekundę.

Pažeidžiamumas fiksuotas mikrokodo atnaujinimo lygiu. „Linux“ buvo paruošta pataisa, skirta pataisytam mikrokodui atsisiųsti. Nors jei neįmanoma atnaujinti mikrokodo, yra sprendimas blokuoti pažeidžiamumą, dėl kurio sumažėja našumas.

Norėdami tai padaryti, CPU turi būti sukonfigūruotas valdymo bitas DE_CFG[9], o tam terminale reikia įvesti šią komandą:

Verta paminėti, kad išjungus SMT režimą pažeidžiamumas neužblokuojamas, o pažeidžiamumo blokavimo pataisa buvo įdiegta branduolio atnaujinimuose 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250 ir 4.19.289.

domisi pažeidžiamumo informacijos sekimu skirtinguose platinimuose jie tai gali padaryti šiuose puslapiuose: debianubuntu"Gentoo"RHELSUSAMinkšta fetrinė skrybėlėArkaOpenBSDFreeBSDNetBSD.

Galiausiai, jei jus domina galimybė apie tai sužinoti daugiau, išsamią informaciją galite rasti sekanti nuoroda.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.