蘋果晶片被曝重大安全漏洞,或緻密鑰洩漏

首頁 > 科技

蘋果晶片被曝重大安全漏洞,或緻密鑰洩漏

來源:電影胡侃 釋出時間:2024-03-24 17:12

蘋果晶片被曝重大安全漏洞,或緻密鑰洩漏

芯東西3月24日訊息,據美國科技媒體Ars Technica報道,研究人員在週四發表的論文中披露,蘋果M系列晶片中存在一個新發現的安全漏洞。

這一漏洞允許攻擊者在執行廣泛使用的加密操作時從蘋果Mac電腦中竊取金鑰,從而訪問使用者的資料。

據瞭解,蘋果無法在晶片上修復這一漏洞,需要開發者採用其他措施進行修復。然而幾乎所有措施都會嚴重影響裝置的效能。

對蘋果修復該漏洞可能產生的影響,暫時不得而知。可以確定的是,當用戶使用特定的加密操作時,裝置效能會顯著損失。

蘋果公司拒絕對該研究置評。

一、源於硬體最佳化功能,DMP易受攻擊

蘋果M晶片中存在的這一安全漏洞是一種側通道(side channel)攻擊。當蘋果晶片執行常用的加密協議時,側通道允許端到端的金鑰提取。由於這一漏洞存在於蘋果晶片本身的微架構設計,因此它無法直接修補。

相反,蘋果只能透過在第三方加密軟體中建立防禦措施來緩解這一問題,而這些加密軟體在執行加密操作時會大幅降低M系列晶片的效能,特別是此前搭載M1和M2系列的蘋果產品。當目標加密操作和惡意應用程式以普通使用者系統許可權在同一CPU叢集上執行時,該漏洞就會被利用。

該漏洞源於蘋果晶片的資料記憶體依賴預取器(data memory-dependent prefetcher, DMP)的硬體最佳化功能,DMP可以預測當前執行程式碼中最有可能訪問的資料記憶體地址。

延遲是現代計算機中的一個常見瓶頸。在將所需要的實際內容載入到CPU快取中時,DMP可以減少主記憶體和CPU之間的延遲。舊形式的預取器已使用多年,但DMP是一種較新的技術,僅在蘋果M系列晶片和英特爾第13代Raptor Lake微架構中使用過。

安全專家很早就瞭解到,傳統的預取器能夠開啟一個側通道,惡意程序可以探測到這一通道,從而在加密作業系統中獲取金鑰資訊。

由於預取器根據先前的訪問模式進行預測通道,這可能導致側通道的狀態發生變化,攻擊者則可以利用這些變化來洩露資訊。

為了應對這種風險,密碼工程師設計了常量時間程式設計(constant-time programming)。這種方法可以確保無論是怎樣的操作量,所有操作都需要相同的時間來完成。它透過保持程式碼不受秘密依賴記憶體訪問(secret-dependent memory accesses)或其他結構的限制來實現。

這項新研究的突破之處在於,它揭示了蘋果晶片中DMP之前被忽視的一個特徵,即DMP有時會錯誤地將金鑰等敏感資料內容與記憶體地址指標混淆。其結果是,DMP經常讀取資料並試圖將資料理解為地址,從而執行記憶體訪問的操作。這種記憶體地址指標的“解引用”( dereferencing)意味著資料可以被讀取並透過側通道洩露出去,這明顯違反了常量時間操作。

在一封信件中,他們對DMP的行為作出解釋:“預取器通常能夠檢視被訪問資料的地址,並嘗試猜測未來可能有用的地址,這一過程中預取器會忽略被訪問資料的值。

DMP則不同,因為除了資料的地址外,DMP還能夠使用資料的值進行預測。尤其是如果一個數據值‘看起來’像一個記憶體地址指標,它將被DMP視為一個數據的地址,並且該地址的資料將會被帶到快取中。地址資料到達快取這一過程是可見的,資料資訊從而透過快取側通道洩露出去。”

▲記憶體訪問模式與DMP在訪問資料地址的差別(圖源:GoFetch: Breaking Constant-Time Cryptographic Implementations Using Data Memory-Dependent Prefetchers)

研究人員以此對DMP進行攻擊。雖然無法直接洩露金鑰,但他們可以對加密演算法內部的中間資料進行攻擊,使資料值看起來像一個地址,並將該地址的資料放入快取,從而洩露該地址。經過反覆嘗試,研究人員足以在一段時間內獲取金鑰。

