五月伊始,全球信息產(chǎn)業(yè)就接連響起一級(jí)警報(bào),5月4日,戴爾公司披露其上億臺(tái)電腦的固件升級(jí)驅(qū)動(dòng)中存在一個(gè)長(zhǎng)達(dá)12年的漏洞(已修復(fù))。5月6日,英特爾、AMD等處理器巨頭的處理器芯片再次發(fā)現(xiàn)新的高危漏洞。
2018年,現(xiàn)代處理器中普遍存在的的熔斷漏洞(Meltdown)和幽靈漏洞(Spectre)被披露時(shí),發(fā)現(xiàn)該類漏洞的研究人員說(shuō):“由于難以修復(fù),幽靈漏洞將困擾我們相當(dāng)長(zhǎng)的時(shí)間。”
確實(shí),已經(jīng)過(guò)去了三年多,幽靈漏洞依然陰魂不散。
近日,弗吉尼亞大學(xué)和加利福尼亞大學(xué)圣地亞哥分校的一組研究人員發(fā)現(xiàn)了一條新的攻擊路線,繞過(guò)了芯片中內(nèi)置的所有當(dāng)前Spectre保護(hù),可能導(dǎo)致幾乎所有臺(tái)式機(jī)、筆記本電腦、云服務(wù)器和智能手機(jī)再次像三年前一樣處于危險(xiǎn)之中。
熔斷和幽靈漏洞的公開就像打開類潘多拉盒子。在隨后的幾年中,隨著無(wú)休止的攻擊變體暴露出來(lái),即使英特爾、ARM和AMD等芯片巨頭一直在爭(zhēng)先恐后地采用防御措施來(lái)減輕導(dǎo)致利用該漏洞的惡意攻擊,避免攻擊者從計(jì)算機(jī)的內(nèi)存中讀取密碼、加密密鑰和其他有價(jià)值的信息的代碼。
幽靈漏洞的核心是定時(shí)邊信道攻擊,它打破了不同應(yīng)用程序之間的隔離,并利用了CPU硬件實(shí)現(xiàn)中一種稱為推測(cè)執(zhí)行的優(yōu)化方法,誘使程序訪問內(nèi)存中的任意位置,從而泄漏其秘密。
研究人員說(shuō):“幽靈攻擊會(huì)誘使處理器沿著錯(cuò)誤的路徑執(zhí)行指令?!薄凹词固幚砥骰謴?fù)并正確完成了任務(wù),黑客也可以在處理器走錯(cuò)路的同時(shí)訪問機(jī)密數(shù)據(jù)。”
弗吉尼亞大學(xué)研究團(tuán)隊(duì)開發(fā)的新攻擊方法利用了所謂的微操作(又稱微操作或微操作)緩存,它是一種片上組件,可將機(jī)器指令分解為更簡(jiǎn)單的命令并加快計(jì)算速度,是泄露機(jī)密信息的輔助渠道。自2011年以來(lái),微操作緩存已內(nèi)置到基于Intel的計(jì)算機(jī)中。
弗吉尼亞大學(xué)助理教授Ashish Venkat表示:“英特爾針對(duì)Spectre的建議防御措施稱為L(zhǎng)FENCE,它將敏感代碼放置在等待區(qū)域中,直到執(zhí)行安全檢查為止,然后才允許執(zhí)行敏感代碼。”該研究的合著者說(shuō)。“但是事實(shí)證明,這個(gè)等待區(qū)域的墻壁上有耳朵,我們的攻擊會(huì)利用這些耳朵。我們展示了攻擊者如何通過(guò)將其用作隱蔽通道來(lái)通過(guò)微操作緩存來(lái)偷運(yùn)秘密。”
研究人員詳細(xì)介紹,在AMD Zen Zen微體系結(jié)構(gòu)上,可以利用micro-ops公開原語(yǔ)來(lái)實(shí)現(xiàn)具有250 Kbps帶寬,錯(cuò)誤率5.59%或168.58 Kbps且具有糾錯(cuò)功能的隱蔽數(shù)據(jù)傳輸通道。
英特爾在其針對(duì)加密實(shí)現(xiàn)的定時(shí)攻擊的指南中建議遵循恒定時(shí)間編程原則,這種做法說(shuō)起來(lái)容易做起來(lái)難,而僅憑軟件更改就不能充分緩解投機(jī)執(zhí)行所帶來(lái)的威脅。
這里的一線希望是,很難利用Spectre漏洞。為了保護(hù)免受新攻擊的侵害,研究人員提出刷新微操作緩存,該技術(shù)可抵消通過(guò)首先使用緩存獲得的性能優(yōu)勢(shì),利用性能計(jì)數(shù)器來(lái)檢測(cè)微操作緩存中的異常并對(duì)操作區(qū)進(jìn)行分區(qū)。cache基于分配給代碼的特權(quán)級(jí)別,并防止未經(jīng)授權(quán)的代碼獲得更高的特權(quán)。
研究人員說(shuō):“將微操作緩存作為輔助通道存在風(fēng)險(xiǎn)。”“首先,它繞過(guò)了所有緩存安全技術(shù),其次,任何現(xiàn)有的攻擊或惡意軟件配置文件都無(wú)法檢測(cè)到這些攻擊。第三,因?yàn)槲⒉僮骶彺嫖挥诠艿赖那岸?,因此在?zhí)行之前,通過(guò)限制推測(cè)性緩存更新來(lái)減輕Spectre和其他瞬時(shí)執(zhí)行攻擊的防御仍然容易受到微操作緩存攻擊。”