安德烈·科諾瓦洛夫(Google) 遠程禁用保護的方法 核心包中提供 Linux提供 Ubuntu (理論上提出的方法) 與 Fedora 和其他發行版的內核一起工作,但這些尚未經過測試)。
鎖定限制 root 用戶對內核的訪問並阻止 UEFI 安全啟動旁路路徑。 例如,鎖定模式限制對/dev/mem、/dev/kmem、/dev/port、/proc/kcore、debugfs、kprobes 調試模式、mmiotrace、tracefs、BPF、PCMCIA CIS(卡信息結構)、某些接口的訪問CPU 的 ACPI 和 MSR 寄存器、對 kexec_file 和 kexec_load 的調用被阻止、禁止轉換到睡眠模式、PCI 設備的 DMA 使用受到限制、禁止從 EFI 變量導入 ACPI 代碼、I/O 操作不允許更改端口,包括更改中斷號和串行端口的I/O 端口。
鎖定機制最近已添加到核心內核中。 Linux ,但它仍然以補丁的形式實現,或者在發行版提供的內核中補充補丁。 發行版中提供的附加組件與內核中內置的實現之間的區別之一是,當對系統進行物理訪問時,能夠禁用所提供的鎖。
В Ubuntu 在 Fedora 系統中,可以使用 Alt+SysRq+X 組合鍵來停用 Lockdown 功能。此組合鍵僅供物理接觸設備時使用。即使攻擊者遠端入侵並獲得了 root 權限,也無法停用 Lockdown,例如,無法將未簽署的 rootkit 模組載入到核心中。
安德烈·科諾瓦洛夫 (Andrey Konovalov) 表明,基於鍵盤的確認用戶實際存在的方法效率低下。 禁用鎖定的最簡單方法是以編程方式 通過 /dev/uinput 按 Alt+SysRq+X,但默認情況下禁用此選項。 同時,我們設法找到至少另外兩種替代 Alt + SysRq + X 的方法。
第一種方法涉及使用“sysrq-trigger”接口- 為了進行模擬,只需將“1”寫入/proc/sys/kernel/sysrq,然後將“x”寫入/proc/sysrq即可啟用該接口-扳機。 指定漏洞 在 12 月的核心更新中 Ubuntu 在 Fedora 31 也是如此。值得注意的是,開發者們最初就像 /dev/uinput 的情況一樣, 阻止給定方法,但阻止不起作用,因為 在代碼中。
第二種方法與鍵盤模擬有關 然後透過虛擬鍵盤發送 Alt+SysRq+X 序列。在提供的 Ubuntu 預設啟用 USB/IP 核心(CONFIG_USBIP_VHCI_HCD=m 和 CONFIG_USBIP_CORE=m),並提供運行所需的經過數位簽署的 usbip_core 和 vhci_hcd 模組。攻擊者可以 虛擬USB設備, 環回接口上的網絡處理程序,並使用 USB/IP 將其連接為遠程 USB 設備。 關於上述方法 開發商 Ubuntu但目前尚未發布修復程式。
來源: opennet.ru
