趕緊自查,AMD和Intel CPU又曝新漏洞
近日,蘇黎世聯(lián)邦理工學院研究人員 Johannes Wikner 和 Kaveh Razavi發(fā)現(xiàn)了一個影響眾多舊 AMD 和 Intel 微處理器的漏洞,該漏洞可能繞過當前的防御并導致基于 Spectre 的推測執(zhí)行攻擊。
漏洞編號為CVE-2022-29900 (AMD) 和 CVE-2022-29901 (Intel),安全人員將這些問題稱為 Retbleed。在將該漏洞信息上報AMD和Intel后,這兩大芯片巨頭已經發(fā)布了相關的緩解措施,并督促用戶進行安全更新。
Retbleed是利用分支目標注入來泄漏信息的推測執(zhí)行攻擊系列的新成員,我們稱之為 Spectre-BTI(CVE-2017-5715 或 Spectre-V2)。該攻擊利用推測執(zhí)行優(yōu)化技術的副作用,通過時序側通道來欺騙程序訪問其內存空間中的任意位置并泄漏私人信息。
推測執(zhí)行試圖通過預測接下來將執(zhí)行哪條指令,來填充程序的指令流水線以獲得性能提升,同時如果猜測結果錯誤,也會撤消執(zhí)行結果。 Spectre系列攻擊正式利用了這一漏洞,這些錯誤執(zhí)行的指令(錯誤預測的結果)必然會在緩存中留下執(zhí)行痕跡,從而導致流氓程序可以欺騙處理器執(zhí)行錯誤的代碼路徑,和推斷與受害者有關的秘密數(shù)據。
換句話說,Spectre 是瞬態(tài)執(zhí)行攻擊的一個實例,它依靠硬件設計缺陷來“影響”哪些指令序列被推測執(zhí)行,并從受害者的內存地址空間中泄露加密密鑰或密碼。雖然已經設計了像Retpoline(又名“return trampoline”)這樣的保護措施來防止分支目標注入 (BTI),但 Retbleed 旨在繞過這種對策并實現(xiàn)推測性代碼執(zhí)行。
AMD 和英特爾CPU
安全人員稱,Retpolines是通過替換間接跳轉和返回調用來工作。Retbleed旨在劫持內核中的返回指令,以在內核上下文中獲得任意推測性代碼執(zhí)行。通過在受害者返回指令處對寄存器和/或內存進行充分控制,攻擊者可以泄漏任意內核數(shù)據。
簡而言之,其核心邏輯是將返回指令視為用于推測執(zhí)行的攻擊向量,并強制將返回作為間接分支進行預測,從而有效地撤消 Retpoline 提供的保護。為了強化安全,AMD引入了所謂的Jmp2Ret,而英特爾則是使用增強的間接分支限制推測 ( eIBRS ) 來解決潛在的漏洞,即使 Retpoline 緩解措施。
英特爾在安全報告中強調,由于Windows 操作系統(tǒng)默認使用 IBRS,因此不受該漏洞的影響,自然也就不需要更新。目前英特爾與 Linux 社區(qū)合作,為該缺陷提供可用的軟件更新。
參考來源:https://thehackernews.com/2022/07/new-retbleed-speculative-execution.html