Android 安全團隊負責管理在 Android 平台和許多與 Android 設備捆綁的核心 Android 應用程序中發現的安全漏洞。
Android 安全團隊通過內部研究發現安全漏洞,並響應第三方報告的錯誤。外部錯誤的來源包括通過漏洞表單報告的問題、已發表和預發表的學術研究、上游開源項目維護者、來自我們的設備製造商合作夥伴的通知,以及在博客或社交媒體上公開披露的問題。
報告安全問題
任何開發者、Android 用戶或安全研究人員都可以通過漏洞表單將潛在的安全問題通知 Android 安全團隊。
標記為安全問題的錯誤在外部不可見,但在評估或解決問題後,它們最終可能會變得可見。如果您計劃提交補丁或兼容性測試套件 (CTS) 測試來解決安全問題,請將其附加到錯誤報告中並等待響應,然後再將代碼上傳到 AOSP。
分類錯誤
處理安全漏洞的首要任務是確定漏洞的嚴重程度以及受影響的 Android 組件。嚴重性決定了問題的優先級,組件決定了誰修復了錯誤,通知了誰,以及如何將修復部署給用戶。
上下文類型
此表涵蓋了硬件和軟件安全上下文的定義。上下文可以由它通常處理的數據的敏感性或它運行的區域來定義。並非所有安全上下文都適用於所有系統。該表是從最低到最高特權排序的。
上下文類型 | 類型定義 |
---|---|
受限上下文 | 一個受限的執行環境,只提供最低限度的權限。 例如,受信任的應用程序在沙盒環境中處理不受信任的數據。 |
非特權上下文 | 非特權代碼期望的典型執行環境。 例如,在具有 untrusted_app_all 屬性的 SELinux 域中運行的 Android 應用程序。 |
特權上下文 | 特權執行環境,可以訪問提升的權限、處理多個用戶 PII 和/或維護系統完整性。 例如,具有 SELinux untrusted_app 域禁止的功能或具有privileged|signature 權限訪問權限的 Android 應用程序。 |
操作系統內核 | 功能:
|
可信硬件基礎 (THB) | 分立的硬件組件,通常在 SoC 上,提供對設備的核心用例(例如蜂窩基帶、DSP、GPU 和 ML 處理器)至關重要的功能。 |
引導程序鏈 | 在啟動時配置設備然後將控制權傳遞給 Android 操作系統的組件。 |
可信執行環境 (TEE) | 一個組件,旨在保護其不受惡意操作系統內核的影響(例如,TrustZone 和管理程序,例如 pKVM,它們保護虛擬機免受操作系統內核的影響)。 |
安全飛地/安全元件 (SE) | 一個可選的硬件組件,旨在防止設備上的所有其他組件和物理攻擊,如安全元件簡介中所定義。 這包括一些 Android 設備中的 Titan-M 芯片。 |
嚴重性
錯誤的嚴重性通常反映瞭如果錯誤被成功利用可能發生的潛在危害。使用以下標準來確定嚴重性。
評分 | 成功利用的後果 |
---|---|
批判的 |
|
高的 |
|
緩和 |
|
低的 |
|
可忽略不計的安全影響 (NSI) |
|
評級修正
雖然安全漏洞的嚴重程度通常很容易識別,但評級可能會根據情況發生變化。
原因 | 影響 |
---|---|
需要作為特權上下文運行才能執行攻擊(不適用於 TEE、SE 和 hypervisor,例如 pKVM) | -1 嚴重性 |
特定於漏洞的詳細信息限制了問題的影響 | -1 嚴重性 |
生物特徵認證繞過,需要設備所有者直接提供生物特徵信息 | -1 嚴重性 |
編譯器或平台配置緩解了源代碼中的漏洞 | 如果底層漏洞為中等或更高級別,則為中等嚴重性 |
需要對設備內部進行物理訪問,並且在設備關閉或開機後未解鎖的情況下仍然可以訪問 | -1 嚴重性 |
需要在設備開啟且之前已解鎖時物理訪問設備內部 | -2 嚴重性 |
需要解鎖引導加載程序鏈的本地攻擊 | 不高於低 |
本地攻擊需要開發者模式或任何持久的開發者模式設置當前在設備上啟用(並且不是開發者模式本身的錯誤)。 | 不高於低 |
如果沒有 SELinux 域可以在 Google 提供的 SEPolicy 下進行操作 | 可忽略不計的安全影響 |
本地與近端與遠程
遠程攻擊向量表示無需安裝應用程序或無需物理訪問設備即可利用該漏洞。這包括可以通過瀏覽網頁、閱讀電子郵件、接收 SMS 消息或連接到惡意網絡來觸發的錯誤。出於我們的嚴重性評級的目的,我們還將“近端”攻擊向量視為遠程。其中包括只有物理上靠近目標設備的攻擊者才能利用的錯誤,例如,需要發送格式錯誤的 Wi-Fi 或藍牙數據包的錯誤。我們認為超寬帶 (UWB) 和基於 NFC 的攻擊是近端攻擊,因此是遠程攻擊。
本地攻擊要求受害者通過安裝和運行應用程序或同意運行Instant App來運行應用程序。配對的配套設備將被視為本地設備。出於嚴重性評級的目的,Android 安全團隊還將物理攻擊媒介視為本地攻擊媒介。其中包括只能由對設備具有物理訪問權限的攻擊者利用的錯誤,例如鎖定屏幕中的錯誤或需要插入 USB 數據線的錯誤。
網絡安全
Android 假定所有網絡都是敵對的,並且可能會注入攻擊或監視流量。雖然鏈路層安全(例如,Wi-Fi 加密)保護設備與其連接的接入點之間的通信,但它無法保護設備與其通信的服務器之間鏈中的其餘鏈路。
相比之下,HTTPS 通常保護整個端到端的通信,在其源頭加密數據,然後僅在數據到達最終目的地時才對其進行解密和驗證。因此,危及鏈路層網絡安全的漏洞的嚴重程度低於 HTTPS/TLS 中的漏洞:僅 Wi-Fi 加密不足以滿足互聯網上的大多數通信。
生物認證
生物識別身份驗證是一個充滿挑戰的領域,即使是最好的系統也會被近似匹配所愚弄(請參閱Android 開發者博客:Android 11 中的鎖屏和身份驗證改進)。這些嚴重性等級區分兩類攻擊,旨在反映最終用戶面臨的實際風險。
第一類攻擊允許以一種通用的方式繞過生物識別身份驗證,而無需來自所有者的高質量生物識別數據。例如,如果攻擊者可以將一塊口香糖放在指紋傳感器上,它會根據留在傳感器上的殘留物授予對設備的訪問權限,這就是可以在任何易受影響的設備上執行的簡單攻擊。它不需要設備所有者的任何知識。鑑於它具有普遍性並且可能影響更多用戶,因此此攻擊獲得完整的嚴重性評級(例如,高,表示繞過鎖屏)。
另一類攻擊通常涉及基於設備所有者的演示攻擊工具(欺騙)。有時這種生物識別信息相對容易獲得(例如,如果某人在社交媒體上的個人資料圖片足以騙過生物識別身份驗證,那么生物識別繞過將獲得完整的嚴重性評級)。但是,如果攻擊者需要直接從設備所有者那裡獲取生物特徵數據(例如,對他們的面部進行紅外掃描),那麼這是一個足夠重要的障礙,可以限制受攻擊影響的人數,因此有一個 -1 修飾符.
SYSTEM_ALERT_WINDOW
和 Tapjacking
有關我們關於SYSTEM_ALERT_WINDOW
和 Tapjacking 的政策的信息,請參閱 BugHunter University 的Bugs with no security impact頁面的“ Tapjacking/overlay SYSTEM_ALERT_WINDOW vulnerability on a non-security-critical screen ”部分。
Android Automotive OS 中的多用戶安全性
Android Automotive OS採用不同於其他形式因素的多用戶安全模型。每個 Android 用戶都旨在由不同的自然人使用。例如,可以將臨時訪客用戶分配給從車主那裡借車的朋友。為了適應這樣的用例,默認情況下,用戶可以訪問使用車輛所需的必要組件,例如 Wi-Fi 和蜂窩網絡設置。
受影響的組件
負責修復錯誤的開發團隊取決於錯誤在哪個組件中。它可能是 Android 平台的核心組件、原始設備製造商 (OEM) 提供的內核驅動程序,或者 Pixel 設備上預加載的應用程序之一.
AOSP 代碼中的錯誤由 Android 工程團隊修復。低嚴重性錯誤、某些組件中的錯誤或已經公開的錯誤可能會直接在公開可用的 AOSP master 分支中修復;否則它們首先固定在我們的內部存儲庫中。
該組件也是用戶如何獲取更新的一個因素。框架或內核中的錯誤需要每個 OEM 需要推送的無線 (OTA) 固件更新。在 Google Play(例如 Gmail、Google Play 服務或 WebView)中發布的應用程序或庫中的錯誤可以作為來自 Google Play 的更新發送給 Android 用戶。
通知合作夥伴
當 AOSP 中的安全漏洞在 Android 安全公告中得到修復時,我們會通知 Android 合作夥伴問題詳情並提供補丁。支持向後移植的版本列表隨每個新的 Android 版本而變化。請聯繫您的設備製造商以獲取支持的設備列表。
向 AOSP 發布代碼
如果安全漏洞存在於 AOSP 組件中,則在向用戶發布 OTA 後將修復推送到 AOSP。在通過 OTA 向設備提供修復之前,可以將低嚴重性問題的修復直接提交給 AOSP master 分支。
接收 Android 更新
Android系統的更新一般通過OTA更新包下發給設備。這些更新可能來自生產設備的 OEM 或為設備提供服務的運營商。 Google Pixel 設備更新在通過運營商技術驗收 (TA) 測試程序後由 Google Pixel 團隊提供。谷歌還發布了可以旁加載到設備的Pixel 工廠圖像。
更新谷歌服務
除了為安全漏洞提供補丁外,Android 安全團隊還會審查安全漏洞,以確定是否有其他方法可以保護用戶。例如,Google Play 會掃描所有應用程序並刪除任何試圖利用安全漏洞的應用程序。對於從 Google Play 外部安裝的應用程序,具有 Google Play 服務的設備還可以使用驗證應用程序功能來警告用戶有關可能有害的應用程序。
其他資源
適用於 Android 應用程序開發人員的信息: https ://developer.android.com
安全信息存在於整個 Android 開源和開發者網站中。好的起點:
- https://source.android.com/docs/security
- https://developer.android.com/training/articles/security-tips
報告
有時 Android 安全團隊會發布報告或白皮書。有關詳細信息,請參閱安全報告。