简单整理一下目前的资讯:
1. 利用这个漏洞的条件?
需要有两个条件:
a. 攻击者需有 root 权限
b. 系统厂没有正常设定 Platform Secure Boot
不需要实体接触。
2. 如何利用这个漏洞进行攻击?
进入 SMM mode 并且可以刷 SPI flash 后,就可以任意窜改主板韧体。
例如关闭 Secure Boot 并在启动时植入 bootkit 修改 OS。
即使重灌系统仍然无法清除恶意程式。
3. CPU 内建的 microcode 是否受影响?
[未确认] 不受影响。
亦即,将 CPU 移至未被感染的主机板,系统仍然是干净的。
每颗 CPU 上都有一组无法写入的 microcode,即使使用这个漏洞仍然不能修改。
当 AMD 释出新 microcode 时,这组 microcode 会附在主板韧体里,
并在启动时优先于 CPU 内建的 microcode 启动。
理论上来说,即使修改了韧体里的 microcode,
PSP 应该会拒绝加载未经验证的 microcode 而改用 CPU 内建的版本。
4. 如何侦测系统受到感染?
几乎无法。
目前已知的唯一方法为透过 SPI flash programmer 直接读取主板韧体。
也由于侦测方法的限制,才会得出“要防范只能把整台电脑丢掉”的结论。
5. 如何恢复感染的系统?
透过 SPI flash programmer 重新刷掉主板韧体。
也就是说实际上除了换板子外,没有恢复的方法。
6. 主板韧体有这么好修改?
理论上韧体应该都是被签名过的,有修改过会无法启动。
这个功能叫 Platform Secure Boot,
然后被与发现这次漏洞的同一组团队抓到大多系统厂根本没开:
https://labs.ioactive.com/2024/02/exploring-amd-platform-secure-boot.html
意外的是,各家系统厂并不买单:
宏碁: 这不是必要功能,所以我们不开
联想: 我们 2022 后的笔电有开,但是旧的系统我们不管
华为:我们没打算开,而且我们希望你们不要公布漏洞
然后联想有开但没弄好,还是被发了一个 CVE-2023-5078