保护 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 软件堆栈

图 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:第三方 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 内核在操作系统级别提供强大的安全性
  • 所有应用程序的强制性应用程序沙箱
  • 安全的进程间通信
  • 应用签名
  • 应用程序定义和用户授予的权限