Intel teave uuest oma protsessorites â (Microarchitectural Data Sampling). Nagu ka varasemad Spectre klassi rĂŒnnakud, vĂ”ivad uued probleemid viia operatsioonisĂŒsteemi, virtuaalmasinate ja teiste protsesside tundlike andmete lekkimiseni. Teadaolevalt avastasid probleemid esmalt Intel'i töötajad ja partnerid sisemise auditi kĂ€igus, millele jĂ€rgnes teave sarnaste probleemide kohta Intel'ile, mida jagasid sĂ”ltumatud teadlased. AMD ja ARM protsessorid ei ole probleemiga seotud.
Graz'i tehnikaĂŒlikooli teadlaste avastatud probleemide pĂ”hjal mitu praktilist rĂŒnnakut kĂ”rvalkanalite kaudu:
- () â vĂ”imaldab ekstrakteerida konfidentsiaalset teavet teistest protsessidest, operatsioonisĂŒsteemist, virtuaalmasinatest ja kaitstud anklavatest (TEE, Trusted Execution Environment). NĂ€iteks on demonstreeritud vĂ”imalust mÀÀrata Tor brauseris avatud lehtede ajalugu, mis töötab teises virtuaalmasinas, samuti mÀÀrata rakendustes kasutatavaid ligipÀÀsuvĂ”tmeid ja paroole;
- () â vĂ”imaldab korraldada teabe leket erinevate isoleeritud alade vahel Intel'i protsessorites, nagu tĂ€itepufferid, salvestuspufferid ja laadimisportid. RĂŒnnaku nĂ€ited nĂ€itavad, kuidas korraldada lekkeid teistest protsessidest, operatsioonisĂŒsteemist, virtuaalmasinatest ja kaitstud enclaved'ist. NĂ€iteks on nĂ€idatud, kuidas saada root'i parooli hash sisu /etc/shadow-st perioodiliste autentimise katsete kaudu (rĂŒnnak kestis 24 tundi);

Lisaks on toodud nĂ€ide rĂŒnnaku lĂ€biviimisest JavaScript'i ja WebAssembly kaudu kahjuliku lehe avamisel SpiderMonkey mootoris (kaasaegsetes tĂ€ielikes brauserites on selline rĂŒnnak ebatĂ”enĂ€oline tĂ€nu taimeri tĂ€psuse piirangutele ja Spectre'i vastastele meetmetele);

- () â vĂ”imaldab lugeda hiljuti operatsioonisĂŒsteemi poolt salvestatud andmeid ja mÀÀrata operatsioonisĂŒsteemi mĂ€lu paigutust, et lihtsustada teiste rĂŒnnakute lĂ€biviimist;
- â kasutab CPU optimeerimisi salvestuspuferiga töötamiseks ja seda saab kasutada kernel'i aadressi ruumi randomiseerimise mehhanismi (KASLR) ĂŒmbersuunamiseks, operatsioonisĂŒsteemi oleku jĂ€lgimiseks vĂ”i lekke, mis on seotud Spectre'i meetoditele pĂ”hinevate seadmete kombineerimisega.
Tuvastatud :
- CVE-2018-12126 â MSBDS (Mikroarhitektuurne poodiumite andmete proovide vĂ”tmine), salvestus-bufferite sisu taastamine. Kasutatakse Fallout'i rĂŒnnakus. Ohtlikkuse tase on mÀÀratud 6.5 punkte (CVSS);
- CVE-2018-12127 â MLPDS (Mikroarhitektuurne laadimisportide andmete proovide vĂ”tmine), laadimisportide sisu taastamine. Kasutatakse RIDL rĂŒnnakus. CVSS 6.5;
- CVE-2018-12130 â MFBDS (Mikroarhitektuurne tĂ€ite-bufferi andmete proovide vĂ”tmine), tĂ€itebuffrite sisu taastamine. Kasutatakse ZombieLoad ja RIDL rĂŒnnakutes. CVSS 6.5;
- CVE-2019-11091 â MDSUM (Mikroarhitektuurne andmete proovide vĂ”tmine mittevahemĂ€lus), mittevahemĂ€lu sisu taastamine. Kasutatakse RIDL rĂŒnnakus. CVSS 3.8.
tuvastatud probleemid analĂŒĂŒsimeetodite rakendamisvĂ”imekuses kĂŒlgkanalite kaudu andmetele mikroarhitektuursete struktuuride suhtes, millele rakendused ei pÀÀse otse ligi. Jutt kĂ€ib madala taseme struktuuridest, nagu tĂ€itepuffer (Line Fill Buffer), salvestuspuffer (Store Buffer) ja laadimisport (Load Port), mis on vĂ€iksemad koostisosad kui esimese taseme vahemĂ€lu (L1D), andme laadimise vahemĂ€lu (RDCL) vĂ”i L1TF (L1 Terminal Fault) ning seega sisaldavad vĂ€hem teavet ja uuendatakse sagedamini.

