Android安全團隊負責管理在Android平台以及與Android設備捆綁在一起的許多核心Android應用中發現的安全漏洞。
Android安全團隊通過內部研究發現安全漏洞,並響應第三方報告的錯誤。外部錯誤的來源包括通過Android安全問題模板報告的問題,已發布和預先發布的學術研究,上游開源項目維護者,來自設備製造商合作夥伴的通知以及在博客或社交媒體上公開披露的問題。
報告安全問題
任何開發人員,Android用戶或安全研究人員都可以通過安全漏洞報告表將潛在的安全問題通知Android安全團隊。
標記為安全問題的錯誤在外部不可見,但是在評估或解決該問題之後,最終可能會使其變得可見。如果您打算提交補丁程序或兼容性測試套件(CTS)測試來解決安全問題,請將其附加到錯誤報告中,並等待響應,然後再將代碼上傳到AOSP。
分類錯誤
處理安全漏洞的首要任務是確定漏洞的嚴重性以及受影響的Android組件。嚴重性確定瞭如何確定問題的優先級,組件確定了誰修復了該錯誤,通知了誰以及如何將該修復部署到用戶。
工藝類型
該表涵蓋了流程類型的定義。流程類型可以通過應用程序或流程的類型或運行區域來定義。該表按從低到高的順序排序。
工藝類型 | 類型定義 |
---|---|
流程受限 | 在高度受限的SELinux域中運行的進程。 要么 該過程比普通應用程序要受限制得多。 |
無特權的過程 | 在帶有untrusted_app_all 屬性的SELinux域中運行的應用程序或進程,或受到等效限制的應用程序或進程。 |
特權流程 | 具有SELinux untrusted_app 域將禁止的功能的應用程序或進程。要么 具有第三方應用程序無法獲得的具有重要特權的應用程序或進程。 要么 設備上的內置硬件組件,它不是受信任的計算庫(TCB)的一部分。 |
可信計算庫(TCB) | 功能是內核的一部分,在與內核相同的CPU上下文中運行(例如設備驅動程序),可以直接訪問內核內存(例如設備上的硬件組件),可以將腳本加載到內核組件中(例如eBPF),基帶處理器,或者是少數與內核等效的用戶服務之一: apexd , bpfloader , init , ueventd 和vold 。 |
引導程序 | 在啟動時配置設備,然後將控制權傳遞給Android OS的組件。 |
可信執行環境(TEE) | 一個旨在甚至防止受到惡意內核攻擊的組件(例如TrustZone和Hypervisor)。 |
安全元件(SE) | 可選組件,旨在保護設備上的所有其他組件不受物理攻擊,如安全元素簡介中所定義。 |
嚴重程度
錯誤的嚴重程度通常反映出如果成功利用錯誤可能會造成的潛在危害。使用以下條件來確定嚴重性。
評分 | 成功剝削的後果 |
---|---|
危急 |
|
高 |
|
中等 |
|
低 |
|
可以忽略的安全影響(NSI) |
|
評分修飾語
儘管通常容易識別安全漏洞的嚴重性,但是評級可能會根據情況而變化。
原因 | 影響 |
---|---|
需要以特權進程運行才能執行攻擊 | -1嚴重度 |
特定於漏洞的詳細信息限制了問題的影響 | -1嚴重度 |
需要直接從設備所有者處獲得生物特徵信息的生物特徵認證繞過 | -1嚴重度 |
編譯器或平台配置可緩解源代碼中的漏洞 | 如果基本漏洞為“中等”或更高級別,則為“中等” |
需要對設備內部進行物理訪問,並且在手機關閉或自開機以來未解鎖的情況下仍然可以訪問 | -1嚴重度 |
需要在手機打開且之前已解鎖時物理訪問設備內部 | -2嚴重度 |
需要解鎖引導加載程序的本地攻擊 | 不高於低 |
需要在設備上當前啟用開發人員模式或任何持久性開發人員模式設置的本地攻擊(這不是開發人員模式本身的錯誤)。 | 不高於低 |
如果沒有SELinux域可以根據Google提供的SEPolicy進行操作 | 可以忽略的安全影響 |
本地與近端與遠程
遠程攻擊媒介表明,無需安裝應用程序或無需物理訪問設備即可利用此漏洞。其中包括可以通過瀏覽網頁,閱讀電子郵件,接收SMS消息或連接到惡意網絡來觸發的錯誤。出於嚴重等級的考慮,Android安全團隊還認為“近端”攻擊媒介是遠程的。這些漏洞包括只有在目標設備附近的攻擊者才能利用的漏洞,例如,需要發送格式錯誤的Wi-Fi或藍牙數據包的漏洞。 Android安全團隊認為基於NFC的攻擊是近端的,因此是遠程的。
本地攻擊要求受害者通過安裝和運行應用程序或通過同意運行Instant App來運行應用程序。為了達到嚴重等級,Android安全團隊還將物理攻擊向量視為本地攻擊媒介。這些錯誤包括只有對設備具有物理訪問權限的攻擊者才能利用的錯誤,例如鎖定屏幕中的錯誤或需要插入USB電纜的錯誤。請注意,無論是否需要解鎖設備,需要USB連接的攻擊的嚴重性都相同。設備插入USB時通常會被解鎖。
Wi-Fi安全
Android假定所有網絡都是敵對的,並且可能會發起攻擊或監視流量。雖然鏈路層安全性(例如,Wi-Fi加密)可確保設備與其連接的Wi-Fi接入點之間的通信安全,但它無法保護設備與與其通信的服務器之間鏈中的其餘鏈路的安全。 。
相比之下,HTTPS通常會保護整個端到端的通信,在其源處對數據進行加密,然後僅在到達最終目的地後對其進行解密和驗證。因此,危害Wi-Fi安全的漏洞的嚴重程度不如HTTPS / TLS中的漏洞:僅靠Wi-Fi加密不足以實現Internet上的大多數通信。
生物特徵認證
生物特徵認證是一個充滿挑戰的領域,即使是最好的系統也可能被接近匹配所欺騙(請參閱Android開發者博客:Android 11中的鎖屏和認證改進)。這些嚴重性等級區分了兩種攻擊類型,旨在向最終用戶反映實際風險。
第一類攻擊允許以通用的方式繞過生物特徵認證,而無需擁有者提供高質量的生物特徵數據。例如,如果攻擊者可以在指紋傳感器上放一塊口香糖,並根據傳感器上殘留的殘留物允許訪問該設備,那麼這就是對任何易受影響的設備都可以執行的簡單攻擊。不需要設備所有者的任何知識。鑑於它可以推廣並可能影響大量用戶,此攻擊將獲得完整的嚴重等級(例如,對於“鎖屏”繞過,為“高”)。
另一類攻擊通常涉及基於設備所有者的表示攻擊工具(欺騙)。有時,這種生物特徵信息相對容易獲得(例如,如果某人在社交媒體上的個人資料圖片足以欺騙生物特徵認證,那么生物特徵旁路將獲得完整的嚴重等級)。但是,如果攻擊者需要直接從設備所有者那裡獲取生物特徵數據(例如,對他們的臉進行紅外掃描),那麼這是一個足夠大的屏障,它會限制受攻擊影響的人數,因此有一個-1修飾符。
受影響的組件
負責修復該錯誤的開發團隊取決於該錯誤所在的組件。它可能是Android平台的核心組件,原始設備製造商(OEM)提供的內核驅動程序或Pixel設備上的預加載應用程序之一。
AOSP代碼中的錯誤已由Android工程團隊修復。低嚴重度的bug,某些組件中的bug或已知的bug可以直接在可公開獲得的AOSP master分支中修復;否則,它們將首先固定在我們的內部存儲庫中。
該組件也是用戶獲取更新方式的一個因素。框架或內核中的錯誤需要每個OEM需要推送的無線(OTA)固件更新。可以將Google Play中發布的應用或庫中的錯誤(例如Gmail,Google Play服務或WebView)中的錯誤作為更新發送給Android用戶。
通知合作夥伴
在Android安全公告中修復了AOSP中的安全漏洞後,我們將通知Android合作夥伴有關問題的詳細信息並提供補丁。每個新的Android版本都會更改支持backport的版本。請與您的設備製造商聯繫以獲取支持的設備列表。
向AOSP發布代碼
如果該安全錯誤位於AOSP組件中,則在將OTA發布給用戶之後,將該修補程序推出到AOSP中。在通過OTA將修補程序提供給設備之前,可以將嚴重性較低的修補程序直接提交給AOSP主分支。
接收Android更新
通常通過OTA更新包將Android系統的更新交付給設備。這些更新可能來自生產設備的OEM或為設備提供服務的運營商。 Google Pixel設備更新是在通過運營商技術驗收(TA)測試程序後由Google Pixel團隊提供的。 Google還發布了可以從側面加載到設備的Pixel工廠圖像。
更新Google服務
除了提供安全漏洞補丁程序之外,Android安全團隊還會審查安全漏洞,以確定是否還有其他方法可以保護用戶。例如,Google Play掃描所有應用程序,並刪除所有試圖利用安全漏洞的應用程序。對於從Google Play外部安裝的應用,具有Google Play服務的設備還可以使用驗證應用功能來警告用戶有關可能有害的應用。
其他資源
適用於Android應用程序開發人員的信息: https : //developer.android.com
安全信息遍布Android Open Source和Developer網站。良好的起點:
- https://source.android.com/security/index
- https://developer.android.com/training/articles/security-tips
報告書
有時,Android安全團隊會發布報告或白皮書。有關更多詳細信息,請參見安全報告。