ස්පෙක්ටර් ප්‍රහාරයන්ට එරෙහිව ආරක්ෂාව මඟ හැරීමට ඉඩ සලසන eBPF උප පද්ධතියේ ඇති දුර්වලතා

Linux kernel (CVE-2021-33624) හි අවදානමක් හඳුනාගෙන ඇති අතර එමඟින් ස්පෙක්ටර් පන්තියේ දුර්වලතා වලට එරෙහිව ආරක්ෂාව මඟ හැරීමට eBPF උප පද්ධතිය භාවිතා කිරීමට ඉඩ සලසයි, එමඟින් මතකයේ අන්තර්ගතය තීරණය කිරීමට හැකි වේ ඇතැම් මෙහෙයුම් සමපේක්ෂන ලෙස ක්රියාත්මක කිරීම. ස්පෙක්ටර් ප්‍රහාරය සඳහා උපදෙස් අනුමාන ක්‍රියාත්මක කිරීමට තුඩු දෙන වරප්‍රසාදිත කේතයේ යම් විධාන මාලාවක් තිබීම අවශ්‍ය වේ. ක්‍රියාත්මක කිරීම සඳහා සම්ප්‍රේෂණය කරන ලද BPF වැඩසටහන් හැසිරවීමෙන්, eBPF හි සමාන උපදෙස් ජනනය කිරීමටත්, කර්නල් මතකයේ අන්තර්ගතය සහ පැති නාලිකා හරහා භෞතික මතකයේ අත්තනෝමතික ප්‍රදේශ කාන්දු කිරීමටත් හැකි වේ.

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

කර්නලය 4.15 නිකුත් කිරීමෙන් පසු ගැටළුව දිස්වන අතර එය පැච් ආකාරයෙන් විසඳා ඇත (1, 2, 3, 4). බෙදාහැරීම්වල (Debian, RHEL, Ubuntu, Fedora, SUSE, Arch) අවදානම නොවිසඳී පවතී.

අතිරේකව, ඔබට ස්පෙක්ටර් අවදානම් වලින් ආරක්ෂා වීමට මෙවලම්වල කාර්ය සාධන බලපෑම පිළිබඳ සටහන සටහන් කළ හැක. සටහන ෆයර්ෆොක්ස් හි නැවත නැවත කිරීමට අපහසු දෝෂ නිදොස් කිරීම සඳහා Mozilla හි වරක් නිර්මාණය කරන ලද rr (වාර්තා සහ නැවත ධාවනය) නිදොස්කරණයේ ප්‍රශස්තකරණයේ ප්‍රතිඵල සාරාංශ කරයි. නාමාවලි වල පැවැත්ම පරීක්ෂා කිරීම සඳහා භාවිතා කරන පද්ධති ඇමතුම් හැඹිලිගත කිරීම මගින් පරීක්ෂණ ව්‍යාපෘතිය සඳහා "rr මූලාශ්‍ර" මෙහෙයුම විනාඩි 3 තත්පර 19 සිට තත්පර 36 දක්වා අඩු කරන ලදී.

ප්‍රශස්තිකරණ කතුවරයා ස්පෙක්ටර් ආරක්ෂාව අක්‍රිය කිරීමෙන් පසු කාර්ය සාධනය වෙනස් වන්නේ කෙසේදැයි පරීක්ෂා කිරීමට තීරණය කළේය. “mitigations=off” පරාමිතිය සමඟ පද්ධතිය ආරම්භ කිරීමෙන් පසුව, ප්‍රශස්තකරණයකින් තොරව “rr මූලාශ්‍ර” ක්‍රියාත්මක කිරීමේ කාලය මිනිත්තු 2 තත්පර 5 (1.6 ගුණයකින් වේගවත්), සහ ප්‍රශස්තිකරණය සමඟ එය තත්පර 33 (9% වේගවත්) විය. සිත්ගන්නා කරුණ නම්, ස්පෙක්ටර් ආරක්ෂණය අක්‍රිය කිරීමෙන් කර්නල් මට්ටමේ කේත ක්‍රියාත්මක කිරීමේ කාලය 1.4 ගුණයකින් (2m9s සිට 1m32s දක්වා) අඩු කළා පමණක් නොව, පරිශීලක අවකාශයේ ක්‍රියාත්මක කිරීමේ කාලය අඩකින් අඩු කිරීම (1m9s සිට 0m33s දක්වා), අනුමාන වශයෙන් අඩු වූ කාර්යක්ෂමතාව CPU හැඹිලි ක්‍රියාකාරිත්වය සහ TLB නිසා විය හැක. ස්පෙක්ටර් ආරක්ෂණය සබල කර ඇති විට නැවත සකසයි.

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

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