第 42 章 启用 kstack 随机化偏移以提高安全性


内核堆栈(kstack)随机化偏移安全功能,为每个系统调用随机化内核堆栈位置。这可防止攻击者利用内核漏洞。

与依赖 kstack 随机化循环计数器的其他架构不同,一种不可可靠的 64 位 ARM (aarch64)的方法使用内核的随机数字生成器(RNG)。这个方法的原因如下:

  • 没有持续启用或快速周期计数器
  • 缺少高频率计时器
  • 不支持 v8.5 FEAT_RNG 指令集的系统

虽然内核 RNG 通常是一个可靠的解决方案,但它可能会带来显著的延迟激增,特别是对于实时(RT)工作负载。因此,在 aarch64 实时内核中默认禁用 kstack 随机化偏移功能。然而,这个决定包括权衡:它稍微降低内核安全性。

42.1. 在 64 位 ARM 上启用 kstack 随机化偏移

在 64 位 ARM (aarch64)系统上,实时内核中默认禁用 kstack 随机化偏移功能。如果您的用例可以接受潜在的延迟,您可以重新启用此功能来提高内核安全性。

先决条件

  • 有管理员特权。
  • 您的系统在 64 位 ARM (aarch64)架构上运行。

流程

  1. 使用 grubby 启用 randomize_kstack_offset 内核参数。

    # grubby --update-kernel=ALL --args="randomize_kstack_offset=y"
  2. 重启系统以使更改生效。

    # reboot

验证

  • 检查 /proc/cmdline 文件中指定了 randomize_kstack_offset=y 参数。

    # cat /proc/cmdline

    输出包括 randomize_kstack_offset=y

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部