KĂŒlgkanali rĂŒnnakud mikroarhitektuursetele struktuuridele on mĂ€rksa keerulisemad kui vahemĂ€lu sisu taastamise meetodid ja nĂ”uavad mĂ€rkimisvÀÀrsete andmemahtude jĂ€lgimist ja analĂŒĂŒsimist, et mÀÀrata nende seos kindlate aadressidega mĂ€lus (tegelikult ei saa rĂŒndaja sihipĂ€raselt kinni pĂŒĂŒda teatud andmeid, vaid vĂ”ib pikka aega koguda lekkeid ja rakendada statistilisi meetodeid teatud tĂŒĂŒpi andmete rekonstrueerimiseks). Lisaks mĂ”jutab rĂŒnnak ainult andmeid samas fĂŒĂŒsilises CPU tuumas, kus ka rĂŒndaja kood asub.
Mikroarhitektuuri struktuuride sisu mÀÀramise ettepanekud pÔhinevad sellel, et neid struktuure kasutatakse spekulatiivsete vigade (fault) töötlemisel vÔi load ja store operatsioonides.
Spekulatiivse tĂ€itmise korral suunatakse sisemise struktuuri sisu edasiseks töötlemiseks registritesse vĂ”i vahemĂ€llu. Spekulatiivsed operatsioonid ei lĂ”peta ja tulemus kĂ”rvaldatakse, kuid suunatud sisu on vĂ”imalik mÀÀrata vahemĂ€lu analĂŒĂŒsi meetodite abil kĂ”rvaliste kanalite kaudu.
Laadimisportide ĂŒlesanne on toita andmeid mĂ€lust vĂ”i sisend-/vĂ€ljundisĂŒsteemist CPU-le ning edastada saadud teave CPU registritesse. Tehnoloogia tĂ”ttu jÀÀvad vanad laadimisoperatsioonide andmed portidesse kuni nende ĂŒlekirjutamiseni, mis vĂ”imaldab kaudselt mÀÀrata laadimisporti andmete olekut, kasutades veateateid ning SSE/AVX/AVX-512 kĂ€ske, mis laadivad rohkem kui 64 bitti andmeid. Sellistes tingimustes spekuleerivad laadimisoperatsioonid aegunud andmeid sisemistest struktuuridest sĂ”ltuvatesse operatsioonidesse. Sarnane protsess toimub ka mĂ€lupuhvri kaudu, mis kiirendab CPU vahemĂ€lu kirjutamist ning sisaldab aadresside, vÀÀrtuste ja lipufunktsioonide tabelit, samuti tĂ€itmispuhvrit, mis hoiab andmeid, mis on puudu L1 vahemĂ€lust (cache-miss), kuni need laaditakse teistest vahemĂ€lutasanditest.
Probleem Intel'i protsessorimudelid, mis on toodetud alates 2011. aastast (alates 6. pĂ”lvkonnast). Samuti blokeeritakse riistvaravead alates mĂ”nest 8. ja 9. pĂ”lvkonna Intel Core mudelist ning 2. pĂ”lvkonna Intel Xeon Scalable mudelist (kontrollimiseks vĂ”ib kasutada bitti ARCH_CAP_MDS_NO IA32_ARCH_CAPABILITIES MSR-is). Vead on samuti parandatud tarkvara, mikrokoodi ja operatsioonisĂŒsteemide tasandil. Intel'i hinnangul ei ĂŒleta enamikul kasutajatest jĂ”udluse kadu pĂ€rast paranduse aktiveerimist 3%. Kui keela Hyper-Threading tehnoloogia, vĂ”ib jĂ”udluse langus kuna 9% SPECint_rate_base testis, kuni 11% tĂ€isarvutehingute puhul ja kuni 19% serveripĂ”histe Java rakenduste kĂ€itamisel (HT lubamisel on jĂ”udluse langus praktiliselt olematu). Parandused ei mĂ”juta praktiliselt sisendi/ vĂ€ljundi operatsioonide jĂ”udlust.
Linuxi tuumas on MDS kaitse tÀna 5.1.2, 5.0.16,
4.19.43, 4.14.119 ja 4.9.176. Kaitsemeetod mikroarhitektuursete puhvertoonide sisu kustutamise protsessis, kui naaseb tuuma kasutajaruumi vĂ”i edastab juhtimise kĂŒlgsĂŒsteemile, kasutatakse kĂ€sku VERW. KĂ€ideldatavate kaitsete tööks on vajalik MD_CLEAR reĆŸiimi tugi, mis on rakendatud uusimas mikrokoodi vĂ€rskenduses. TĂ€iendava kaitse tagamiseks soovitatakse vĂ€lja lĂŒlitada Hyper-Threading. Haavatavuse kontrollimiseks Linuxi tuumas. protsessor «/sys/devices/system/cpu/vulnerabilities/mds». Haavatavuste blokeerimise erinevate reĆŸiimide haldamiseks on tuuma lisatud parameeter «mds=», mis vĂ”ib vĂ”tta vÀÀrtusi «full», «full,nosmt» (Hyper-Threads'i vĂ€ljalĂŒlitamine), «vmwerv» ja «off».
Pakettide vÀrskendused on juba vÀlja antud ja , kuid on endiselt kÀttesaamatud , ja .
Andmete lekkimise blokeerimise parandused virtuaalmasinatest on samuti Xeni hĂŒperviisori jaoks. Virtuaalsete sĂŒsteemide kaitseks, mis teevad L1D_FLUSH kĂ€su enne juhtimise edastamist teisele virtuaalmasinale, ja Intel SGX kapslite kaitseks piisab mikrokoodi vĂ€rskendamisest.
Allikas: opennet.ru


