萊納斯·托瓦爾茲
如果攻擊者以 root 權限實現程式碼執行,他可以在核心層級執行程式碼,例如使用 kexec 取代核心或透過 /dev/kmem 讀寫記憶體。 此類活動最明顯的後果可能是
最初,root限制功能是在加強驗證啟動保護的背景下開發的,並且發行版已經使用第三方補丁來阻止繞過UEFI安全啟動相當長一段時間了。 同時,由於以下原因,此類限制並未包含在內核的主要構成中:
鎖定模式限制對/dev/mem、/dev/kmem、/dev/port、/proc/kcore、debugfs、kprobes 偵錯模式、mmiotrace、tracefs、BPF、PCMCIA CIS(卡片資訊結構)、某些ACPI 介面和CPU的存取MSR 暫存器、kexec_file 和 kexec_load 呼叫被阻止、睡眠模式被禁止、PCI 裝置的 DMA 使用受到限制、ACPI 程式碼從 EFI 變數匯入被禁止、
不允許對 I/O 連接埠進行操作,包括更改序列埠的中斷號碼和 I/O 連接埠。
預設情況下,鎖定模組是不活動的,它是在 kconfig 中指定 SECURITY_LOCKDOWN_LSM 選項時建構的,並透過核心參數「lockdown=」、控製檔案「/sys/kernel/security/lockdown」或彙編選項啟動
值得注意的是,鎖定僅限制對核心的標準訪問,但不能防止因利用漏洞而進行的修改。 當 Openwall 專案使用漏洞時阻止對正在運行的核心進行更改
來源: opennet.ru