Plundervolt යනු SGX තාක්ෂණයට බලපාන Intel ප්‍රොසෙසර මත නව ප්‍රහාරක ක්‍රමයකි

ඉන්ටෙල් නිදහස් නිවැරදි කරන microcode update අවදානම (සීවීඊ-2019-14607), ඉඩ දෙනවා CPU හි ගතික වෝල්ටීයතාව සහ සංඛ්‍යාත පාලන යාන්ත්‍රණය හැසිරවීම හරහා, හුදකලා Intel SGX එන්ක්ලේව්ස් හි ගණනය කිරීම් සඳහා භාවිතා කරන ප්‍රදේශ ඇතුළුව දත්ත සෛලවල අන්තර්ගතයට හානි කිරීම ආරම්භ කරයි. ප්‍රහාරය Plundervolt ලෙස හැඳින්වෙන අතර, දේශීය පරිශීලකයෙකුට පද්ධතිය මත ඔවුන්ගේ වරප්‍රසාද තීව්‍ර කිරීමට, සේවාව ප්‍රතික්ෂේප කිරීමට සහ සංවේදී දත්ත වෙත ප්‍රවේශය ලබා ගැනීමට ඉඩ සලසයි.

ප්‍රහාරය භයානක වන්නේ SGX enclaves හි ගණනය කිරීම් සමඟ උපාමාරු කිරීමේ සන්දර්භය තුළ පමණි, මන්ද එය ක්‍රියාත්මක කිරීමට පද්ධතියේ මූල අයිතිවාසිකම් අවශ්‍ය වේ. සරලම අවස්ථාවෙහිදී, ප්‍රහාරකයෙකුට enclave තුළ සැකසූ තොරතුරු විකෘති කළ හැකි නමුත්, වඩාත් සංකීර්ණ අවස්ථා වලදී, RSA-CRT සහ AES-NI ඇල්ගොරිතම භාවිතයෙන් සංකේතනය සඳහා භාවිතා කරන එන්ක්ලේව්හි ගබඩා කර ඇති පුද්ගලික යතුරු ප්‍රතිනිර්මාණය කිරීමේ හැකියාවක් නොමැත. බැහැර කර ඇත. මතකය සමඟ වැඩ කිරීමේදී දුර්වලතා අවුලුවාලීම සඳහා මුලදී නිවැරදි ඇල්ගොරිතම වල දෝෂ උත්පාදනය කිරීමට, උදාහරණයක් ලෙස, වෙන් කරන ලද බෆරයේ සීමාවෙන් පිටත ප්රදේශයකට ප්රවේශය සංවිධානය කිරීමට මෙම තාක්ෂණය භාවිතා කළ හැක.
ප්රහාරයක් සිදු කිරීම සඳහා මූලාකෘති කේතය පළ කර ඇත GitHub මත

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

වෝල්ටීයතාව වෙනස් කිරීමෙන්, CPU තුළ මතක සෛලයක් නැවත උත්පාදනය කිරීමට ආරෝපණය ප්‍රමාණවත් නොවන තත්ත්වයන් නිර්මාණය කළ හැකි අතර එහි අගය වෙනස් වේ. ප්රහාරයෙන් ප්රධාන වෙනස රෝහමර් අසල්වැසි සෛල වලින් දත්ත චක්‍රීයව කියවීමෙන් DRAM මතකයේ ඇති තනි බිටු වල අන්තර්ගතය වෙනස් කිරීමට RowHammer ඔබට ඉඩ සලසයි, Plundervolt මඟින් දත්ත ගණනය කිරීම සඳහා මතකයෙන් දැනටමත් පටවා ඇති විට CPU තුළ බිටු වෙනස් කිරීමට ඔබට ඉඩ සලසයි. මතකයේ ඇති අගයන් නිවැරදිව පවතින නමුත් ප්‍රතිඵලය මතකයට ලිවීමට පෙර ඒවා සමඟ ක්‍රියා කිරීමේදී විකෘති කළ හැකි බැවින්, මතකයේ ඇති දත්ත සඳහා SGX හි භාවිතා කරන අඛණ්ඩතා පාලන සහ සංකේතාංකන යාන්ත්‍රණය මඟ හැරීමට මෙම විශේෂාංගය ඔබට ඉඩ සලසයි.

