英特爾Core及Xeon處理器上的安全漏洞可被利用來盜取芯片上數學處理單元中的敏感數據。惡意軟件或惡意用戶能利用該設計缺陷偷取其他軟件在芯片上執行的計算輸入或計算結果。
利用存儲在FPU寄存器中運算輸入數據和結果數據,攻擊者可推算出用于保護系統中數據的加密密鑰。比如說,英特爾的AES加解密指令就用FPU寄存器存放密鑰。
簡言之,該安全漏洞可用于在特定情況下抽取或猜出其他程序中的加密密鑰。
現代Linux(2016年發布的4.9內核及其后續內核版本),包括 Server 2016 在內的最新Windows,以及最新版的 OpenSD 和 DragonflyBSD,不受該漏洞影響(CVE-2018-3665)。
Windows Server 2008 需打補丁,其他受影響的微軟系和非微軟系內核的補丁正在研發過程中。Linux內核團隊正將緩解補丁應用到4.9之前的內核上。
總之,如果你的機器用了受影響的英特爾芯片,請關注相應補丁的發布情況。CVE-2018-3665不是世界末日,惡意軟件需得已經植入系統才可以利用該漏洞,且即便能夠利用該漏洞,一次也就能取到一點點數據。
這是又一個復雜的推測執行相關處理器設計缺陷,對行業觀察家來說很有看點,對某些內核程序員來說相當討厭,對系統管理員和普通用戶來說是又一個需要打補丁的東西。比它更糟的漏洞不僅有,還有很多,Word字處理程序、PDF閱讀器、Web瀏覽器等等等等,一大堆。
懶惰的協處理器是漏洞利用產生的源頭
該安全缺陷源于所謂的懶FPU狀態恢復。操作系統內核只會在程序真正用到數學單元時才會存儲和恢復浮點運算單元(FPU)寄存器。
然而,如今,通過英特爾芯片設計中與幽靈-熔斷變種3A相關的安全漏洞,該特性卻能使程序從FPU中獲取到其他程序的上下文。變種3A能讓應用程序讀取本應只能由特權代碼查看的寄存器內容。
修復措施就是應用現代 Linux、Windows 和其他內核使用的急FPU狀態恢復機制。該緩解措施不會帶來性能下降的影響,事實上,急切狀態切換反而能提升性能。
英特爾定于6月14日凌晨5點后發布該漏洞更多信息。其原計劃是在6月27日才公開,但OpenBSD和DragonflyBSD項目本周早些時候就推出了相應的補丁包,將問題擺上了臺面。BSD團隊是在英特爾拒絕私下合作而選擇與大型操作系統供應商共進退后,自行展開漏洞修復與披露行動的。
英特爾發言人表示,多名研究人員分別向這家占據芯片市場半壁江山的公司警示了該漏洞,包括亞馬遜的研究人員:
這個被稱為懶FPU狀態恢復的問題與變種3A類似。操作系統和很多客戶及數據中心產品中所用虛擬機管理程序早已解決了該問題。我們的業界合作伙伴目前為剩下的受影響環境開發相應軟件更新,未來幾周更新即會上線。
我們一直信奉協同披露策略,感謝亞馬遜德國的 Julian Stecklina、Cyberus Technology GmbH 的 Thomas Prescher、SYSGO AG 的 Zdenek Sojka 和 Colin Percival 向我們報告該問題。我們強烈建議業界其他人士遵從協同披露策略。
英特爾認為該威脅不算太嚴重。谷歌稱其系統不受懶FPU狀態恢復漏洞影響。亞馬遜和微軟的發言人沒有任何回復。
Red Hat 公布了更多技術細節,未修改過內核的 RHEL 5/6/7 和 Enterprise MRG 2 受此漏洞影響。在聲明中,該Linux供應商闡明了這是潛在的“任務到任務”信息竊?。?br />
Red Hat 已被告知該問題。運行在常見現代(x86)微處理器上的操作系統和虛擬機,在應用進程間上下文切換時可能選擇浮點狀態“懶恢復”策略,而不是用“急恢復”策略存儲和恢復浮點寄存器狀態。
攻擊者可利用浮點狀態懶恢復來獲取其他應用活動的信息,包括加密操作。與其他最近的邊信道漏洞類似,該漏洞也影響CPU預測執行。
利用該最新漏洞,進程被“懶恢復”的浮點寄存器可能被攻擊者控制的其他進程讀取。Red Hat 通過軟件(內核)補丁和配置修改推出了各階段的緩解措施。
緩解無需微代碼更新。大多數案例中,Red Hat Enterprise Linux 7 客戶無需采取任何操作,其他用戶則可能需要應用一下軟件更新。
AWS稱其服務已受到保護。
英特爾發布的漏洞咨詢中解釋稱:“系統軟件可能在上下文切換時選擇采用懶浮點狀態恢復而非急恢復策略。懶恢復的狀態可能會經由預測執行邊信道漏洞利用泄露給其他進程?!?br />
目前尚無已知漏洞利用代碼切實針對該安全漏洞下手。Cyberus發布了一份該漏洞的背景介紹與咨詢。