ලිනක්ස් කර්නලයේ ඇති දුර්වලතා සූරාකෑමෙන් ආරක්ෂා වීමට LKRG 0.8 මොඩියුලය නිකුත් කිරීම

Openwall ව්යාපෘතිය ප්රකාශයට පත් කර්නල් මොඩියුල නිකුතුව LKRG 0.8 (Linux Kernel Runtime Guard), ප්‍රහාර සහ කර්නල් ව්‍යුහවල අඛණ්ඩතාව උල්ලංඝනය කිරීම් හඳුනා ගැනීමට සහ අවහිර කිරීමට නිර්මාණය කර ඇත. උදාහරණයක් ලෙස, මොඩියුලයට ධාවනය වන කර්නලයේ අනවසර වෙනස්කම් වලින් ආරක්ෂා විය හැකි අතර පරිශීලක ක්‍රියාවලීන්ගේ අවසර වෙනස් කිරීමට උත්සාහ කරයි (සූරාකෑම් භාවිතය හඳුනා ගැනීම). මොඩියුලය ලිනක්ස් කර්නලය සඳහා දැනටමත් දන්නා සූරාකෑම් වලට එරෙහිව ආරක්ෂාව සංවිධානය කිරීම සඳහා (උදාහරණයක් ලෙස, පද්ධතිය තුළ කර්නලය යාවත්කාලීන කිරීමට අපහසු අවස්ථාවන්හිදී) සහ තවමත් නොදන්නා දුර්වලතා සඳහා සූරාකෑමට එරෙහිව සටන් කිරීමට සුදුසු වේ. ව්යාපෘති කේතය විසින් බෙදා හරිනු ලැබේ GPLv2 යටතේ බලපත්‍ර ලබා ඇත.

නව අනුවාදයේ වෙනස්කම් අතර:

  • LKRG ව්‍යාපෘතියේ ස්ථානගත කිරීම වෙනස් කර ඇති අතර, එය තවදුරටත් අඛණ්ඩතාව පරීක්ෂා කිරීම සහ සූරාකෑම් භාවිතය තීරණය කිරීම සඳහා වෙනම උප පද්ධතිවලට බෙදී නැත, නමුත් ප්‍රහාර සහ විවිධ අඛණ්ඩතාව උල්ලංඝනය කිරීම් හඳුනාගැනීම සඳහා සම්පූර්ණ නිෂ්පාදනයක් ලෙස ඉදිරිපත් කෙරේ;
  • CONFIG_USB සහ CONFIG_STACKTRACE විකල්ප නොමැතිව හෝ CONFIG_UNWINDER_ORC විකල්පය සමඟ මෙන්ම, ක්‍රියාකාරී නොවන LKGR කර්නල් නොමැති නම්, 5.3 සිට 5.7 දක්වා Linux කර්නල් සමඟ මෙන්ම, ආක්‍රමණශීලී GCC ප්‍රශස්තිකරණයන් සමඟින් සම්පාදනය කරන ලද කර්නල් සමඟ ගැළපුම සපයනු ලැබේ. බෙදා හරිනු ලැබේ;
  • ගොඩනඟන විට, නොපැහැදිලි බිඳවැටීම් වෙනුවට අර්ථවත් දෝෂ පණිවිඩ උත්පාදනය කිරීමට සමහර අනිවාර්ය CONFIG_* කර්නල් සැකසුම් පරීක්ෂා කරනු ලැබේ;
  • ස්ටෑන්ඩ්බයි (ACPI S3, RAM වෙත අත්හිටුවීම) සහ නින්ද (S4, තැටියට අත්හිටුවීම) මාතයන් සඳහා සහය එකතු කරන ලදි;
  • Makefile වෙත DKMS සහාය එක් කරන ලදී;
  • 32-bit ARM වේදිකා සඳහා පර්යේෂණාත්මක සහය ක්‍රියාත්මක කර ඇත (Raspberry Pi 3 Model B මත පරීක්ෂා කර ඇත). Raspberry Pi 64 පුවරුව සමඟ ගැළපීම ලබා දීම සඳහා පෙර පැවති AArch64 (ARM4) සහාය පුළුල් කර ඇත;
  • හසුරුවන සූරාකෑම් වඩා හොඳින් හඳුනා ගැනීමට හැකියාව ඇති() ඇමතුම් හසුරුවන්නක් ඇතුළුව නව කොකු එකතු කර ඇත.හැකියාවන්", ක්‍රියාවලි හැඳුනුම්පත් නොවේ (අක්තපත්ර);
  • නාමඅවකාශ සීමාවන් මග හැරීමේ උත්සාහයන් හඳුනා ගැනීම සඳහා නව තර්කනය යෝජනා කර ඇත (උදාහරණයක් ලෙස, ඩොකර් බහාලුම් වලින්);
  • x86-64 පද්ධති මත, SMAP (අධීක්ෂක මාදිලියේ ප්‍රවේශ වැළැක්වීම) බිට් පරීක්ෂා කර යොදනු ලැබේ, කර්නල් මට්ටමින් ක්‍රියාත්මක වන වරප්‍රසාදිත කේතයෙන් පරිශීලක අවකාශ දත්ත වෙත ප්‍රවේශය අවහිර කිරීමට සැලසුම් කර ඇත. SMEP (අධීක්ෂක මාදිලියේ ක්‍රියාත්මක කිරීම වැළැක්වීම) ආරක්ෂාව මීට පෙර ක්‍රියාත්මක කරන ලදී;
  • මෙහෙයුම් අතරතුර, LKRG සැකසුම් සාමාන්‍යයෙන් කියවීමට පමණක් ඇති මතක පිටුවක තබා ඇත;
  • ප්‍රහාර සඳහා වඩාත් ප්‍රයෝජනවත් විය හැකි තොරතුරු ලොග් කිරීම (උදාහරණයක් ලෙස, කර්නලයේ ලිපින පිළිබඳ තොරතුරු) දෝශ නිරාකරණ ප්‍රකාරයට (log_level=4 සහ ඉහළ) සීමා වේ, එය පෙරනිමියෙන් අබල කර ඇත.
  • ක්‍රියාවලි ලුහුබැඳීමේ දත්ත සමුදායේ පරිමාණය වැඩි කර ඇත - එක් ස්පින්ලොක් එකකින් ආරක්‍ෂිත එක් RB ගසක් වෙනුවට, 512 RB ගස් 512 කියවීමට-ලියන අගුල් වලින් ආරක්ෂා කරන ලද හැෂ් වගුවක් භාවිතා කෙරේ;
  • ක්‍රියාවලි හඳුනාගැනීම් වල අඛණ්ඩතාව බොහෝ විට පරීක්ෂා කරනු ලබන්නේ වත්මන් කාර්යය සඳහා පමණක් වන අතර විකල්ප වශයෙන් සක්‍රිය (අවදි වීම) කාර්යයන් සඳහාද ප්‍රකාරයක් ක්‍රියාත්මක කර පෙරනිමියෙන් සක්‍රීය කර ඇත. LKRG මගින් පාලනය වන කර්නල් API වෙත ප්‍රවේශ නොවී නිද්‍රා තත්ත්වයක පවතින හෝ ක්‍රියා කරන වෙනත් කාර්යයන් සඳහා, චෙක්පත අඩුවෙන් සිදු කෙරේ.
  • LKRG සියුම්ව සුසර කිරීම සඳහා නව sysctl සහ මොඩියුල පරාමිතීන් එකතු කරන ලදී, සංවර්ධකයින් විසින් සකස් කරන ලද සියුම්-සුසර කිරීමේ සිටුවම් (පැතිකඩ) කට්ටලවලින් තේරීමෙන් සරල වින්‍යාසය සඳහා sysctl දෙකක් ද එකතු කරන ලදී;
  • එක් අතකින් උල්ලංඝනයන් හඳුනාගැනීමේ වේගය සහ ප්‍රතිචාරයේ සඵලතාවය අතර වඩාත් සමතුලිත සමතුලිතතාවයක් ලබා ගැනීම සඳහා පෙරනිමි සැකසුම් වෙනස් කර ඇත, අනෙක් පැත්තෙන් කාර්ය සාධනය මත බලපෑම සහ ව්‍යාජ ධනාත්මක අවදානම්;
  • ආරම්භයේදීම LKRG මොඩියුලය පූරණය කිරීමට systemd ඒකක ගොනුව ප්‍රතිනිර්මාණය කර ඇත (මොඩියුලය අක්‍රිය කිරීමට කර්නල් විධාන රේඛා විකල්පය භාවිතා කළ හැක);

