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