AMD Zen 3 CPU වල Specter-STL ප්‍රහාරයට ඇති විය හැකි අවදානම AMD විසින් තහවුරු කර ඇත.

AMD විසින් Zen 3 ශ්‍රේණියේ ප්‍රොසෙසරවල ක්‍රියාත්මක කරන ලද PSF (Predictive Store Forwarding) ප්‍රශස්තිකරණ තාක්ෂණයේ ආරක්ෂාව විශ්ලේෂණය කරමින් වාර්තාවක් ප්‍රකාශයට පත් කර ඇත. PSF තාක්‍ෂණය, නමුත් ප්‍රායෝගිකව, ප්‍රහාරයකට තුඩු දිය හැකි කේත සැකිලි තවමත් සොයාගෙන නොමැති අතර සමස්ත අනතුර නොවැදගත් ලෙස තක්සේරු කෙරේ.

Specter-v4 (Speculative Store Bypass) ප්‍රහාරය පදනම් වී ඇත්තේ වක්‍ර ලිපින භාවිතයෙන් ප්‍රත්‍යාවර්ත ලිවීමේ සහ කියවීමේ මෙහෙයුම් සැකසීමේදී මෙහෙයුම් සමපේක්ෂන ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය ඉවත දැමීමෙන් පසු ප්‍රොසෙසර හැඹිලියේ තැන්පත් වී ඇති දත්ත ප්‍රතිසාධනය කිරීම මත බව අපි සිහිපත් කරමු. කියවීමේ මෙහෙයුමක් ලිවීමේ මෙහෙයුමක් අනුගමනය කරන විට (උදා: mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), සමාන මෙහෙයුම් සිදු කිරීම හේතුවෙන් කියවීමේ ලිපිනයේ ඕෆ්සෙට් දැනටමත් දැන ගත හැකිය (කියවීමේ මෙහෙයුම් වේ බොහෝ විට සිදු කරනු ලබන අතර හැඹිලියෙන් කියවීම් සිදු කළ හැක) සහ ප්‍රොසෙසරයට ලිවීමේ වක්‍ර විස්ථාපනය ගණනය කරන තෙක් බලා නොසිට ලිවීමට පෙර කියවීම සමපේක්ෂනය කළ හැකිය.

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

AMD Zen 3 ප්‍රොසෙසරවලට එකතු කරන ලද, PSF විසින් STLF (Store-to-load-Forwarding) ප්‍රශස්ත කරයි, එය කියවීමේ සහ ලිවීමේ මෙහෙයුම් අතර සම්බන්ධය පුරෝකථනය කිරීමෙන් සමපේක්ෂන ලෙස කියවීමේ මෙහෙයුම් සිදු කරයි. සම්භාව්‍ය STLF භාවිතා කරන විට, ප්‍රොසෙසරය පෙර "ගබඩා" විධානයෙන් කෙලින්ම යොමු කරන ලද දත්ත මත "පූරණය" මෙහෙයුමක් සිදු කරයි, ප්‍රති result ලය ඇත්ත වශයෙන්ම මතකයට ලියන තෙක් බලා නොසිට, නමුත් "පූරණය" තුළ භාවිතා කරන ලිපින බවට වග බලා ගන්න. සහ "ගබඩා" විධානයන් ගැලපේ. PSF ප්‍රශස්තිකරණය මගින් ලිපින පිරික්සීම සමපේක්ෂනය කරන අතර එක් ලිපිනයක් හසුරුවන ගබඩා/පූරණ යුගලයක් කලින් ක්‍රියාත්මක කර ඇත්නම් ලිපින තොරතුරු ගණනය කිරීමට පෙර "පූරණය" මෙහෙයුමක් සිදු කරයි. අනාවැකිය අසාර්ථක වුවහොත්, ප්රාන්තය ආපසු හරවනු ලැබේ, නමුත් දත්ත හැඹිලියේ පවතී.

PSF මත ප්‍රහාරයක් කළ හැක්කේ එක් වරප්‍රසාද මට්ටමක රාමුවක් තුළ පමණක් වන අතර, වත්මන් ක්‍රියාවලි සන්දර්භය පමණක් ආවරණය වන අතර ලිපින අවකාශ හුදකලා ක්‍රම හෝ දෘඪාංග සෑන්ඩ්බොක්ස් යාන්ත්‍රණ මගින් අවහිර කරනු ලැබේ. මෙම අවස්ථාවෙහිදී, ක්‍රියාවලි වල මෘදුකාංග වැලිපිල්ල ක්‍රම ගැටලුවට බලපෑ හැකිය. ප්‍රහාරය තනි ක්‍රියාවලියක් තුළ තුන්වන පාර්ශ්ව කේතය ක්‍රියාත්මක කරන බ්‍රවුසර, කේත ක්‍රියාත්මක කිරීමේ අතථ්‍ය යන්ත්‍ර සහ JIT වැනි පද්ධතිවලට තර්ජනයක් එල්ල කරයි (ප්‍රහාරය මගින් වෙනත් ක්‍රියාවලි දත්ත වෙත ප්‍රවේශ වීමට විශ්වාස නොකළ වැලිපිල්ල කේතයට ඉඩ දිය හැකිය).

AMD විසින් PSF සම්පූර්ණයෙන්ම හෝ වරණාත්මකව අක්‍රිය කිරීම සඳහා ක්‍රම ගණනාවක් සපයා ඇත, නමුත් බොහෝ යෙදුම් සඳහා නොසැලකිය හැකි අවදානමක් ලබාදී, මෙම ප්‍රශස්තිකරණය පෙරනිමියෙන් අක්‍රිය නොකරන ලෙස නිර්දේශ කර ඇත. විශ්වාස කළ නොහැකි කේත ක්‍රියාත්මක කරන අය හුදකලා කරන ක්‍රියාවලි තෝරා බේරා ආරක්ෂා කිරීම සඳහා, තනි නූල් සඳහා ඇතුළුව “SSBD” සහ “PSFD” MSR බිටු සැකසීමෙන් PSF අක්‍රිය කිරීමට යෝජනා කෙරේ. PSF සක්‍රිය සහ අක්‍රිය කරන ආකාරය පාලනය කරන “psfd” සහ “nopsfd” විධාන රේඛා විකල්ප ක්‍රියාත්මක කිරීමත් සමඟ Linux කර්නලය සඳහා පැච් සකස් කර ඇත.

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

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