英特爾宣布修復史詩級漏洞:「熔斷」和「幽靈」有望被全面隔斷
文/水哥
差點逼迫業界晶元文明倒退十年的史詩級處理器漏洞Meltdown(熔斷)和Spectre(幽靈)在晶元廠商、操作系統/平台商、雲商、開發者的共同努力修補下,這場由此釀成的業界巨大風波開始趨於一段時間的沉寂。最近,晶元製造方傳來好消息,不久前英特爾表示將在今年晚些時候推出硬體/架構級改進的處理器晶元,以保護CPU免受近期兩組知名漏洞的攻擊。英特爾CEO柯再奇在公司博客的公開信中宣布了這一消息。
柯再奇在信中對所有的合作夥伴甚至是競爭對手(AMD)為這段時間的通力合作表示感謝,他指出過去5年來所受兩組漏洞影響的全部處理器產品,迄今為止都收到了微碼的更新,但僅僅是軟體層面的修復還不足以完全阻斷Project Zero團隊發現的側通道攻擊漏洞,特別是Spectre的兩個變種。相比通過軟體更新可以緩解的Meltdown,Spectre比前者更難修復。
去年夏天,英特爾與其競爭對手在過去幾十年中幾乎所有處理器晶元上都出現了嚴重的安全漏洞。安全小組Google Project Zero的研究員Jann Horn在六月份向英特爾安全部門報告稱發現了CPU關鍵部分的設計問題。
現代處理器一般有許多閑置的算力,為了高效利用這些算力,一般在前置程序完成之前,處理器就能計算出幾個選項來預測後續執行,該行為被稱作「投機執行」,這在處理器設計上是有意義的。但谷歌的研究人員與隨後的幾個學術團隊通過實驗找到了在CPU推測執行中通過側信道攻擊泄露緩衝中的敏感信息並獲取加密密鑰等數據的方法,研究人員把該漏洞稱為Specter的兩個變種。第三個變種是Meltdown,由於在雲端多個客戶的程序運行在同一處理器上,並且可能在網頁瀏覽器中不知不覺地運行了惡意代碼,所以對雲伺服器而言威脅尤為嚴重。
關於Specter的兩個變體,變體1將繼續通過軟體和補丁更新修復緩解。因為針對變種1的修復要求用戶終端經常檢查和更新能夠被惡意代碼利用的潛在沙箱環境,例如瀏覽器中的JavaScript。而變種2的攻擊適用於硬體修復,目前英特爾提供的防護方案採用操作系統補丁和處理器微代碼更新的複合。微代碼的更新為操作系統提供新的功能,允許系統對處理器推測執行的硬體作某些限制。目前還不清楚英特爾針對硬體解決方案的具體細節,預測方案將改變CPU「投機執行」的方式以防止有問題的推測發生。
針對Meltdown的攻擊,目前的已有方案已提供了強大的補丁更新和軟體防護,但是不同處理器保護的影響各異。在某些工作負載下的舊晶元上,保護Meltdown漏洞亦產生一定的算力開銷,儘管相對於大多數現代處理器而言,這種算力開銷可以忽略不計,但英特爾表示將儘可能通過硬體修復來徹底取代軟體保護,以完全消除這種算力上的額外支出。
英特爾還公開說明,公司重新設計了處理器的各個部分,通過分區來引入新的保護級別,以防止變種2和變種3的影響。這種分區可視為應用程序和用戶許可權級別之間的額外的「保護牆」,為潛在的黑客攻擊製造障礙。這些變化將出現在代號Cascade Lake的下一代英特爾至強處理器以及2018下半年將要發布的第8代酷睿處理器上。
柯再奇聲稱處理器生產的目標不僅僅是提供最佳性能,還有最佳安全,但是目前的工作並沒有做完,針對兩組晶元漏洞也並非單一的事件,英特爾在處理器安全上所作的努力是一個長期的承諾。
透過英特爾的態度我們可知,「熔斷」和「幽靈」兩組晶元漏洞的影響雖然通過迄今為止的補丁和硬體修復得到抑制,但並沒有完全消除。軟體層面的修復造成計算機性能下降,這種算力上的額外開銷仍然存在。而未來針對晶元漏洞的最佳修復方案將集中在處理器架構/硬體上的改進,這已逐漸成為晶元廠商、行業各方之共識。
不過,從事件伊始相關各方的焦頭爛額到如今柯再奇的躊躇滿志,不難看出英特爾對兩組晶元漏洞的完全修復充滿信心,而該事態的發展也將愈趨樂觀。很有可能的是,在不久的將來我們大可不必再為「人類是否應該犧牲一部分算力資源以換取信息安全」這類問題而被迫作出權衡與取捨。
文/水哥 高級工程師,科技專欄作者,中國計算機學會會員。IT評論,業界分析,不一而足。

