安全性更新和資源

Android 安全性團隊的職責是管理在 Google Cloud 控制台 以及 Android 裝置隨附的許多核心 Android 應用程式。

Android 安全性團隊會透過內部研究找出安全漏洞 回應第三方回報的錯誤。外部錯誤的來源包括已回報的問題 透過 安全漏洞表單、已發布和預先發布的學術研究、上游開放原始碼專案維護人員、 來自裝置製造商合作夥伴的通知,以及在 Google 上公開揭露的問題 例如網誌或社群媒體

回報安全性問題

凡是開發人員、Android 使用者或安全性研究人員,都可以通知 Android 安全性團隊 找出潛在的安全性問題 安全漏洞表單

標示為安全性問題的錯誤不會對外公開,但最終可能會改為顯示 要在問題評估或解決後顯示。如果您打算提交修補程式 Compatibility Test Suite (CTS) 測試可解決安全性問題,請附加到該錯誤 並等候回應,再將程式碼上傳到 Android 開放原始碼計畫。

將錯誤分類

處理安全漏洞時,首先要做的是判別錯誤嚴重程度 哪些 Android 元件受到影響嚴重性會決定問題的優先順序 元件會決定由誰修正錯誤、要通知誰,以及如何部署修正項目 讓使用者享有低延遲和高可用性

環境類型

下表列出硬體和軟體安全環境的定義。背景資訊可以 按其一般所處理資料的機密程度來定義,也可按執行範圍定義。非 所有系統均適用。這份表格的排序依據是最低到最多 保密特權。

環境類型 類型定義
受限的環境 僅有最少權限的受限執行環境 或更新提示

例如,受信任的應用程式在沙箱內處理不受信任的資料,就屬於這種情況 環境。
沒有特殊權限的環境 適合沒有特殊權限的程式碼執行的典型環境。

例如,Android 應用程式在 SELinux 網域中執行, untrusted_app_all 屬性。
具有特殊權限的環境 具有特殊權限的執行環境,可能可以使用進階權限和控制 多個使用者 PII,及/或維護系統完整性。

例如,Android 應用程式含有禁止 SELinux untrusted_app 網域或能夠存取 privileged|signature權限。
OS 核心 此功能的特性如下:
  • 是核心的一環
  • 會在與核心相同的 CPU 環境 (例如裝置驅動程式) 中執行
  • 可直接存取核心記憶體 (例如裝置上的硬體元件)
  • 可將指令碼載入核心元件 (例如 eBPF)
  • 是少數被視為與核心等效的使用者服務之一 (例如 apexdbpfloaderinitueventd、 和 vold)。
受信任的硬體基礎 (THB) 獨立的硬體元件,通常位於 SoC,可提供 搭配裝置的核心用途 (例如行動網路基頻、DSP、GPU 和機器學習) 處理器)。
系統啟動載入程式鏈結 裝置啟動時,此元件可設定裝置,然後將控制權交給 Android 作業系統。
受信任的執行環境 (TEE) 即使元件含有惡意的 OS 核心,此元件也能受到保護 (例如 TrustZone 和管理程序 (例如 pKVM) 可保護 OS 上的虛擬機器 核心)。
安全隔離區/安全元件 (SE) 選用的硬體元件,旨在防止裝置上其他所有元件 不受實體攻擊時,依照 安全元件簡介

包括部分 Android 裝置內建的 Titan M 晶片。

嚴重程度

一般來說,錯誤的嚴重程度能反映某錯誤 可能遭利用的漏洞受到攻擊。判斷嚴重程度時,請以下列條件為基準。

