← 返回 Siami 首頁

GrapheneOS 宣告 Pixel 11 移植失敗 Google 悄悄砍掉硬體記憶體標記 MTE

▲ 307 💬 161
GrapheneOS 宣告 Pixel 11 移植失敗 Google 悄悄砍掉硬體記憶體標記 MTE

編按:本文綜合整理自 GrapheneOS 官方 Bluesky 貼文、Hacker News 討論串(307 分、161 則回應)、ARM 官方 MTE 技術文件與 Android Open Source Project 記憶體安全說明,並加入 Siami 編輯部觀點與分析。

隱私與資安導向的 Android 系統 GrapheneOS 在官方帳號公開宣布:團隊花了一週時間嘗試把系統移植到 Pixel 11 系列,最後只完成「部分移植」,並決定不再往下走。原因不是驅動、不是韌體簽章,而是一項在資安圈被視為未來十年關鍵防線的硬體功能——ARM 硬體記憶體標記(Memory Tagging Extension,MTE),在 Pixel 11 上消失了。

GrapheneOS 的原文說得非常直接:軟體層、韌體層,甚至幾乎可以確定連硬體層,Pixel 11 都不再支援 MTE。而團隊的判斷是:「看起來 Google 為了省錢,砍掉了一項重要的安全功能。」


MTE 到底是什麼,為什麼資安圈這麼在意

要理解這件事的嚴重性,得先知道記憶體安全漏洞在整個資安版圖裡的份量。Google 自己與微軟過去公布的統計都顯示,作業系統與瀏覽器的重大漏洞裡,約有七成屬於記憶體安全問題——緩衝區溢位、釋放後使用(use-after-free)、越界讀寫這一類。這些漏洞正是絕大多數遠端攻擊鏈的第一塊骨牌。

MTE 的解法很優雅:由 CPU 在硬體層替每一塊記憶體配置貼上一個「標籤」,指標本身也帶著對應標籤。程式存取記憶體時,硬體會即時比對兩者是否吻合,不吻合就直接中斷。這代表:

  • 釋放後使用:記憶體被釋放後標籤會被換掉,舊指標再存取就立刻被抓到
  • 越界存取:跨越到相鄰配置區塊時標籤不同,同樣當場攔截
  • 不需要重寫程式碼:這是硬體層的防護,既有的 C/C++ 程式不用改寫就能受益
  • 效能代價很小:非對稱模式(asymmetric mode)下的效能損失,對絕大多數應用程式來說可以忽略

換句話說,MTE 是少數「不用把幾千萬行 C 語言重寫成 Rust,也能大幅削掉一整類漏洞」的路徑。這也是為什麼它一消失,資安社群反應這麼激烈。


Google 為什麼要拿掉?成本是最合理的解釋

GrapheneOS 團隊在 Hacker News 討論串裡親自回覆了推測原因:MTE 需要在 CPU 快取裡預留額外的晶片面積來存放標籤位元,砍掉它可以直接縮小晶片、降低成本。而 Google 之所以砍得下手,關鍵在於——他們自己幾乎沒在用。

MTE 在 Android 上目前只被用於 Android 16 引入的「進階防護模式」(Android Advanced Protection Mode,AAPM),而且僅涵蓋少數幾個行程,連 Linux 核心層都沒有啟用,更沒有對一般使用者預設開啟。一項多年來沒有被大規模部署的功能,在成本會議上自然是第一批被劃掉的項目。

GrapheneOS 對此的評價相當尖銳:Google 的安全團隊早就該把 MTE 推廣到系統的大部分區域,「那樣的話,要砍掉它就會困難得多」。他們甚至補了一刀:Pixel 11 機背那顆「幾乎沒什麼用的 LED」,成本很可能比 CPU 快取多出來的那點面積還高。

對照組是 Apple。GrapheneOS 承認,Apple 在 iOS 上把同類技術(MIE)整合得非常好——不只用在核心,也涵蓋大量基礎系統行程,並且是對所有使用者在生產環境中實際啟用。Apple 的弱點在於第三方 App 生態的採用率偏低,但系統本體的防護是紮實落地的。Google 則是技術做得出來、卻始終沒有真正部署,最後乾脆連硬體支援一起收掉。


🚨 為什麼這件事重要

這則消息表面上是「一個小眾 ROM 不支援一款新手機」,但它其實揭露了三個更大的結構性問題。

