安全更新和資源

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

Android 安全團隊負責管理在 Android 平台以及與 Android 設備捆綁的許多核心 Android 應用程序中發現的安全漏洞。

Android 安全團隊通過內部研究發現安全漏洞,並響應第三方報告的錯誤。外部錯誤的來源包括通過Android 安全問題模板報告的問題、已發布和預發布的學術研究、上游開源項目維護者、來自我們的設備製造商合作夥伴的通知以及在博客或社交媒體上發布的公開披露的問題。

報告安全問題

任何開發者、Android 用戶或安全研究人員都可以通過安全漏洞報告表通知 Android 安全團隊潛在的安全問題。

標記為安全問題的錯誤在外部是不可見的,但在評估或解決問題後,它們最終可能會變得可見。如果您計劃提交補丁或兼容性測試套件 (CTS) 測試來解決安全問題,請將其附在錯誤報告中並等待回复,然後再將代碼上傳到 AOSP。

分類錯誤

處理安全漏洞的首要任務是確定漏洞的嚴重性以及受影響的 Android 組件。嚴重性決定問題的優先級,組件決定誰修復錯誤,通知誰,以及如何將修復部署給用戶。

上下文類型

此表涵蓋了硬件和軟件安全上下文的定義。上下文可以通過它通常處理的數據的敏感性或它運行的區域來定義。並非所有安全上下文都適用於所有系統。此表按特權從最低到最高排序。

上下文類型類型定義
受限上下文僅提供最少權限的受限執行環境。

例如,受信任的應用程序在沙盒環境中處理不受信任的數據。
非特權上下文非特權代碼所期望的典型執行環境。

例如,在具有untrusted_app_all屬性的 SELinux 域中運行的 Android 應用程序。
特權上下文可以訪問提升權限、處理多個用戶 PII 和/或維護系統完整性的特權執行環境。

例如,具有被 SELinux untrusted_app域禁止的功能或有權訪問privileged|signature權限的 Android 應用程序。
操作系統內核功能:
  • 是內核的一部分
  • 在與內核相同的 CPU 上下文中運行(例如,設備驅動程序)
  • 可以直接訪問內核內存(例如,設備上的硬件組件)
  • 能夠將腳本加載到內核組件中(例如,eBPF)
  • 是少數被視為內核等效的用戶服務之一(例如apexdbpfloaderinitueventdvold )。
可信硬件基礎 (THB)離散硬件組件,通常在 SoC 上,提供對設備核心用例(例如蜂窩基帶、DSP、GPU 和 ML 處理器)至關重要的功能。
引導加載程序鏈在啟動時配置設備然後將控制權傳遞給 Android 操作系統的組件。
可信執行環境 (TEE)一種組件,旨在保護免受惡意操作系統內核的攻擊(例如,TrustZone 和管理程序,如 pKVM,它們可以保護虛擬機免受操作系統內核的攻擊)。
安全飛地/安全元件 (SE)一種可選的硬件組件,旨在保護設備上的所有其他組件免受物理攻擊,如安全元件簡介中所定義。

這包括一些 Android 設備中的 Titan-M 芯片。

嚴重性

錯誤的嚴重程度通常反映瞭如果成功利用錯誤可能發生的潛在危害。使用以下標準來確定嚴重性。

評分成功利用的後果
批判的
  • 在 TEE 或 SE 中執行任意代碼
  • 繞過旨在防止與安全相關的軟件或硬件組件發生故障的軟件機制(例如,熱保護)
  • 遠程訪問用於遠程服務身份驗證的敏感憑據(例如,帳戶密碼或不記名令牌)
  • 在蜂窩基帶上下文中遠程執行任意代碼,無需用戶交互(例如,利用蜂窩無線電服務中的錯誤)
  • 在特權上下文、引導加載程序鏈、THB 或 OS 內核中遠程執行任意代碼
  • 遠程繞過對軟件包安裝或等效行為的用戶交互要求
  • 遠程繞過核心開發人員、安全或隱私設置的用戶交互要求
  • 遠程持續拒絕服務(永久,需要重新刷新整個操作系統或恢復出廠設置)
  • 遠程安全啟動繞過
  • 未經授權訪問由 SE 保護的數據,包括由 SE 中的弱密鑰啟用的訪問。