在論文中,該研究團隊對獲取金鑰這一過程的解釋稍有不同,認為研究的關鍵見解是,雖然DMP只“解引用”指標,但攻擊者可以輸入程式,使這些輸入的程式與金鑰混合,並且當且僅當私密資訊滿足攻擊者選擇的驗證時,混合後所產生的中間狀態可以被設計成指標樣式。

研究人員舉例稱假設一個程式具有私密資訊s,那麼將x作為程式輸入並計算,再將y=s⊕x儲存道程式記憶體中,攻擊者則可以製作不同的x,並觀察DMP是否能夠‘解印’出y,從而推斷出關於s的部分甚至全部資訊。

二、不需Root訪問許可權,GoFetch降低駭客攻擊門檻

研究人員將這種輸入程式與金鑰混合的攻擊命名為“GoFetch”。使用GoFetch的應用不需要Root許可權(使用者最高許可權),只需要與安裝在macOS系統上的大多數第三方應用程式相同的使用者許可權。

例如,M系列晶片被分成兩個叢集:一個E叢集(包含四個E核心)和一個P叢集(包含4個P核心)。只要GoFetch應用和目標加密系統在相同的效能叢集上執行,即使在該叢集內的不同核心上,GoFetch也能竊取足夠的私密資訊以洩露金鑰。

這種攻擊既針對傳統的加密演算法,也對新一代加密演算法有效,即便新一代加密演算法已經經過強化,可以抵禦量子計算機的預期攻擊。

使用GoFetch的應用只需要不到一小時就能提取一個2048-bit RSA金鑰,兩個多小時就能提取一個2048-bit Diffie-Hellman金鑰。它需要54分鐘提取組裝一個Kyber-512金鑰所需的材料,而提取一個Dilithium-2金鑰需要10小時,這還不包括處理原始資料所需的離線時間。

在執行操作時,GoFetch能夠竊取目標應用程式用於執行這些加密操作的金鑰。這種機制意味著,在收集資料期間,目標應用程式無需自行執行任何加密操作。

上述四種攻擊都採用了常量時間程式設計,證明了蘋果晶片中的DMP能擊破了所有加密防禦。

GoFetch並不是研究人員首次發現的潛伏在蘋果DMP中的威脅,對GoFetch的最佳化在2022年的一項研究中被記錄下來,該研究在蘋果M1和A14晶片中都發現了一種此前未知的“指標雕鏤DMP”(pointer-chasing DMP)。

這項來自不同學術團體的研究引發了名為Augury的攻擊,該攻擊識別並利用了一個洩露指標的記憶體側通道,從而對DMP發起攻擊。最終,當使用常量時間程式設計後,Augury無法將資料資訊和資料地址混合在一起。該攻擊的失敗給當時人們的印象是,DMP並沒有構成太大的威脅。

使用GoFetch應用的作者在他們的網站上寫道:“GoFetch表明,DMP比之前想象的更具侵略性,因此也構成了更大的安全風險。具體來說,我們發現任何從記憶體中載入的值都有可能被解引。這使我們能規避Augury的許多限制,並在常量時間程式設計演示端到端攻擊。

三、修復安全漏洞,責任在於開發者

與其他微架構CPU側通道一樣,蘋果無法在晶片上修復GoFetch。這樣一來,減輕漏洞有害影響的責任落在了為蘋果硬體開發程式碼的人身上。對於在M1和M2處理器上執行加密軟體的開發人員來說,這意味著,除了常量時間程式設計外,他們還必須採用其他防禦措施,然而幾乎所有措施都會帶來顯著的效能損失。

一個典型的例子是密文盲化(ciphertext blinding),它是修復安全漏洞最有效的措施之一。密文盲化的工作原理是,在敏感值儲存到記憶體或從記憶體載入之前和之後,增加或刪除掩碼。

這能夠有效隨機化加密演算法的內部狀態,防止攻擊者控制它,從而中和GoFetch的攻擊。

但不幸的是,研究人員說這種防禦針對特定演算法,且通常代價高昂,甚至在某些情況下可能會使所需的計算資源增加一倍,例如Diffie-Hellman金鑰交換協議(Diffie-Hellman key exchanges)。

另一種防禦措施是在前面提到的E核心上執行加密程序,這些核心中沒有DMP。

