UEFI ආරක්‍ෂිත ඇරඹුම දුරස්ථව මග හැරීමට උබුන්ටු හි අගුලු දැමීමේ ආරක්ෂාව අක්‍රීය කිරීමේ ක්‍රම

Google වෙතින් Andrey Konovalov ප්රකාශයට පත් ආරක්ෂාව දුරස්ථව අක්‍රිය කිරීමේ ක්‍රමය අගුළු දැමීමUbuntu සමඟ නැව්ගත කරන ලද Linux කර්නල් පැකේජයේ පිරිනමනු ලැබේ (න්‍යායාත්මකව යෝජනා කරන ලද තාක්ෂණික ක්‍රම විය යුතු ය Fedora සහ අනෙකුත් බෙදාහැරීම් වල කර්නලය සමඟ වැඩ කරන්න, නමුත් ඒවා පරීක්ෂා නොකෙරේ).

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

ලොක්ඩවුන් යාන්ත්‍රණය ප්‍රධාන ලිනක්ස් කර්නලයට මෑතකදී එක් කරන ලදී 5.4, නමුත් බෙදාහැරීම් වලදී සපයනු ලබන කර්නල් වල එය තවමත් පැච් ආකාරයෙන් හෝ පැච් සමඟ අතිරේකව ක්රියාත්මක වේ. බෙදාහැරීමේ කට්ටලවල සපයා ඇති ඇඩෝන සහ කර්නලය තුළට ගොඩනගා ඇති ක්‍රියාත්මක කිරීම අතර ඇති එක් වෙනසක් නම් ඔබට පද්ධතියට භෞතික ප්‍රවේශය තිබේ නම් සපයා ඇති අගුලු දැමීම අක්‍රිය කිරීමේ හැකියාවයි.

Ubuntu සහ Fedora වලදී, Lockdown අක්‍රිය කිරීමට Alt+SysRq+X යතුරු සංයෝජනය සපයනු ලැබේ. Alt+SysRq+X සංයෝජනය භාවිතා කළ හැක්කේ උපාංගයට භෞතික ප්‍රවේශය සමඟ පමණක් බව වටහාගෙන ඇති අතර, දුරස්ථව අනවසරයෙන් ඇතුළුවීමේදී සහ root ප්‍රවේශය ලබා ගැනීමේදී, ප්‍රහාරකයාට Lockdown අක්‍රිය කිරීමට සහ, උදාහරණයක් ලෙස, a load කිරීමට නොහැකි වනු ඇත. කර්නලයට ඩිජිටල් ලෙස අත්සන් නොකළ rootkit සහිත මොඩියුලය.

Andrey Konovalov පෙන්වා දුන්නේ පරිශීලකයාගේ භෞතික පැවැත්ම තහවුරු කිරීම සඳහා යතුරුපුවරු මත පදනම් වූ ක්‍රම අකාර්යක්ෂමයි. අගුලු දැමීම අක්‍රිය කිරීමට ඇති සරලම ක්‍රමය වනුයේ ක්‍රමලේඛනාත්මකව ය අනුකරණය Alt+SysRq+X එබීමෙන් /dev/uinput, නමුත් මෙම විකල්පය මුලින් අවහිර කර ඇත. ඒ සමගම Alt+SysRq+X ආදේශ කිරීමේ තවත් ක්‍රම දෙකක්වත් හඳුනා ගැනීමට හැකි විය.

පළමු ක්‍රමයට "sysrq-trigger" අතුරුමුහුණත භාවිතා කිරීම ඇතුළත් වේ - එය අනුකරණය කිරීම සඳහා, "1" /proc/sys/kernel/sysrq වෙත ලිවීමෙන් මෙම අතුරුමුහුණත සක්‍රීය කරන්න, ඉන්පසු /proc/sysrq-trigger වෙත "x" ලියන්න. ලූප කිව්වා ඉවත් කළා දෙසැම්බර් උබුන්ටු කර්නල් යාවත්කාලීනයේදී සහ ෆෙඩෝරා 31 හි. /dev/uinput වලදී මෙන්, සංවර්ධකයින් මුලදී වීම සැලකිය යුතු කරුණකි. РїС ‹С‚Р ° Р» මෙම ක්‍රමය අවහිර කරන්න, නමුත් අවහිර කිරීම නිසා වැඩ කළේ නැත වැරදි කේතය තුළ.

දෙවන ක්‍රමයට යතුරුපුවරු අනුකරණය ඇතුළත් වේ USB/IP පසුව අථත්‍ය යතුරුපුවරුවෙන් Alt+SysRq+X අනුපිළිවෙල යැවීම. Ubuntu සමඟ නැව්ගත කරන ලද USB/IP කර්නලය පෙරනිමියෙන් සක්‍රීය කර ඇත (CONFIG_USBIP_VHCI_HCD=m සහ CONFIG_USBIP_CORE=m) සහ ක්‍රියාත්මක වීමට අවශ්‍ය ඩිජිටල් ලෙස අත්සන් කරන ලද usbip_core සහ vhci_hcd මොඩියුල සපයයි. ප්රහාරකයාට හැකිය සාදන්න අතථ්‍ය USB උපාංගය, දුවනවා loopback අතුරුමුහුණත මත ජාල හසුරුවන්නා සහ USB/IP භාවිතයෙන් දුරස්ථ USB උපාංගයක් ලෙස සම්බන්ධ කිරීම. නිශ්චිත ක්‍රමය ගැන වාර්තා කර ඇත Ubuntu සංවර්ධකයින්ට, නමුත් තවමත් නිවැරදි කිරීමක් නිකුත් කර නොමැත.

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

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