Intel 幾年前爆發幾項處理器硬體架構漏洞,導致 Intel 在資安領域一夕之間成為其它廠商攻擊的目標,尤以競爭對手 AMD 藉機強調自身硬體設計並無如 Intel 的問題;不過根據 AMD 自主揭露的白皮書, AMD 的 Zen 3 架構、包括 Ryzen 5000 與 Epyc 7003 等產品恐怕也有類似 Spectra 的資安漏洞,可能會受到以分支預測進行的攻擊行為,不過 AMD 強調只是有可能性且實際實行的可能性不高,仍請使用者安心使用。
此問題發生的原因是 AMD 在 Zen 3 架構入名為 Predictive Store Forwarding ( PSF )的分支預測功能,用以預測接下來可能的執行行為加速執行效率,相較典型的 Store-To-Load-Forwarding ( STLF )方式省卻資料加載與儲存一致性的檢測,但也意味著一但 PSF 預測發生錯誤,就有可能會產生如 Intel 處理器一般以 Spectra v1 / v2 / v3 的攻擊。
▲甫發布的 EPYC 7003 " Milan "也具備此次可能受攻擊的分支預測功能
雖說 PSF 通常預測會是準確的,不過畢竟是預測,難免會在特定情況出錯,像是在執行程式期間儲存或載入的位置產生更改,或是 PSF 預測子結構存在獨立的別名,一旦發生預測錯誤,即可進行攻擊,此項攻擊行為對於沙盒一類的軟體環境較可能奏效,不過若是透過硬體方式把位址空間隔開就無法進行攻擊。
AMD 宣稱由於 PSF 能有效提升性能,且還未發現能成功進行攻擊的代碼,暫且使用者技術使用 PSF 功能,若對此安全漏洞感到疑慮,建議使用硬體方式進行定址隔離,但若仍需在軟體沙盒環境執行,則可關閉 MSR 48h bit 2 與 MSR 48h bit 7 兩項分支預測功能。