一種可能的嘗試是,在這些核心上執行所有加密程式碼。但是這種防禦措施也並非十全十美。它不僅可能會有未宣佈的變更將DMP功能新增到E核心中,而且在這裡執行加密程序,可能會顯著增加完成操作所需的時間。研究人員還提到其他幾種特別防禦措施,但它們同樣存在問題。

此外,蘋果最新的晶片M3上的DMP有一個特殊的位(bit),開發者可以呼叫這個位,以禁用DMP獲取資料資訊的功能。研究人員目前還不知道在關閉次效能最佳化時會發生何種效能影響。

研究人員還指出,在英特爾Raptor Lake處理器中發現的DMP不會洩露相同型別的隱私資訊。更重要的是,類似於M3,在Raptor Lake上設定一個特殊的DOIT位也能夠有效關閉DMP。

不過對於使用者而言,無論發生怎樣的效能影響,只有當受影響的軟體執行特定的加密操作時,使用者才能感知到。對於瀏覽器和許多其他型別的應用,使用者可能無法感知到效能受到怎樣影響。

研究人員寫道:“從長遠看,我們認為正確的解決方案是補充2020年公佈的軟硬體協議中的內容以解決DMP問題。至少硬體應該向軟體提供一種在執行安全關鍵應用程式時選擇性禁用DMP的方法,這已經有了初步的行業先例。例如,英特爾的DOIT擴充套件明確提到可以透過ISA擴充套件禁用他們的DMP。

從長期看,在理想情況下,人們希望有更精細的控制措施,例如限制DMP只能從特定緩衝區或指定的非敏感記憶體區域提取資料。”

最後,對此有顧慮的使用者應當檢查可用於實現已知易受攻擊的四種加密協議中任何一種macOS的GoFetch緩解更新。謹慎起見,至少在目前,假設其他加密協議也可能容易受到影響是明智的。

研究人員稱:“不幸的是,要評估一種措施是否容易受到攻擊,需要進行密碼分析和程式碼檢查,以瞭解如何讓中間值看起來像指標,從而洩露私密資訊。這個過程需要手把手的嘗試,並且極其緩慢,還不排除有其他攻擊方式。”

結語:使用者隱私難保障,蘋果應及時回應並解決漏洞

在蘋果晶片上發現的這一最新安全漏洞,使得使用者的隱私安全受到威脅。根據該研究論文,這一漏洞的發現揭示了蘋果晶片中預取器中以前被忽視的行為,蘋果產品的安全風險進一步引發社會關注與擔憂。

根據英特爾此前先例,以及研究人員提出的相關建議,蘋果公司應儘快解決這一漏洞,並防止使用者隱私洩露問題的再次發生。鑑於此前發生的蘋果裝置監聽問題,蘋果亟待將保護使用者隱私作為重點。

來源:Ars Technica

蘋果晶片被曝重大安全漏洞,或緻密鑰洩漏

芯東西3月24日訊息,據美國科技媒體Ars Technica報道,研究人員在週四發表的論文中披露,蘋果M系列晶片中存在一個新發現的安全漏洞。

這一漏洞允許攻擊者在執行廣泛使用的加密操作時從蘋果Mac電腦中竊取金鑰,從而訪問使用者的資料。

據瞭解,蘋果無法在晶片上修復這一漏洞,需要開發者採用其他措施進行修復。然而幾乎所有措施都會嚴重影響裝置的效能。

對蘋果修復該漏洞可能產生的影響,暫時不得而知。可以確定的是,當用戶使用特定的加密操作時,裝置效能會顯著損失。

蘋果公司拒絕對該研究置評。

一、源於硬體最佳化功能,DMP易受攻擊

蘋果M晶片中存在的這一安全漏洞是一種側通道(side channel)攻擊。當蘋果晶片執行常用的加密協議時,側通道允許端到端的金鑰提取。由於這一漏洞存在於蘋果晶片本身的微架構設計,因此它無法直接修補。

相反,蘋果只能透過在第三方加密軟體中建立防禦措施來緩解這一問題,而這些加密軟體在執行加密操作時會大幅降低M系列晶片的效能,特別是此前搭載M1和M2系列的蘋果產品。當目標加密操作和惡意應用程式以普通使用者系統許可權在同一CPU叢集上執行時,該漏洞就會被利用。

該漏洞源於蘋果晶片的資料記憶體依賴預取器(data memory-dependent prefetcher, DMP)的硬體最佳化功能,DMP可以預測當前執行程式碼中最有可能訪問的資料記憶體地址。

延遲是現代計算機中的一個常見瓶頸。在將所需要的實際內容載入到CPU快取中時,DMP可以減少主記憶體和CPU之間的延遲。舊形式的預取器已使用多年,但DMP是一種較新的技術,僅在蘋果M系列晶片和英特爾第13代Raptor Lake微架構中使用過。

蘋果晶片被曝重大安全漏洞,或緻密鑰洩漏

芯東西3月24日訊息,據美國科技媒體Ars Technica報道,研究人員在週四發表的論文中披露,蘋果M系列晶片中存在一個新發現的安全漏洞。

這一漏洞允許攻擊者在執行廣泛使用的加密操作時從蘋果Mac電腦中竊取金鑰,從而訪問使用者的資料。

據瞭解,蘋果無法在晶片上修復這一漏洞,需要開發者採用其他措施進行修復。然而幾乎所有措施都會嚴重影響裝置的效能。

對蘋果修復該漏洞可能產生的影響,暫時不得而知。可以確定的是,當用戶使用特定的加密操作時,裝置效能會顯著損失。

蘋果公司拒絕對該研究置評。

一、源於硬體最佳化功能,DMP易受攻擊

蘋果M晶片中存在的這一安全漏洞是一種側通道(side channel)攻擊。當蘋果晶片執行常用的加密協議時,側通道允許端到端的金鑰提取。由於這一漏洞存在於蘋果晶片本身的微架構設計,因此它無法直接修補。

相反,蘋果只能透過在第三方加密軟體中建立防禦措施來緩解這一問題,而這些加密軟體在執行加密操作時會大幅降低M系列晶片的效能,特別是此前搭載M1和M2系列的蘋果產品。當目標加密操作和惡意應用程式以普通使用者系統許可權在同一CPU叢集上執行時,該漏洞就會被利用。

該漏洞源於蘋果晶片的資料記憶體依賴預取器(data memory-dependent prefetcher, DMP)的硬體最佳化功能,DMP可以預測當前執行程式碼中最有可能訪問的資料記憶體地址。

延遲是現代計算機中的一個常見瓶頸。在將所需要的實際內容載入到CPU快取中時,DMP可以減少主記憶體和CPU之間的延遲。舊形式的預取器已使用多年,但DMP是一種較新的技術,僅在蘋果M系列晶片和英特爾第13代Raptor Lake微架構中使用過。

蘋果晶片被曝重大安全漏洞,或緻密鑰洩漏

芯東西3月24日訊息,據美國科技媒體Ars Technica報道,研究人員在週四發表的論文中披露,蘋果M系列晶片中存在一個新發現的安全漏洞。

這一漏洞允許攻擊者在執行廣泛使用的加密操作時從蘋果Mac電腦中竊取金鑰,從而訪問使用者的資料。

據瞭解,蘋果無法在晶片上修復這一漏洞,需要開發者採用其他措施進行修復。然而幾乎所有措施都會嚴重影響裝置的效能。

對蘋果修復該漏洞可能產生的影響,暫時不得而知。可以確定的是,當用戶使用特定的加密操作時,裝置效能會顯著損失。

蘋果公司拒絕對該研究置評。

一、源於硬體最佳化功能,DMP易受攻擊

蘋果M晶片中存在的這一安全漏洞是一種側通道(side channel)攻擊。當蘋果晶片執行常用的加密協議時,側通道允許端到端的金鑰提取。由於這一漏洞存在於蘋果晶片本身的微架構設計,因此它無法直接修補。

相反,蘋果只能透過在第三方加密軟體中建立防禦措施來緩解這一問題,而這些加密軟體在執行加密操作時會大幅降低M系列晶片的效能,特別是此前搭載M1和M2系列的蘋果產品。當目標加密操作和惡意應用程式以普通使用者系統許可權在同一CPU叢集上執行時,該漏洞就會被利用。

該漏洞源於蘋果晶片的資料記憶體依賴預取器(data memory-dependent prefetcher, DMP)的硬體最佳化功能,DMP可以預測當前執行程式碼中最有可能訪問的資料記憶體地址。

延遲是現代計算機中的一個常見瓶頸。在將所需要的實際內容載入到CPU快取中時,DMP可以減少主記憶體和CPU之間的延遲。舊形式的預取器已使用多年,但DMP是一種較新的技術,僅在蘋果M系列晶片和英特爾第13代Raptor Lake微架構中使用過。

上一篇:GPU如何主宰... 下一篇:沈向洋:大模...
猜你喜歡
熱門閱讀
同類推薦