Esitletud on uus klass Intel'i protsessorite haavatavustest.

Intel avalikustasin teave uuest haavatavuste klassist oma protsessorites — MDS (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 on vĂ€lja töötatud mitu praktilist rĂŒnnakut kĂ”rvalkanalite kaudu:

  • ZombieLoad (PDF) — 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;


  • RIDL (PDF) — 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);

    Vaata videot

    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);

    Vaata videot
  • Fallout (PDF) — vĂ”imaldab lugeda hiljuti operatsioonisĂŒsteemi poolt salvestatud andmeid ja mÀÀrata operatsioonisĂŒsteemi mĂ€lu paigutust, et lihtsustada teiste rĂŒnnakute lĂ€biviimist;
  • Store-To-Leak Forwarding — 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 korraldamiseks lekke, mis on seotud Spectre'i meetoditele pĂ”hinevate seadmete kombineerimisega.

Tuvastatud haavatavusest:

  • 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.

TĂŒhi 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.

Esitletud on uus klass Intel'i protsessorite haavatavustest.

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.

Esitletud on uus klass Intel'i protsessorite haavatavustest.

Probleem puudutab 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 likvideeritud tarkvara, mikrokoodi ja operatsioonisĂŒsteemide tasandil. Intel'i hinnangul ei ĂŒleta enamikul kasutajatest jĂ”udluse kadu pĂ€rast paranduse aktiveerimist 3%. Kui Hyper-Threading tehnoloogia on vĂ€lja lĂŒlitatud, vĂ”ib jĂ”udlus vĂ€heneda kuni 9% SPECint_rate_base testis, kuni 11% tĂ€isarvuliste arvutuste kĂ€igus ja kuni 19% serveripoolsete Java rakenduste tĂ€itmisel (HT lubamisel on jĂ”udluse kadu peaaegu olematu). Parandused ei mĂ”juta praktiliselt sisendi/-vĂ€ljundi operatsioonide jĂ”udlust. 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 on lisatud tÀna uuendustes 5.1.2, 5.0.16,
4.19.43, 4.14.119 ja 4.9.176. Kaitsemeetod pĂ”hineb 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. lisatud 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 RHEL ja Ubuntu, kuid on endiselt kÀttesaamatud Debian, Fedora ja SUSE.
Andmete lekkimise blokeerimise parandused virtuaalmasinatest on samuti on loodud 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

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster