假设一台普通的Linux机器被获得root shell的攻击者攻陷,他可以修改系统内核或修改引导加载程序以加载另一个内核。
有没有办法防止这种修改?
我想为安装在只有一个普通硬盘的普通电脑上的普通 Linux 操作系统(而不是容器)禁用这些功能。我不想使用只读介质,例如 cdrom。
一个粗略的理论解决方案是修补内核以禁止对 MBR 以及硬盘的另一个区域(可能是分区)进行修改,并将内核和引导加载程序文件存储在该区域中。
答案1
有没有办法防止[root]修改[内核或引导加载程序]?
不;
“UEFI 安全启动”将阻止远程攻击者持续重新启动,但他们可以在每次重新启动时重新进行攻击。本地用户只需使用
mokutil -#-import my_signing_key_pub.der
以获得完全控制。最好的缓解措施是深入使用 IDS。