සේවාදායකයේ මතක කොටස් දුරස්ථව තීරණය කිරීමට ප්‍රහාරක ක්‍රමයක් යෝජනා කර ඇත

MDS, NetSpectre, Throwhammer සහ ZombieLoad ප්‍රහාර සංවර්ධනය කිරීම සඳහා කලින් ප්‍රසිද්ධ Graz (Oustria) හි තාක්ෂණික විශ්ව විද්‍යාලයේ පර්යේෂකයන් පිරිසක්, Memory-Deduplication යාන්ත්‍රණයට එරෙහිව නව පැති-නාලිකා ප්‍රහාරක ක්‍රමයක් (CVE-2021-3714) ප්‍රකාශයට පත් කර ඇත. , යම් දත්තවල මතකයේ පැවැත්ම තීරණය කිරීමට, මතකයේ අන්තර්ගත බයිට්-බයිට් කාන්දුවක් සංවිධානය කිරීමට හෝ ලිපින පදනම් සසම්භාවීකරණය (ASLR) ආරක්ෂාව මඟ හැරීමට මතක පිරිසැලසුම තීරණය කිරීමට ඉඩ සලසයි. HTTP/1 සහ HTTP/2 ප්‍රොටෝකෝල හරහා ප්‍රහාරකයා වෙත යවන ලද ඉල්ලීම් වලට ප්‍රතිචාර දැක්වීමේ වේලාව වෙනස් කිරීම නිර්ණායකයක් ලෙස භාවිතා කරමින් බාහිර ධාරකයෙකුගෙන් ප්‍රහාරයක් සිදු කිරීමෙන් නව ක්‍රමය කලින් පෙන්නුම් කළ ප්‍රහාරවල ප්‍රභේදයන්ගෙන් වෙනස් වේ. ලිනක්ස් සහ වින්ඩෝස් මත පදනම් වූ සේවාදායකයන් සඳහා ප්‍රහාරය සිදු කිරීමේ හැකියාව පෙන්නුම් කර ඇත.

මතක අඩුකිරීමේ යාන්ත්‍රණයට එල්ල වන ප්‍රහාර, දත්තවල වෙනස් වීමක් Copy-On-Write (COW) යාන්ත්‍රණය භාවිතයෙන් ප්‍රබල මතක පිටුවක් ක්ලෝන කිරීමට තුඩු දෙන අවස්ථාවන්හිදී තොරතුරු කාන්දු කිරීමට නාලිකාවක් ලෙස ලිවීමේ මෙහෙයුමක සැකසුම් කාලයෙහි වෙනස භාවිතා කරයි. . ක්‍රියාත්මක වන විට, කර්නලය විවිධ ක්‍රියාවලි වලින් එක සමාන මතක පිටු හඳුනාගෙන ඒවා ඒකාබද්ධ කරයි, එක් පිටපතක් පමණක් ගබඩා කිරීම සඳහා භෞතික මතකයේ තනි ප්‍රදේශයකට සමාන මතක පිටු සිතියම්ගත කරයි. එක් ක්‍රියාවලියක් deflicated පිටු හා සම්බන්ධ දත්ත වෙනස් කිරීමට උත්සාහ කරන විට, ව්‍යතිරේකයක් (පිටු දෝෂයක්) සිදු වන අතර, පිටපත්-මත-ලිවීමේ යාන්ත්‍රණය භාවිතයෙන්, මතක පිටුවේ වෙනම පිටපතක් ස්වයංක්‍රීයව සාදනු ලැබේ, එය ක්‍රියාවලියට පවරා ඇත. පිටපත සම්පූර්ණ කිරීම සඳහා අමතර කාලයක් වැය වේ, එය වෙනත් ක්‍රියාවලියකට බාධා කරන දත්ත වෙනස්වීම්වල ලකුණක් විය හැකිය.

පර්යේෂකයන් පෙන්වා දී ඇත්තේ COW යාන්ත්‍රණයෙන් ඇති වන ප්‍රමාදයන් දේශීයව පමණක් නොව, ජාලය හරහා ප්‍රතිචාර දැක්වීමේ වේලාවන්හි වෙනස්කම් විශ්ලේෂණය කිරීමෙන්ද ග්‍රහණය කර ගත හැකි බවයි. HTTP/1 සහ HTTP/2 ප්‍රොටෝකෝල හරහා ඉල්ලීම් ක්‍රියාත්මක කිරීමේ කාලය විශ්ලේෂණය කිරීමෙන් දුරස්ථ ධාරකයකින් මතකයේ අන්තර්ගතය තීරණය කිරීම සඳහා ක්‍රම කිහිපයක් යෝජනා කර ඇත. තෝරාගත් සැකිලි සුරැකීමට, ඉල්ලීම්වල ලැබුණු තොරතුරු මතකයේ ගබඩා කරන සම්මත වෙබ් යෙදුම් භාවිතා කරයි.

