Zen+ සහ Zen 2 microarchitectures මත පදනම් වූ AMD ප්‍රොසෙසර වල Meltdown class දුර්වලතාවයක් සොයාගෙන ඇත.

ඩ්‍රෙස්ඩන් හි තාක්ෂණික විශ්ව විද්‍යාලයේ පර්යේෂකයන් පිරිසක් Zen+ සහ Zen 2020 microarchitectures මත පදනම් වූ AMD ප්‍රොසෙසරවල අවදානමක් (CVE-12965-2) හඳුනාගෙන ඇති අතර, එය Meltdown-class ප්‍රහාරයකට ඉඩ සලසයි. AMD Zen+ සහ Zen 2 ප්‍රොසෙසර Meltdown අවදානමට ගොදුරු නොවන බව මුලින් උපකල්පනය කරන ලදී, නමුත් පර්යේෂකයන් විසින් කැනොනිකල් නොවන අථත්‍ය ලිපින භාවිතා කරන විට ආරක්ෂිත මතක ප්‍රදේශ වෙත සමපේක්ෂන ප්‍රවේශයට තුඩු දෙන අංගයක් හඳුනා ගත්හ.

AMD64 ගෘහ නිර්මාණ ශිල්පය අතථ්‍ය ලිපිනයේ පළමු බිටු 48 පමණක් භාවිතා කරන අතර ඉතිරි බිටු 16 නොසලකා හරියි. බිටු 48 සිට 63 දක්වා සෑම විටම බිට් 47 (සයින් බිට් දිගුව) අගය පිටපත් කළ යුතු බව නිශ්චිතව දක්වා ඇත. මෙම කොන්දේසිය උල්ලංඝනය වී ඉහළ බිටු වල අත්තනෝමතික අගයන් සහිත ලිපිනයකට ප්‍රවේශ වීමට උත්සාහ කරන්නේ නම්, ප්‍රොසෙසරය ව්‍යතිරේකයක් ජනනය කරයි. ඉහළ බිටු නැවත නැවත පිරවීමෙන් පවතින ලිපින අවකාශය කොටස් දෙකකට බෙදීමට හේතු වේ - පහළ එකක් (0 සිට 00007FFFFFFFFFFFFFFFFFFFF දක්වා), ඉහළ බිටු 800000000000 ලෙස සකසා ඇති අතර ඉහළ එකක් (FFFF1 සිට FFFFFFFFFFF දක්වා), සියලුම ඉහළ බිටු XNUMX ලෙස සකසා ඇත.

නිශ්චිත කොටු තුළට වැටෙන ලිපින කැනොනිකල් ලෙසද, ඉහළ බිටුවල අත්තනෝමතික අන්තර්ගතයන් සහිත වැරදි ලිපින කැනොනිකල් නොවන ලෙසද හැඳින්වේ. කැනොනිකල් ලිපින වල පහළ පරාසය සාමාන්‍යයෙන් ක්‍රියාවලි දත්ත සඳහා වෙන් කර ඇති අතර ඉහළ පරාසය කර්නල් දත්ත සඳහා භාවිතා වේ (පරිශීලක අවකාශයෙන් මෙම ලිපින වෙත ප්‍රවේශය වරප්‍රසාද වෙන් කිරීමේ මට්ටමේදී අවහිර කර ඇත).

