Re: [情报] AMD Zen2的CPU漏洞Zenbleed

楼主: s25g5d4 (function(){})()   2023-07-26 14:30:32
简单回复一下这个漏洞是怎么回事,用手机不想打太多字
这次的漏洞有 Meltdown/Spectre 有诸多相似之处
但是比起这两者,这次的漏洞更为直接
目前我没看到有人把 Zenbleed 归类为 side channel attack
所以就当它不是
关于 Meltdown 可以参考先前文章:
#1QJlGo9y (PC_Shopping)
以下用 M/S/Z 分别代表上述三种漏洞
相似的地方在于都是滥用预测执行 (speculative execution)
但 AMD 这次可以说是逻辑错误,跟 M/S 不同
因为 M/S 的执行逻辑是正确的,但在安全性检查上不够完善
虽然无法“直接”存取受害程式资料,但仍然可以从间接资料推测出原始资料
而 AMD 这次的漏洞则是妥妥的让攻击者直接读取它不该读到的东西
也就是说,即使不是恶意攻击,仍然有机会在特定条件下造成执行错误
简述这次的漏洞,就是滥用分支预测与预测执行,
在发生分支预测错误而回滚状态时,让两个不同执行绪抢到同一个暂存器
x86 作为 CISC 代表,他的暂存器长度是多变的,
再加上暂存器重命名机制,即使你现在机器码写存取第一个暂存器,
实际上 CPU 可能会把它对映到另外一个暂存器上
所以当预测执行错误而必须回滚处理器状态时,
本来已经被释出的暂存器又被回滚回释放前的状态,
但回滚前另外一个执行绪已经拿走这个暂存器去用了
这时两个执行绪都抢到同一个暂存器,
其中一个是恶意程式,就能直接读取资料
所以我认为这是一个逻辑错误
因为即使不是恶意攻击,这也是个妥妥的 race condition
目前 AMD 给的解决方法是微码更新
依照白帽骇客的做法,在公开揭露前都会留时间给厂商修正
所以这次攻击只要更新到最新的 AGESA 就修正了 **更新:可能尚未修正,见下方补充**
对于暂时无法更新微码的机器,可以透过修改 CPU 执行模式缓解
此缓解办法可能会造成一定程度的效能减损
目前我没有看到有人提供效能影响报告就是了
详细的资讯可以参考发现此漏洞的白帽骇客文章:
https://lock.cmpxchg8b.com/zenbleed.html
值得一题的是,这次的漏洞发现并非刻意针对某种系统/机制/逻辑的弱点攻击,
而是在称为 fuzzing 的一种产生任意指令/资料,以检视软件稳定性的测试中发现
详细的发现过程是随机产生一堆指令,再以同样的顺序再执行一次,比对两者结果
不一样的是对照组将严格遵循循序且不平行处理模式,务求最正确的结果
所以该作者能发现就是执行结果不一样,
在现实应用中是有机会造成 phantom bug 的

Links booklink

Contact Us: admin [ a t ] ucptt.com