CROSSTalk - Nukleoen arteko datu-ihesak eragiten dituen Intel CPU-en ahultasun bat

Vrije Universiteit Amsterdam-eko ikertzaile talde batek berri bat identifikatu du zaurgarritasuna (CVE-2020-0543) Intel prozesadoreen mikroarkitekturako egituretan, aipagarria PUZaren beste nukleo batean exekutatutako instrukzio batzuen exekuzioaren emaitzak berreskuratzeko aukera ematen duelako. Hau da instrukzio espekulatiboen exekuzio-mekanismoaren lehen ahultasuna, PUZaren nukleoen artean datu-ihesak ahalbidetzen dituena (lehen ihesak nukleo bereko hari desberdinetara mugatzen ziren). Ikertzaileek CROSSTalk izena jarri zioten arazoari, baina Intel dokumentuak Ahultasuna SRBDS (Special Register Buffer Data Sampling) deitzen zaio.

Zaurgarritasunari dagokio aurkeztua duela urtebete MDS (Microarchitectural Data Sampling) arazoen klasera eta mikroarkitekturako egituretako datuei albo-kanalen analisi-metodoak aplikatzean oinarritzen da. Eragiketa printzipioa CROSSTalk ahultasunetik gertu dago RIDL, baina desberdina da ihesaren iturrian.
Ahultasun berriak PUZaren nukleo guztiek partekatzen duten aldez aurretik dokumentatu gabeko tarteko buffer baten ihesa manipulatzen du.

CROSSTalk - Nukleoen arteko datu-ihesak eragiten dituen Intel CPU-en ahultasun bat

Arazoaren funtsa mikroprozesadorearen instrukzio batzuk, RDRAND, RDSEED eta SGX EGETKEY barne, barne mikroarkitekturako SRR (Special Register Reads) eragiketa erabiliz inplementatzen dira. Kaltetutako prozesadoreetan, SRR-rako itzultzen diren datuak PUZaren nukleo guztien komuneko tarteko buffer batean metatzen dira, eta ondoren irakurketa-eragiketa hasi zen PUZaren nukleo fisiko espezifikoarekin lotutako betetze-buffer batera transferitzen dira. Ondoren, betetzeko buffer-eko balioa aplikazioek ikusgai dauden erregistroetan kopiatzen da.

Tarteko partekatutako buffer-aren tamaina cache-lerroari dagokio, hau da, normalean, irakurtzen ari diren datuen tamaina baino handiagoa izan ohi da, eta irakurketa ezberdinek buffer-eko desplazamendu desberdinei eragiten diete. Partekatutako buffer-a betetzeko bufferera osorik kopiatzen denez, uneko eragiketarako behar den zatia ez ezik, beste eragiketetatik geratzen diren datuak ere mugitzen dira, beste PUZaren nukleoetan egindakoak barne.

CROSSTalk - Nukleoen arteko datu-ihesak eragiten dituen Intel CPU-en ahultasun bat

CROSSTalk - Nukleoen arteko datu-ihesak eragiten dituen Intel CPU-en ahultasun bat

Erasoa arrakastatsua bada, sisteman autentifikatu den tokiko erabiltzaile batek RDRAND, RDSEED eta EGETKEY instrukzioak atzerriko prozesu batean edo Intel SGX enklabe baten barruan exekutatzeko emaitza zehaztu dezake, kodea exekutatzen den PUZaren nukleoa edozein dela ere.
Arazoa identifikatu duten ikertzaileak argitaratuko Intel SGX enklabean prozesatutako ECDSA gako pribatua sisteman sinadura digitalaren eragiketa bakarra egin ondoren, RDRAND eta RDSEED argibideen bidez lortutako ausazko balioei buruzko informazioa isurtzeko gaitasuna frogatzen duen ustiapen prototipoa.


arazoa jasangarria Mahaigaineko, mugikorreko eta zerbitzarietako Intel prozesadore sorta zabala, besteak beste, Core i3, i5, i7, i9, m3, Celeron (J, G eta N serieak), Atom (C, E eta X serieak), Xeon (E3, E5, E7 familiak, W eta D), Xeon Scalable, etab. Azpimarratzekoa da Intelek 2018ko irailean ahultasunaren berri eman ziotela eta 2019ko uztailean ustiapen-prototipo bat eman zela PUZaren nukleoen arteko datu-ihesak frogatzen zituena, baina konponketa baten garapena atzeratu egin zen inplementazioaren konplexutasunagatik. Gaurko proposatutako mikrokodearen eguneratzeak arazoari erantzuten dio, RDRAND, RDSEED eta EGETKEY argibideen portaera aldatuz, partekatutako bufferean datuak gainidazteko, hondar informazioa bertan finkatzea saihesteko. Horrez gain, buffer sarbidea pausatzen da edukia irakurri eta berridatzi arte.

Babes mota honen albo-ondorio bat RDRAND, RDSEED eta EGETKEY exekutatzen denean latentzia handitzea da, eta errendimendua murriztea instrukzio hauek prozesadore logiko desberdinetan aldi berean exekutatzen saiatzean. RDRAND, RDSEED eta EGETKEY exekutatzeak beste prozesadore logiko batzuen memoriarako sarbidea ere eten egiten du. Ezaugarri hauek zerbitzari-aplikazio batzuen errendimenduan eragina izan dezakete; beraz, firmwareak mekanismo bat eskaintzen du (RNGDS_MITG_DIS) Intel SGX enklabetik kanpo exekutatzen diren RDRAND eta RDSEED instrukzioen babesa desgaitzeko.

Iturria: opennet.ru

Gehitu iruzkin berria