保護 Android 設備

Android 融合了業界領先的安全功能,並與開發人員和裝置實施者合作,以確保 Android 平台和生態系統的安全。強大的安全模型對於建立一個充滿活力的應用程式和設備生態系統至關重要,該生態系統構建於 Android 平台之上並圍繞 Android 平台構建並由雲端服務提供支援。因此,在整個開發生命週期中,Android 一直受到嚴格的安全計畫的約束。

Android 被設計為開放的。 Android 應用程式使用先進的硬體和軟體以及透過平台公開的本地和服務數據,為消費者帶來創新和價值。為了實現這一價值,該平台提供了一個應用程式環境,可以保護使用者、資料、應用程式、裝置和網路的機密性、完整性和可用性。

確保開放平台的安全需要強大的安全架構和嚴格的安全程序。 Android 採用多層安全性設計,足夠靈活,可以支援開放平台,同時仍保護該平台的所有用戶。有關報告安全性問題和更新過程的信息,請參閱安全性更新和資源

Android 是為開發者設計的。安全控制旨在減輕開發人員的負擔。精通安全的開發人員可以輕鬆使用並依賴靈活的安全控制。不太熟悉安全性的開發人員受到安全預設值的保護。

除了提供穩定的建置平台之外,Android 還透過多種方式為開發人員提供額外的支援。 Android 安全團隊會尋找應用程式中的潛在漏洞,並提出解決這些問題的方法。對於具有 Google Play 的設備,Play 服務為關鍵軟體庫(例如用於保護應用程式通訊的 OpenSSL)提供安全更新。 Android 安全部門發布了一個用於測試 SSL ( nogotofail ) 的工具,可以幫助開發人員在他們正在開發的任何平台上發現潛在的安全問題。

Android 也利用底層硬體支援來確保安全。例如,ARM TrustZone 技術用於為加密金鑰以及啟動完整性證明提供安全儲存。 [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) 用於測量啟動 Android 之前載入的韌體。這樣可以遠端驗證韌體是否受到已知的嚴重漏洞的影響,這些漏洞可能會被利用來損害開發人員和使用者。

有關 Android 應用程式開發人員的更多信息,請訪問developer.android.com

Android 是為使用者設計的。使用者可以了解每個應用程式請求的權限並控制這些權限。此設計包括預期攻擊者會嘗試執行常見攻擊,例如說服裝置使用者安裝惡意軟體的社會工程攻擊以及對 Android 上第三方應用程式的攻擊。 Android 旨在降低這些攻擊的可能性,並在攻擊成功後極大地限制其影響。當裝置到達用戶手中後,Android 安全性將繼續進步。 Android 與合作夥伴和公眾合作,為任何持續接收安全更新的 Android 裝置提供修補程式。

有關最終用戶的更多信息,請訪問Nexus 幫助中心Pixel 幫助中心或設備製造商的幫助中心。

本頁概述了 Android 安全計畫的目標,描述了 Android 安全架構的基礎知識,並回答了系統架構師和安全分析師最相關的問題。它重點關注Android核心平台的安全功能,不討論特定應用程式特有的安全問題,例如與瀏覽器或簡訊應用程式相關的安全問題。

背景

Android 為行動裝置提供了一個開源平台和應用程式環境。

以下部分和頁面描述了 Android 平台的安全功能。圖 1 說明了 Android 軟體堆疊各個層級的安全元件和注意事項。每個組件均假定以下組件已正確固定。除了少量以root身份運行的Android作業系統程式碼外,Linux核心之上的所有程式碼都受到應用程式沙箱的限制。

圖 1:Android 軟體堆疊

圖 1. Android 軟體堆疊

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:用於確定設備是否與 CTS 相容的第三方 API。證明還可以識別與應用伺服器通訊的 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 核心在作業系統層級提供強大的安全性
  • 所有應用程式的強制應用程式沙箱
  • 安全的進程間通信
  • 應用程式簽名
  • 應用程式定義和使用者授予的權限