高的
  • 完全繞過核心安全功能(例如 SELinux、FBE 或seccomp
  • 在引導加載程序鏈、TEE 或 SE 中進行深度防禦或利用緩解技術的一般繞過
  • 操作系統保護的一般繞過,跨應用程序、用戶或配置文件邊界顯示內存或文件內容
  • 針對 SE 的攻擊導致降級到不太安全的實現
  • 繞過設備保護/恢復出廠設置/運營商限制
  • 繞過由 TEE 保護的用戶交互要求
  • 允許攻擊端到端協議的加密漏洞,包括對傳輸層安全 (TLS) 和藍牙 (BT) 的攻擊。
  • 本地訪問用於遠程服務身份驗證的敏感憑據(例如,帳戶密碼或不記名令牌)
  • 在特權上下文、引導加載程序鏈、THB 或 OS 內核中執行本地任意代碼
  • 本地安全引導繞過
  • 鎖屏繞過
  • 本地繞過核心開發人員、安全或隱私設置的用戶交互要求
  • 本地繞過包安裝或等效行為的用戶交互要求
  • 本地持續拒絕服務(永久,需要重新刷新整個操作系統或恢復出廠設置)
  • 遠程訪問受保護的數據(即僅限於特權上下文的數據)
  • 在非特權上下文中遠程執行任意代碼
  • 在沒有用戶交互的情況下遠程阻止訪問蜂窩或 Wi-Fi 服務(例如,使用格式錯誤的數據包使蜂窩無線電服務崩潰)
  • 遠程繞過用戶交互要求(訪問需要用戶啟動或用戶許可的功能或數據)
  • 有針對性地防止獲得緊急服務
  • 當請求者期望安全傳輸時,通過不安全的網絡協議(例如 HTTP 和未加密的藍牙)傳輸敏感信息。請注意,這不適用於 Wi-Fi 加密(例如 WEP)
  • 未經授權訪問受 TEE 保護的數據,包括通過 TEE 中的弱密鑰啟用的訪問
緩和
  • 在特權上下文、THB 或 OS 內核中進行深度防禦或利用緩解技術的一般繞過
  • 操作系統保護的一般繞過,跨應用程序、用戶或配置文件邊界顯示進程狀態或元數據
  • 繞過 Wi-Fi 加密或身份驗證
  • 標準加密原語中的加密漏洞,允許洩漏明文(不是 TLS 中使用的原語)
  • 對受保護數據的本地訪問(即僅限於特權上下文的數據)
  • 在非特權上下文中執行本地任意代碼
  • 本地繞過用戶交互要求(訪問通常需要用戶啟動或用戶許可的功能或數據)
  • 遠程訪問未受保護的數據(即任何本地安裝的應用程序通常可以訪問的數據)
  • 受限上下文中的遠程任意代碼執行
  • 遠程臨時設備拒絕服務(遠程掛起或重啟)
低的
  • 用戶級深度防禦的一般繞過或在非特權環境中利用緩解技術
  • 繞過正常保護級別權限
  • 非標準使用中的密碼漏洞
  • 一般繞過設備上的個性化功能,例如語音匹配面部匹配
  • 可能導致安全漏洞的不正確文檔
  • 在受約束的上下文中執行本地任意代碼
  • 包含誤導性描述的系統定義文本,該描述會產生虛假的安全預期
可忽略不計的安全影響 (NSI)
  • 一個漏洞,其影響已通過一個或多個評級修改器或版本特定的架構更改得到緩解,從而有效嚴重性低於低,儘管底層代碼問題可能仍然存在
  • 任何需要格式錯誤的文件系統的漏洞,如果該文件系統在使用前始終被採用/加密

評級修正

雖然安全漏洞的嚴重性通常很容易識別,但評級可能會根據情況而變化。

原因影響
需要作為特權上下文運行才能執行攻擊(不適用於 TEE、SE 和 pKVM 等管理程序) -1 嚴重性
特定於漏洞的詳細信息限制了問題的影響-1 嚴重性
生物特徵認證繞過,需要設備所有者直接提供生物特徵信息-1 嚴重性
編譯器或平台配置可緩解源代碼中的漏洞如果潛在漏洞為中等或更高,則為中等嚴重性
需要對設備內部進行物理訪問,如果設備已關閉或自開機後尚未解鎖,仍然可以訪問-1 嚴重性
需要在設備開啟且之前已解鎖時對設備內部進行物理訪問-2 嚴重性
需要解鎖引導加載程序鏈的本地攻擊不高於低
需要在設備上當前啟用開發人員模式或任何持久性開發人員模式設置的本地攻擊(並且不是開發人員模式本身的錯誤)。不高於低
如果沒有 SELinux 域可以在 Google 提供的 SEPolicy 下進行操作微不足道的安全影響

本地與近端與遠程

遠程攻擊向量表明該漏洞可以在不安裝應用程序或物理訪問設備的情況下被利用。這包括可以通過瀏覽網頁、閱讀電子郵件、接收 SMS 消息或連接到敵對網絡來觸發的錯誤。出於我們嚴重性評級的目的,我們還將“近端”攻擊向量視為遠程。其中包括只能被物理上靠近目標設備的攻擊者利用的漏洞,例如,需要發送格式錯誤的 Wi-Fi 或藍牙數據包的漏洞。我們認為超寬帶 (UWB) 和基於 NFC 的攻擊是近端的,因此是遠程的。

本地攻擊要求受害者通過安裝和運行應用程序或同意運行即時應用程序來運行應用程序。配對的配套設備將被視為本地設備。出於嚴重性評級的目的,Android 安全團隊還將物理攻擊向量視為本地攻擊。其中包括只有對設備具有物理訪問權限的攻擊者才能利用的漏洞,例如鎖定屏幕中的漏洞或需要插入 USB 電纜的漏洞。

網絡安全

Android 假定所有網絡都是敵對的,並且可能正在註入攻擊或監視流量。雖然鏈路層安全性(例如,Wi-Fi 加密)保護設備與其所連接的接入點之間的通信,但它無法保護設備與與之通信的服務器之間鏈中的其餘鏈路。

相比之下,HTTPS 通常端到端保護整個通信,在其源頭加密數據,然後僅在到達最終目的地後對其進行解密和驗證。正因為如此,危害鏈路層網絡安全的漏洞被評為不如 HTTPS/TLS 中的漏洞嚴重:僅 Wi-Fi 加密不足以用於 Internet 上的大多數通信。

生物特徵認證

生物識別身份驗證是一個具有挑戰性的領域,即使是最好的系統也可能被一個近乎匹配的系統所迷惑(請參閱Android 開發者博客:Android 11 中的鎖屏和身份驗證改進)。這些嚴重性等級區分兩類攻擊,旨在反映最終用戶的實際風險。

第一類攻擊允許以可通用的方式繞過生物特徵認證,而無需來自所有者的高質量生物特徵數據。例如,如果攻擊者可以將一塊口香糖放在指紋傳感器上,並根據傳感器上留下的殘留物授予對設備的訪問權限,那麼這就是一種可以在任何易受攻擊的設備上執行的簡單攻擊。它不需要設備所有者的任何知識。鑑於它具有普遍性並可能影響大量用戶,因此該攻擊會獲得完整的嚴重等級(例如,高,用於繞過鎖屏)。

另一類攻擊通常涉及基於設備所有者的演示攻擊工具(欺騙)。有時這種生物特徵信息相對容易獲得(例如,如果某人在社交媒體上的個人資料圖片足以欺騙生物特徵身份驗證,那么生物特徵繞過將獲得完整的嚴重等級)。但是,如果攻擊者需要直接從設備所有者那裡獲取生物特徵數據(例如,對他們的面部進行紅外掃描),這是一個足夠重要的障礙,可以限制受攻擊影響的人數,所以有一個 -1 修飾符.

SYSTEM_ALERT_WINDOW和 Tapjacking

有關我們關於SYSTEM_ALERT_WINDOW和 Tapjacking 的政策的信息,請參閱 BugHunter University 的沒有安全影響頁面的錯誤的“非安全關鍵屏幕上的 Tapjacking/覆蓋 SYSTEM_ALERT_WINDOW 漏洞”部分。

受影響的組件

負責修復 bug 的開發團隊取決於 bug 所在的組件。它可能是 Android 平台的核心組件、原始設備製造商 (OEM) 提供的內核驅動程序或 Pixel 設備上的預加載應用程序之一.

AOSP 代碼中的錯誤由 Android 工程團隊修復。低嚴重性的 bug、某些組件中的 bug,或者已經公開的 bug,可以直接在公開的 AOSP master 分支中修復;否則它們首先在我們的內部存儲庫中修復。

該組件也是用戶獲取更新的一個因素。框架或內核中的錯誤需要每個 OEM 需要推送的無線 (OTA) 固件更新。在 Google Play 中發布的應用程序或庫(例如 Gmail、Google Play 服務或 WebView)中的錯誤可以作為來自 Google Play 的更新發送給 Android 用戶。

通知合作夥伴

當 AOSP 中的安全漏洞在 Android 安全公告中得到修復時,我們將通知 Android 合作夥伴有關問題的詳細信息並提供補丁程序。支持向後移植的版本列表會隨著每個新的 Android 版本而變化。請聯繫您的設備製造商以獲取支持的設備列表。

向 AOSP 發布代碼

如果安全漏洞存在於 AOSP 組件中,則會在 OTA 發布給用戶後將修復推送到 AOSP。在通過 OTA 向設備提供修復之前,可以將低嚴重性問題的修復直接提交給 AOSP 主分支。

接收 Android 更新

Android 系統的更新一般通過 OTA 更新包傳遞給設備。這些更新可能來自生產設備的 OEM 或為設備提供服務的運營商。 Google Pixel 設備更新由 Google Pixel 團隊在通過運營商技術驗收 (TA) 測試程序後提供。谷歌還發布了可以側面加載到設備的Pixel 工廠圖像

更新谷歌服務

除了為安全漏洞提供補丁外,Android 安全團隊還會審查安全漏洞以確定是否有其他方法可以保護用戶。例如,Google Play 會掃描所有應用程序並刪除任何試圖利用安全漏洞的應用程序。對於從 Google Play 外部安裝的應用程序,具有 Google Play 服務的設備還可以使用驗證應用程序功能來警告用戶有關可能有害的應用程序。

其他資源

Android 應用開發者信息: https ://developer.android.com

安全信息遍布 Android 開源和開發者網站。開始的好地方:

報告

有時,Android 安全團隊會發布報告或白皮書。有關詳細信息,請參閱安全報告