Android постоянно совершенствует свои возможности и предложения по обеспечению безопасности. См. списки улучшений по выпускам на левой панели навигации.
Андроид 14
每个 Android 版本中都包含数十种安全增强功能,以保护用户。以下是 Android 14 中提供的一些主要安全增强功能:
- Android 10 中引入的硬件辅助 AddressSanitizer (HWASan) 是一款类似于 AddressSanitizer 的内存错误检测工具。Android 14 对 HWASan 进行了重大改进。如需了解它如何帮助防止 bug 进入 Android 版本,请访问 HWAddressSanitizer
- 在 Android 14 中,从与第三方共享位置数据的应用开始,系统运行时权限对话框现在包含一个可点击的部分,用于突出显示应用的数据分享做法,包括诸如以下信息:应用为什么可能会决定与第三方分享数据。
- Android 12 引入了在调制解调器级别停用 2G 支持的选项,以保护用户免受 2G 的过时安全模型固有的安全风险的影响。认识到停用 2G 对企业客户的重要性后,Android 14 在 Android Enterprise 中启用了此安全功能,以便 IT 管理员能够限制受管设备降级到 2G 连接。
- 开始支持拒绝未加密的移动网络连接,确保电路交换语音和短信流量始终会加密,并可防范被动无线拦截。详细了解 Android 的移动网络连接强化计划。
- 新增了对多个 IMEI 的支持
- 从 Android 14 开始,AES-HCTR2 是采用加速加密指令的设备的首选文件名加密模式。
- 移动网络连接
- 在 Android 安全中心添加了相关文档
- 如果您的应用以 Android 14 为目标平台并使用动态代码加载 (DCL) 功能,则必须将所有动态加载的文件标记为只读。否则,系统会抛出异常。我们建议应用尽可能避免动态加载代码,因为这样做会大大增加应用因代码注入或代码篡改而遭到入侵的风险。
Андроид 13
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 13:
- В Android 13 добавлена поддержка презентации нескольких документов. Этот новый интерфейс сеанса презентации позволяет приложению выполнять презентацию из нескольких документов, что невозможно при использовании существующего API. Дополнительную информацию см. в разделе «Удостоверительные данные».
- В Android 13 намерения, исходящие из внешних приложений, доставляются экспортированному компоненту тогда и только тогда, когда намерения соответствуют объявленным элементам фильтра намерений.
- Open Mobile API (OMAPI) — это стандартный API, используемый для связи с элементом безопасности устройства. До Android 13 доступ к этому интерфейсу имели только приложения и модули платформы. Преобразовав его в стабильный интерфейс поставщика, модули HAL также могут взаимодействовать с защищенными элементами через службу OMAPI. Дополнительные сведения см. в разделе Стабильный интерфейс поставщика OMAPI .
- Начиная с Android 13-QPR, общие UID устарели. Пользователи Android 13 или более поздней версии должны добавить в свой манифест строку `android:sharedUserMaxSdkVersion="32"`. Эта запись не позволяет новым пользователям получить общий UID. Дополнительную информацию о UID см. в разделе Подписание приложений .
- В Android 13 добавлена поддержка симметричных криптографических примитивов хранилища ключей, таких как AES (расширенный стандарт шифрования), HMAC (код аутентификации сообщения с использованием хеш-ключа) и асимметричных криптографических алгоритмов (включая эллиптические кривые, RSA2048, RSA4096 и Curve 25519).
- Android 13 (уровень API 33) и более поздних версий поддерживает разрешение среды выполнения для отправки неисключенных уведомлений из приложения . Это дает пользователям контроль над тем, какие уведомления о разрешениях они видят.
- Добавлен запрос для каждого использования для приложений, запрашивающих доступ ко всем журналам устройств , что дает пользователям возможность разрешать или запрещать доступ.
- представила Android Virtualization Framework (AVF) , которая объединяет различные гипервизоры в рамках одной платформы со стандартизированными API. Он обеспечивает безопасную и конфиденциальную среду выполнения для выполнения рабочих нагрузок, изолированных гипервизором.
- Представлена схема подписи APK v3.1. Все новые ротации ключей, использующие apksigner, по умолчанию используют схему подписи v3.1 для целевой ротации для Android 13 и более поздних версий.
Ознакомьтесь с нашими полными примечаниями к выпуску AOSP, а также со списком функций и изменений для разработчиков Android.
,Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 13:
- В Android 13 добавлена поддержка презентации нескольких документов. Этот новый интерфейс сеанса презентации позволяет приложению выполнять презентацию из нескольких документов, что невозможно при использовании существующего API. Дополнительную информацию см. в разделе «Удостоверительные данные».
- В Android 13 намерения, исходящие из внешних приложений, доставляются экспортированному компоненту тогда и только тогда, когда намерения соответствуют объявленным элементам фильтра намерений.
- Open Mobile API (OMAPI) — это стандартный API, используемый для связи с элементом безопасности устройства. До Android 13 доступ к этому интерфейсу имели только приложения и модули платформы. Преобразовав его в стабильный интерфейс поставщика, модули HAL также могут взаимодействовать с защищенными элементами через службу OMAPI. Дополнительные сведения см. в разделе Стабильный интерфейс поставщика OMAPI .
- Начиная с Android 13-QPR, общие UID устарели. Пользователи Android 13 или более поздней версии должны добавить в свой манифест строку `android:sharedUserMaxSdkVersion="32"`. Эта запись не позволяет новым пользователям получить общий UID. Дополнительную информацию о UID см. в разделе Подписание приложений .
- В Android 13 добавлена поддержка симметричных криптографических примитивов хранилища ключей, таких как AES (расширенный стандарт шифрования), HMAC (код аутентификации сообщения с использованием хеш-ключа) и асимметричных криптографических алгоритмов (включая эллиптические кривые, RSA2048, RSA4096 и Curve 25519).
- Android 13 (уровень API 33) и более поздних версий поддерживает разрешение среды выполнения для отправки неисключенных уведомлений из приложения . Это дает пользователям контроль над тем, какие уведомления о разрешениях они видят.
- Добавлен запрос для каждого использования для приложений, запрашивающих доступ ко всем журналам устройств , что дает пользователям возможность разрешать или запрещать доступ.
- представила Android Virtualization Framework (AVF) , которая объединяет различные гипервизоры в рамках одной платформы со стандартизированными API. Он обеспечивает безопасную и конфиденциальную среду выполнения для выполнения рабочих нагрузок, изолированных гипервизором.
- Представлена схема подписи APK v3.1. Все новые ротации ключей, использующие apksigner, по умолчанию используют схему подписи v3.1 для целевой ротации для Android 13 и более поздних версий.
Ознакомьтесь с нашими полными примечаниями к выпуску AOSP, а также со списком функций и изменений для разработчиков Android.
,Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 13:
- В Android 13 добавлена поддержка презентации нескольких документов. Этот новый интерфейс сеанса презентации позволяет приложению выполнять презентацию из нескольких документов, что невозможно при использовании существующего API. Дополнительную информацию см. в разделе «Удостоверительные данные».
- В Android 13 намерения, исходящие из внешних приложений, доставляются экспортированному компоненту тогда и только тогда, когда намерения соответствуют объявленным элементам фильтра намерений.
- Open Mobile API (OMAPI) — это стандартный API, используемый для связи с элементом безопасности устройства. До Android 13 доступ к этому интерфейсу имели только приложения и модули платформы. Преобразовав его в стабильный интерфейс поставщика, модули HAL также могут взаимодействовать с защищенными элементами через службу OMAPI. Дополнительные сведения см. в разделе Стабильный интерфейс поставщика OMAPI .
- Начиная с Android 13-QPR, общие UID устарели. Пользователи Android 13 или более поздней версии должны добавить в свой манифест строку `android:sharedUserMaxSdkVersion="32"`. Эта запись не позволяет новым пользователям получить общий UID. Дополнительную информацию о UID см. в разделе Подписание приложений .
- В Android 13 добавлена поддержка симметричных криптографических примитивов хранилища ключей, таких как AES (расширенный стандарт шифрования), HMAC (код аутентификации сообщения с использованием хеш-ключа) и асимметричных криптографических алгоритмов (включая эллиптические кривые, RSA2048, RSA4096 и Curve 25519).
- Android 13 (уровень API 33) и более поздних версий поддерживает разрешение среды выполнения для отправки неисключенных уведомлений из приложения . Это дает пользователям контроль над тем, какие уведомления о разрешениях они видят.
- Добавлен запрос для каждого использования для приложений, запрашивающих доступ ко всем журналам устройств , что дает пользователям возможность разрешать или запрещать доступ.
- представила Android Virtualization Framework (AVF) , которая объединяет различные гипервизоры в рамках одной платформы со стандартизированными API. Он обеспечивает безопасную и конфиденциальную среду выполнения для выполнения рабочих нагрузок, изолированных гипервизором.
- Представлена схема подписи APK v3.1. Все новые ротации ключей, использующие apksigner, по умолчанию используют схему подписи v3.1 для целевой ротации для Android 13 и более поздних версий.
Ознакомьтесь с нашими полными примечаниями к выпуску AOSP, а также со списком функций и изменений для разработчиков Android.
,Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 13:
- В Android 13 добавлена поддержка презентации нескольких документов. Этот новый интерфейс сеанса презентации позволяет приложению выполнять презентацию из нескольких документов, что невозможно при использовании существующего API. Дополнительную информацию см. в разделе «Удостоверительные данные».
- В Android 13 намерения, исходящие из внешних приложений, доставляются экспортированному компоненту тогда и только тогда, когда намерения соответствуют объявленным элементам фильтра намерений.
- Open Mobile API (OMAPI) — это стандартный API, используемый для связи с элементом безопасности устройства. До Android 13 доступ к этому интерфейсу имели только приложения и модули платформы. Преобразовав его в стабильный интерфейс поставщика, модули HAL также могут взаимодействовать с защищенными элементами через службу OMAPI. Дополнительные сведения см. в разделе Стабильный интерфейс поставщика OMAPI .
- Начиная с Android 13-QPR, общие UID устарели. Пользователи Android 13 или более поздней версии должны добавить в свой манифест строку `android:sharedUserMaxSdkVersion="32"`. Эта запись не позволяет новым пользователям получить общий UID. Дополнительную информацию о UID см. в разделе Подписание приложений .
- В Android 13 добавлена поддержка симметричных криптографических примитивов хранилища ключей, таких как AES (расширенный стандарт шифрования), HMAC (код аутентификации сообщения с использованием хеш-ключа) и асимметричных криптографических алгоритмов (включая эллиптические кривые, RSA2048, RSA4096 и Curve 25519).
- Android 13 (уровень API 33) и более поздних версий поддерживает разрешение среды выполнения для отправки неисключенных уведомлений из приложения . Это дает пользователям контроль над тем, какие уведомления о разрешениях они видят.
- Добавлен запрос для каждого использования для приложений, запрашивающих доступ ко всем журналам устройств , что дает пользователям возможность разрешать или запрещать доступ.
- представила Android Virtualization Framework (AVF) , которая объединяет различные гипервизоры в рамках одной платформы со стандартизированными API. Он обеспечивает безопасную и конфиденциальную среду выполнения для выполнения рабочих нагрузок, изолированных гипервизором.
- Представлена схема подписи APK v3.1. Все новые ротации ключей, использующие apksigner, по умолчанию используют схему подписи v3.1 для целевой ротации для Android 13 и более поздних версий.
Ознакомьтесь с нашими полными примечаниями к выпуску AOSP, а также со списком функций и изменений для разработчиков Android.
Андроид 12
Каждая версия Android включает десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 12:
- В Android 12 представлен API BiometricManager.Strings , предоставляющий локализованные строки для приложений, использующих BiometricPrompt для аутентификации. Эти строки учитывают особенности устройства и предоставляют более конкретную информацию о возможных типах аутентификации. Android 12 также поддерживает сканеры отпечатков пальцев под дисплеем.
- Добавлена поддержка сканеров отпечатков пальцев под дисплеем.
- Введение в язык определения интерфейса Android для отпечатков пальцев (AIDL)
- Поддержка нового Face AIDL
- Введение Rust как языка для разработки платформ
- Добавлена возможность пользователям предоставлять доступ только к своему приблизительному местоположению.
- Добавлены индикаторы конфиденциальности в строку состояния, когда приложение использует камеру или микрофон.
- Частное вычислительное ядро Android (PCC)
- Добавлена возможность отключить поддержку 2G.
Андроид 11
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Список некоторых основных улучшений безопасности, доступных в Android 11, см. в примечаниях к выпуску Android .
,Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Список некоторых основных улучшений безопасности, доступных в Android 11, см. в примечаниях к выпуску Android .
,Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Список некоторых основных улучшений безопасности, доступных в Android 11, см. в примечаниях к выпуску Android .
,Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Список некоторых основных улучшений безопасности, доступных в Android 11, см. в примечаниях к выпуску Android .
Андроид 10
每个 Android 版本中都包含数十项用于保护用户的安全增强功能。Android 10 包含多项安全和隐私增强功能。如需查看 Android 10 中变化的完整列表,请参阅 Android 10 版本说明。
安全性
BoundsSanitizer
Android 10 在蓝牙和编解码器中部署了 BoundsSanitizer (BoundSan)。BoundSan 使用 UBSan 的边界排错程序。该缓解功能在各个模块级别启用,有助于确保 Android 关键组件的安全性,因此不应停用。以下编解码器启用了 BoundSan:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisideclibaaclibxaac
只执行内存
默认情况下,AArch64 系统二进制文件的可执行代码部分会被标记为只执行(不可读取),作为应对即时代码重用攻击的安全强化缓解方法。将数据和代码混合在一起的代码以及有目的地检查这些部分的代码(无需首先将内存段重新映射为可读)将不再起作用。如果目标 SDK 为 Android 10(API 级别 29 或更高)的应用尝试读取内存中已启用只执行内存 (XOM) 的系统库的代码部分,而未首先将该部分标记为可读,则此类应用将会受到影响。
扩展访问权限
可信代理是 Smart Lock 等三重身份验证机制使用的底层机制,只能在 Android 10 中延长解锁时间。可信代理无法再解锁已锁定的设备,并且最多只能将设备解锁状态维持四个小时。
人脸识别身份验证
借助人脸识别身份验证功能,用户只需将面孔对准设备正面即可将其解锁。Android 10 添加了对一种全新人脸识别身份验证堆栈的支持,该堆栈可安全处理相机帧,从而在支持的硬件上进行人脸识别身份验证时保障安全和隐私。Android 10 还提供了一种快捷的方式来集成符合安全标准的实现方案,让人们能通过集成应用来处理一些事务(如网上银行或其他服务)。
整数溢出排错功能
Android 10 在软件编解码器中启用了整数溢出排错功能 (IntSan)。确保播放性能对于设备硬件中不支持的任何编解码器而言都在接受范围内。 以下编解码器启用了 IntSan:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisidec
模块化系统组件
Android 10 采用模块化方式处理一些 Android 系统组件,使其能够在 Android 的常规发布周期外的时间进行更新。下面列举了几种模块:
- Android 运行时
- Conscrypt
- DNS 解析器
- DocumentsUI
- ExtServices
- 媒体
- ModuleMetadata
- 网络
- PermissionController
- 时区数据
OEMCrypto
Android 10 使用 OEMCrypto API 版本 15。
Scudo
Scudo 是一个动态的用户模式内存分配器,旨在提高遇到堆相关漏洞时的复原能力。它提供了标准 C 分配和取消分配基元,以及 C++ 基元。
ShadowCallStack
ShadowCallStack
(SCS) 是一种 LLVM 插桩模式,可将函数的返回地址保存到非叶函数的函数 prolog 中单独分配的 ShadowCallStack 实例,并从函数 epilog 中的 ShadowCallStack 实例加载返回地址,从而防止返回地址覆盖(比如堆栈缓冲区溢出)。
WPA3 和 Wi-Fi Enhanced Open
Android 10 添加了对 Wi-Fi Protected Access 3 (WPA3) 和 Wi-Fi Enhanced Open 安全标准的支持,可更好地保护隐私,更稳健地防御已知攻击。
隐私设置
以 Android 9 或更低版本为目标平台时的应用访问权限
如果您的应用在 Android 10 或更高版本上运行,但其目标平台是 Android 9(API 级别 28)或更低版本,则 Android 平台具有以下行为:
- 如果您的应用为
ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION声明了<uses-permission>元素,则系统会在安装期间自动为ACCESS_BACKGROUND_LOCATION添加<uses-permission>元素。 - 如果您的应用请求了
ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION,系统会自动将ACCESS_BACKGROUND_LOCATION添加到请求中。
后台 Activity 限制
从 Android 10 开始,系统会增加针对从后台启动 Activity 的限制。此项行为变更有助于最大限度地减少对用户造成的干扰,并且可以让用户更好地控制其屏幕上显示的内容。只要您的应用启动 activity 是因用户互动直接引发的,该应用就极有可能不会受到这些限制的影响。
如需详细了解从后台启动 activity 的建议替代方法,请参阅有关如何在应用中提醒用户注意有时效性的事件的指南。
相机元数据
Android 10 更改了 getCameraCharacteristics() 方法默认返回的信息的广度。具体而言,您的应用必须具有 CAMERA 权限才能访问此方法的返回值中可能包含的设备特定元数据。
如需详细了解这些变更,请参阅关于需要权限的相机字段的部分。
剪贴板数据
对于 Android 10 或更高版本,除非您的应用是默认输入法 (IME) 或是目前聚焦的应用,否则它无法访问剪贴板中的数据。
设备位置
为了让用户更好地控制应用对位置信息的访问权限,Android 10 引入了 ACCESS_BACKGROUND_LOCATION 权限。
不同于 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 权限,ACCESS_BACKGROUND_LOCATION 权限仅会影响应用在后台运行时对位置信息的访问权限。除非符合以下条件之一,否则应用将被视为在后台访问位置信息:
- 属于该应用的 Activity 可见。
- 该应用运行的某个前台服务已声明前台服务类型为
location。
如需将应用中的某个服务声明为前台服务类型,请将应用的targetSdkVersion或compileSdkVersion设置为29或更高版本。详细了解前台服务如何继续执行用户发起的需要访问位置信息的操作。
外部存储空间
默认情况下,以 Android 10 及更高版本为目标平台的应用在访问外部存储设备中的文件时存在范围限制,即分区存储。此类应用可以查看外部存储设备内以下类型的文件,无需请求任何与存储相关的用户权限:
- 特定于应用的目录中的文件(使用
getExternalFilesDir()访问)。 - 应用创建的照片、视频和音频片段(通过媒体库访问)。
如需详细了解分区存储以及如何共享、访问和修改在外部存储设备上保存的文件,请参阅有关如何管理外部存储设备中的文件以及如何访问和修改媒体文件的指南。
随机分配 MAC 地址
默认情况下,在搭载 Android 10 或更高版本的设备上,系统会传输随机分配的 MAC 地址。
如果您的应用处理企业使用场景,Android 平台会提供 API,用于执行与 MAC 地址相关的几个操作。
- 获取随机分配的 MAC 地址:设备所有者应用和资料所有者应用可以通过调用
getRandomizedMacAddress()检索分配给特定网络的随机分配 MAC 地址。 - 获取实际的出厂 MAC 地址:设备所有者应用可以通过调用
getWifiMacAddress()检索设备的实际硬件 MAC 地址。此方法对于跟踪设备队列非常有用。
不可重置的设备标识符
从 Android 10 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备的不可重置标识符(包括 IMEI 和序列号)。
BuildTelephonyManager
如果您的应用没有该权限,但您仍尝试查询不可重置标识符的相关信息,则 Android 平台的响应会因目标 SDK 版本而异:
- 如果应用以 Android 10 或更高版本为目标平台,则会发生
SecurityException。 - 如果应用以 Android 9(API 级别 28)或更低版本为目标平台,则相应方法会返回
null或占位符数据(如果应用具有READ_PHONE_STATE权限)。否则,会发生SecurityException。
身体活动识别
Android 10 针对需要检测用户步数或对用户的身体活动(例如步行、骑车或坐车)进行分类的应用引入了 android.permission.ACTIVITY_RECOGNITION 运行时权限。此项权限旨在让用户了解设备传感器数据在“设置”中的使用方式。
除非用户已向您的应用授予此权限,否则 Google Play 服务中的一些库(例如 Activity Recognition API 和 Google Fit API)不会提供结果。
设备上要求您声明此权限的内置传感器只有计步器和步测器传感器。
如果您的应用以 Android 9(API 级别 28)或更低版本为目标平台,只要您的应用满足以下各项条件,系统会根据需要自动向您的应用授予 android.permission.ACTIVITY_RECOGNITION 权限:
- 清单文件包含
com.google.android.gms.permission.ACTIVITY_RECOGNITION权限。 - 清单文件不包含
android.permission.ACTIVITY_RECOGNITION权限。
如果系统自动授予 android.permission.ACTIVITY_RECOGNITION 权限,当您将应用更新为以 Android 10 为目标平台后,您的应用会保留此权限。但是,用户可以随时在系统设置中撤消此权限。
/proc/net 文件系统限制
在搭载 Android 10 或更高版本的设备上,应用无法访问 /proc/net,包括与设备的网络状态相关的信息。需要访问此信息的应用(如 VPN)应使用 NetworkStatsManager 或 ConnectivityManager 类。
从界面中移除了权限组
从 Android 10 开始,应用无法在界面中查询权限的分组方式。
移除了联系人关系密切程度
从 Android 10 开始,平台不再记录联系人的关系密切程度信息。因此,如果您的应用对用户的联系人进行搜索,系统将不会按互动频率对搜索结果排序。
有关 ContactsProvider 的指南包含一项说明特定字段和方法已废弃的声明(从 Android 10 开始,这些字段和方法在所有设备上已作废)。
限制对屏幕内容的访问
为了保护用户的屏幕内容,Android 10 更改了 READ_FRAME_BUFFER、CAPTURE_VIDEO_OUTPUT 和 CAPTURE_SECURE_VIDEO_OUTPUT 权限的作用域,从而禁止以静默方式访问设备的屏幕内容。从 Android 10 开始,这些权限只能通过签名访问。
需要访问设备屏幕内容的应用应使用 MediaProjection API,此 API 会显示要求用户同意访问的提示。
USB 设备序列号
如果您的应用以 Android 10 或更高版本为目标平台,则该应用只能在用户授予其访问 USB 设备或配件的权限后才能读取序列号。
如需详细了解如何使用 USB 设备,请参阅有关如何配置 USB 主机的指南。
Wi-Fi
以 Android 10 或更高版本为目标平台的应用无法启用或停用 Wi-Fi。WifiManager.setWifiEnabled() 方法始终返回 false。
如果您需要提示用户启用或停用 Wi-Fi,请使用设置面板。
对直接访问已配置的 Wi-Fi 网络实施了限制
为了保护用户隐私,只有系统应用和设备政策控制者 (DPC) 支持手动配置 Wi-Fi 网络列表。给定 DPC 可以是设备所有者,也可以是资料所有者。
如果应用以 Android 10 或更高版本为目标平台,并且应用不是系统应用或 DPC,则下列方法不会返回有用数据:
getConfiguredNetworks()方法始终返回空列表。- 每个返回整数值的网络操作方法(
addNetwork()和updateNetwork())始终返回 -1。 - 每个返回布尔值的网络操作(
removeNetwork()、reassociate()、enableNetwork()、disableNetwork()、reconnect()和disconnect())始终返回false。
Андроид 9
Каждый выпуск Android включает десятки улучшений безопасности для защиты пользователей. Список некоторых основных улучшений безопасности, доступных в Android 9, см. в примечаниях к выпуску Android .
Андроид 8
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 8.0:
- Шифрование . Добавлена поддержка удаления ключа в рабочем профиле.
- Проверенная загрузка . Добавлена проверенная загрузка Android (AVB). Проверенная кодовая база загрузки, поддерживающая защиту от отката для использования в загрузчиках, добавленных в AOSP. Рекомендовать поддержку загрузчика для защиты от отката HLOS. Рекомендуемые загрузчики могут быть разблокированы только пользователем, физически взаимодействующим с устройством.
- Экран блокировки . Добавлена поддержка использования защищенного от несанкционированного доступа оборудования для проверки учетных данных экрана блокировки.
- Хранилище ключей . Требуется аттестация ключа для всех устройств, поставляемых с Android 8.0+. Добавлена поддержка аттестации идентификатора для улучшения автоматической регистрации.
- Песочница . Более тесная изолированность многих компонентов с использованием стандартного интерфейса Project Treble между структурой и компонентами, специфичными для устройства. Применена фильтрация seccomp ко всем ненадежным приложениям, чтобы уменьшить поверхность атаки ядра. WebView теперь запускается в изолированном процессе с очень ограниченным доступом к остальной части системы.
- Упрочнение ядра . Реализованы усиленная копия пользователя , эмуляция PAN, доступ только для чтения после инициализации и KASLR.
- Укрепление пользовательского пространства . Реализован CFI для медиа-стека. Наложения приложений больше не могут закрывать критически важные для системы окна, и у пользователей есть возможность закрыть их.
- Потоковое обновление ОС . Включены обновления на устройствах, на которых недостаточно места на диске.
- Установите неизвестные приложения . Пользователи должны предоставить разрешение на установку приложений из источника, который не является собственным магазином приложений.
- Конфиденциальность . Идентификатор Android (SSAID) имеет разное значение для каждого приложения и каждого пользователя на устройстве. Для приложений веб-браузера идентификатор клиента Widevine возвращает разные значения для каждого имени пакета приложения и веб-источника.
net.hostnameтеперь пуст, и клиент DHCP больше не отправляет имя хоста.android.os.Build.SERIALзаменен APIBuild.SERIAL, который защищен разрешением, контролируемым пользователем. Улучшена рандомизация MAC-адресов в некоторых чипсетах.
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 8.0:
- Шифрование . Добавлена поддержка удаления ключа в рабочем профиле.
- Проверенная загрузка . Добавлена проверенная загрузка Android (AVB). Проверенная кодовая база загрузки, поддерживающая защиту от отката для использования в загрузчиках, добавленных в AOSP. Рекомендовать поддержку загрузчика для защиты от отката HLOS. Рекомендуемые загрузчики могут быть разблокированы только пользователем, физически взаимодействующим с устройством.
- Экран блокировки . Добавлена поддержка использования защищенного от несанкционированного доступа оборудования для проверки учетных данных экрана блокировки.
- Хранилище ключей . Требуется аттестация ключа для всех устройств, поставляемых с Android 8.0+. Добавлена поддержка аттестации идентификатора для улучшения автоматической регистрации.
- Песочница . Более тесная изолированность многих компонентов с использованием стандартного интерфейса Project Treble между структурой и компонентами, специфичными для устройства. Применена фильтрация seccomp ко всем ненадежным приложениям, чтобы уменьшить поверхность атаки ядра. WebView теперь запускается в изолированном процессе с очень ограниченным доступом к остальной части системы.
- Упрочнение ядра . Реализованы усиленная копия пользователя , эмуляция PAN, доступ только для чтения после инициализации и KASLR.
- Укрепление пользовательского пространства . Реализован CFI для медиа-стека. Наложения приложений больше не могут закрывать критически важные для системы окна, и у пользователей есть возможность закрыть их.
- Потоковое обновление ОС . Включены обновления на устройствах, на которых недостаточно места на диске.
- Установите неизвестные приложения . Пользователи должны предоставить разрешение на установку приложений из источника, который не является собственным магазином приложений.
- Конфиденциальность . Идентификатор Android (SSAID) имеет разное значение для каждого приложения и каждого пользователя на устройстве. Для приложений веб-браузера идентификатор клиента Widevine возвращает разные значения для каждого имени пакета приложения и веб-источника.
net.hostnameтеперь пуст, и клиент DHCP больше не отправляет имя хоста.android.os.Build.SERIALзаменен APIBuild.SERIAL, который защищен разрешением, контролируемым пользователем. Улучшена рандомизация MAC-адресов в некоторых чипсетах.
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 8.0:
- Шифрование . Добавлена поддержка удаления ключа в рабочем профиле.
- Проверенная загрузка . Добавлена проверенная загрузка Android (AVB). Проверенная кодовая база загрузки, поддерживающая защиту от отката для использования в загрузчиках, добавленных в AOSP. Рекомендовать поддержку загрузчика для защиты от отката HLOS. Рекомендуемые загрузчики могут быть разблокированы только пользователем, физически взаимодействующим с устройством.
- Экран блокировки . Добавлена поддержка использования защищенного от несанкционированного доступа оборудования для проверки учетных данных экрана блокировки.
- Хранилище ключей . Требуется аттестация ключа для всех устройств, поставляемых с Android 8.0+. Добавлена поддержка аттестации идентификатора для улучшения автоматической регистрации.
- Песочница . Более тесная изолированность многих компонентов с использованием стандартного интерфейса Project Treble между структурой и компонентами, специфичными для устройства. Применена фильтрация seccomp ко всем ненадежным приложениям, чтобы уменьшить поверхность атаки ядра. WebView теперь запускается в изолированном процессе с очень ограниченным доступом к остальной части системы.
- Упрочнение ядра . Реализованы усиленная копия пользователя , эмуляция PAN, доступ только для чтения после инициализации и KASLR.
- Укрепление пользовательского пространства . Реализован CFI для медиа-стека. Наложения приложений больше не могут закрывать критически важные для системы окна, и у пользователей есть возможность закрыть их.
- Потоковое обновление ОС . Включены обновления на устройствах, на которых недостаточно места на диске.
- Установите неизвестные приложения . Пользователи должны предоставить разрешение на установку приложений из источника, который не является собственным магазином приложений.
- Конфиденциальность . Идентификатор Android (SSAID) имеет разное значение для каждого приложения и каждого пользователя на устройстве. Для приложений веб-браузера идентификатор клиента Widevine возвращает разные значения для каждого имени пакета приложения и веб-источника.
net.hostnameтеперь пуст, и клиент DHCP больше не отправляет имя хоста.android.os.Build.SERIALзаменен APIBuild.SERIAL, который защищен разрешением, контролируемым пользователем. Улучшена рандомизация MAC-адресов в некоторых чипсетах.
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 8.0:
- Шифрование . Добавлена поддержка удаления ключа в рабочем профиле.
- Проверенная загрузка . Добавлена проверенная загрузка Android (AVB). Проверенная кодовая база загрузки, поддерживающая защиту от отката для использования в загрузчиках, добавленных в AOSP. Рекомендовать поддержку загрузчика для защиты от отката HLOS. Рекомендуемые загрузчики могут быть разблокированы только пользователем, физически взаимодействующим с устройством.
- Экран блокировки . Добавлена поддержка использования защищенного от несанкционированного доступа оборудования для проверки учетных данных экрана блокировки.
- Хранилище ключей . Требуется аттестация ключа для всех устройств, поставляемых с Android 8.0+. Добавлена поддержка аттестации идентификатора для улучшения автоматической регистрации.
- Песочница . Более тесная изолированность многих компонентов с использованием стандартного интерфейса Project Treble между структурой и компонентами, специфичными для устройства. Применена фильтрация seccomp ко всем ненадежным приложениям, чтобы уменьшить поверхность атаки ядра. WebView теперь запускается в изолированном процессе с очень ограниченным доступом к остальной части системы.
- Упрочнение ядра . Реализованы усиленная копия пользователя , эмуляция PAN, доступ только для чтения после инициализации и KASLR.
- Укрепление пользовательского пространства . Реализован CFI для медиа-стека. Наложения приложений больше не могут закрывать критически важные для системы окна, и у пользователей есть возможность закрыть их.
- Потоковое обновление ОС . Включены обновления на устройствах, на которых недостаточно места на диске.
- Установите неизвестные приложения . Пользователи должны предоставить разрешение на установку приложений из источника, который не является собственным магазином приложений.
- Конфиденциальность . Идентификатор Android (SSAID) имеет разное значение для каждого приложения и каждого пользователя на устройстве. Для приложений веб-браузера идентификатор клиента Widevine возвращает разные значения для каждого имени пакета приложения и веб-источника.
net.hostnameтеперь пуст, и клиент DHCP больше не отправляет имя хоста.android.os.Build.SERIALзаменен APIBuild.SERIAL, который защищен разрешением, контролируемым пользователем. Улучшена рандомизация MAC-адресов в некоторых чипсетах.
Андроид 7
每个 Android 版本中都包含数十项用于保护用户的安全增强功能。以下是 Android 7.0 中提供的一些主要安全增强功能:
- 文件级加密:在文件级进行加密,而不是将整个存储区域作为单个单元进行加密。这种加密方式可以更好地隔离和保护设备上的不同用户和资料(例如个人资料和工作资料)。
- 直接启动:通过文件级加密实现,允许特定应用(例如,闹钟和无障碍功能)在设备已开机但未解锁的情况下运行。
- 验证启动:现在,验证启动会被严格强制执行,从而使遭到入侵的设备无法启动;验证启动支持纠错功能,有助于更可靠地防范非恶意数据损坏。
- SELinux。更新后的 SELinux 配置和更高的 Seccomp 覆盖率有助于进一步锁定应用沙盒并减小受攻击面。
- 库加载顺序随机化和改进的 ASLR。 增大随机性降低了某些代码重用攻击的有效性。
- 内核加固:通过将内核内存的各个分区标记为只读,限制内核对用户空间地址的访问,并进一步减小现有的受攻击面,为更高版本的内核添加额外的内存保护。
- APK 签名方案 v2:引入了一种全文件签名方案,该方案有助于加快验证速度并增强完整性保证。
- 可信 CA 存储区。为了使应用更容易控制对其安全网络流量的访问,对于 API 级别为 24 及以上的应用,由用户安装的证书颁发机构以及通过 Device Admin API 安装的证书颁发机构在默认情况下不再受信任。此外,所有新的 Android 设备必须搭载相同的可信 CA 存储区。
- 网络安全配置。通过声明式配置文件来配置网络安全设置和传输层安全协议 (TLS)。
Андроид 6
每个 Android 版本中都包含数十种用于保护用户的安全增强功能。以下是 Android 6.0 中提供的一些主要安全增强功能:
- 运行时权限:应用在运行时请求权限,而不是在安装时被授予权限。用户可以为 M 及更低版本的 Android 应用启用和停用权限。
- 验证启动:在执行系统软件之前,先对其进行一系列加密检查,以确保手机从引导加载程序到操作系统均处于正常状况。
- 硬件隔离安全措施:新的硬件抽象层 (HAL),Fingerprint API、锁定屏幕、设备加密功能和客户端证书可以利用它来保护密钥免遭内核入侵和/或现场攻击。
- 指纹:现在,只需触摸一下,即可解锁设备。开发者还可以借助新的 API 来使用指纹锁定和解锁加密密钥。
- 加装 SD 卡:可将移动媒体设备加装到设备上,以便扩展可用存储空间来存放本地应用数据、照片、视频等内容,但仍受块级加密保护。
- 明文流量:开发者可以使用新的 StrictMode 来确保其应用不会使用明文。
- 系统加固:通过由 SELinux 强制执行的政策对系统进行加固。这可以实现更好的用户隔离和 IOCTL 过滤、降低可从设备/系统之外访问的服务面临的威胁、进一步强化 SELinux 域,以及高度限制对 /proc 的访问。
- USB 访问控制:必须由用户确认是否允许通过 USB 访问手机上的文件、存储空间或其他功能。现在,默认设置是“仅充电”,如果要访问存储空间,必须获得用户的明确许可。
Андроид 5
5.0
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 5.0:
- Зашифровано по умолчанию. На устройствах, поставляемых с L, по умолчанию включено полное шифрование диска, чтобы улучшить защиту данных на потерянных или украденных устройствах. Устройства с обновлением до L можно зашифровать в меню «Настройки» > «Безопасность» .
- Улучшено полное шифрование диска. Пароль пользователя защищен от атак методом перебора с использованием
scrypt, а ключ, если он доступен, привязан к аппаратному хранилищу ключей для предотвращения атак за пределами устройства. Как всегда, секрет блокировки экрана Android и ключ шифрования устройства не передаются с устройства и не предоставляются каким-либо приложениям. - Песочница Android, усиленная SELinux . Android теперь требует SELinux в принудительном режиме для всех доменов. SELinux — это система обязательного контроля доступа (MAC) в ядре Linux, используемая для дополнения существующей модели безопасности дискреционного контроля доступа (DAC). Этот новый уровень обеспечивает дополнительную защиту от потенциальных уязвимостей безопасности.
- Умный замок. Android теперь включает в себя трастлеты, которые обеспечивают большую гибкость при разблокировке устройств. Например, трастлеты могут разрешать автоматическую разблокировку устройств, когда они находятся рядом с другим доверенным устройством (через NFC, Bluetooth) или когда их использует кто-то с доверенным лицом.
- Многопользовательский, ограниченный профиль и гостевой режим для телефонов и планшетов. Android теперь поддерживает работу нескольких пользователей на телефонах и включает гостевой режим, который можно использовать для обеспечения легкого временного доступа к вашему устройству без предоставления доступа к вашим данным и приложениям.
- Обновления WebView без OTA. WebView теперь можно обновлять независимо от платформы и без системного OTA. Это позволяет быстрее реагировать на потенциальные проблемы безопасности в WebView.
- Обновлена криптография для HTTPS и TLS/SSL. TLSv1.2 и TLSv1.1 теперь включены, прямая секретность теперь предпочтительна, AES-GCM теперь включен, а наборы слабых шифров (MD5, 3DES и наборы экспортных шифров) теперь отключены. Дополнительную информацию см. на https://developer.android.com/reference/javax/net/ssl/SSLSocket.html .
- Поддержка компоновщика, отличного от PIE, удалена. Android теперь требует, чтобы все динамически связанные исполняемые файлы поддерживали PIE (независимые от позиции исполняемые файлы). Это улучшает реализацию рандомизации расположения адресного пространства (ASLR) в Android.
- Улучшения FORTIFY_SOURCE. Следующие функции libc теперь реализуют защиту FORTIFY_SOURCE:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()иFD_ISSET(). Это обеспечивает защиту от уязвимостей повреждения памяти, затрагивающих эти функции. - Исправления безопасности. Android 5.0 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 5.0:
- Зашифровано по умолчанию. На устройствах, поставляемых с L, по умолчанию включено полное шифрование диска, чтобы улучшить защиту данных на потерянных или украденных устройствах. Устройства, обновляемые до L, можно зашифровать в меню «Настройки» > «Безопасность» .
- Улучшено полное шифрование диска. Пароль пользователя защищен от атак методом перебора с использованием
scrypt, а ключ, если он доступен, привязан к аппаратному хранилищу ключей для предотвращения атак за пределами устройства. Как всегда, секрет блокировки экрана Android и ключ шифрования устройства не передаются с устройства и не предоставляются каким-либо приложениям. - Песочница Android, усиленная SELinux . Android теперь требует SELinux в принудительном режиме для всех доменов. SELinux — это система обязательного контроля доступа (MAC) в ядре Linux, используемая для дополнения существующей модели безопасности дискреционного контроля доступа (DAC). Этот новый уровень обеспечивает дополнительную защиту от потенциальных уязвимостей безопасности.
- Умный замок. Android теперь включает в себя трастлеты, которые обеспечивают большую гибкость при разблокировке устройств. Например, трастлеты могут разрешать автоматическую разблокировку устройств, когда они находятся рядом с другим доверенным устройством (через NFC, Bluetooth) или когда их использует кто-то с доверенным лицом.
- Многопользовательский, ограниченный профиль и гостевой режим для телефонов и планшетов. Android теперь поддерживает работу нескольких пользователей на телефонах и включает гостевой режим, который можно использовать для обеспечения легкого временного доступа к вашему устройству без предоставления доступа к вашим данным и приложениям.
- Обновления WebView без OTA. WebView теперь можно обновлять независимо от платформы и без системного OTA. Это позволяет быстрее реагировать на потенциальные проблемы безопасности в WebView.
- Обновлена криптография для HTTPS и TLS/SSL. TLSv1.2 и TLSv1.1 теперь включены, прямая секретность теперь предпочтительна, AES-GCM теперь включен, а наборы слабых шифров (MD5, 3DES и наборы экспортных шифров) теперь отключены. Дополнительную информацию см. на https://developer.android.com/reference/javax/net/ssl/SSLSocket.html .
- Поддержка компоновщика, отличного от PIE, удалена. Android теперь требует, чтобы все динамически связанные исполняемые файлы поддерживали PIE (независимые от позиции исполняемые файлы). Это улучшает реализацию рандомизации расположения адресного пространства (ASLR) в Android.
- Улучшения FORTIFY_SOURCE. Следующие функции libc теперь реализуют защиту FORTIFY_SOURCE:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()иFD_ISSET(). Это обеспечивает защиту от уязвимостей повреждения памяти, затрагивающих эти функции. - Исправления безопасности. Android 5.0 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 5.0:
- Зашифровано по умолчанию. На устройствах, поставляемых с L, по умолчанию включено полное шифрование диска, чтобы улучшить защиту данных на потерянных или украденных устройствах. Устройства, обновляемые до L, можно зашифровать в меню «Настройки» > «Безопасность» .
- Улучшено полное шифрование диска. Пароль пользователя защищен от атак методом перебора с использованием
scrypt, а ключ, если он доступен, привязан к аппаратному хранилищу ключей для предотвращения атак за пределами устройства. Как всегда, секрет блокировки экрана Android и ключ шифрования устройства не передаются с устройства и не предоставляются каким-либо приложениям. - Песочница Android, усиленная SELinux . Android теперь требует SELinux в принудительном режиме для всех доменов. SELinux — это система обязательного контроля доступа (MAC) в ядре Linux, используемая для дополнения существующей модели безопасности дискреционного контроля доступа (DAC). Этот новый уровень обеспечивает дополнительную защиту от потенциальных уязвимостей безопасности.
- Умный замок. Android теперь включает в себя трастлеты, которые обеспечивают большую гибкость при разблокировке устройств. Например, трастлеты могут разрешать автоматическую разблокировку устройств, когда они находятся рядом с другим доверенным устройством (через NFC, Bluetooth) или когда их использует кто-то с доверенным лицом.
- Многопользовательский, ограниченный профиль и гостевой режим для телефонов и планшетов. Android теперь поддерживает работу нескольких пользователей на телефонах и включает гостевой режим, который можно использовать для обеспечения легкого временного доступа к вашему устройству без предоставления доступа к вашим данным и приложениям.
- Обновления WebView без OTA. WebView теперь можно обновлять независимо от платформы и без системного OTA. Это позволяет быстрее реагировать на потенциальные проблемы безопасности в WebView.
- Обновлена криптография для HTTPS и TLS/SSL. TLSv1.2 и TLSv1.1 теперь включены, прямая секретность теперь предпочтительна, AES-GCM теперь включен, а наборы слабых шифров (MD5, 3DES и наборы экспортных шифров) теперь отключены. Дополнительную информацию см. на https://developer.android.com/reference/javax/net/ssl/SSLSocket.html .
- Поддержка компоновщика, отличного от PIE, удалена. Android теперь требует, чтобы все динамически связанные исполняемые файлы поддерживали PIE (независимые от позиции исполняемые файлы). Это улучшает реализацию рандомизации расположения адресного пространства (ASLR) в Android.
- Улучшения FORTIFY_SOURCE. Следующие функции libc теперь реализуют защиту FORTIFY_SOURCE:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()иFD_ISSET(). Это обеспечивает защиту от уязвимостей повреждения памяти, затрагивающих эти функции. - Исправления безопасности. Android 5.0 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Каждый выпуск Android включает в себя десятки улучшений безопасности для защиты пользователей. Вот некоторые из основных улучшений безопасности, доступных в Android 5.0:
- Зашифровано по умолчанию. На устройствах, поставляемых с L, по умолчанию включено полное шифрование диска, чтобы улучшить защиту данных на потерянных или украденных устройствах. Устройства, обновляемые до L, можно зашифровать в меню «Настройки» > «Безопасность» .
- Улучшено полное шифрование диска. Пароль пользователя защищен от атак методом перебора с использованием
scrypt, а ключ, если он доступен, привязан к аппаратному хранилищу ключей для предотвращения атак за пределами устройства. Как всегда, секрет блокировки экрана Android и ключ шифрования устройства не передаются с устройства и не предоставляются каким-либо приложениям. - Песочница Android, усиленная SELinux . Android теперь требует SELinux в принудительном режиме для всех доменов. SELinux — это система обязательного контроля доступа (MAC) в ядре Linux, используемая для дополнения существующей модели безопасности дискреционного контроля доступа (DAC). Этот новый уровень обеспечивает дополнительную защиту от потенциальных уязвимостей безопасности.
- Умный замок. Android теперь включает в себя трастлеты, которые обеспечивают большую гибкость при разблокировке устройств. Например, трастлеты могут разрешать автоматическую разблокировку устройств, когда они находятся рядом с другим доверенным устройством (через NFC, Bluetooth) или когда их использует кто-то с доверенным лицом.
- Многопользовательский, ограниченный профиль и гостевой режим для телефонов и планшетов. Android теперь поддерживает работу нескольких пользователей на телефонах и включает гостевой режим, который можно использовать для обеспечения легкого временного доступа к вашему устройству без предоставления доступа к вашим данным и приложениям.
- Обновления WebView без OTA. WebView теперь можно обновлять независимо от платформы и без системного OTA. Это позволяет быстрее реагировать на потенциальные проблемы безопасности в WebView.
- Обновлена криптография для HTTPS и TLS/SSL. TLSv1.2 и TLSv1.1 теперь включены, прямая секретность теперь предпочтительна, AES-GCM теперь включен, а наборы слабых шифров (MD5, 3DES и наборы экспортных шифров) теперь отключены. Дополнительную информацию см. на https://developer.android.com/reference/javax/net/ssl/SSLSocket.html .
- Поддержка компоновщика, отличного от PIE, удалена. Android теперь требует, чтобы все динамически связанные исполняемые файлы поддерживали PIE (исполняемые файлы, независимые от позиции). Это улучшает реализацию рандомизации расположения адресного пространства (ASLR) в Android.
- Улучшения FORTIFY_SOURCE. Следующие функции libc теперь реализуют защиту FORTIFY_SOURCE:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()иFD_ISSET(). Это обеспечивает защиту от уязвимостей повреждения памяти, затрагивающих эти функции. - Исправления безопасности. Android 5.0 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Андроид 4 и ниже
每个 Android 版本中都包含数十项用于保护用户的安全增强功能。以下是 Android 4.4 中提供的一些安全增强功能:
- 通过 SELinux 得到增强的 Android 沙盒。 Android 现在以强制模式使用 SELinux。SELinux 是 Linux 内核中的强制访问控制 (MAC) 系统,用于增强基于自主访问控制 (DAC) 的现有安全模型。 这为防范潜在的安全漏洞提供了额外的保护屏障。
- 按用户应用 VPN。 在多用户设备上,现在按用户应用 VPN。 这样一来,用户就可以通过一个 VPN 路由所有网络流量,而不会影响使用同一设备的其他用户。
- AndroidKeyStore 中的 ECDSA 提供程序支持。 Android 现在有一个允许使用 ECDSA 和 DSA 算法的密钥库提供程序。
- 设备监测警告。 如果有任何可能允许监测加密网络流量的证书添加到设备证书库中,Android 都会向用户发出警告。
- FORTIFY_SOURCE。 Android 现在支持 FORTIFY_SOURCE 第 2 级,并且所有代码在编译时都会受到这些保护。FORTIFY_SOURCE 已得到增强,能够与 Clang 配合使用。
- 证书锁定。 Android 4.4 能够检测安全的 SSL/TLS 通信中是否使用了欺诈性 Google 证书,并且能够阻止这种行为。
- 安全修复程序。 Android 4.4 中还包含针对 Android 特有漏洞的修复程序。 有关这些漏洞的信息已提供给“开放手机联盟”(Open Handset Alliance) 成员,并且 Android 开源项目中提供了相应的修复程序。为了提高安全性,搭载更低版本 Android 的某些设备可能也会包含这些修复程序。
每个 Android 版本中都包含数十项用于保护用户的安全增强功能。以下是 Android 4.3 中提供的一些安全增强功能:
- 通过 SELinux 得到增强的 Android 沙盒。此版本利用 Linux 内核中的 SELinux 强制访问权限控制系统 (MAC) 增强了 Android 沙盒。SELinux 强化功能(用户和开发者看不到它)可提高现有 Android 安全模型的可靠性,同时与现有应用保持兼容。为了确保持续兼容,此版本允许以宽容模式使用 SELinux。此模式会记录所有违反政策的行为,但不会中断应用,也不会影响系统行为。
- 没有
setuid或setgid程序。针对 Android 系统文件添加了对文件系统功能的支持,并移除了所有setuid或setgid程序。这可以减小 Root 攻击面,并降低出现潜在安全漏洞的可能性。 - ADB 身份验证。从 Android 4.2.2 起,开始使用 RSA 密钥对为 ADB 连接进行身份验证。这可以防止攻击者在实际接触到设备的情况下未经授权使用 ADB。
- 限制 Android 应用执行 SetUID 程序。
/system分区现在针对 Zygote 衍生的进程装载了 nosuid,以防止 Android 应用执行setuid程序。这可以减小 root 攻击面,并降低出现潜在安全漏洞的可能性。 - 功能绑定。在执行应用之前,Android Zygote 和 ADB 现在会先使用
prctl(PR_CAPBSET_DROP)舍弃不必要的功能。这可以防止 Android 应用和从 shell 启动的应用获取特权功能。 - AndroidKeyStore 提供程序。Android 现在有一个允许应用创建专用密钥的密钥库提供程序。该程序可以为应用提供一个用于创建或存储私钥的 API,其他应用将无法使用这些私钥。
- KeyChain
isBoundKeyAlgorithm。Keychain API 现在提供了一种方法 (isBoundKeyType),可让应用确认系统级密钥是否已绑定到设备的硬件信任根。该方法提供了一个用于创建或存储私钥的位置,即使发生 root 权限被窃取的情况,这些私钥也无法从设备中导出。 NO_NEW_PRIVS。Android Zygote 现在会在执行应用代码之前使用prctl(PR_SET_NO_NEW_PRIVS)禁止添加新权限。这可以防止 Android 应用执行可通过 execve 提升权限的操作。(此功能需要使用 3.5 或更高版本的 Linux 内核)。FORTIFY_SOURCE增强。在 Android x86 和 MIPS 上启用了FORTIFY_SOURCE,并增强了strchr()、strrchr()、strlen()和umask()调用。这可以检测潜在的内存损坏漏洞或没有结束符的字符串常量。- 重定位保护。针对静态关联的可执行文件启用了只读重定位 (relro) 技术,并移除了 Android 代码中的所有文本重定位技术。这可以纵深防御潜在的内存损坏漏洞。
- 经过改进的 EntropyMixer。除了定期执行混合操作之外,EntropyMixer 现在还会在关机或重新启动时写入熵。这样一来,便可以保留设备开机时生成的所有熵,而这对于配置之后立即重新启动的设备来说尤其有用。
- 安全修复程序。Android 4.3 中还包含针对 Android 特有漏洞的修复。有关这些漏洞的信息已提供给“开放手机联盟”(Open Handset Alliance) 成员,并且 Android 开放源代码项目中提供了相应的修复。为了提高安全性,搭载更低版本 Android 的某些设备可能也会包含这些修复。
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в Android 4.2:
- Проверка приложений. Пользователи могут включить функцию «Проверка приложений» и проверить приложения проверяющим перед установкой. Проверка приложения может предупредить пользователя, если он попытается установить приложение, которое может быть вредоносным; если приложение особенно плохое, оно может заблокировать установку.
- Больше контроля над SMS-сообщениями премиум-класса. Android предоставляет уведомление, если приложение пытается отправить SMS на короткий код, использующий услуги премиум-класса, за которые может взиматься дополнительная плата. Пользователь может выбрать, разрешить ли приложению отправлять сообщение или заблокировать его.
- Always-on VPN: VPN можно настроить так, чтобы приложения не имели доступа к сети до тех пор, пока не будет установлено VPN-соединение. Это не позволяет приложениям отправлять данные в другие сети.
- Закрепление сертификата. Основные библиотеки Android теперь поддерживают закрепление сертификата . Закрепленные домены получают ошибку проверки сертификата, если сертификат не связан с набором ожидаемых сертификатов. Это защищает от возможного компрометации центров сертификации.
- Улучшенное отображение разрешений Android: разрешения организованы в группы, которые более понятны пользователям. Во время просмотра разрешений пользователь может щелкнуть разрешение, чтобы просмотреть более подробную информацию о разрешении.
- Усиление установки installd: демон
installdне запускается от имени пользователя root, что уменьшает потенциальную поверхность атаки для повышения привилегий root. - Усиление сценариев инициализации: сценарии инициализации теперь применяют семантику
O_NOFOLLOWдля предотвращения атак, связанных с символическими ссылками. -
FORTIFY_SOURCE: Android теперь реализуетFORTIFY_SOURCE. Это используется системными библиотеками и приложениями для предотвращения повреждения памяти. - Конфигурация ContentProvider по умолчанию: в приложениях, ориентированных на уровень API 17, для каждого контент-провайдера по умолчанию установлено
exportfalse, что уменьшает поверхность атаки по умолчанию для приложений. - Криптография: изменены реализации SecureRandom и Cipher.RSA по умолчанию для использования OpenSSL. Добавлена поддержка SSL-сокетов для TLSv1.1 и TLSv1.2 с использованием OpenSSL 1.0.1.
- Исправления безопасности. Обновленные библиотеки с открытым исходным кодом с исправлениями безопасности включают WebKit, libpng, OpenSSL и LibXML. Android 4.2 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в Android 4.2:
- Проверка приложений. Пользователи могут включить функцию «Проверка приложений» и проверить приложения проверяющим перед установкой. Проверка приложения может предупредить пользователя, если он попытается установить приложение, которое может быть вредоносным; если приложение особенно плохое, оно может заблокировать установку.
- Больше контроля над SMS-сообщениями премиум-класса. Android предоставляет уведомление, если приложение пытается отправить SMS на короткий код, использующий услуги премиум-класса, за которые может взиматься дополнительная плата. Пользователь может выбрать, разрешить ли приложению отправлять сообщение или заблокировать его.
- Always-on VPN: VPN можно настроить так, чтобы приложения не имели доступа к сети до тех пор, пока не будет установлено VPN-соединение. Это не позволяет приложениям отправлять данные в другие сети.
- Закрепление сертификата. Основные библиотеки Android теперь поддерживают закрепление сертификата . Закрепленные домены получают ошибку проверки сертификата, если сертификат не связан с набором ожидаемых сертификатов. Это защищает от возможного компрометации центров сертификации.
- Улучшенное отображение разрешений Android: разрешения организованы в группы, которые более понятны пользователям. Во время просмотра разрешений пользователь может щелкнуть разрешение, чтобы просмотреть более подробную информацию о разрешении.
- Усиление установки installd: демон
installdне запускается от имени пользователя root, что уменьшает потенциальную поверхность атаки для повышения привилегий root. - Усиление сценариев инициализации: сценарии инициализации теперь применяют семантику
O_NOFOLLOWдля предотвращения атак, связанных с символическими ссылками. -
FORTIFY_SOURCE: Android теперь реализуетFORTIFY_SOURCE. Это используется системными библиотеками и приложениями для предотвращения повреждения памяти. - Конфигурация ContentProvider по умолчанию: в приложениях, ориентированных на уровень API 17, для каждого контент-провайдера по умолчанию установлено
exportfalse, что уменьшает поверхность атаки по умолчанию для приложений. - Криптография: изменены реализации SecureRandom и Cipher.RSA по умолчанию для использования OpenSSL. Добавлена поддержка SSL-сокетов для TLSv1.1 и TLSv1.2 с использованием OpenSSL 1.0.1.
- Исправления безопасности. Обновленные библиотеки с открытым исходным кодом с исправлениями безопасности включают WebKit, libpng, OpenSSL и LibXML. Android 4.2 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в Android 4.2:
- Проверка приложений: пользователи могут включить функцию «Проверка приложений» и проверить приложения проверяющим перед установкой. Проверка приложения может предупредить пользователя, если он попытается установить приложение, которое может быть вредоносным; если приложение особенно плохое, оно может заблокировать установку.
- Больше контроля над SMS-сообщениями премиум-класса. Android предоставляет уведомление, если приложение пытается отправить SMS на короткий код, использующий услуги премиум-класса, за которые может взиматься дополнительная плата. Пользователь может выбрать, разрешить ли приложению отправлять сообщение или заблокировать его.
- Always-on VPN: VPN можно настроить так, чтобы приложения не имели доступа к сети до тех пор, пока не будет установлено VPN-соединение. Это не позволяет приложениям отправлять данные в другие сети.
- Закрепление сертификата. Основные библиотеки Android теперь поддерживают закрепление сертификата . Закрепленные домены получают ошибку проверки сертификата, если сертификат не связан с набором ожидаемых сертификатов. Это защищает от возможного компрометации центров сертификации.
- Улучшенное отображение разрешений Android: разрешения организованы в группы, которые более понятны пользователям. Во время просмотра разрешений пользователь может щелкнуть разрешение, чтобы просмотреть более подробную информацию о разрешении.
- Усиление установки installd: демон
installdне запускается от имени пользователя root, что уменьшает потенциальную поверхность атаки для повышения привилегий root. - Усиление сценариев инициализации: сценарии инициализации теперь применяют семантику
O_NOFOLLOWдля предотвращения атак, связанных с символическими ссылками. -
FORTIFY_SOURCE: Android теперь реализуетFORTIFY_SOURCE. Это используется системными библиотеками и приложениями для предотвращения повреждения памяти. - Конфигурация ContentProvider по умолчанию: в приложениях, ориентированных на уровень API 17, для каждого контент-провайдера по умолчанию установлено
exportfalse, что уменьшает поверхность атаки по умолчанию для приложений. - Криптография: изменены реализации SecureRandom и Cipher.RSA по умолчанию для использования OpenSSL. Добавлена поддержка SSL-сокетов для TLSv1.1 и TLSv1.2 с использованием OpenSSL 1.0.1.
- Исправления безопасности. Обновленные библиотеки с открытым исходным кодом с исправлениями безопасности включают WebKit, libpng, OpenSSL и LibXML. Android 4.2 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в Android 4.2:
- Проверка приложений: пользователи могут включить функцию «Проверка приложений» и проверить приложения проверяющим перед установкой. Проверка приложения может предупредить пользователя, если он попытается установить приложение, которое может быть вредоносным; если приложение особенно плохое, оно может заблокировать установку.
- Больше контроля над SMS-сообщениями премиум-класса. Android предоставляет уведомление, если приложение пытается отправить SMS на короткий код, использующий услуги премиум-класса, за которые может взиматься дополнительная плата. Пользователь может выбрать, разрешить ли приложению отправлять сообщение или заблокировать его.
- Always-on VPN: VPN можно настроить так, чтобы приложения не имели доступа к сети до тех пор, пока не будет установлено VPN-соединение. Это не позволяет приложениям отправлять данные в другие сети.
- Закрепление сертификата. Основные библиотеки Android теперь поддерживают закрепление сертификата . Закрепленные домены получают ошибку проверки сертификата, если сертификат не связан с набором ожидаемых сертификатов. Это защищает от возможного компрометации центров сертификации.
- Улучшенное отображение разрешений Android: разрешения организованы в группы, которые более понятны пользователям. Во время просмотра разрешений пользователь может щелкнуть разрешение, чтобы просмотреть более подробную информацию о разрешении.
- Усиление установки installd: демон
installdне запускается от имени пользователя root, что уменьшает потенциальную поверхность атаки для повышения привилегий root. - Усиление сценариев инициализации: сценарии инициализации теперь применяют семантику
O_NOFOLLOWдля предотвращения атак, связанных с символическими ссылками. -
FORTIFY_SOURCE: Android теперь реализуетFORTIFY_SOURCE. Это используется системными библиотеками и приложениями для предотвращения повреждения памяти. - Конфигурация ContentProvider по умолчанию: в приложениях, ориентированных на уровень API 17, для каждого контент-провайдера по умолчанию установлено
exportfalse, что уменьшает поверхность атаки по умолчанию для приложений. - Криптография: изменены реализации SecureRandom и Cipher.RSA по умолчанию для использования OpenSSL. Добавлена поддержка SSL-сокетов для TLSv1.1 и TLSv1.2 с использованием OpenSSL 1.0.1.
- Исправления безопасности. Обновленные библиотеки с открытым исходным кодом с исправлениями безопасности включают WebKit, libpng, OpenSSL и LibXML. Android 4.2 также включает исправления уязвимостей, характерных для Android. Информация об этих уязвимостях была предоставлена членам Open Handset Alliance, а исправления доступны в Android Open Source Project. В целях повышения безопасности некоторые устройства с более ранними версиями Android также могут включать эти исправления.
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в версиях Android с 1.5 по 4.1:
- Андроид 1.5
- ProPolice для предотвращения переполнения буфера стека (-fstack-protector)
- Safe_iop для уменьшения переполнения целых чисел
- Расширения OpenBSD dlmalloc для предотвращения двойной уязвимости free() и атак с консолидацией фрагментов. Атаки консолидации фрагментов — распространенный способ использования повреждения кучи.
- Calloc OpenBSD для предотвращения целочисленного переполнения во время выделения памяти
- Андроид 2.3
- Защита от уязвимостей форматной строки (-Wformat-security -Werror=format-security)
- Аппаратное решение No eXecute (NX) для предотвращения выполнения кода в стеке и куче.
- Linux mmap_min_addr для предотвращения повышения привилегий при разыменовании нулевого указателя (дополнительно улучшено в Android 4.1)
- Андроид 4.0
- Рандомизация макета адресного пространства (ASLR) для рандомизации ключевых мест в памяти.
- Андроид 4.1
- Поддержка PIE (исполняемый файл, независимый от позиции)
- Перемещение только для чтения/немедленная привязка (-Wl,-z,relro -Wl,-z,now)
- dmesg_restrict включен (избегайте утечки адресов ядра)
- kptr_restrict включен (избегайте утечки адресов ядра)
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в версиях Android с 1.5 по 4.1:
- Андроид 1.5
- ProPolice для предотвращения переполнения буфера стека (-fstack-protector)
- Safe_iop для уменьшения переполнения целых чисел
- Расширения OpenBSD dlmalloc для предотвращения двойной уязвимости free() и атак с консолидацией фрагментов. Атаки консолидации фрагментов — распространенный способ использования повреждения кучи.
- Calloc OpenBSD для предотвращения целочисленного переполнения во время выделения памяти
- Андроид 2.3
- Защита от уязвимостей форматной строки (-Wformat-security -Werror=format-security)
- Аппаратное решение No eXecute (NX) для предотвращения выполнения кода в стеке и куче.
- Linux mmap_min_addr для предотвращения повышения привилегий при разыменовании нулевого указателя (дополнительно улучшено в Android 4.1)
- Андроид 4.0
- Рандомизация макета адресного пространства (ASLR) для рандомизации ключевых мест в памяти.
- Андроид 4.1
- Поддержка PIE (исполняемый файл, независимый от позиции)
- Перемещение только для чтения/немедленная привязка (-Wl,-z,relro -Wl,-z,now)
- dmesg_restrict включен (избегайте утечки адресов ядра)
- kptr_restrict включен (избегайте утечки адресов ядра)
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в версиях Android с 1.5 по 4.1:
- Андроид 1.5
- ProPolice для предотвращения переполнения буфера стека (-fstack-protector)
- Safe_iop для уменьшения переполнения целых чисел
- Расширения OpenBSD dlmalloc для предотвращения двойной уязвимости free() и атак с консолидацией фрагментов. Атаки консолидации фрагментов — распространенный способ использования повреждения кучи.
- Calloc OpenBSD для предотвращения целочисленного переполнения во время выделения памяти
- Андроид 2.3
- Защита от уязвимостей форматной строки (-Wformat-security -Werror=format-security)
- Аппаратное решение No eXecute (NX) для предотвращения выполнения кода в стеке и куче.
- Linux mmap_min_addr для предотвращения повышения привилегий при разыменовании нулевого указателя (дополнительно улучшено в Android 4.1)
- Андроид 4.0
- Рандомизация макета адресного пространства (ASLR) для рандомизации ключевых мест в памяти.
- Андроид 4.1
- Поддержка PIE (исполняемый файл, независимый от позиции)
- Перемещение только для чтения/немедленная привязка (-Wl,-z,relro -Wl,-z,now)
- dmesg_restrict включен (избегайте утечки адресов ядра)
- kptr_restrict включен (избегайте утечки адресов ядра)
Android предоставляет многоуровневую модель безопасности, описанную в обзоре безопасности Android . Каждое обновление Android включает в себя десятки улучшений безопасности для защиты пользователей. Ниже приведены некоторые улучшения безопасности, представленные в версиях Android с 1.5 по 4.1:
- Андроид 1.5
- ProPolice для предотвращения переполнения буфера стека (-fstack-protector)
- Safe_iop для уменьшения переполнения целых чисел
- Расширения OpenBSD dlmalloc для предотвращения двойной уязвимости free() и атак с консолидацией фрагментов. Атаки консолидации фрагментов — распространенный способ использования повреждения кучи.
- OpenBSD calloc для предотвращения целочисленного переполнения во время выделения памяти
- Андроид 2.3
- Защита от уязвимостей форматной строки (-Wformat-security -Werror=format-security)
- Аппаратное решение No eXecute (NX) для предотвращения выполнения кода в стеке и куче.
- Linux mmap_min_addr для предотвращения повышения привилегий при разыменовании нулевого указателя (дополнительно улучшено в Android 4.1)
- Андроид 4.0
- Рандомизация макета адресного пространства (ASLR) для рандомизации ключевых мест в памяти.
- Андроид 4.1
- Поддержка PIE (исполняемый файл, независимый от позиции)
- Перемещение только для чтения/немедленная привязка (-Wl,-z,relro -Wl,-z,now)
- dmesg_restrict включен (избегайте утечки адресов ядра)
- kptr_restrict включен (избегайте утечки адресов ядра)