CROSSTalk - ranljivost v procesorjih Intel, ki vodi do uhajanja podatkov med jedri

Skupina raziskovalcev z Vrije Universiteit Amsterdam je identificirala novo ranljivost (CVE-2020-0543) v mikroarhitekturnih strukturah procesorjev Intel, opazen po tem, da vam omogoča obnovitev rezultatov izvajanja nekaterih ukazov, izvedenih na drugem jedru CPE. To je prva ranljivost v špekulativnem mehanizmu izvajanja ukazov, ki omogoča uhajanje podatkov med posameznimi jedri CPU (prej so bila uhajanja omejena na različne niti istega jedra). Raziskovalci so težavo poimenovali CROSSTalk, vendar Intelovi dokumenti Ranljivost se imenuje SRBDS (Special Register Buffer Data Sampling).

Ranljivost se nanaša na predstavljeno pred letom dni v razred problemov MDS (Microarchitectural Data Sampling) in temelji na uporabi metod analize stranskih kanalov za podatke v mikroarhitekturnih strukturah. Načelo delovanja CROSSTalk je blizu ranljivosti RIDL, vendar se razlikuje glede na izvor puščanja.
Nova ranljivost manipulira z uhajanjem predhodno nedokumentiranega vmesnega medpomnilnika, ki si ga delijo vsa jedra CPU.

 CROSSTalk - ranljivost v procesorjih Intel, ki vodi do uhajanja podatkov med jedri

Bistvo problema je, da so nekatera navodila mikroprocesorjev, vključno z RDRAND, RDSEED in SGX EGETKEY, implementirana z uporabo interne mikroarhitekturne operacije SRR (Special Register Reads). Na prizadetih procesorjih se podatki, vrnjeni za SRR, odložijo v vmesni medpomnilnik, ki je skupen vsem jedrom CPE, nato pa se prenesejo v medpomnilnik za polnjenje, povezan z določenim fizičnim jedrom CPE, na katerem je bila sprožena operacija branja. Nato se vrednost iz polnilnega medpomnilnika prekopira v registre, ki so vidni aplikacijam.

Velikost vmesnega medpomnilnika v skupni rabi ustreza vrstici predpomnilnika, ki je običajno večja od velikosti podatkov, ki se berejo, različna branja pa vplivajo na različne odmike v medpomnilniku. Ker je medpomnilnik v skupni rabi v celoti kopiran v medpomnilnik za polnjenje, se premakne ne le del, ki je potreben za trenutno operacijo, temveč tudi podatki, ki ostanejo iz drugih operacij, vključno s tistimi, ki se izvajajo na drugih jedrih CPE.

 CROSSTalk - ranljivost v procesorjih Intel, ki vodi do uhajanja podatkov med jedri

 CROSSTalk - ranljivost v procesorjih Intel, ki vodi do uhajanja podatkov med jedri

Če je napad uspešen, lahko lokalni uporabnik, overjen v sistemu, določi rezultat izvajanja navodil RDRAND, RDSEED in EGETKEY v tujem procesu ali znotraj enklave Intel SGX, ne glede na jedro CPU, na katerem se koda izvaja.
Raziskovalci, ki so odkrili težavo objavljeno Prototip izkoriščanja, ki prikazuje zmožnost uhajanja informacij o naključnih vrednostih, pridobljenih prek navodil RDRAND in RDSEED, za obnovitev zasebnega ključa ECDSA, obdelanega v enklavi Intel SGX po izvedbi samo ene operacije digitalnega podpisa v sistemu.


Predvajaj video

problem dovzetni široko paleto namiznih, mobilnih in strežniških procesorjev Intel, vključno s Core i3, i5, i7, i9, m3, Celeron (serije J, G in N), Atom (serije C, E in X), Xeon (E3, E5, Družine E7, W in D), Xeon Scalable itd. Omeniti velja, da je bil Intel o ranljivosti obveščen septembra 2018, julija 2019 pa je bil zagotovljen prototip izkoriščanja, ki prikazuje uhajanje podatkov med jedri CPE, vendar je bil razvoj popravka odložen zaradi zapletenosti njegove implementacije. Današnja predlagana posodobitev mikrokode obravnava težavo tako, da spremeni vedenje ukazov RDRAND, RDSEED in EGETKEY za prepis podatkov v medpomnilniku v skupni rabi in tako prepreči, da bi se preostale informacije naselile tam. Poleg tega je dostop do medpomnilnika zaustavljen, dokler vsebina ni prebrana in prepisana.

Stranski učinek te vrste zaščite je povečana zakasnitev pri izvajanju RDRAND, RDSEED in EGETKEY ter zmanjšana prepustnost pri poskusu hkratnega izvajanja teh navodil na različnih logičnih procesorjih. Izvajanje RDRAND, RDSEED in EGETKEY prav tako prekine dostop do pomnilnika iz drugih logičnih procesorjev. Te funkcije lahko negativno vplivajo na delovanje nekaterih strežniških aplikacij, zato vdelana programska oprema zagotavlja mehanizem (RNGDS_MITG_DIS) za onemogočanje zaščite za navodila RDRAND in RDSEED, ki se izvajajo zunaj enklave Intel SGX.

Vir: opennet.ru

Dodaj komentar