在軟體開發與分發的過程中,我們通常依賴數位簽章(Digital Signature)來確保程式碼的安全性。對於初入行的工程師來說,數位簽章就像是一個身分證明,告訴系統這份檔案確實是由某個開發者發布的,且在傳輸過程中沒有被篡改。然而,隨著供應鏈攻擊(Supply Chain Attack)手法進化,單靠簽章已經不足以保證安全。
什麼是供應鏈攻擊及其風險
供應鏈攻擊是指攻擊者不直接攻擊目標系統,而是透過滲透軟體開發者的開發環境、更新伺服器或第三方套件庫,將惡意程式植入到正版軟體的更新包中。
最危險的地方在於,如果攻擊者取得了開發者的私鑰或控制了自動化建置流程,他們可以發布一個帶有惡意代碼的更新版本,並且這個版本依然擁有合法的數位簽章。對使用者和系統而言,這個檔案看起來完全合法,因為它的來源證明(Certificate of Origin)是真的,但其內容卻並非開發者原本打算發布的版本。
二進位透明度(Binary Transparency)的運作邏輯
為了填補這個漏洞,Google 推出了二進位透明度(Binary Transparency)機制。如果說數位簽章是證明誰發了這個檔案,那麼二進位透明度就是證明開發者確實「打算」發布這個特定版本的檔案。
這套機制參考了網路安全中非常著名的 Certificate Transparency(憑證透明度),後者要求所有核發的 SSL/TLS 憑證必須記錄在公開且不可篡改的日誌中。Binary Transparency 同樣建立了一個公開的、僅限附加(Append-only)且經過加密驗證的日誌帳本。
當 Google 發布一個 Android 應用程式或系統模組時,該版本的元數據(Metadata)會被記錄在這個公開帳本中。這創造了一個單一的事實來源(Source of Truth)。
實務上的影響與防禦能力
從 2026 年 5 月 1 日起,Google 的生產環境應用程式(包含 Google Play 服務、獨立 App 以及可動態更新的 Mainline 模組)都將納入此機制。這對安全防禦產生了三個核心影響:
首先是防止單一目標攻擊。攻擊者有時會針對特定少數使用者推送一個特製的惡意版本(One-off version)。在以往的情況下,只要簽章正確,這種定向攻擊很難被察覺。但在透明度機制下,如果該版本沒有記錄在公開帳本中,系統或研究人員就能立刻發現這不是官方發布的正式版本。
其次是提高可稽核性。Google 將提供驗證工具,讓安全研究人員或使用者可以比對裝置上的軟體版本是否與公開帳本一致。
最後是改變權力動態。這將軟體更新的信任基礎從單純的私鑰持有,轉移到了公開的共識驗證。即便私鑰外洩,攻擊者也無法在不被發現的情況下,悄悄地將惡意二進位檔分發給大量用戶。
總結
對於工程師而言,理解這個轉變至關重要:身分驗證(我是誰)不等於意圖驗證(我確實想發布這個版本)。Binary Transparency 將安全性從單點的加密證明,提升到了系統性的透明監督,有效遏止了那些利用合法簽章掩蓋惡意行為的供應鏈攻擊。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。