Rating 漏洞遭到利用的後果
最高
  • 在 TEE 或 SE 中執行任意程式碼
  • 規避為了防範安全相關軟體或硬體而設計的軟體機制 元件故障 (例如熱防護)
  • 從遠端存取用於遠端服務驗證的機密憑證 (適用於 例如帳戶密碼或不記名權杖)
  • 在無使用者的情況下,在行動網路基頻環境中遠端執行任意程式碼 互動 (例如利用手機無線電服務的錯誤)
  • 在具有特殊權限的環境、系統啟動載入程式鏈結、THB 或 OS 核心
  • 從遠端規避與套件安裝或同等元件相關的使用者互動要求 行為
  • 從遠端規避針對核心開發人員、安全性或 隱私權設定
  • 從遠端持續阻斷服務 (永久性損壞,需要重新刷新整個 作業系統或恢復原廠設定)
  • 規避遠端安全啟動機制
  • 在未獲授權的情況下存取由 SE 保護的資料,包括由低強度金鑰導致的存取行為 SE。
  • 完全規避核心安全防護功能 (例如 SELinux、FBE 或 seccomp)
  • 規避一般的縱深防禦措施或防範攻擊技術 系統啟動載入程式鏈結、TEE 或 SE
  • 規避一般的作業系統防護機制,這通常會洩露記憶體或檔案內容 跨應用程式、使用者或個人資料的範圍
  • 攻擊 SE,導致降級至安全性較低的實作方式
  • 從可遠端存取的遭入侵裸機韌體 (例如基頻、 CP/通訊處理器) 寫入應用程式處理器 (AP) 核心或略過 用來將裸機韌體與 AP 核心隔離的機制
  • 規避裝置保護機制/恢復原廠設定保護機制/電信業者的限制
  • 規避受到 TEE 保護的使用者互動要求
  • 允許針對端對端通訊協定攻擊的加密編譯漏洞。 包括針對傳輸層安全標準 (TLS) 和藍牙 (BT) 的攻擊。
  • 在本機存取用於遠端服務驗證的機密憑證 (適用於 例如帳戶密碼或不記名權杖)
  • 在具有特殊權限的環境、系統啟動載入程式鏈結、THB 或 OS 核心
  • 規避本機安全啟動機制
  • 規避螢幕鎖定機制
  • 從本機規避針對核心開發人員、安全性或隱私權的使用者互動要求 設定
  • 從本機規避與套件安裝或同等功能的使用者互動要求 行為
  • 從本機持續阻斷服務 (永久性損壞,需要重新刷新整個 或恢復原廠設定)
  • 從遠端存取受保護的資料 (即僅具有特殊權限的資料存取權) 相關資訊)
  • 在沒有特殊權限的環境中,從遠端執行任意程式碼
  • 在未與使用者互動的情況下,從遠端禁止存取行動網路或 Wi-Fi 服務 (適用於 例如:使用格式錯誤的封包造成手機無線電服務當機)
  • 從遠端規避使用者互動要求 (使用存取 必須具備使用者啟動或使用者權限)
  • 有針對性地禁止使用緊急救援服務
  • 透過不安全的網路通訊協定 (例如 HTTP 和未加密的藍牙)。注意事項 這不適用於 WEP 這類 Wi-Fi 加密機制
  • 在未獲授權的情況下存取受 TEE 保護的資料,包括由低強度金鑰導致的存取行為 TEE
中等
  • 規避一般的縱深防禦措施或防範攻擊技術 特殊權限環境、THB 或 OS 核心
  • 規避一般的作業系統防護機制,這通常會洩露程序狀態或 應用程式、使用者或剖析範圍的中繼資料
  • 規避 Wi-Fi 加密或驗證機制
  • 標準密碼基元中的加密編譯漏洞,導致 明文 (非 TLS 中使用的基元)
  • 從本機存取受保護的資料 (即僅可在具有特殊權限的環境存取的資料)
  • 在沒有特殊權限的環境中,從本機執行任意程式碼
  • 從本機規避使用者互動要求 (使用存取 通常需要使用者啟動或使用者權限)
  • 從遠端存取未受保護的資料 (也就是任何裝置通常都能存取的資料) 已安裝的應用程式)
  • 在受限的環境中,從遠端執行任意程式碼
  • 從遠端暫時阻斷裝置服務 (從遠端停止或重新啟動裝置)
  • 規避一般使用者層級的縱深防禦措施或防範攻擊技術 沒有特殊權限的環境
  • 規避正常值 防護等級 權限
  • 在非標準使用情況下導致加密編譯漏洞
  • 一般規避裝置端個人化功能,例如 Voice Match Face Match
  • 提供錯誤的說明文件,可能會導致出現安全漏洞
  • 在受限的環境中,從本機執行任意程式碼
  • 系統定義的文字包含誤導性說明,導致錯誤內容 安全性期望
可忽略的安全性影響 (NSI)
  • 一或多個分級修正因素已降低其影響的安全漏洞。 因此,實際嚴重性低於「低」、 儘管基礎程式碼問題
  • 出現某種安全漏洞,導致需要格式錯誤的檔案系統 (如果檔案系統永遠有效) 已採用/加密
  • 本機暫時阻斷服務,例如重新啟動裝置或解除安裝應用程式,即可解決狀況 觸發的應用程式

