Ġiet skoperta vulnerabbiltà tal-klassi Meltdown fil-proċessuri AMD ibbażati fuq mikroarkitetturi Zen+ u Zen 2

Grupp ta 'riċerkaturi mill-Università Teknika ta' Dresden identifika vulnerabbiltà (CVE-2020-12965) fil-proċessuri AMD ibbażati fuq mikroarkitetturi Zen + u Zen 2, li tippermetti attakk tal-klassi Meltdown. Inizjalment kien preżunt li l-proċessuri AMD Zen + u Zen 2 mhumiex suxxettibbli għall-vulnerabbiltà Meltdown, iżda r-riċerkaturi identifikaw karatteristika li twassal għal aċċess spekulattiv għal żoni ta 'memorja protetti meta jużaw indirizzi virtwali mhux kanoniċi.

L-arkitettura AMD64 tuża biss l-ewwel 48 bit tal-indirizz virtwali u tinjora s-16-il bit li jifdal. Huwa speċifikat li l-bits 48 sa 63 għandhom dejjem jikkopjaw il-valur tal-bit 47 (estensjoni tal-bit tas-sinjal). Jekk din il-kundizzjoni tinkiser u jsir tentattiv biex taċċessa indirizz b'valuri arbitrarji tal-bits ta 'fuq, il-proċessur jiġġenera eċċezzjoni. Il-mili ripetut tal-bits ta 'fuq jikkawża li l-ispazju tal-indirizz disponibbli jinqasam f'żewġ blokki - wieħed aktar baxx (minn 0 sa 00007FFFFFFFFFFFFF), li fih il-bits ta' fuq huma ssettjati għal 800000000000, u wieħed ta 'fuq (minn FFFFFF1 għal FFFFFFFFFFFFFF), li fih il-bits ta 'fuq kollha huma ssettjati għal XNUMX.

L-indirizzi li jaqgħu fi ħdan il-blokki speċifikati jissejħu kanoniċi, u indirizzi żbaljati b'kontenut arbitrarju tal-bits ta 'fuq jissejħu mhux kanoniċi. Il-firxa t'isfel ta 'indirizzi kanoniċi hija tipikament allokata għad-dejta tal-proċess, u l-firxa ta' fuq tintuża għad-dejta tal-kernel (aċċess għal dawn l-indirizzi mill-ispazju tal-utent huwa mblukkat fil-livell ta 'separazzjoni tal-privileġġ).

Il-vulnerabbiltà Meltdown klassika hija bbażata fuq il-fatt li waqt l-eżekuzzjoni spekulattiva tal-istruzzjonijiet, il-proċessur jista 'jaċċessa żona ta' data privata u mbagħad jarmi r-riżultat minħabba li l-privileġġi stabbiliti jipprojbixxu tali aċċess mill-proċess tal-utent. Fil-programm, il-blokka esegwita b'mod spekulattiv hija separata mill-kodiċi prinċipali minn fergħa kondizzjonali, li f'kundizzjonijiet reali dejjem tispara, iżda minħabba l-fatt li d-dikjarazzjoni kondizzjonali tuża valur ikkalkulat li l-proċessur ma jafx matul l-eżekuzzjoni preventiva ta ' il-kodiċi, l-għażliet kollha tal-fergħat jitwettqu b'mod spekulattiv.

Peress li l-operazzjonijiet eżegwiti b'mod spekulattiv jużaw l-istess cache bħall-istruzzjonijiet eżegwiti normalment, huwa possibbli waqt l-eżekuzzjoni spekulattiva li jiġu stabbiliti markaturi fil-cache li jirriflettu l-kontenut ta 'bits individwali f'żona ta' memorja privata, u mbagħad f'kodiċi esegwit normalment biex jiġi ddeterminat il-valur tagħhom permezz tal-ħin. analiżi aċċessi għal data cached u mhux cache.

