Ny vulnerability kilasy Meltdown dia hita ao amin'ny processeur AMD mifototra amin'ny microarchitectures Zen + sy Zen 2.

Vondrona mpikaroka avy amin'ny Oniversite Teknikan'i Dresden dia nahita vulnerability (CVE-2020-12965) ao amin'ny processeur AMD mifototra amin'ny microarchitectures Zen + sy Zen 2, izay mamela ny fanafihana kilasy Meltdown. Tamin'ny voalohany dia noheverina fa ny processeur AMD Zen + sy Zen 2 dia tsy mora voan'ny vulnerability Meltdown, fa ny mpikaroka dia nahita endri-javatra iray izay mitarika amin'ny fidirana amin'ny toerana fitadidiana arovana rehefa mampiasa adiresy virtoaly tsy kanônika.

Ny maritrano AMD64 dia tsy mampiasa afa-tsy ny bitika 48 voalohany amin'ny adiresy virtoaly ary tsy miraharaha ny bitika 16 sisa. Voalaza fa ny bits 48 ka hatramin'ny 63 dia tsy maintsy mandika foana ny sandan'ny bit 47 (fanitarana bit famantarana). Raha voahitsakitsaka io fepetra io ary ezahina hidirana amin'ny adiresy misy sanda tsy misy dikany amin'ny bits ambony, dia miteraka fanavahana ny processeur. Ny famenoana imbetsaka ny bitika ambony dia mizara roa ny habaka adiresy misy - ny iray ambany (avy amin'ny 0 ka hatramin'ny 00007FFFFFFFFFFFFFF), izay apetraka amin'ny 800000000000 ny bitika ambony, ary ny iray ambony (avy amin'ny FFFF1 ka hatramin'ny FFFFFFFFFFFFFFF), izay ny bits ambony rehetra dia napetraka amin'ny XNUMX.

Antsoina hoe kanônika ny adiresy latsaka ao anatin'ireo sakana voatondro, ary ny adiresy diso misy votoaty tsy mety amin'ny bitika ambony dia antsoina hoe tsy kanônika. Ny faritra ambany amin'ny adiresy kanônika dia mazàna atokana ho an'ny angon-drakitra, ary ny laharana ambony dia ampiasaina ho an'ny angon-drakitra kernel (ny fidirana amin'ireo adiresy ireo avy amin'ny habaka mpampiasa dia voasakana amin'ny ambaratonga fisarahana tombontsoa).

Ny vulnerability Meltdown mahazatra dia mifototra amin'ny zava-misy fa mandritra ny fanatanterahana ny toromarika tombantombana, ny processeur dia afaka miditra amin'ny faritra angon-drakitra manokana ary avy eo manary ny vokatra satria ny tombontsoa napetraka dia mandrara ny fidirana amin'ny fizotran'ny mpampiasa. Ao amin'ny programa dia misaraka amin'ny kaody fototra amin'ny alàlan'ny sampana misy fepetra ny sakana voatondro, izay mirehitra foana amin'ny toe-javatra tena izy, fa noho ny zava-misy fa ny fanambarana misy fepetra dia mampiasa sanda kajy izay tsy fantatry ny processeur mandritra ny famonoana mialoha. ny kaody, ny safidy sampana rehetra dia tanterahina amin'ny tombantombana.

Koa satria mampiasa cache mitovy amin'ny torolalana mahazatra ny asa vita amin'ny tombantombana, dia azo atao mandritra ny famonoana tombantombana ny fametrahana marika ao amin'ny cache izay maneho ny votoatin'ny bits tsirairay ao amin'ny faritra fitadidiana manokana, ary avy eo amin'ny code executed mahazatra hamaritana ny sandany amin'ny fotoana. famakafakana miditra amin'ny angona voatahiry sy tsy voatahiry.