සම්භාව්‍ය Meltdown දුර්වලතාවය පදනම් වී ඇත්තේ උපදෙසක් සමපේක්‍ෂව ක්‍රියාත්මක කිරීමේදී, ප්‍රොසෙසරයට පුද්ගලික දත්ත ප්‍රදේශයකට ප්‍රවේශ විය හැකි අතර පසුව ප්‍රතිඵලය ඉවත දැමිය හැකි බැවින් සකසා ඇති වරප්‍රසාද පරිශීලකයාගේ ක්‍රියාවලියෙන් එවැනි ප්‍රවේශය තහනම් කරයි. වැඩසටහනේ දී, සමපේක්ෂිතව ක්‍රියාත්මක කරන ලද බ්ලොක් එක කොන්දේසි සහිත ශාඛාවකින් ප්‍රධාන කේතයෙන් වෙන් කරනු ලැබේ, එය සැබෑ තත්ත්‍වයේ දී සෑම විටම ගිනි ගනී, නමුත් කොන්දේසි සහිත ප්‍රකාශය පූර්වගාමී ක්‍රියාත්මක කිරීමේදී ප්‍රොසෙසරය නොදන්නා ගණනය කළ අගයක් භාවිතා කරයි. කේතය, සියලුම ශාඛා විකල්පයන් සමපේක්ෂන ලෙස සිදු කරනු ලැබේ.

සමපේක්ෂන ලෙස ක්‍රියාත්මක කරන ලද මෙහෙයුම් සාමාන්‍යයෙන් ක්‍රියාත්මක කරන ලද උපදෙස් හා සමාන හැඹිලිය භාවිතා කරන බැවින්, පුද්ගලික මතක ප්‍රදේශයක තනි බිටු වල අන්තර්ගතය පිළිබිඹු කරන හැඹිලියේ සලකුණු සැකසීමට සමපේක්ෂන ක්‍රියාත්මක කිරීමේදී සහ සාමාන්‍යයෙන් ක්‍රියාත්මක කරන කේතයෙන් කාල නියමය හරහා ඒවායේ අගය තීරණය කළ හැකිය. විශ්ලේෂණය හැඹිලිගත සහ කෑෂ් නොකළ දත්ත වෙත ප්‍රවේශ වේ.

AMD Zen+ සහ Zen 2 ප්‍රොසෙසර වලට බලපාන නව දුර්වලතාවයේ ලක්ෂණයක් නම්, CPUs ඉහල බිටු 16 නොසලකා හරිමින් වලංගු නොවන කැනොනිකල් නොවන ලිපින භාවිතයෙන් මතකයට ප්‍රවේශ වන සමපේක්ෂන කියවීම සහ ලිවීම් මෙහෙයුම් වලට ඉඩ දීමයි. මේ අනුව, සමපේක්ෂන කේත ක්‍රියාත්මක කිරීමේදී, ප්‍රොසෙසරය සෑම විටම අඩු බිටු 48 පමණක් භාවිතා කරන අතර ලිපිනයේ වලංගුභාවය වෙන වෙනම පරීක්ෂා කරනු ලැබේ. කැනොනිකල් නොවන අතථ්‍ය ලිපිනයක් ආශ්‍රිත පරිවර්තන බෆරයේ (TLB) භෞතික ලිපිනයකට පරිවර්තනය කිරීමේදී, ලිපිනයේ කැනොනිකල් කොටසෙහි ගැළපීමක් අනාවරණය වුවහොත්, සමපේක්ෂන පැටවීමේ මෙහෙයුම අන්තර්ගතය සැලකිල්ලට නොගෙන අගය ආපසු ලබා දෙනු ඇත. නූල් අතර මතක හුවමාරුව මග හැරීමට ඉඩ සලසන ඉහළ බිටු 16 න්. පසුව, මෙහෙයුම වලංගු නොවන ලෙස සලකනු ලබන අතර ඉවත දමනු ඇත, නමුත් මතක ප්‍රවේශය සම්පූර්ණ වන අතර දත්ත හැඹිලියේ අවසන් වේ.

