内容提要
MIT CSAIL研究人员发现芯片预测机制在清除与使用之间存在极短间隙,可被攻击者利用。他们通过精确计时中断注入,在Intel和AMD芯片上成功实施攻击,甚至获取了Linux系统的密码文件。该攻击名为“TONTOU”,已通知相关厂商并发布补丁。
延伸解读
攻击原理:利用预测机制的“时间差”
现代处理器通过预测分支来提升性能,但预测错误时残留的痕迹可能泄露敏感数据。MIT CSAIL的研究发现,防御机制在清除预测状态与使用预测之间存在极短间隙,攻击者可通过精确计时注入中断,使处理器在间隙中执行恶意代码,重新污染预测机制。这种“中断注入”技术利用了硬件设计中的固有时序漏洞。
实际影响:从理论到真实攻击
研究团队在AMD系统上成功构建了完整攻击链,通过绕过内存地址随机化,以每秒约5字节的速度读取受保护内存,并在半数尝试中获取了/etc/shadow文件中的密码哈希。这表明漏洞不仅存在于理论,而是可被实际利用,对系统安全构成直接威胁。
防御挑战:修复并非易事
论文指出,简单的二次清理在AMD上可行,但在Intel上可能适得其反,因为攻击依赖中断留下的特定状态。而阻止中断则可能带来过高的性能损失。不同Intel处理器对相同防御的实现差异也增加了修复难度。AMD已发布补丁,但用户需及时更新系统以降低风险。
Q&A
什么是TONTOU攻击?
TONTOU是一种新型攻击,利用芯片预测机制在清除与使用之间的极短间隙,通过精确计时中断注入,在Intel和AMD芯片上实施攻击,甚至能获取Linux系统的密码文件。
TONTOU攻击是如何利用芯片预测机制的间隙的?
芯片的预测机制在清除或隔离后,到使用预测之间存在一个极短的时间窗口。攻击者通过精确计时中断注入,使处理器在错误的时间处理中断,从而污染预测机制,利用这个间隙获取敏感数据。
TONTOU攻击对Intel和AMD芯片的影响有何不同?
在Intel芯片上,攻击击败了两种不同的保护机制,且较新的保护在一个Intel代际上有效,在另一个上失效。AMD的saferet防御留下仅两条指令宽的窗口,但攻击者通过减慢处理器仍成功命中。
TONTOU攻击的实际危害有多大?
研究人员在AMD系统上成功获取了Linux的/etc/shadow文件(存储密码哈希),在10次尝试中全部成功,每次约9分钟,读取速度约每秒5字节,但足以定位并复制密码文件。
如何防御TONTOU攻击?
AMD已发布补丁,可通过更新操作系统获取。研究人员建议在中断结束时再次清理预测机制,但该方案在Intel上可能适得其反。另一种方案是阻止中断在脆弱窗口期间发生,但性能代价过高。
TONTOU攻击的研究人员是如何通知相关方的?
研究人员在2月初通知了AMD和Intel,3月联系了Linux内核维护者,并与AMD协调警告云提供商和其他下游客户。AMD随后发布了缓解攻击的补丁。