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