ප්‍රහාරයේ සාමාන්‍ය මූලධර්මය වන්නේ සේවාදායකයේ දැනටමත් පවතින මතක පිටුවක අන්තර්ගතය පුනරාවර්තනය කළ හැකි දත්ත සමඟ සේවාදායකයේ මතක පිටුවක් පිරවීමයි. ප්‍රහාරකයා පසුව කර්නලයට මතක පිටුව අනුපිටපත් කිරීමට සහ ඒකාබද්ධ කිරීමට අවශ්‍ය කාලය එනතෙක් බලා සිටී, ඉන්පසු පාලිත අනුපිටපත් දත්ත වෙනස් කර පහර සාර්ථක දැයි තීරණය කිරීමට ප්‍රතිචාර කාලය ඇගයීමට ලක් කරයි.

සේවාදායකයේ මතක කොටස් දුරස්ථව තීරණය කිරීමට ප්‍රහාරක ක්‍රමයක් යෝජනා කර ඇත

අත්හදා බැලීම් අතරතුර, ගෝලීය ජාලයක් හරහා ප්‍රහාර එල්ල කිරීමේදී උපරිම තොරතුරු කාන්දු වීමේ අනුපාතය පැයකට බයිට් 34.41 ක් වූ අතර දේශීය ජාලයක් හරහා ප්‍රහාර එල්ල කරන විට පැයකට බයිට් 302.16 ක් වූ අතර එය තෙවන පාර්ශවීය නාලිකා හරහා දත්ත උකහා ගැනීමේ වෙනත් ක්‍රමවලට වඩා වේගවත් වේ (උදාහරණයක් ලෙස, NetSpectre ප්‍රහාරයකදී, දත්ත හුවමාරු අනුපාතය පැයකට බයිට් 7.5 කි).

ක්රියාකාරී ප්රහාර විකල්ප තුනක් යෝජනා කර ඇත. පළමු විකල්පය Memcached භාවිතා කරන වෙබ් සේවාදායකයේ මතකයේ දත්ත තීරණය කිරීමට ඔබට ඉඩ සලසයි. මෙම ප්‍රහාරය සමහර දත්ත කට්ටල Memcached ගබඩාවට පැටවීම, duplicated block ඉවත් කිරීම, එම මූලද්‍රව්‍යය නැවත ලිවීම සහ Block එකේ අන්තර්ගතය වෙනස් කිරීම මගින් COW පිටපත් කිරීම සඳහා කොන්දේසියක් නිර්මාණය කිරීම දක්වා පහත වැටේ. Memcached සමඟ අත්හදා බැලීමේදී, අථත්‍ය යන්ත්‍රයක ක්‍රියාත්මක වන පද්ධතියක ස්ථාපනය කර ඇති libc අනුවාදය තත්පර 166.51 කින් තීරණය කිරීමට හැකි විය.

දෙවන විකල්පය මඟින් InnoDB ආචයනය භාවිතා කරන විට, බයිට් මගින් අන්තර්ගතය ප්‍රතිනිර්මාණය කිරීමෙන් MariaDB DBMS හි වාර්තා වල අන්තර්ගතය සොයා ගැනීමට හැකි විය. ප්‍රහාරය සිදු කරනු ලබන්නේ විශේෂයෙන් වෙනස් කරන ලද ඉල්ලීම් යැවීමෙන්, මතක පිටු වල තනි-බයිට නොගැලපීම් සහ බයිටයේ අන්තර්ගතය පිළිබඳ අනුමානය නිවැරදි බව තීරණය කිරීම සඳහා ප්‍රතිචාර කාලය විශ්ලේෂණය කිරීමෙනි. එවැනි කාන්දු වීමේ වේගය අඩු වන අතර දේශීය ජාලයකින් පහර දෙන විට පැයකට බයිට් 1.5 ක් පමණ වේ. ක්‍රමයේ ඇති වාසිය නම් නොදන්නා මතක අන්තර්ගතයන් නැවත ලබා ගැනීමට එය භාවිතා කළ හැකි වීමයි.

තුන්වන විකල්පය මඟින් මිනිත්තු 4 කින් KASLR ආරක්ෂණ යාන්ත්‍රණය සම්පූර්ණයෙන් මඟහැර අථත්‍ය යන්ත්‍ර කර්නල රූපයේ මතක ඕෆ්සෙට් පිළිබඳ තොරතුරු ලබා ගැනීමට හැකි විය, ඕෆ්සෙට් ලිපිනය වෙනත් දත්ත වෙනස් නොවන මතක පිටුවක ඇති තත්වයක් තුළ. ප්‍රහාරය එල්ල කර ඇත්තේ ප්‍රහාරයට ලක් වූ පද්ධතියෙන් හොප් 14 ක් පිහිටා ඇති සත්කාරකයකුගෙනි. ඉදිරිපත් කරන ලද ප්‍රහාර ක්‍රියාත්මක කිරීම සඳහා කේත උදාහරණ GitHub හි ප්‍රකාශයට පත් කිරීමට පොරොන්දු වේ.

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

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