මෙම වෙනස් කරන ලද අගය සංකේතාංකන ක්‍රියාවලියේ ගුණ කිරීමේ ක්‍රියාවලියේදී භාවිතා කරන්නේ නම්, ප්‍රතිදානය වැරදි කේතාංක පෙළකින් ප්‍රතික්ෂේප වේ. එහි දත්ත සංකේතනය කිරීම සඳහා SGX හි හසුරුවන්නෙකු සම්බන්ධ කර ගැනීමේ හැකියාව ඇති, ප්‍රහාරකයෙකුට, අසාර්ථකත්වයන් ඇති කරමින්, ප්‍රතිදාන කේතාංකයේ වෙනස්වීම් පිළිබඳ සංඛ්‍යාලේඛන රැස් කර, විනාඩි කිහිපයකින්, එන්ක්ලේව්හි ගබඩා කර ඇති යතුරේ අගය ප්‍රතිස්ථාපනය කළ හැකිය. මුල් ආදාන පෙළ සහ නිවැරදි ප්‍රතිදාන කේතාංකනය දන්නා අතර, යතුර වෙනස් නොවේ, සහ වැරදි කේතාංකයක ප්‍රතිදානය පෙන්නුම් කරන්නේ යම් බිට් ප්‍රතිවිරුද්ධ අගයට විකෘති වී ඇති බවයි.

අවකල අසාර්ථක විශ්ලේෂණ ක්‍රම (DFA, අවකල දෝෂ විශ්ලේෂණය) පුළුවන් අනාවැකි AES සමමිතික සංකේතනය සඳහා භාවිතා කළ හැකි යතුරු, පසුව විවිධ කට්ටලවල යතුරු වල ඡේදනය විශ්ලේෂණය කිරීමෙන්, අපේක්ෂිත යතුර තීරණය කරන්න.

6 සමඟ Intel Core CPU ඇතුළුව Intel ප්‍රොසෙසරවල විවිධ මාදිලි ගැටලුවට බලපායි
10 වන පරම්පරාව, මෙන්ම Xeon E3 හි පස්වන සහ හයවන පරම්පරාවන්, Intel Xeon Scalable හි පළමු සහ දෙවන පරම්පරාව, Xeon D,
Xeon W සහ Xeon E.

SGX තාක්ෂණය (මෘදුකාංග ආරක්ෂක දිගු) හයවන පරම්පරාවේ Intel Core ප්‍රොසෙසර (Skylake) සහ දීමනා පරිශීලක මට්ටමේ යෙදුම් වලට සංවෘත මතක ප්‍රදේශ වෙන් කිරීමට ඉඩ සලසන උපදෙස් මාලාවක් - enclaves, ring0, SMM සහ VMM මාතයන් තුළ ක්‍රියාත්මක වන කර්නලය සහ කේතය මගින් පවා ඒවායේ අන්තර්ගතය කියවීමට හෝ වෙනස් කිරීමට නොහැක. සාම්ප්‍රදායික ජම්ප් ක්‍රියාකාරකම් සහ රෙජිස්ටර් සහ තොගය සමඟ උපාමාරු භාවිතා කරමින් එන්ක්ලේව් හි ඇති කේතයට පාලනය මාරු කළ නොහැක; පාලනය එන්ක්ලේව් වෙත මාරු කිරීම සඳහා, අධිකාරිය පරීක්ෂාවක් සිදු කරන විශේෂයෙන් නිර්මාණය කරන ලද නව උපදෙස් භාවිතා කරයි. මෙම අවස්ථාවෙහිදී, enclave තුළ තබා ඇති කේතයට enclave තුළ ඇති කාර්යයන් වෙත ප්‍රවේශ වීමට සම්භාව්‍ය ඇමතුම් ක්‍රම සහ බාහිර ශ්‍රිත ඇමතීමට විශේෂ උපදෙස් භාවිතා කළ හැක. DRAM මොඩියුලයකට සම්බන්ධ වීම වැනි දෘඪාංග ප්‍රහාර වලින් ආරක්ෂා වීමට Enclave memory encryption භාවිතා කරයි.

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

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