莱纳斯·托瓦兹
如果攻击者以 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