Zenbleed, ranjivost koja pogađa AMD Zen 2 procesore

ranjivost

Ako se iskoriste, ovi nedostaci mogu omogućiti napadačima da dobiju neovlašteni pristup osjetljivim informacijama ili općenito uzrokovati probleme

Prije nekoliko dana a Oslobođen istraživač Google sigurnosnog tima vijesti koje sam otkrio ranjivost (već naveden pod CVE-2023-20593) na AMD procesorima baziran na Zen2 mikroarhitekturi koja se može koristiti za otkrivanje registara dok se drugi procesi pokreću na istoj CPU jezgri.

Ova ranjivost se smatra važnom, jer napad se može izvesti sa virtuelnih mašina i izolovanih okruženja. U suštini, problem liči na klasične ranjivosti bez upotrebe, uzrokovane pristupom memoriji nakon što je ona oslobođena.

Problem se javlja sa AMD Ryzen 3000, Ryzen PRO 3000, Ryzen Threadripper 3000, Ryzen 4000 sa Radeon grafikom, Ryzen PRO 4000, Ryzen 5000 sa Radeon grafikom, Ryzen 7020 sa Radeon grafikom i serije procesora EPYC 7002.

O ranjivosti se spominje jer se u procesorima za pohranjivanje sadržaja registara koristi registarski fajl (RF, Register File), što je aranžman koji se dijeli u svim zadacima u istom jezgru. cpu. Tablica dodjele zapisa (RAT) je odgovorna za priključivanje zapisa sa specifičnim imenima resursima datoteke dnevnika. U ovom slučaju, nulta vrijednost se pohranjuje u registar ne pohranjivanjem prazne vrijednosti u registarsku datoteku, već postavljanjem z-bitne zastavice u RAT tablici.

Ranjivost je zbog činjenice da je z bit postavljen tokom spekulativnog izvršenja instrukcija, nije dovoljno jednostavno ga resetirati u slučaju lošeg predviđanja grananja, jer se prostor u log datoteci može preraspodijeliti iz spekulativnog izvršenja.

Otkriveni efekat nastaje kada se zapis istovremeno preimenuje, koristi se instrukcija za koju se primjenjuje optimizacija spajanja, a VZEROUPPER vektorska instrukcija se spekulativno izvršava da postavlja z bit i oslobađa resurse iz datoteke dnevnika. Ako predviđanje grananja ne uspije i spekulativna VZEROUPPER operacija se poništi, sadržaj vektorskih registara može biti oštećen, jer je z-bit prebačen, ali oslobođeni resurs ostaje neodbačen.

Kroz manipulaciju instrukcijom VZEROUPPER, moguće je postići kontrolirano curenje obrađenih podataka u YMM vektorske registre koji se koriste u AVX (Advanced Vector Extensions) i SSE (Streaming SIMD Extensions) modovima. Ovi registri se aktivno koriste u funkcijama kopiranja memorije i obrade nizova, na primjer u Glibc biblioteci koriste se u funkcijama memcpy, strcmp i strlen.

Da bi se demonstrirala ranjivost, kodnog naziva Zenbleed, pripremljen je prototip eksploatacije koji omogućava neprivilegovanom korisniku da odredi podatke obrađene u AES-NI ili REP-MOVS instrukcijama (obično se koristi u funkciji memcpy), koji se mogu koristiti za rekonstrukciju ključeva za šifrovanje i korisničkih lozinki, obrađenih u drugim procesima, uključujući i privilegovane. Performanse curenja podataka eksploatacije su približno 30 KB u sekundi.

Ranjivost popravljeno na nivou ažuriranja mikrokoda. Za Linux je pripremljena zakrpa za preuzimanje ispravljenog mikrokoda. Iako ako nije moguće ažurirati mikrokod, postoji zaobilazno rješenje za blokiranje ranjivosti, što dovodi do smanjenja performansi.

Da biste to učinili, kontrolni bit DE_CFG[9] mora biti konfiguriran u CPU-u i za to se u terminalu mora upisati sljedeća naredba:

Vrijedi napomenuti da onemogućavanje SMT moda ne blokira ranjivost i ispravka za blokiranje ranjivosti implementirana je u ažuriranjima kernela 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250 i 4.19.289.

Za zainteresovani za praćenje informacija o ranjivosti u različitim distribucijama, to mogu učiniti na sljedećim stranicama: DebianUbuntuGentooRHELSUSEfedorasvodOpenBSDFreeBSDNetBSD.

Konačno, ako ste zainteresovani da saznate više o tome, možete pogledati detalje u sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.