Android 安全性概覽

保護 Android 設備

Android 採用了業界領先的安全功能,並與開發者和設備實現人員密切合作,以確保 Android 平臺和生態系統的安全。要打造一個由基於 Android 平臺以及圍繞 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 內核上方的所有代碼都受應用沙盒的限制。

圖 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 提供了一套基於雲的服務,用戶可通過 Google 移動服務將這些服務安裝到兼容的 Android 設備上。雖然這些服務不是 Android 開源項目的一部分,但它們包含在許多 Android 設備中。如需關於其中部分服務的更多信息,請參閱 Android 安全團隊發佈的 2017 年年度回顧報告

Google 的主要安全服務包括:

  • Google Play:Google Play 是一系列服務的總稱。藉助這些服務,用戶可以通過自己的 Android 設備或網絡發現、安裝和購買應用。Google Play 可讓開發者輕鬆覆蓋 Android 用戶和潛在客戶。此外,Google Play 還提供社區審覈、應用許可驗證、應用安全掃描以及其他安全服務。
  • Android 更新:Android 更新服務可爲某些 Android 設備提供新功能和安全更新,其中包括通過網絡或無線下載 (OTA) 方式提供的更新。
  • 應用服務:一種框架,可讓 Android 應用使用雲端功能,例如應用數據和設置備份功能,以及用於推送消息的“雲端至設備消息傳遞”(C2DM) 功能。
  • 驗證應用:在用戶安裝有害應用時發出警告或自動阻止安裝;持續掃描設備上的應用,並在發現有害應用時發出警告或將其移除。
  • SafetyNet:一款旨在保護隱私的入侵檢測系統,能夠幫助 Google 跟蹤和降低已知的安全威脅,並能夠發現新的安全威脅。
  • SafetyNet Attestation:用於確定設備是否與 CTS 兼容的第三方 API。Attestation 還可以協助識別與應用服務器通信的 Android 應用。
  • Android 設備管理器:既是一款網頁應用,也是一款 Android 應用,用於尋找丟失的設備或被盜的設備。

安全計劃概述

Android 安全計劃的關鍵組成部分包括:

  • 設計審覈:Android 安全流程在開發生命週期的早期便開始了,並會在這一階段創建大量的可配置安全模型和設計。平臺的每項主要功能都會由工程和安全資源進行審覈,並且適當的安全控制機制會被集成到系統架構中。
  • 滲透測試和代碼審覈:在平臺開發期間,Android 創建的組件和開放源代碼組件都要接受嚴格的安全審覈。這些審覈由 Android 安全團隊、Google 的信息安全工程團隊和獨立的安全顧問進行。這些審覈的目標是在主要版本發佈之前找出存在的缺陷和可能的漏洞,並模擬將由外部安全專家在平臺發佈時進行的各種類型的分析。
  • 開放源代碼和社區審覈:Android 開放源代碼項目允許任何感興趣者對其進行廣泛的安全審覈。Android 還使用已經過重要外部安全審覈的開放源代碼技術,例如 Linux 內核。Google Play 面向用戶和公司開設了一個論壇,以便直接向用戶提供與具體應用相關的信息。
  • 事件響應:即使採取了所有這些預防措施,平臺發佈後也仍可能會出現安全問題,爲此,Android 項目制定了一個全面的安全響應流程。Android 安全團隊有全職成員負責監控用於討論潛在漏洞的 Android 專用安全社區和一般安全社區,並且他們會查看提交到 Android 錯誤數據庫中的安全錯誤。發現確實存在的問題後,Android 團隊會啓動響應流程,以便快速修復漏洞,確保將所有 Android 用戶面臨的潛在風險降至最低。這些雲支持的響應可能包括更新 Android 平臺(無線下載更新)、從 Google Play 中移除應用,以及從現場設備中移除應用。
  • 每月安全更新:Android 安全團隊會爲 Google Nexus 設備和所有設備製造合作伙伴提供每月更新

平臺安全架構

通過將傳統的操作系統安全控制機制擴展到以下用途,Android 致力於成爲最安全、最實用的移動平臺操作系統:

  • 保護應用和用戶數據
  • 保護系統資源(包括網絡)
  • 將應用同系統、其他應用和用戶隔離開來

爲了實現這些目標,Android 提供了以下關鍵安全功能:

  • 通過 Linux 內核在操作系統級別提供的強大安全功能
  • 針對所有應用的強制性應用沙盒
  • 安全的進程間通信
  • 應用簽名
  • 應用定義的權限和用戶授予的權限
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章