Kusagadzikana kwekirasi yeMeltdown kwakawanikwa mu AMD processors zvichibva paZen + uye Zen 2 microarchitectures.

Boka revatsvagiri kubva kuTechnical University yeDresden raona kusazvibata (CVE-2020-12965) mu AMD processors zvichibva paZen + uye Zen 2 microarchitectures, iyo inobvumira Meltdown kirasi kurwisa. Pakutanga zvaifungidzirwa kuti AMD Zen + neZen 2 processors haabatike mukusagadzikana kweMeltdown, asi vaongorori vakaona chinhu chinotungamira kune yekufungidzira kupinda munzvimbo dzakachengetedzwa dzendangariro kana uchishandisa asiri-canonical virtual kero.

Iyo AMD64 dhizaini inoshandisa chete ekutanga 48 mabhiti eiyo kero chaiyo uye inofuratira asara gumi nematanhatu mabhiti. Zvinotsanangurwa kuti mabits 16 kusvika 48 anofanirwa kugara achikopa kukosha kwebit 63 (sign bit extension). Kana mamiriro aya akatyorwa uye kuyedzwa kunoitwa kuti uwane kero ine zvisizvo hunhu hwepamusoro mabhiti, processor inogadzira yakasarudzika. Kuramba uchizadza mabheti ekumusoro kunoita kuti nzvimbo yekero iripo igovaniswe kuita mabhuroko maviri - rezasi (kubva pa47FFFFFFFFFFFFFF), umo mabheti ekumusoro akaiswa ku0, uye ekumusoro (kubva paFFFF00007 kusvika FFFFFFFFFFFFFFFF), umo ese mabheti ekumusoro akaiswa ku800000000000.

Kero dzinowira mukati mezvivharo zvakatsanangurwa dzinodaidzwa kuti canonical, uye kero dzisiridzo dzine zvemukati zvemabhiti ekumusoro dzinodaidzwa kuti dzisiri-canonical. Iyo yakaderera mhando yemakero ecanonical inowanzo kugoverwa yedata data, uye iyo yekumusoro renji inoshandiswa kune kernel data (kusvika kune aya makero kubva munzvimbo yemushandisi kwakavharwa padanho rekuparadzanisa).

Iyo yemhando yepamusoro Meltdown kusagadzikana kwakavakirwa pachokwadi chekuti panguva yekufungidzira yekuitwa kwemirairo, processor inokwanisa kuwana yakavanzika data nzvimbo uye yobva yarasa mhedzisiro nekuti iyo seti ropafadzo inorambidza kupinda kwakadaro kubva mumaitiro emushandisi. Muchirongwa ichi, chivharo chekufungidzira chinopatsanurwa kubva kukodhi huru nebazi rine zvirevo, iro mumamiriro ezvinhu chaiwo rinogara richipisa, asi nekuda kwekuti chirevo chechirevo chinoshandisa kukosha kwakaverengerwa iyo processor yaasingazive panguva yekukurumidza kuuraya. iyo kodhi, sarudzo dzese dzebazi dzinoitwa zvekufungidzira.

Sezvo mashandiro ekufungidzira anoitwa anoshandisa cache yakafanana nemirairo inowanzoitwa, zvinogoneka panguva yekufungidzira kuuraya kuisa mamaki mucache anoratidza zviri mukati mezvimedu zvega munzvimbo yekurangarira yakavanzika, uyezve mune inowanzo itwa kodhi kuona kukosha kwavo kuburikidza nenguva. ongororo inowana kune yakachengetwa uye isina-cached data.

Chinhu chekusagadzikana kutsva kunobata AMD Zen + uye Zen 2 processors ndechekuti maCPU anobvumira kufungidzira kuverenga nekunyora mashandiro anowana ndangariro vachishandisa isingaite isiri-canonical kero, kungofuratira ekumusoro gumi nematanhatu mabhiti. Saka, panguva yekufungidzira kodhi kuuraya, processor inogara ichingoshandisa yakaderera 16 bits, uye chokwadi chekero chinotariswa zvakasiyana. Kana, pakuturikira kero isiri-canonical chaiyo kukero yemuviri mune associative dudziro buffer (TLB), mutambo ukaonekwa muchikamu checanonical chekero, ipapo fungidziro yemutoro inodzosera kukosha pasina kurangarira zviri mukati. yekumusoro 48 bits, iyo inobvumira kudarika ndangariro kugovana pakati peshinda. Zvadaro, kuvhiyiwa kuchaonekwa sekusina basa uye kuraswa, asi ndangariro yekuwana ichapedzwa uye iyo data inozopedzisira yave mu cache.

Munguva yekuedza, vachishandisa nzira yekuona zviri mukati meFLUSH + RELOAD cache, vatsvakurudzi vakakwanisa kuronga chiteshi chekufambisa data chakavanzika nekumhanya kwe125 bytes pasekondi. Pamusoro pemachipisi e AMD, dambudziko rinobatawo ese maIntel processors, ayo anotapukirwa neiyo yekare Meltdown kusagadzikana. Iwo maitiro akafanana anobatsira kudzivirira Meltdown kurwiswa, sekushandisa LFENCE mirairo, inogona kushandiswa kudzivirira kubva kurudzi urwu rutsva rwekurwisa. Semuenzaniso, kana Intel processor ichisanganisira kuchengetedzwa kwehardware kubva kuMeltdown kana sisitimu ine chengetedzo yesoftware inogoneswa, saka zvigadziriso zvakadaro hazvibatike kune mutsva wekurwisa.

Panguva imwecheteyo, vatsvakurudzi vanocherechedza kuti, kana vachienzaniswa neIntel processors, mavakirwo eAMD processors anogadzirisa mukana wekuita kurwiswa kwechokwadi, asi haasanganisi kushandiswa kwenzira itsva pamwe chete nemamwe ma microarchitectural kurwisa kuwedzera kushanda kwavo. Kunyanya, kurwiswa kwakarongwa hakubvumire munhu kuona zviri mukati mendangariro nzvimbo dzekernel uye mamwe maitiro, asi inogumira pakukwanisa kuwana mamwe matambo echirongwa chimwe chete ichimhanya munzvimbo imwechete yekurangarira.

Sezvo chirongwa chisina njodzi chinokwanisa kuwana tambo dzayo, kubva pakuona kwemaitiro nzira yacho ndeyekufarira kunzvenga bhokisi rejecha uye kuronga kukanganiswa nebasa reimwe tambo muzvirongwa zvinobvumira kuurayiwa kwebato rechitatu. kodhi, sewebhubhurawuza uye JIT injini . Vatsvagiri vakaongorora kusazvibata kweSpiderMonkey JavaScript injini uye Linux kernel kurwisa, asi havana kuwana njodzi yekutevedzana kwekodhi inogona kushandiswa kurwisa. Pamusoro pekurwisa maapplication, iyo nzira inogona zvakare kushandiswa kumanikidza isingagamuchirwe data inoyerera pakati pe microarchitectural zvinhu zve processor uku uchibiridzira humwe hurema hwekuvaka.

Source: opennet.ru

Voeg