Linux内核是否使用DEP作为内核内存?

信息安全 linux 硬化 记忆 虚拟内存
2021-08-27 00:23:24

Linux 内核是否在内部使用DEP作为其内核内存?换句话说,Linux内核是否注意确保在内核执行时(在内核模式下),内存中的每个可执行位置都是不可写的,并且内存中的每个可写位置都是不可执行的?

我试过搜索,但很难找到任何东西,因为大多数关于 Linux 中 DEP 的引用都指用户级地址空间是否具有 DEP 保护,以及因为在 Linux 内核上下文中,我得到了很多匹配的命中“dep”作为文件扩展名。我最近了解到,由于各种可以理解的原因,Linux 内核目前不使用 ASLR 作为内核内存,这让我想知道它是否使用 DEP。

1个回答

根据“Extending the use of RO and NX”,Linux内核从内核版本2.6.38(不知道RHEL /CentOS 已经将一个类似的补丁应用到他们的内核中——很多关于 DEP工作都来自 Red Hat)。

大部分遵循 W^X 原则,但不完全遵循:一些页面留下 W+X,否则会破坏一些 BIOS。(你不喜欢 x86 吗?)

DEP 早在grsecurity补丁进入主线之前就已经在其中了。