Android 整合了行業領先的安全功能,並與開發人員和設備實施者合作,以確保 Android 平台和生態系統的安全。一個強大的安全模型對於在 Android 平台上和圍繞 Android 平台構建並由雲服務支持的應用程序和設備的生態系統至關重要。因此,在其整個開發生命週期中,Android 一直受到嚴格的安全程序的約束。
Android 設計為開放式的。 Android 應用程序使用先進的硬件和軟件,以及通過平台公開的本地和服務數據,為消費者帶來創新和價值。為了實現這一價值,該平台提供了一個應用程序環境,可以保護用戶、數據、應用程序、設備和網絡的機密性、完整性和可用性。
保護開放平台需要強大的安全架構和嚴格的安全程序。 Android 設計具有多層安全性,足夠靈活以支持開放平台,同時仍保護平台的所有用戶。有關報告安全問題和更新過程的信息,請參閱安全更新和資源。
Android 是為開發人員設計的。安全控制旨在減輕開發人員的負擔。精通安全的開發人員可以輕鬆使用並依賴靈活的安全控制。對安全性不太熟悉的開發人員受到安全默認值的保護。
除了提供一個穩定的平台,Android 還以多種方式為開發人員提供了額外的支持。 Android 安全團隊會尋找應用中的潛在漏洞並提出解決這些問題的方法。對於使用 Google Play 的設備,Play 服務為關鍵軟件庫提供安全更新,例如用於保護應用程序通信的 OpenSSL。 Android 安全發布了一個用於測試 SSL ( nogotofail ) 的工具,可幫助開發人員在他們正在開發的任何平台上發現潛在的安全問題。
有關 Android 應用程序開發人員的更多信息,請訪問developer.android.com 。
Android是為用戶設計的。用戶可以查看每個應用程序請求的權限並控制這些權限。此設計包括預期攻擊者會嘗試執行常見攻擊,例如社會工程攻擊以說服設備用戶安裝惡意軟件,以及對 Android 上的第三方應用程序的攻擊。 Android 旨在降低這些攻擊的可能性,並在攻擊成功時極大地限制攻擊的影響。設備在用戶手中後,Android 安全性繼續進步。 Android 與合作夥伴和公眾合作,為任何繼續接收安全更新的 Android 設備提供補丁。
有關最終用戶的更多信息,請訪問Nexus 幫助中心、 Pixel 幫助中心或您的設備製造商的幫助中心。
本頁概述了 Android 安全計劃的目標,描述了 Android 安全架構的基礎知識,並回答了系統架構師和安全分析師最相關的問題。它側重於 Android 核心平台的安全功能,不討論特定應用程序特有的安全問題,例如與瀏覽器或短信應用程序相關的安全問題。
背景
Android 為移動設備提供了一個開源平台和應用環境。
以下部分和頁面描述了 Android 平台的安全功能。圖 1 說明了 Android 軟件堆棧各個級別的安全組件和注意事項。每個組件都假定以下組件已正確固定。除了少量以 root 身份運行的 Android 操作系統代碼外,Linux 內核之上的所有代碼都受到應用程序沙箱的限制。
主要的 Android 平台構建塊是:
- 設備硬件: Android 可在各種硬件配置上運行,包括手機、平板電腦、手錶、汽車、智能電視、OTT 遊戲盒和機頂盒。 Android 與處理器無關,但它利用了一些特定於硬件的安全功能,例如 ARM eXecute-Never。
- Android 操作系統:核心操作系統建立在 Linux 內核之上。所有設備資源,如相機功能、GPS 數據、藍牙功能、電話功能和網絡連接都通過操作系統訪問。
- Android 應用程序運行時: Android 應用程序通常使用 Java 編程語言編寫並在 Android 運行時 (ART) 中運行。但是,許多應用程序,包括核心 Android 服務和應用程序,都是原生應用程序或包含原生庫。 ART 和本機應用程序都在應用程序沙箱中包含的相同安全環境中運行。應用程序獲得文件系統的專用部分,它們可以在其中寫入私有數據,包括數據庫和原始文件。
Android 應用程序擴展了核心的 Android 操作系統。應用程序有兩個主要來源:
- 預裝應用程序: Android 包含一組預裝應用程序,包括電話、電子郵件、日曆、網絡瀏覽器和聯繫人。這些功能作為用戶應用程序,它們提供可由其他應用程序訪問的關鍵設備功能。預安裝的應用程序可能是開源 Android 平台的一部分,也可能由設備製造商為特定設備開發。
- 用戶安裝的應用程序: Android 提供支持任何第三方應用程序的開放式開發環境。 Google Play 為用戶提供了成千上萬的應用程序。
谷歌安全服務
Google 提供了一組基於雲的服務,這些服務可用於具有Google 移動服務的兼容 Android 設備。雖然這些服務不是 Android 開源項目 (AOSP) 的一部分,但它們包含在許多 Android 設備中。有關其中一些服務的更多信息,請參閱 Android Security 的2018 年回顧。
主要的 Google 安全服務是:
- Google Play: Google Play 是一系列服務,允許用戶從他們的 Android 設備或網絡上發現、安裝和購買應用程序。 Google Play 讓開發者可以輕鬆接觸 Android 用戶和潛在客戶。 Google Play 還提供社區審核、應用許可驗證、應用安全掃描等安全服務。
- Android 更新: Android 更新服務為選定的 Android 設備提供新功能和安全更新,包括通過網絡或無線 (OTA) 進行的更新。
- 應用程序服務:允許 Android 應用程序使用雲功能的框架,例如(備份)應用程序數據和設置以及用於推送消息的雲到設備消息傳遞 ( C2DM )。
- 驗證應用程序:警告或自動阻止安裝有害應用程序,並持續掃描設備上的應用程序,警告或刪除有害應用程序。
- SafetyNet:一種保護隱私的入侵檢測系統,用於協助 Google 跟踪、減輕已知的安全威脅並識別新的安全威脅。
- SafetyNet Attestation:第三方 API,用於確定設備是否兼容 CTS。證明還可以識別與應用服務器通信的 Android 應用。
- Android 設備管理器:用於定位丟失或被盜設備的網絡應用和Android 應用。
安全計劃概述
Android 安全計劃的關鍵組件包括:
- 設計審查: Android 安全流程從開發生命週期的早期開始,即創建豐富且可配置的安全模型和設計。該平台的每個主要功能都由工程和安全資源審查,並在系統架構中集成了適當的安全控制。
- 滲透測試和代碼審查:在平台的開發過程中,Android 創建和開源的組件會受到嚴格的安全審查。這些審核由 Android 安全團隊、Google 的信息安全工程團隊和獨立安全顧問執行。這些審查的目的是在主要發布之前識別弱點和可能的漏洞,並模擬外部安全專家在發佈時執行的分析類型。
- 開源和社區審查: AOSP 允許任何相關方進行廣泛的安全審查。 Android 還使用經過重大外部安全審查的開源技術,例如 Linux 內核。 Google Play 為用戶和公司提供了一個論壇,可以直接向用戶提供有關特定應用程序的信息。
- 事件響應:即使有這些預防措施,發貨後也可能出現安全問題,這就是為什麼Android項目創建了一個全面的安全響應流程。全職 Android 安全團隊成員監控 Android 特定和一般安全社區,以討論潛在漏洞並審查 Android 漏洞數據庫中提交的安全漏洞。在發現合法問題後,Android 團隊有一個響應流程,可以快速緩解漏洞,以確保將所有 Android 用戶的潛在風險降至最低。這些雲支持的響應可能包括更新 Android 平台(AOSP 更新)、從 Google Play 中刪除應用程序以及從現場設備中刪除應用程序。
- 每月安全更新: Android 安全團隊為 Google Android 設備和我們所有的設備製造合作夥伴提供每月更新。
平台安全架構
Android 旨在通過將傳統操作系統安全控制重新用於:
- 保護應用程序和用戶數據
- 保護系統資源(包括網絡)
- 提供與系統、其他應用程序和用戶的應用程序隔離
為實現這些目標,Android 提供了以下關鍵安全功能:
- 通過 Linux 內核在操作系統級別提供強大的安全性
- 所有應用程序的強制性應用程序沙箱
- 安全的進程間通信
- 應用簽名
- 應用程序定義和用戶授予的權限