ස්පෙක්ටර් 4 ප්‍රහාර ආරක්ෂණය මග හැරීමට ඉඩ සලසන eBPF හි ඇති දුර්වලතා

Specter v4 ප්‍රහාරයෙන් (SSB, Speculative Store Bypass) ආරක්ෂාව මඟ හැරීමට eBPF උප පද්ධතිය භාවිතා කිරීමට ඉඩ සලසන Linux කර්නලයේ දුර්වලතා දෙකක් හඳුනාගෙන ඇත. වරප්‍රසාද නොලත් BPF වැඩසටහනක් භාවිතා කරමින්, ප්‍රහාරකයෙකුට යම් යම් මෙහෙයුම් සමපේක්ෂන ලෙස ක්‍රියාත්මක කිරීම සඳහා කොන්දේසි නිර්මානය කළ හැකි අතර කර්නල් මතකයේ අත්තනෝමතික ප්‍රදේශ වල අන්තර්ගතය තීරණය කළ හැකිය. කර්නලයේ eBPF උප පද්ධති නඩත්තු කරන්නන්ට ප්‍රායෝගිකව ප්‍රහාර එල්ල කිරීමේ හැකියාව පෙන්නුම් කරන මූලාකෘති සූරාකෑමකට ප්‍රවේශය ලැබුණි. ගැටළු පැච් (1, 2) ආකාරයෙන් නිරාකරණය කර ඇත, එය ඊළඟ ලිනක්ස් කර්නල් යාවත්කාලීනයට ඇතුළත් වේ. බෙදාහැරීමේ කට්ටලවල යාවත්කාලීන කිරීම් තවමත් නිර්මාණය කර නොමැත (Debian, RHEL, SUSE, Arch, Fedora, Ubuntu).

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

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

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

දෙවන අවදානමට (CVE-2021-3455) හේතු වී ඇත්තේ BPF සත්‍යාපකය අනතුරුදායක මතක සුරැකීමේ මෙහෙයුම් හඳුනා ගන්නා විට, එය BPF තොගයේ ආරම්භ නොකළ ප්‍රදේශ සැලකිල්ලට නොගැනීමයි, එය ආරක්ෂා කර නොමැති පළමු ලිවීමේ මෙහෙයුමයි. මෙම විශේෂාංගය ගබඩා උපදෙස් ක්‍රියාත්මක කිරීමට පෙර, ආරම්භ නොකළ මතක ප්‍රදේශයක් මත රඳා පවතින සමපේක්ෂන කියවීමේ මෙහෙයුමක් සිදු කිරීමේ හැකියාව ඇති කරයි. BPF තොගය සඳහා නව මතකය වෙන් කරනු ලබන්නේ දැනටමත් වෙන් කර ඇති මතකයේ ඇති අන්තර්ගතය පරීක්ෂා නොකර, BPF වැඩසටහන ක්‍රියාත්මක වීමට පෙර BPF තොගය සඳහා වෙන් කෙරෙන මතක කලාපයේ අන්තර්ගතය හැසිරවීමට මගක් ඇත.

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

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