AMD锐龙Zen1至Zen4曝新型幽灵漏洞
IT时代网8月10日消息,AMD发布安全公告AMD-SB-7061,警告一种新型Spectre V2攻击,Zen 1至Zen 4架构处理器均受影响,大致覆盖锐龙1000到锐龙7000及8000G系列。
漏洞由麻省理工学院计算机科学与人工智能实验室的研究人员Daniël Trujillo和Mengjia Yan发现。团队在Linux环境下对Zen 2完成了完整的攻击演示,并判断Zen 3、Zen 4同样存在被攻破的可能。
先说清楚风险边界:这不是远程入侵。攻击者必须已经能在目标Linux系统上以普通用户权限执行代码,才谈得上后续动作。这也决定了它的高危场景——共享服务器、云主机,以及那些会运行不可信本地程序的设备。
实测数据颇具说服力。研究团队在锐龙7 4700G上做了完整验证,KASLR和Safe RET等防护机制全部处于开启状态,攻击者10次尝试全部成功定位Linux内核的随机位置,中位耗时548秒。随后以平均每秒5.47字节的速度、91.97%的准确率读取内核内存;10次测试里有5次在平均18分钟内找到并读取了/etc/shadow文件,那里存放着Linux账户的密码哈希与账户信息。
攻击原理落在一个极窄的时间缝隙上。Safe RET是Linux应对推测性返回栈溢出(SRSO)的标准防护,会在内核返回前清理CPU的返回栈缓冲区。问题在于,从清理完成到实际返回之间只隔着两条指令,研究者通过精确计时触发硬件中断,让处理器打断原有流程转去执行中断处理程序,从而重新影响此前已被清理的预测状态。
为了把这条缝隙撑得更宽,攻击还会把Safe RET序列从CPU缓存中挤出去,拉长那两条指令的执行时间;配合此前的Inception攻击,就能在Zen 2上把返回栈缓冲区训练到攻击者指定的目标。
补丁已经就位。相关修复名为x86/bugs: Make Safe-RET robust against interrupt injection,目前已并入Linux内核。使用Zen 1至Zen 4架构处理器的Linux用户,建议尽快安装内核与安全更新。
自2018年幽灵与熔断被公开以来,推测执行侧信道就成了处理器安全领域挥之不去的一条暗线。硬件层面的性能优化机制难以推倒重来,厂商与研究者只能在一轮轮的“发现缝隙、补上缝隙”中反复拉锯。这次被盯上的两条指令窗口,正是这类攻防的典型写照。

注:本文中包含AI辅助创作的内容。