Karatteristika tal-vulnerabbiltà l-ġdida li taffettwa l-proċessuri AMD Zen + u Zen 2 hija li s-CPUs jippermettu operazzjonijiet spekulattivi ta 'qari u kitba li jaċċessaw memorja bl-użu ta' indirizzi mhux kanoniċi invalidi, sempliċement jinjoraw is-16-il bit ta 'fuq. Għalhekk, waqt l-eżekuzzjoni tal-kodiċi spekulattiv, il-proċessur dejjem juża biss it-48 bit t'isfel, u l-validità tal-indirizz tiġi kkontrollata separatament. Jekk, meta tittraduċi indirizz virtwali mhux kanoniku għal indirizz fiżiku fil-buffer tat-traduzzjoni assoċjattiva (TLB), tinstab taqbila fil-parti kanonika tal-indirizz, allura l-operazzjoni tat-tagħbija spekulattiva terġa 'lura l-valur mingħajr ma tqis il-kontenut tas-16-il bit ta 'fuq, li jippermetti li jinjora l-qsim tal-memorja bejn il-ħjut. Sussegwentement, l-operazzjoni titqies bħala invalida u mormija, iżda l-aċċess għall-memorja jitlesta u d-dejta tispiċċa fil-cache.

Matul l-esperiment, bl-użu tat-teknika tad-determinazzjoni tal-kontenuti tal-cache FLUSH + RELOAD, ir-riċerkaturi setgħu jorganizzaw kanal għal trasferiment ta 'dejta moħbija b'veloċità ta' 125 bytes kull sekonda. Minbarra ċ-ċipep AMD, il-problema taffettwa wkoll il-proċessuri Intel kollha, li huma suxxettibbli għall-vulnerabbiltà Meltdown klassika. L-istess tekniki li jgħinu jimblokkaw l-attakki Meltdown, bħall-użu ta 'struzzjonijiet LFENCE, jistgħu jintużaw biex jipproteġu kontra dan it-tip ġdid ta' attakk. Pereżempju, jekk proċessur Intel jinkludi protezzjoni tal-ħardwer kontra Meltdown jew is-sistema għandha protezzjoni tas-softwer attivata, allura konfigurazzjonijiet bħal dawn mhumiex suxxettibbli għall-varjant tal-attakk il-ġdid.

Fl-istess ħin, ir-riċerkaturi jinnotaw li, meta mqabbla mal-proċessuri Intel, l-arkitettura tal-proċessuri AMD tillimita l-possibbiltà li jitwettqu attakki reali, iżda ma teskludix l-użu ta 'metodu ġdid flimkien ma' attakki mikroarkitettoniċi oħra biex tiżdied l-effettività tagħhom. B'mod partikolari, l-attakk propost ma jippermettix li wieħed jiddetermina l-kontenut taż-żoni tal-memorja tal-qalba u proċessi oħra, iżda huwa limitat għall-abbiltà li jikseb aċċess għal ħjut oħra tal-istess programm li jaħdem fl-istess spazju tal-memorja virtwali.

Peress li programm mingħajr vulnerabbiltà għandu l-abbiltà li jikseb aċċess għall-ħjut tiegħu, mil-lat prattiku l-metodu huwa ta 'interess biex jevita l-iżolament tas-sandbox u jorganizza interferenza max-xogħol ta' ħjut oħra fi programmi li jippermettu l-eżekuzzjoni ta 'partijiet terzi. kodiċi, bħal web browsers u magni JIT . Ir-riċerkaturi eżaminaw il-vulnerabbiltà tal-magna SpiderMonkey JavaScript u l-kernel Linux għall-attakk, iżda ma sabux sekwenzi ta 'kodiċi vulnerabbli li jistgħu jintużaw biex iwettqu attakk. Minbarra li jattakka l-applikazzjonijiet, il-metodu jista 'jintuża wkoll biex jisforza flussi ta' data inaċċettabbli bejn elementi mikroarkitettoniċi tal-proċessur waqt l-isfruttament ta 'vulnerabbiltajiet mikroarkitettoniċi oħra.

Sors: opennet.ru

Żid kumment