安全界一直流傳著一個笑話,即英特爾CPU的漏洞比瑞士奶酪上的還多,本月發表的新研究也並不能幫助該公司擺脫這一聲譽。馬裡蘭大學、清華大學和北京郵電大學的研究人員最近發表一篇有趣的論文,詳細介紹英特爾處理器上的一個新的側通道攻擊,與過去暴露的其他漏洞有很大不同。
這個新的缺陷可以作為Meltdown的側通道來利用,這導致對Core i7-6700、Core i7-7700和Core i9-10980XE等處理器的攻擊成功率達到100%。對於那些不熟悉Meltdown的人來說,它是針對現代處理器執行所謂"投機執行"的方式中的一個關鍵漏洞的一系列漏洞,以便在某些情況下實現適度的性能提升。
雖然Meltdown已經在操作系統、固件和硬件層面得到大部分緩解,但這個問題太難完全修復,因此一直持續到今天。在這種新的側通道攻擊的情況下,它不依賴於緩存系統,設置不需要重置EFLAGS寄存器,所以研究人員認為它將更難緩解。
EFLAGS寄存器用於描述CPU操作的當前狀態,有幾個標志被設置為1或0。 研究人員發現他們可以利用英特爾CPU中的這種工作方式,在瞬時執行中EFLAGS寄存器的變化可以使一些"條件代碼跳轉"(Jcc)指令的執行速度稍慢。
首先,他們將秘密數據編碼到EFLAGS寄存器中,然後測量Jcc指令上下文的執行時間來解碼上述數據。這個漏洞的根本原因仍然是一個謎,但研究人員懷疑英特爾在其CPU的執行單元中使用一個緩沖器,每當執行應該撤回時,該緩沖器需要時間來恢復,如果下一條指令取決於上述緩沖器的目標,這反過來可能導致停滯。
好消息是,這種攻擊對較新的芯片(英特爾第11代及以上)的效果稍差,黑客需要重復成千上萬次才能達到同樣的效果。此外,英特爾新的第13代vPro處理器帶有更多的安全管理功能,使企業對側通道攻擊有更好的預防和檢測能力。
研究人員在他們的論文中指出,有可能緩解他們的瞬時執行定時攻擊,但他們並不容易實現,因為他們需要對Jcc指令的工作方式和匯編代碼的優化做出重大改變。