අත්හදා බැලීම අතරතුර, FLUSH + RELOAD හැඹිලියේ අන්තර්ගතය තීරණය කිරීමේ තාක්ෂණය භාවිතා කරමින්, තත්පරයකට බයිට් 125 ක වේගයෙන් සැඟවුණු දත්ත හුවමාරුව සඳහා නාලිකාවක් සංවිධානය කිරීමට පර්යේෂකයන්ට හැකි විය. AMD චිප් වලට අමතරව, ගැටළුව සම්භාව්‍ය Meltdown අවදානමට ගොදුරු විය හැකි සියලුම Intel ප්‍රොසෙසර වලටද බලපායි. LFENCE උපදෙස් භාවිතා කිරීම වැනි Meltdown ප්‍රහාර අවහිර කිරීමට උපකාරී වන එම තාක්ෂණික ක්‍රම මෙම නව ආකාරයේ ප්‍රහාරයෙන් ආරක්ෂා වීමට භාවිතා කළ හැක. උදාහරණයක් ලෙස, Intel ප්‍රොසෙසරයක Meltdown ට එරෙහිව දෘඪාංග ආරක්ෂණය ඇතුළත් වේ නම් හෝ පද්ධතියට මෘදුකාංග ආරක්ෂණය සක්‍රීය කර තිබේ නම්, එවැනි වින්‍යාසයන් නව ප්‍රහාරක ප්‍රභේදයට ගොදුරු නොවේ.

ඒ අතරම, පර්යේෂකයන් සටහන් කරන්නේ, Intel ප්‍රොසෙසර හා සසඳන විට, AMD ප්‍රොසෙසරවල ගෘහ නිර්මාණ ශිල්පය සැබෑ ප්‍රහාර එල්ල කිරීමේ හැකියාව සීමා කරන නමුත් ඒවායේ කාර්යක්ෂමතාව වැඩි කිරීම සඳහා වෙනත් ක්ෂුද්‍ර වාස්තු විද්‍යාත්මක ප්‍රහාර සමඟ ඒකාබද්ධව නව ක්‍රමයක් භාවිතා කිරීම බැහැර නොකරන බවයි. විශේෂයෙන්ම, යෝජිත ප්‍රහාරය මගින් කර්නලයේ සහ අනෙකුත් ක්‍රියාවලිවල මතක ප්‍රදේශ වල අන්තර්ගතය තීරණය කිරීමට ඉඩ නොදේ, නමුත් එකම අතථ්‍ය මතක අවකාශයේ ක්‍රියාත්මක වන එම වැඩසටහනේ අනෙකුත් නූල් වෙත ප්‍රවේශය ලබා ගැනීමේ හැකියාවට සීමා වේ.

අවදානමක් නොමැති වැඩසටහනකට එහි නූල් වලට ප්‍රවේශය ලබා ගැනීමේ හැකියාව ඇති බැවින්, ප්‍රායෝගික දෘෂ්ටි කෝණයකින් සෑන්ඩ්බොක්ස් හුදකලා කිරීම මඟ හැරීම සහ තෙවන පාර්ශවීය ක්‍රියාත්මක කිරීමට ඉඩ සලසන වැඩසටහන් වල අනෙකුත් නූල් වල වැඩ වලට බාධා කිරීම් සංවිධානය කිරීම සඳහා ක්‍රමය උනන්දුවක් දක්වයි. වෙබ් බ්‍රව්සර් සහ JIT එන්ජින් වැනි කේතය. පර්යේෂකයන් SpiderMonkey ජාවාස්ක්‍රිප්ට් එන්ජිම සහ ලිනක්ස් කර්නලය ප්‍රහාර කිරීමට ඇති අවදානම පරීක්ෂා කළ නමුත් ප්‍රහාරයක් සිදු කිරීමට භාවිතා කළ හැකි අවදානම් කේත අනුපිළිවෙලක් සොයා ගැනීමට නොහැකි විය. යෙදුම් වලට පහර දීමට අමතරව, අනෙකුත් ක්ෂුද්‍ර වාස්තු විද්‍යාත්මක දුර්වලතා ගසාකමින් ප්‍රොසෙසරයේ ක්ෂුද්‍ර වාස්තු විද්‍යාත්මක මූලද්‍රව්‍ය අතර පිළිගත නොහැකි දත්ත ප්‍රවාහයන් බල කිරීමට ද ක්‍රමය භාවිතා කළ හැකිය.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න