分級修正因素

安全漏洞的嚴重程度通常很容易辨識,但評分可能會變動 做出適當的回應

原因 效果
需要在具有特殊權限的環境下執行,才能執行攻擊 (不適用於 TEE、SE、 和管理程序 (如 pKVM) 嚴重程度降低 1 級
因閱讀特定安全漏洞詳情,有效控制了問題的影響程度 嚴重程度降低 1 級
規避生物特徵辨識驗證。這類驗證方式必須直接從 裝置擁有者 嚴重程度降低 1 級
編譯器或平台設定緩解了原始碼中的安全漏洞 如果基本安全漏洞問題的嚴重程度為「中等」以上,則此處嚴重程度降為「中等」
需實際存取裝置內部,如果裝置關機或裝置已關機,則仍然可以存取 開機後未解鎖 嚴重程度降低 1 級
在裝置開機且先前曾連線的情況下,需要實際存取裝置內部 已解鎖 嚴重程度降低 2 級
需要解鎖系統啟動載入程式鏈結,才能發動本機攻擊 不高於「低」
需要開發人員模式或任何常駐的開發人員模式設定,才能發動本機攻擊 裝置目前已啟用 (且本身不是「開發人員模式」中的錯誤)。 不高於「低」
沒有任何 SELinux 網域可在 Google 提供的 SEPolicy 下執行操作 可忽略的安全性影響

本機、鄰近與遠端

所謂遠端攻擊向量,是指攻擊者在利用錯誤時,不必安裝應用程式 不必實際操作裝置這包括瀏覽到 或連接惡意網路、閱讀電子郵件、接收 SMS 訊息或連線到惡意網路。

近似攻擊向量被視為遠端攻擊媒介。這包括僅可遭利用的錯誤 例如,當攻擊者在目標裝置附近執行 傳送格式錯誤的 Wi-Fi 或藍牙封包。我們考慮使用超寬頻 (UWB) 和 NFC 技術 也就是遠端攻擊

攻擊者需要事先取得受害者的存取權,才能執行本機攻擊。在假想中 純軟體的例子,可能是透過受害者安裝的惡意應用程式, 對方擁有的免安裝應用程式 允許執行。

成功配對的裝置 (例如藍牙隨附裝置) 皆視為本機裝置。三 區分已配對和正在配對的裝置。 流程

  • 危害使用者識別配對其他裝置的能力 (例如 可視為約略值,因此視為遠端驗證。
  • 配對流程期間,但在使用者同意前 (即授權) 發生的錯誤 屬於近似值,因此屬於遠端
  • 在確立使用者同意後發生的錯誤視為本地錯誤,即使 配對最終會失敗。

實體攻擊向量視為本機。這包括僅可運用於 能實際操作裝置的攻擊者,例如螢幕鎖定畫面上的錯誤 需要接上 USB 傳輸線裝置在處於解鎖狀態時通常處於鎖定狀態 插入 USB 後,無論 是否必須解鎖裝置

網路安全

Android 會假設所有網路都含有惡意內容,這些內容可能發動注入式攻擊或監視 流量連結層的安全防護機制 (例如 Wi-Fi 加密) 則可保護通訊安全 裝置與所連線存取點之間,並不會確保 裝置與要通訊的伺服器之間鏈結的多個連結。

相較之下,HTTPS 通常會以端對端的方式保護整個通訊過程,並將資料加密 ,等當它抵達最終目的地時,就進行解密及驗證。 因此,對於入侵連結層的網路安全防護機制,嚴重程度較低 嚴重超過 HTTPS/TLS 安全漏洞:單靠 Wi-Fi 加密並不足夠 以及網際網路上通訊

生物特徵辨識驗證

生物特徵辨識驗證是一項有挑戰的空間,即使是最頂尖的系統,也都可能遭到 近似比對 (請參閱 Android 開發人員網誌:Android 11 的螢幕鎖定和驗證功能改善項目)。此領域的嚴重程度分級區分了兩種攻擊,旨在識別 反映使用者實際面臨的風險

第一類攻擊能以可通用的方式繞過生物特徵辨識驗證, 未經業主提供高品質的生物特徵辨識資料。舉例來說,如果攻擊者可以 一根口香糖放在指紋感應器上,並根據殘留狀況授權存取裝置 這代表任何易受攻擊的裝置都能進行簡易攻擊這項服務 即使完全不瞭解裝置擁有者也無妨。由於這是可一般化的 這項攻擊可能影響到更多使用者,因此嚴重程度評定為滿級 (例如,高,讓螢幕鎖定規避螢幕鎖定)。

另一類攻擊通常涉及一種以手段攻擊 (假冒) 的攻擊工具 連結。有時,這種生物特徵辨識資訊 舉例來說,如果某人在社群媒體上的個人資料相片,就足以騙過生物特徵辨識驗證機制 則繞過生物特徵辨識技術時,則會獲得完整的嚴重性等級)。但如果攻擊者需要 直接向裝置擁有者取得生物特徵辨識資料 (例如 這樣會限制受影響的使用者數目 有 -1 修飾符

SYSTEM_ALERT_WINDOW 和 Tapjacking

如要進一步瞭解我們的 SYSTEM_ALERT_WINDOW 與 Tapjacking 相關政策, 請參閱「在非安全性上的螢幕上 Tapjacking/overlay SYSTEM_ALERT_WINDOW 安全漏洞」是 BugHunter University 的 無安全性影響的錯誤 頁面。

Android Automotive OS 中的多使用者安全性

Android Automotive OS 採用多使用者安全性模型 和其他板型規格不同每位 Android 使用者應由不同的 這種東西舉例來說,你可以為借用的好友指派臨時訪客使用者 車主為滿足這類用途,使用者在預設情況下 具備使用車輛所需的必要元件,例如 Wi-Fi 和行動網路 可以管理叢集設定,像是節點 資源調度、安全性和其他預先設定項目

受影響的元件

要由哪個開發團隊負責修正錯誤,需視錯誤所在的元件而定。 這可能是 Android 平台的核心元件,也就是由原始版本提供的核心驅動程式 設備製造商 (OEM) 或 Pixel 裝置上預先載入的應用程式之一。

如果 Android 開放原始碼計畫 (AOSP) 程式碼中出現錯誤,Android 工程團隊會負責修正。低嚴重性錯誤、 某些元件或一般已知的錯誤,可直接在 公開可用的 Android 開放原始碼計畫主分支版本;否則這些錯誤將修復在內部存放區中 首先。

使用者如何接收更新,也會受到元件影響。架構或核心中的錯誤 需要所有原始設備製造商 (OEM) 都需推送無線 (OTA) 韌體更新。應用程式中的錯誤或 Gmail、Google Play 服務或 WebView 等 Google Play 程式庫 以更新形式傳送給 Android 使用者

通知合作夥伴

修正 Android 開放原始碼計畫的安全漏洞後,我們會傳送通知給 Android 安全性公告 查看問題詳情並提供修補程式的 Android 合作夥伴。支援向後移植的版本清單 的變更內容。如需支援的清單,請與您的裝置製造商聯絡 支援的裝置。

將程式碼發布到 Android 開放原始碼計畫

如果 Android 開放原始碼計畫元件出現安全性錯誤,相關修正程式會在 OTA 更新後推送至 Android 開放原始碼計畫 向使用者發布的產品低嚴重性問題的修正方式可直接提交到 Android 開放原始碼計畫主頁 必須先確認分支版本,才能透過 OTA 取得修正程式。

接收 Android 更新

Android 系統如有更新,通常會透過 OTA 更新套件的形式提供給裝置。 這些更新可能來自生產裝置的原始設備製造商 (OEM) 或向供應商提供的電信業者 服務傳送到裝置。課程結束後,Google Pixel 團隊會提供 Google Pixel 裝置更新。 通過電信業者的技術驗收 (TA) 測試程序。Google 也發布了下列內容 Pixel 原廠映像檔,可設為 裝置。

更新 Google 服務

Android 安全性團隊除了提供安全性錯誤的修補程式外,也會審查安全性 錯誤判斷是否有其他保護使用者的方式。舉例來說,Google Play 會掃描 移除任何企圖利用安全性錯誤的應用程式。安裝來源應用程式: 搭載 Google Play 服務的裝置也可能會使用 驗證應用程式功能,讓系統發出警告 可能有害的應用程式。

其他資源

Android 應用程式開發人員須知: https://developer.android.com

您可以在 Android 開放原始碼和開發人員網站上找到安全性資訊。不錯 幾個起點:

報表

Android 安全性團隊有時會發布報告或白皮書。詳情請見 安全性報告:瞭解詳情。