Ny endri-javatra iray amin'ny vulnerability vaovao izay misy fiantraikany amin'ny processeur AMD Zen + sy Zen 2 dia ny ahafahan'ny CPUs mamaky tombantombana sy manoratra asa izay miditra amin'ny fitadidiana amin'ny alàlan'ny adiresy tsy kanônika tsy mety, tsy miraharaha fotsiny ny bits 16 ambony. Noho izany, mandritra ny famonoana kaody fanombantombanana, ny processeur dia tsy mampiasa afa-tsy ny 48 bits ambany, ary ny fahamendrehan'ny adiresy dia voamarina misaraka. Raha toa ka, rehefa mandika adiresy virtoaly tsy kanônika amin'ny adiresy ara-batana ao amin'ny buffer fandikan-teny mifandray (TLB), misy lalao hita ao amin'ny ampahany kanônika amin'ny adiresy, dia hamerina ny sandany ny asa fanombantombanana entana nefa tsy mijery ny ao anatiny. amin'ny bits 16 ambony, izay mamela ny fandalovana ny fizarana fahatsiarovana eo amin'ny kofehy. Aorian'izay, ny fandidiana dia hoheverina ho tsy manan-kery sy ariana, fa ny fidirana amin'ny fahatsiarovana dia ho vita ary ny angon-drakitra dia hiafara amin'ny cache.

Nandritra ny fanandramana, tamin'ny fampiasana ny teknika hamaritana ny votoatin'ny cache FLUSH + RELOAD, ireo mpikaroka dia afaka nandamina fantsona ho an'ny famindrana angona miafina amin'ny hafainganam-pandeha 125 bytes isan-tsegondra. Ho fanampin'ny chips AMD, misy fiantraikany amin'ny processeur Intel rehetra ihany koa ny olana, izay mora voan'ny vulnerability Meltdown mahazatra. Ireo teknika izay manampy amin'ny fanakanana ny fanafihana Meltdown, toy ny fampiasana toromarika LFENCE, dia azo ampiasaina hiarovana amin'ity karazana fanafihana vaovao ity. Ohatra, raha misy processeur Intel misy fiarovana amin'ny hardware amin'ny Meltdown na manana fiarovana rindrambaiko alefa ny rafitra, dia tsy mety amin'ny variana fanafihana vaovao ny fanamafisana toy izany.

Mandritra izany fotoana izany, ny mpikaroka dia nanamarika fa, raha oharina amin'ny Intel processors, ny maritrano ny AMD processors dia mametra ny mety hisian'ny tena fanafihana, fa tsy manilika ny fampiasana fomba vaovao miaraka amin'ny microarchitectural fanafihana hafa mba hampitombo ny fahombiazany. Indrindra indrindra, ny fanafihana natolotra dia tsy mamela ny olona iray hamaritra ny votoatin'ny faritra fitadidiana ny kernel sy ny dingana hafa, fa voafetra amin'ny fahafahana miditra amin'ny kofehy hafa amin'ny programa mitovy mandeha amin'ny habaka fahatsiarovana virtoaly iray ihany.

Satria ny programa tsy misy vulnerability dia manana fahafahana miditra amin'ny kofehy, amin'ny fomba fijery azo ampiharina dia mahaliana ny fomba hialana amin'ny fitokana-monina sandbox sy ny fandaminana fitsabahana amin'ny asan'ny kofehy hafa amin'ny programa izay mamela ny famonoana ny antoko fahatelo. kaody, toy ny mpitety tranonkala sy motera JIT . Ny mpikaroka dia nandinika ny fahalemen'ny motera SpiderMonkey JavaScript sy ny kernel Linux amin'ny fanafihana, saingy tsy nahita ny filaharan'ny code vulnerable izay azo ampiasaina amin'ny fanafihana. Ho fanampin'ny fanafihan'ny rindranasa, ny fomba dia azo ampiasaina ihany koa hanerena ny fikorianan'ny angon-drakitra tsy azo ekena eo amin'ireo singa microarchitectural amin'ny processeur rehefa manararaotra ny vulnerabilities microarchitectural hafa.

Source: opennet.ru

Add a comment