
Linux 6.17 中的一个新的令人兴奋的安全功能是攻击向量控制,这是一种更易于根据系统/服务器使用情况管理 CPU 安全缓解措施的方法。它极大地简化了仅激活与预期用途相关的缓解措施的 CPU 安全缓解管理。在 Linux 6.17-rc2 内核即将于今天晚些时候发布之际,攻击向量控制对其围绕 Speculative Return Stack Overflow (SRSO) 缓解的逻辑进行了细化。
今天发出了针对 Linux 6.17-rc2 的 x86 修复,该内核将于今天晚些时候发布。本周的 x86/紧急 pull request 调整了攻击向量控制下的 SRSO 缓解行为。AMD 工程师 David Kaplan 是攻击向量控制努力的发起人,他解释说,随着补丁的改进:
SRSO 漏洞理论上可以用于用户->用户或访客->访客攻击,并且需要针对这些攻击进行缓解(具体来说是在上下文切换时使用 IBPB 而非 SBPB)。因此,将 SRSO 标记为适用于用户->用户和访客->访客的攻击向量。
此外,SRSO 支持多种缓解措施,这些措施可以缓解不同的潜在攻击向量。某些 CPU 对某些攻击向量(如用户->内核)也对 SRSO 免疫。
根据需要缓解的具体攻击向量来选择最佳的 SRSO 缓解措施,以避免不必要的性能损失。
这包括此次合并中的改进,以及单独更好地确保 AMD SEV 访客驱动程序缓冲区在加密操作中进行线性映射,以帮助可能的加密卸载。还有其他几项修复:
– 移除一个仅作为 cpuid 辅助重构期间的备用方案而添加的 asm/cpuid.h 头文件
– 在 SVSM 页面验证调用结构中初始化保留字段为零,以便将来扩展该结构
– 使 sev-guest 驱动程序在加密操作中使用的缓冲区位于线性映射空间中,因为加密操作可以卸载到加速器上
– 在 AMD SNP 客户机陷阱时,将只读 MSR 写入 hypervisor,通常就是这样做的。这通过简单地引发#GP 而不是终止该客户机来改善客户机用户体验
– 不要为内核线程输出 AVX512 耗时,因为数据有误,并修复了进程中的空指针解引用问题
– 调整 SRSO 缓解选择以适应新的攻击向量
Linux 6.17 应该在十月初左右发布,并包含许多新功能。
Linuxeden开源社区