第一,安全功能正在被商業邏輯反向淘汰。 過去十年,硬體安全功能的走向幾乎都是單向遞增:安全啟動、加密引擎、獨立安全元件、指標驗證。MTE 是罕見的「往回走」案例。而它之所以能被砍,正是因為它從未成為使用者感知得到的賣點——沒有人會因為「有 MTE」而多買一支手機,於是它在成本表上就只是一個沒有營收貢獻的數字。這對整個產業是個危險先例:未被部署的安全功能,等於沒有防禦力,也等於沒有議價能力。

第二,Ghostlock 的時間點極度諷刺。 討論串裡有人指出,近期被用來 root Android 裝置的 CVE 漏洞(Ghostlock),恰恰是 MTE 能夠緩解的類型。Google 在一個記憶體漏洞正在被實際利用的時間點,移除了針對該類漏洞的硬體防線。這不是理論上的損失,而是防禦面積的實質收縮。

第三,Pixel 作為「安全 Android 參考機」的地位正在鬆動。 GrapheneOS 已經明確表態:不會再為任何缺少 MTE 的裝置提供官方版本;就算未來真的支援 Pixel 11,也不會掛 GrapheneOS 的品牌名,以免混淆安全等級。同時他們把賭注押在即將推出的 Motorola 旗艦上——那款機器將具備 MTE、安全元件、七年更新,而且 GrapheneOS 可以不必等待 Motorola 的公開 OS 釋出就取得韌體與驅動,這在 Pixel 時代是做不到的。


🚨 數據解讀與質疑

要公允看待這件事,有幾個數字與說法值得再確認一次。

  1. 「省成本」目前仍是推測。 Google 沒有發表任何官方說明,「為了縮小晶片面積」是 GrapheneOS 依據工程常識做出的推論。討論串裡也有人反駁:LED 的成本以分計,而 TSMC 的晶片面積按平方毫米計價,兩者相比未必如 GrapheneOS 所說。這個類比修辭效果強,但不宜當成定論。
  2. 「政府施壓」的說法沒有任何證據。 Bluesky 回覆串中出現「可能是政府介入」的猜測,這類說法目前完全缺乏佐證,讀者應保持距離。
  3. Pixel 11 並非全面退步。 即使是 GrapheneOS 自己也承認,Pixel 11 導入了新一代安全元件(Titan M3),對於沒有設定強密碼的使用者來說,首次解鎖前(Before First Unlock)的安全性有明顯提升;基頻晶片的效能與能耗也有改善。這是一次取捨,而不是單純的縮水。
  4. 現有 Pixel 使用者不必恐慌。 Pixel 10 仍有約六年更新期、Pixel 10a 更長,且 AOSP 早在 Android 16 就已停止支援 Pixel,GrapheneOS 依然持續供應更新。GrapheneOS 也表示,仍希望 Pixel 12 能把 MTE 加回來,讓這件事止於「一個世代的例外」。

真正值得追蹤的觀察點只有一個:Pixel 12 會不會把 MTE 放回去。 如果會,這只是一次成本會議上的失誤;如果不會,那代表 Google 已經在戰略上放棄硬體記憶體安全這條路線,而整個 Android 生態的防禦基準線,將由此下修一整個世代。


延伸閱讀

網友熱門留言 (5)

#1 perarneng(Hacker News) ▲ 307
MTE 是非常有前景的安全技術,在這個全世界都需要更多防護的時間點,居然反而倒退。這是很糟糕的發展方向。
#2 grapheneos(官方回覆) ▲ 161
Google 很可能是為了縮減 CPU 快取所需的晶片面積而砍掉 MTE。這項功能他們從來沒有預設啟用,只在 Android 進階防護模式裡用於少數行程,連 Linux 核心層都沒開。
#3 ChocolateGod(Hacker News) ▲ 84
諷刺的是,最近被用來 root Android 手機的那個 CVE(Ghostlock),正好可以被 MTE 緩解。
#4 bestouff(Hacker News) ▲ 92
他們也說 Pixel 11 相較 Pixel 10 幾乎沒有進步,記憶體還變少、價格還更貴。結論基本上就是:別買,等 Motorola。
#5 aboringusername(Hacker News) ▲ 55
Google 一邊宣傳 Android 有多安全,一邊由 GrapheneOS 免費幫所有人補強安全性,這件事本身就很諷刺。