LVI ndi gulu latsopano lachiwopsezo pamachitidwe ongoyerekeza mu CPU

Lofalitsidwa zambiri za gulu latsopano la kuukira LVI (Load Value jekeseni, CVE-2020-0551) pamakina opangira ma Intel CPUs, omwe angagwiritsidwe ntchito kutulutsa makiyi ndi zinsinsi zachinsinsi kuchokera ku Intel SGX enclaves ndi njira zina.

Gulu latsopano la ziwopsezo limatengera kusintha kwazinthu zazing'ono zomwe zimagwiritsidwa ntchito poukira MDS (Microarchitectural Data Sampling), Specter ndi Meltdown. Nthawi yomweyo, kuukira kwatsopano sikuletsedwa ndi njira zomwe zilipo kale zodzitetezera ku Meltdown, Specter, MDS ndi zina zofananira. Chitetezo cha LVI chogwira ntchito chimafuna kusintha kwa hardware ku CPU. Pokonzekera chitetezo mwadongosolo, powonjezera malangizo a LFENCE ndi wolemba pambuyo pa ntchito iliyonse yolemetsa kuchokera pamtima ndikusintha malangizo a RET ndi POP, LFENCE ndi JMP, pamwamba kwambiri amalembedwa - malinga ndi ofufuza, chitetezo chokwanira cha mapulogalamu chidzachititsa kuchepa ntchito ndi 2-19 nthawi.