නව නිකුතුවේ යෝජිත ප්‍රශස්තකරණයන් සැලකිල්ලට ගනිමින්, LKRG 0.8 භාවිතා කරන විට කාර්ය සාධනය අඩු කිරීම පෙරනිමි මාදිලියේ ("බර") 2.5% සහ ආලෝක මාදිලියේ ("ආලෝකය") 2% ලෙස ගණන් බලා ඇත.

පසුගියදා පැවති උත්සවයකදී පර්යේෂණ රූට්කිට් LKRG හඳුනාගැනීම සඳහා පැකේජ වල සඵලතාවය පෙන්නුවා හොඳම ප්‍රතිඵලය, ව්‍යාජ පොසිටිව් නොමැතිව කර්නල් මට්ටමින් ක්‍රියා කරන පරීක්‍ෂා කරන ලද රූට්කිට් 8න් 9ක් හඳුනාගැනීම (රූට්කිට් ඩයමොෆින්, හනී පොට් බෙයර්ස්, ලිලිඕෆ් දෙව්ලි, නුක් 3 ජීඑච්0st, පුස්සෙක්, උරග, රූට්ෆූ ලිනක්ස් රූට්කිට් සහ සුටෙක් හඳුනාගෙන ඇත, නමුත් එය අන්‍යභාෂක වේ. මොඩියුලය, Keylogger එකකින් මඟ හැරී ඇත, වචනාර්ථයෙන් rootkit නොවේ). සංසන්දනය කිරීම සඳහා, AIDE, OSSEC සහ Rootkit Hunter පැකේජ රූට්කිට් 2 න් 9 ක් අනාවරණය කරගත් අතර Chkrootkit කිසිවක් අනාවරණය කර ගත්තේ නැත. ඒ අතරම, පරිශීලක අවකාශයේ පිහිටා ඇති රූට්කිට් හඳුනා ගැනීමට LKRG සහාය නොදක්වයි, එබැවින් AIDE සහ LKRG සංයෝජනයක් භාවිතා කරන විට විශාලතම කාර්යක්ෂමතාව ලබා ගත හැකි අතර එමඟින් සියලු වර්ගවල රූට්කිට් 14 න් 15 ක් හඳුනා ගැනීමට හැකි විය.

අතිරේකව, බෙදාහැරීමේ සංවර්ධකයා බව සටහන් කළ හැකිය වොනික්ස් ආරම්භ කළා හැඩගැන්වීම Debian, Whonix, Qubes සහ Kicksecure සඳහා DKMS සමඟ සූදානම් කළ පැකේජ සහ පැකේජයක් සඳහා ආෆ්ට් ලිනක්ස් දැනටමත් 0.8 අනුවාදයට යාවත්කාලීන කර ඇත. LKRG සමඟ පැකේජ රුසියානු භාෂාවෙන් ද තිබේ ALT ලිනක්ස් и ඇස්ට්‍රා ලිනක්ස්.

LKRG හි අඛණ්ඩතාව පරීක්ෂා කිරීම සිදු කරනු ලබන්නේ කර්නලයේ සහ මොඩියුලවල සත්‍ය කේතය සහ දත්ත, සමහර වැදගත් දත්ත ව්‍යුහයන් සහ CPU සැකසුම් ගබඩා කර ඇති හැෂ් හෝ අනුරූප මතක ප්‍රදේශ, දත්ත ව්‍යුහයන් හෝ රෙජිස්ටර් වල පිටපත් සමඟ සංසන්දනය කිරීමෙනි. චෙක්පත් කාලානුරූපව සහ විවිධ සිදුවීම් සිදු වූ විට වරින් වර ක්‍රියාත්මක වේ.

සූරාකෑමේ හැකි භාවිතය තීරණය කිරීම සහ ප්‍රහාර අවහිර කිරීම කර්නලය සම්පත් වෙත ප්‍රවේශය ලබා දීමට පෙර (උදාහරණයක් ලෙස, ගොනුවක් විවෘත කිරීමට පෙර) අදියරේදී සිදු කරනු ලැබේ, නමුත් ක්‍රියාවලියට අනවසර අවසර ලැබුණු පසු (උදාහරණයක් ලෙස, UID වෙනස් කිරීම). අනවසර හැසිරීම් අනාවරණය වූ විට, ක්රියාවලීන් පෙරනිමියෙන් අවසන් කිරීමට බල කෙරෙයි, එය බොහෝ සූරාකෑම් අවහිර කිරීමට ප්රමාණවත් වේ.

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

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