Linux 5.4 කර්නලයට කර්නල් අභ්‍යන්තරයට root ප්‍රවේශය සීමා කිරීමට පැච් ලැබී ඇත.

ලිනස් ටොවල්ඩ්ස් ප්‍රින්යාල් ලිනක්ස් 5.4 කර්නලයේ ඉදිරි නිකුතුවට ඇතුළත් කර ඇත්තේ පැච් කට්ටලයකි "අගුළු දැමීම", යෝජනා කළා ඩේවිඩ් හොවෙල්ස් (රතු හැට්) සහ මැතිව් ගැරට් (මැතිව් ගැරට්, Google හි ක්‍රියා කරයි) කර්නලයට root පරිශීලක ප්‍රවේශය සීමා කිරීමට. අගුලු දැමීම සම්බන්ධ ක්‍රියාකාරීත්වය විකල්ප වශයෙන් පටවන ලද LSM මොඩියුලයක ඇතුළත් වේ (Linux ආරක්ෂක මොඩියුලය), එය UID 0 සහ කර්නලය අතර බාධකයක් තබයි, ඇතැම් පහත් මට්ටමේ ක්‍රියාකාරීත්වය සීමා කරයි.

ප්‍රහාරකයෙකු මූල අයිතිවාසිකම් සමඟ කේත ක්‍රියාත්මක කිරීම සාක්ෂාත් කර ගන්නේ නම්, ඔහුට ඔහුගේ කේතය කර්නල් මට්ටමින් ක්‍රියාත්මක කළ හැකිය, උදාහරණයක් ලෙස, kexec භාවිතයෙන් කර්නලය ප්‍රතිස්ථාපනය කිරීමෙන් හෝ /dev/kmem හරහා මතකය කියවීම/ ලිවීමෙන්. එවැනි ක්රියාකාරිත්වයේ වඩාත්ම පැහැදිලි ප්රතිවිපාකය විය හැකිය හැරවීම UEFI Secure Boot හෝ කර්නල් මට්ටමින් ගබඩා කර ඇති සංවේදී දත්ත ලබා ගැනීම.

මුලදී, සත්‍යාපිත ඇරඹුම් වල ආරක්ෂාව ශක්තිමත් කිරීමේ සන්දර්භය තුළ root සීමා කිරීමේ ක්‍රියාකාරකම් වර්ධනය කරන ලද අතර, UEFI Secure Boot හි බයිපාස් අවහිර කිරීම සඳහා බෙදාහැරීම් තෙවන පාර්ශවීය පැච් භාවිතා කර ඇත. ඒ සමගම, එවැනි සීමා කිරීම් හේතුවෙන් කර්නලයේ ප්රධාන සංයුතියට ඇතුළත් කර නොමැත එකඟ නොවීම් ඒවා ක්‍රියාත්මක කිරීමේදී සහ පවතින පද්ධතිවලට බාධා ඇති වේ යැයි බියෙන්. "lockdown" මොඩියුලය දැනටමත් බෙදාහැරීම්වල භාවිතා කර ඇති පැච් අවශෝෂණය කර ඇති අතර, ඒවා UEFI Secure Boot සමඟ සම්බන්ධ නොවූ වෙනම උප පද්ධතියක ආකාරයෙන් ප්‍රතිනිර්මාණය කර ඇත.

අගුලු දැමීමේ මාදිලිය /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug mode, mmiotrace, tracefs, BPF, PCMCIA CIS (කාඩ් තොරතුරු ව්‍යුහය), සමහර ACPI අතුරුමුහුණත් සහ CPU වෙත ප්‍රවේශය සීමා කරයි. MSR රෙජිස්ටර්, kexec_file සහ kexec_load ඇමතුම් අවහිර කර ඇත, නින්ද ප්‍රකාරය තහනම් කර ඇත, PCI උපාංග සඳහා DMA භාවිතය සීමා කර ඇත, EFI විචල්‍ය වලින් ACPI කේත ආයාත කිරීම තහනම්ය,
අනුක්‍රමික වරාය සඳහා බාධා අංකය සහ I/O තොට වෙනස් කිරීම ඇතුළුව, I/O ports සමඟ හැසිරවීමට ඉඩ නොදේ.

පෙරනිමියෙන්, අගුලු දැමීමේ මොඩියුලය සක්‍රිය නොවේ, එය ගොඩනගනු ලබන්නේ SECURITY_LOCKDOWN_LSM විකල්පය kconfig හි සඳහන් කර ඇති අතර "lockdown=", පාලන ගොනුව "/sys/kernel/security/lockdown" හෝ එකලස් කිරීමේ විකල්ප හරහා කර්නල් පරාමිතිය හරහා සක්‍රිය කර ඇත. LOCK_DOWN_KERNEL_FORCE_*, "අඛණ්ඩතාවය" සහ "රහස්‍යභාවය" යන අගයන් ගත හැක. පළමු අවස්ථාවේ දී, පරිශීලක අවකාශයේ සිට ධාවනය වන කර්නලයට වෙනස්කම් සිදු කිරීමට ඉඩ සලසන විශේෂාංග අවහිර කර ඇති අතර, දෙවන අවස්ථාවෙහිදී, කර්නලයෙන් සංවේදී තොරතුරු උකහා ගැනීමට භාවිතා කළ හැකි ක්‍රියාකාරීත්වය ද අක්‍රීය වේ.

අගුලු දැමීම මගින් කර්නලයට සම්මත ප්‍රවේශය පමණක් සීමා කරන බව සැලකිල්ලට ගැනීම වැදගත්ය, නමුත් අවදානම් සූරාකෑමේ ප්‍රතිඵලයක් ලෙස වෙනස් කිරීම් වලින් ආරක්ෂා නොවේ. Openwall ව්‍යාපෘතිය මගින් සූරාකෑම් භාවිතා කරන විට ධාවන කර්නලයට සිදුවන වෙනස්කම් අවහිර කිරීමට වර්ධනය වේ වෙනම මොඩියුලය LKRG (Linux Kernel Runtime Guard).

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

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