簡單整理一下目前的資訊:
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