值得一提的是,即使你禁用/dev/mem和/dev/kmem内存仍然可以倾倒; 看看man proc揭示/proc/kcore; 它是系统的物理内存。一个非常好的取证工具包rekall已经有一个工具可以完成这个工作 ; 它转储内存(和/boot文件)以便可以对其进行分析。
实际上,Ubuntu默认禁用/dev/kmem:
/dev/kmem除了攻击者使用它来加载内核rootkit之外,没有其他现代用途。CONFIG_DEVKMEM设置为“ n”。尽管/dev/kmem设备节点通过Ubuntu 9.04在Ubuntu 8.04 LTS中仍然存在,但实际上并没有附加到内核中的任何节点上。
Ubuntu不会/dev/mem因为应用程序需要而禁用它。
某些应用程序(Xorg)需要直接从用户空间访问物理内存。/dev/mem存在特殊文件以提供此访问。过去,如果攻击者具有root用户访问权限,则可以从该文件查看和更改内核内存。该CONFIG_STRICT_DEVMEM内核选项被介绍给阻断非设备存储器存取(原名CONFIG_NONPROMISC_DEVMEM)。
如何禁用/proc/kcore?
CONFIG_PROC_KCORE构建内核时不要启用。
您如何禁用/dev/mem?
好吧,查看一下可以man mem为我们提供有关其创建方式的详细信息:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
你应该能够公正rm -rf /dev/mem; 您可以在内核构建阶段通过不启用来禁用CONFIG_STRICT_DEVMEM。
如何禁用/dev/kmem?
确保CONFIG_DEVKMEM在内核构建时未启用该功能。
如何防止冷启动攻击?
如果我能够禁用/proc/kcore,/dev/mem,/dev/kmem然后用于加密交换分区或根本没有使用掉呢?好吧,您的内存可能只是被冻结并以这种方式访问。您如何防止这种攻击?您对RAM进行加密;您如何加密RAM?你不能 有关详细信息,请参见TRESOR。
/dev/mem。不确定是否仍然有意义。