AMD已經(jīng)證實(shí),Zen 3 CPU內(nèi)部的微架構(gòu)優(yōu)化可以被利用,其方式類(lèi)似于幾代前困擾英特爾CPU的Spectre漏洞。禁用該優(yōu)化是可能的,但會(huì)帶來(lái)性能上的損失,AMD認(rèn)為除了最關(guān)鍵的處理器部署外,其他所有處理器都不值得這樣做。
在最近發(fā)布的一份名為《AMD預(yù)測(cè)存儲(chǔ)轉(zhuǎn)發(fā)的安全分析》的白皮書(shū)中,AMD描述了該漏洞的性質(zhì),并討論了相關(guān)的后果。簡(jiǎn)單來(lái)說(shuō),預(yù)測(cè)性存儲(chǔ)轉(zhuǎn)發(fā)(PSF)的實(shí)現(xiàn),由于其性質(zhì)所致從而重新打開(kāi)了之前受到Spectre v1、v2和v4威脅的攻擊路線。
AMD將PSF描述為一種硬件優(yōu)化,"旨在通過(guò)預(yù)測(cè)負(fù)載和存儲(chǔ)之間的依賴(lài)關(guān)系來(lái)提高代碼執(zhí)行的性能"。與分支預(yù)測(cè)(一種啟用了之前Spectre攻擊的功能)一樣,PSF進(jìn)行預(yù)測(cè),以使處理器更快地執(zhí)行后續(xù)指令,然而當(dāng)PSF做出錯(cuò)誤的預(yù)測(cè)時(shí),就會(huì)產(chǎn)生漏洞。
AMD表示,不正確的預(yù)測(cè)可能是兩種情況的結(jié)果。"首先,有可能存儲(chǔ)/負(fù)載對(duì)有一段時(shí)間的依賴(lài)性,但后來(lái)不再有依賴(lài)性。" 這種情況是自然發(fā)生的,因?yàn)榇鎯?chǔ)和負(fù)載在程序執(zhí)行過(guò)程中會(huì)發(fā)生變化。第二種情況發(fā)生在 "如果PSF預(yù)測(cè)器結(jié)構(gòu)中有一個(gè)別名",而這個(gè)別名在不該使用的時(shí)候被使用了。這兩種情況都可以被惡意代碼觸發(fā),至少理論上是這樣。
Ryzen 5000和Epyc 7003系列處理器使用Zen 3架構(gòu),受此漏洞影響。
AMD寫(xiě)道:"由于PSF推測(cè)僅限于當(dāng)前程序上下文,因此不良PSF推測(cè)的影響與推測(cè)性存儲(chǔ)旁路(Spectre v4)類(lèi)似。"
與Spectre v4一樣,當(dāng)處理器的一項(xiàng)安全措施被錯(cuò)誤的推測(cè)繞過(guò)時(shí),該漏洞就會(huì)發(fā)生。與其他攻擊相結(jié)合;AMD以Spectre v1為例,錯(cuò)誤的預(yù)測(cè)會(huì)導(dǎo)致數(shù)據(jù)泄露。"這與其他Spectre類(lèi)攻擊的安全風(fēng)險(xiǎn)類(lèi)似,"AMD表示。
依靠軟件沙盒來(lái)保證安全的程序是最容易受到PSF攻擊的。使用硬件隔離的程序 "可能被認(rèn)為是安全的",不會(huì)受到PSF攻擊,因?yàn)镻SF投機(jī)不會(huì)跨地址空間發(fā)生。它也不會(huì)跨權(quán)限域發(fā)生。
AMD發(fā)現(xiàn),地址空間隔離等技術(shù)足以阻止PSF攻擊,然而,如果需要的話(huà),他們已經(jīng)提供了禁用PSF的手段,甚至在每個(gè)線程的基礎(chǔ)上。但由于安全風(fēng)險(xiǎn) "很低",而且 "AMD目前還沒(méi)有發(fā)現(xiàn)任何代碼會(huì)因?yàn)镻SF行為而被認(rèn)為是脆弱的",他們普遍建議將啟用PSF功能作為默認(rèn)設(shè)置,即使在保護(hù)措施不可用的情況下。
自由美利堅(jiān)...
到自助洗車(chē)店,品百態(tài)人生。
GHS還是第一生產(chǎn)力