Zina mwazovuta pakuletsa vutoli zimathetsedwa ndi mfundo yakuti kuukirako ndikwanzeru kwambiri kuposa kuchita (kuukirako n'kotheka, koma kumakhala kovuta kwambiri kuti tigwiritse ntchito ndikungopanganso mayeso opangira).
Intel zoyenera vuto lili ndi mlingo wapakatikati wa ngozi (5.6 mwa 10) ndi anamasulidwa kukonzanso firmware ndi SDK kwa chilengedwe cha SGX, momwe chinayesera kuletsa kuukira pogwiritsa ntchito workaround. Njira zowukira zomwe zaperekedwa pano zimagwira ntchito kwa ma processor a Intel, koma kuthekera kosinthira LVI kwa ma processor ena omwe kuukira kwa Meltdown-class kumagwira sikungalephereke.

Vutoli lidadziwika mu Epulo watha ndi wofufuza Jo Van Bulck waku Yunivesite ya Leuven, pambuyo pake, ndi ofufuza a 9 ochokera ku mayunivesite ena, njira zisanu zowukira zidapangidwa, iliyonse yomwe imalola kukhalapo kwachindunji. zosankha. Modziyimira pawokha, mu February chaka chino, ofufuza ochokera ku Bitdefender nawonso anapeza imodzi mwamitundu yosiyanasiyana ya LVI ndikuwuza Intel. Mitundu yowukirayi imasiyanitsidwa ndi kugwiritsa ntchito zida zazing'ono zazing'ono, monga chosungira (SB, Store Buffer), fill buffer (LFB, Line Fill Buffer), FPU switch switch buffer ndi cache yoyamba (L1D), yomwe idagwiritsidwa ntchito kale. mu kuukira monga ZombieLoad, KULIMBITSA, Dana, LazyFP, Chiwonetsero ΠΈ Kutaya.

LVI ndi gulu latsopano lachiwopsezo panjira yongopeka mu CPU

Chachikulu ulemu LVI yolimbana ndi kuukira kwa MDS ndikuti MDS imawongolera zomwe zili mkati mwazomangamanga zazing'ono zomwe zatsalira mu cache pambuyo pakuwongolera zolakwika kapena kunyamula ndi kusunga, pomwe
Kuwukira kwa LVI kumalola kuti zidziwitso za wowukirayo ziziyikidwa m'mapangidwe ang'onoang'ono kuti zikhudze kuphedwa kongoyerekeza kwa code ya wozunzidwayo. Pogwiritsa ntchito izi, wowukira amatha kuchotsa zomwe zili muzinthu zachinsinsi munjira zina akamalemba ma code ena pachimake cha CPU.

LVI ndi gulu latsopano lachiwopsezo panjira yongopeka mu CPU

chifukwa vuto kugwiritsa ntchito mu code ya ndondomeko ya wozunzidwa ayenera kukumana katsatidwe kapadera ka ma code (zida) momwe mtengo wowukira umakwezedwa, ndipo kutsitsa mtengowu kumapangitsa kuti zinthu zina (kulakwitsa, kuchotsa kapena kuthandizira) zitayidwe, kutaya zotsatira zake ndikubwerezanso malangizowo. Kupatulako kukakonzedwa, zenera longopeka limawonekera pomwe zomwe zidasinthidwa mu gadget zimatuluka. Makamaka, purosesa imayamba kupanga kachidutswa kakang'ono (chida) munjira yongoyerekeza, kenako imawona kuti kulosera sikunali koyenera ndikubwezeretsanso ntchitozo ku chikhalidwe chawo choyambirira, koma zomwe zidakonzedwa pakuphedwa mongoyerekeza zimayikidwa mu cache ya L1D. ndi ma buffers ang'onoang'ono ndipo amapezeka kuti atengedwenso pogwiritsa ntchito njira zodziwika zodziwira deta yotsalira kudzera mumayendedwe a chipani chachitatu.

Kupatula "thandizo", mosiyana ndi "cholakwika" chosiyana, chimayendetsedwa mkati ndi purosesa popanda kuyitanitsa othandizira mapulogalamu. Thandizo likhoza kuchitika, mwachitsanzo, pamene A (Yofikira) kapena D (Zodetsedwa) pa tebulo latsamba lachikumbukiro iyenera kusinthidwa. Vuto lalikulu pochita kuwukira njira zina ndi momwe mungayambitsire kuchitika kwa chithandizo poyendetsa njira yozunzidwa. Panopa palibe njira zodalirika zochitira zimenezi, koma n’zotheka kuti zidzapezeka m’tsogolo. Kuthekera kochita chiwembu mpaka pano kwatsimikiziridwa kokha kwa ma Intel SGX enclaves, zochitika zina ndizongopeka kapena zobwerezedwanso mumikhalidwe yopangira (imafuna kuwonjezera zida zina pama code)

LVI ndi gulu latsopano lachiwopsezo panjira yongopeka mu CPU

LVI ndi gulu latsopano lachiwopsezo panjira yongopeka mu CPU

Ma vector omwe angakhalepo:

  • Kutsika kwa data kuchokera kumagulu a kernel kupita kumayendedwe a ogwiritsa ntchito. Chitetezo cha Linux kernel motsutsana ndi kuukira kwa Specter 1, komanso njira yotetezera ya SMAP (Supervisor Mode Access Prevention), imachepetsa kwambiri mwayi wa kuukira kwa LVI. Kuonjezera chitetezo chowonjezera ku kernel kungakhale kofunikira ngati njira zosavuta zowukira za LVI zidzadziwika m'tsogolomu.
  • Kutaya kwa data pakati pa njira zosiyanasiyana. Kuwukira kumafuna kukhalapo kwa zidutswa zina za kachidindo muzogwiritsira ntchito ndi tanthawuzo la njira yoponyera zosiyana ndi zomwe mukufuna.
  • Kutayikira kwa data kuchokera ku malo okonzera alendo kupita ku dongosolo la alendo. Kuwukiraku kumawerengedwa kuti ndizovuta kwambiri, zomwe zimafuna njira zingapo zovuta kuzikwaniritsa komanso kulosera zomwe zimachitika mudongosolo.
  • Kutaya kwa data pakati pa njira zamachitidwe osiyanasiyana a alendo. Vector yowukirayo yatsala pang'ono kukonza kutayikira kwa data pakati pa njira zosiyanasiyana, koma imafunikiranso zovuta kuti zidutse kudzipatula pakati pa machitidwe a alendo.

Lofalitsidwa ndi ofufuza angapo zitsanzo ndi chiwonetsero cha mfundo zochitira chiwembu, koma sali oyenera kuchita ziwopsezo zenizeni. Chitsanzo choyamba chimakulolani kuti muwongolere kachitidwe kachidziwitso muzochitika zozunzidwa, zofanana ndi mapulogalamu obwerera (ROP, Kubwerera-Oriented Programming). Muchitsanzo ichi, wozunzidwayo ndi njira yokonzekera mwapadera yomwe ili ndi zida zofunikira (kugwiritsa ntchito kuukira kwa njira zenizeni za chipani chachitatu ndizovuta). Chitsanzo chachiwiri chimatithandiza kusokoneza mawerengedwe panthawi ya AES encryption mkati mwa Intel SGX enclave ndikukonzekera kutayikira kwa deta panthawi yongopeka ya malangizo kuti abwezeretse mtengo wachinsinsi chomwe chimagwiritsidwa ntchito pobisa.


Source: opennet.ru

Kuwonjezera ndemanga