根據 Ars Technica 2026 年 4 月的報導,Google 的 Project Zero 展示了可透過網際網路對 Pixel 手機數據機取得遠端程式碼執行的可能性。它在 Exynos 數據機中發現了二十多個漏洞,其中 18 個被列為嚴重。數據機韌體是數十年來建構的舊有 C 與 C++,大小達數十 MB,且部分被視為商業機密,因此重寫並不現實。

Google 反而聚焦於 DNS 解析器,因為行動通訊功能如今依賴 DNS,而解析不受信任的資料是一大風險。它選擇了開源的 hickory-proto Rust 函式庫,其效能並非特別最佳化,但被廣泛採用。具垃圾回收的安全語言被排除,因為它們對即時數據機韌體而言太慢;Rust 則透過編譯期檢查獲得記憶體安全。

由於 Pixel 數據機沒有記憶體限制,團隊移除了該函式庫的標準函式庫依賴,將其編譯為機器碼並移植到既有程式碼上。Rust 元件增加了 371KB。

不要重寫數十 MB 的數據機程式碼;只將解析不受信任 DNS 資料的那個部分替換為記憶體安全的 Rust。

Rust 在編譯期強制記憶體安全,且無需緩慢的垃圾回收器,因此即時效能得以維持。

DNS 解析處理來自網路的不受信任資料,因此是價值高且範圍狹窄的目標。

Pixel 數據機有足夠的記憶體餘裕容納 371KB 的增補。

鑑於韌體的大小與涉及的商業機密,重寫整個韌體並不切實際。

你可以透過替換接觸惡意輸入的狹窄元件,而非全面重寫,來提升舊有系統的安全性。

Pixel 10 手機是首批搭載此數據機實作的機型。Google 希望其他平台跟進,不過該函式庫的大小對較簡單的嵌入式系統可能是個問題,更模組化的函式庫或許能解決。Google 將這項工作視為在基頻中加入更多記憶體安全元件的基礎。該報導並未提供漏洞數量下降的任何實測數據。

追溯依據

參考來源

  1. Google shoehorned Rust into Pixel 10 modem to make legacy code safer Ars Technica · arstechnica.com ·