幽靈再現:資料洩露漏洞影響英特爾、AMD、ARM晶片
CPU製造巨頭堅稱現有防護措施可抵禦攻擊,但研究人員不怎麼認為。
電腦保安研究人員又發現了一組CPU瞬時執行攻擊,本地攻擊者可藉此訪問特權資料,實現今年年初熔斷和幽靈漏洞曝光時的預言。
簡單講,惡意使用者和惡意軟體可利用這組處理器安全漏洞從記憶體中找出口令、加密金鑰等本不應被觸及的祕密。目前尚未發現此類漏洞的野生利用例項,但無論如何,它們都給半導體行業敲響了警鐘,晶片設計和工具鏈是必須做出改變了。
發現這組最新晶片漏洞的科學家中就包括有當初曝光了原始幽靈和熔斷漏洞的那幾位。
研究人員稱,“瞬時執行”這個詞比“預測執行”更適合用來描述幽靈、熔斷和預兆攻擊。
11月13日在ArXiv上預釋出的論文中,研究人員寫道:‘預測執行’常被錯誤地用來指代一系列基於特定事件(比如條件分支、返回地址或記憶體消歧)結果預測、亂序執行和管道的攻擊。
然而,幽靈和熔斷漏洞利用的CPU屬性有本質差異。一塊CPU可能容易受到幽靈攻擊而對熔斷免疫(比如AMD晶片),或者易遭熔斷攻擊而對幽靈攻擊免疫。兩種攻擊之間唯一的共同點是都利用了瞬時執行域的邊通道效應,比如那些未然執行。
不那麼明顯的7種新瞬時執行攻擊
研究人員描述了7種瞬時執行攻擊,包含2個熔斷新變體(英特爾上的Meltdown-PK,英特爾和AMD都存在的Meltdown-BR),還有5個為之前披露的 Spectre-PHT (邊界檢查繞過) 和 Spectre-BTB (分支目標註入)漏洞設計的新幽靈分支預測器錯誤訓練策略。研究人員已向晶片供應商負責任地披露了相關發現。
幽靈漏洞利用分支預測獲取瞬時資料,熔斷通過評估CPU核心記憶體讀取失敗後的瞬時亂序指令來繞過應用與作業系統間的隔離。
之前共有5個公開披露的熔斷變體:Meltdown-US (熔斷)、Meltdown-P (預兆)、Meltdown-GP (變體 3a)、Meltdown-NM (Lazy FP)、和Meltdown-RW (變體 1.2)。
研究人員這次拿出了2個新的:Meltdown-PK和Meltdown-BR。
Meltdown-PK攻擊可突破英特爾Skylake-SP伺服器晶片所謂的使用者空間記憶體保護金鑰(PKU)防護。PKU可使處理器無需系統呼叫/超級呼叫就從使用者空間修改記憶體頁面的訪問許可權。
Meltdown-PK顯示出,只要攻擊者能在程序中執行程式碼,即便無法執行wrpkru指令(比如因為黑名單的原因),PKU隔離也可以被繞過。而且,與跨許可權級別的Meltdown攻擊變種相反,其中不涉及任何軟體解決方案。英特爾只能通過更新硬體或微程式碼更新來修復Meltdown-PK。
Meltdown-BR提供了繞過邊界檢查的方法。而邊界檢查能在發現越界值時丟擲異常。Meltdown-BR利用此類異常丟擲後的瞬時執行來捕獲本來不應被訪問到的帶外祕密。
研究人員在支援記憶體保護擴充套件(MPX)的 Skylake i5-6200U CPU、 AMD 2013 E2-2000 和 AMD 2017 Ryzen Threadripper 1920X 上演示了他們的攻擊,並指出,這是熔斷風格的瞬時執行攻擊利用AMD硬體延遲異常處理特性的首次演示。
至於 Spectre-PHT 和 Spectre-BTB 攻擊中錯誤訓練分支預測器的創新方法,研究人員在 Intel Skylake i5-6200U 和 Haswell i7-4790,AMD Ryzen 1950X 和 Ryzen Threadripper 1920X,,以及一塊基於Arm 的 NVIDIA Jetson TX1 上進行了概念驗證。
所有晶片供應商的處理器都未能免疫。不過,Spectre-BTB的潛在攻擊場景可能非常有限。目前,這些漏洞尚未被分配CVE編號。
不理不睬
在發給媒體的電子郵件宣告中,英特爾發言人對研究人員的發現輕描淡寫:
論文中的漏洞用針對幽靈和熔斷漏洞的現有緩解技術就能完全解決,英特爾和其他晶片製造商之前釋出過的緩解措施也可以。保護客戶一直是我們的重中之重,感謝研究人員的貢獻。
Arm發言人表示:學術界研究人員發現的最新幽靈和熔斷漏洞應用之前釋出的Arm白皮書中描述的現有緩解措施即可解決。
AMD對媒體的評論請求沒有做出迴應。
晶片供應商們堅稱不受影響的宣告與研究人員公佈的論文相悖。研究人員在論文中寫道:即便啟用了所有緩解措施,我們依然能執行Meltdown-BR、Meltdown-PK 和 Meltdown-RW。有些瞬時執行攻擊不能被現有補丁成功緩解,其他則是因為被忽視了而未能成功緩解。
令情況變得更為棘手的是,因為補丁對效能的影響太大,部分使用者禁用了已經發布的緩解措施。研究人員表示,釋出該論文的目的之一,是要敦促晶片製造商拿出更好的修復措施來解決瞬時執行攻擊的根源問題。
幽靈和熔斷披露之初就有媒體表示,更好的解決方案可能意味著硬體重構。HackerOne以為安全研究員在給媒體的郵件宣告中說道:只要處理器還繼續預測執行,此類漏洞就會不斷冒出。硬體層面上操作始終無法避免副作用,假裝此類操作沒有副作用的無視態度只會引發安全問題。
截至目前,雖然其他研究人員還發布了一個名為NetSpectre的遠端幽靈攻擊,本文中涉及的最新技術似乎都屬於本地威脅。
研究人員表示:遠端攻擊目前很難載入。
瞬時執行攻擊的威脅沒有因為這篇論文的釋出而發生什麼改變。我們釋出論文的主要目的是向安全社群呈現分析和分類新變種的清晰途徑,描繪驗證和分析防禦技術的明晰方法。真正改變了的是我們現在可以更好地評估具體的防禦技術了。
新漏洞論文連結:
ofollow,noindex">https://arxiv.org/pdf/1811.05441.pdf
Arm白皮書:
https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability