搜索

4.5. 内核请求空间布局随机化

download PDF

内核 Adress Space Layout Randomization(KASLR)由两个部分组成,它们共同工作来增强 Linux 内核的安全性:

  • 内核文本 KASLR
  • 内存管理 KASLR

内核文本本身的物理地址和虚拟地址分别随机化为不同的位置。内核的物理地址可以为 64TB 以下的任意位置,而内核的虚拟地址在 [0xffffffff80000000、0xffffc0000000](1GB 空间)之间受到限制。

内存管理 KASLR 有三个部分,其起始地址在特定区域随机化。因此,如果此代码依赖于知道感兴趣的符号位于内核地址空间中的什么位置,KASLR 可以防止将内核执行并重定向到恶意代码。

内存管理 KASLR 部分包括:

  • 直接映射部分
  • vmalloc 部分
  • vmemmap 部分

KASLR 代码现在编译到 Linux 内核中,它默认是启用的。要明确禁用它,请在内核命令行中添加 nokaslr 内核选项。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.