已引入内核栈地址随机化的补丁。 Linux 在系统调用期间

Kees Cook,kernel.org 前首席系统管理员兼领导者 Ubuntu 安全团队,现就职于谷歌,负责确保安全 Android ChromeOS 发布了一系列补丁,实现了在处理系统调用时内核栈偏移量的随机化。这些补丁通过改变栈布局来提高内核安全性,显著增加了栈攻击的难度和成功率。初始实现支持 ARM64 和 x86/x86_64 处理器。

该补丁的最初想法源于 PaX RANDKSTACK 项目。2019 年,英特尔工程师 Elena Reshetova 尝试将这一想法实现为适合纳入主内核的版本。 Linux该计划后来由 Keith Cook 接手,他提出了一个适用于主内核版本的实现方案。相关补丁计划包含在 5.13 版本中。该模式默认处于禁用状态。建议使用内核命令行参数“randomize_kstack_offset=on/off”和 CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT 设置来启用该模式。启用该模式预计会带来约 1% 的性能损失。

所提出的保护机制的核心在于对每次系统调用的栈偏移量进行随机化,这使得即使在获取地址数据后,也难以确定内存中的栈布局,因为栈的基地址会随着下一次系统调用而改变。与 PaX RANDKSTACK 实现不同,拟纳入内核的补丁并非在初始阶段(cpu_current_top_of_stack)进行随机化,而是在 pt_regs 结构体设置之后进行。这使得在长时间运行的系统调用期间,无法使用基于 ptrace 的方法来确定随机化的偏移量。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster