安全更新和資源

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

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

報告安全問題

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

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

分類錯誤

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

上下文類型

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

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

例如,用於處理不受信任的數據而不允許訪問底層系統的應用程序“沙箱”。
非特權上下文非特權代碼所期望的典型執行環境。

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

例如,對於能力的Android應用程序,將被SELinux的禁止untrusted_app域或訪問privileged|signature權限。
可信計算庫(TCB)作為內核一部分的功能,在與內核相同的 CPU 上下文中運行(例如設備驅動程序),可以直接訪問內核內存(例如設備上的硬件組件),能夠將腳本加載到內核組件中(例如,eBPF)時,通信處理器或為用戶服務少數被認為是等效的內核中的一個: apexdbpfloaderinitueventd ,和vold
引導加載程序鏈在啟動時配置設備然後將控制權傳遞給 Android 操作系統的組件。
可信執行環境 (TEE)一種旨在抵禦惡意內核(例如,TrustZone 和 Hypervisor)的組件。
安全飛地/安全元件 (SE)設計了一個可選的硬件組件,以免受設備上的所有其他組件和物理攻擊,如定義介紹安全元素

這包括某些 Pixel 設備中的 Titan-M 芯片。

嚴重性

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

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

評級修正

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

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

本地與近端與遠程

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

本地攻擊需要受害者通過安裝並運行一個應用程序或同意運行一個運行一個應用程序,即時應用。出於嚴重性評級的目的,我們還將物理攻擊向量視為本地的。其中包括只有能夠物理訪問設備的攻擊者才能利用的漏洞,例如鎖定屏幕中的漏洞或需要插入 USB 電纜的漏洞。請注意,無論設備是否需要解鎖,需要 USB 連接的攻擊都具有相同的嚴重性;設備在插入 USB 時被解鎖是很常見的。

網絡安全

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

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

生物認證

生物認證是一個具有挑戰性的空間,即使是最好的系統可以用近乎匹配所迷惑(見Android開發者博客:在Android的11鎖屏和認證改進)。這些嚴重性評級區分兩類攻擊,旨在反映最終用戶的實際風險。

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

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

SYSTEM_ALERT_WINDOW和Tapjacking

有關我們對政策的信息SYSTEM_ALERT_WINDOW和tapjacking,看到BugHunter大學的部分“Tapjacking /覆蓋SYSTEM_ALERT_WINDOW非安全關鍵屏幕上的漏洞沒有安全影響的錯誤頁面。

受影響的組件

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

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

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

通知合作夥伴

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

向 AOSP 發布代碼

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

接收 Android 更新

安卓系統的更新一般通過OTA更新包的方式交付給設備。這些更新可能來自生產設備的 OEM 或為設備提供服務的運營商。經過運營商技術驗收 (TA) 測試程序後,Google Pixel 設備更新來自 Google Pixel 團隊。谷歌還發布了像素工廠圖像,可以側載到設備。

更新 Google 服務

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

其他資源

對於Android應用開發人員的信息: https://developer.android.com

安全信息存在於 Android 開源和開發者網站中。開始的好地方:

報告

有時,Android 安全團隊會發布報告或白皮書。見安全報告的更多細節。