Предварительная версия Android 11 для разработчиков: все новые функции конфиденциальности и безопасности

Google выпустила первую предварительную версию Android 11 Developer Preview для Pixel 2, 3, 3a и 4. Вот все новые функции конфиденциальности и безопасности, о которых они объявили.

Google опережает график сегодня выпущена первая предварительная версия для разработчиков следующей версии ОС Android: Android 11. Системные изображения доступны для Pixel 2, Pixel 3, Pixel 3a, Pixel 4, но если у вас нет ни одного из них устройств, вы также можете опробовать Developer Preview через эмулятор Android Studio или Generic System. Изображение. Хотя Google приберегает большинство интересных новых функций для пользователей и разработчиков для грандиозного анонса. на Google I/O 2020, компания поделилась множеством изменений, доступных в первой версии Developer Preview. Вот краткий обзор всех новых функций, связанных с конфиденциальностью и безопасностью, которые Google анонсировал в Android 11 Developer Preview 1.

Android 11, предварительная версия 1 для разработчиков: новые функции конфиденциальности

Одноразовый доступ к разрешению

Android контролирует, к каким типам данных приложения могут получить доступ через свою систему разрешений. До Android 6.0 Marshmallow приложения запрашивали разрешения при установке, поэтому пользователям приходилось решать, согласны ли они с тем, что приложение имеет определенные разрешения, прежде чем устанавливать его. В Android 6.0 Marshmallow появились разрешения во время выполнения для избранного набора конфиденциальных разрешений, включая доступ к местоположению, доступ к микрофону и доступ к камере. Разрешения во время выполнения могут быть предоставлены только после установки, и приложение, запрашивающее их, должно предложить пользователю разрешить доступ через системное диалоговое окно. Наконец, в Android 10 Google представил специальную версию разрешения во время выполнения, которая позволяет пользователю предоставлять доступ только во время активного использования приложения; однако Google представил только опцию «пока приложение используется» для разрешения определения местоположения.

В Android 11 Google предоставляет пользователям более детальный контроль над другими конфиденциальными разрешениями, включая доступ к камере и микрофону. Компания представила новую функцию «одноразового разрешения» в Android 11 Developer Preview, которая позволяет пользователю временно предоставить приложению доступ к разрешению, пока это приложение находится в передний план. Как только пользователь уходит из приложения, приложение теряет доступ к этому разрешению и должно запросить его снова.

Изменения в ограниченном хранилище

В Андроид 10 бета 2Google предложил радикально изменить способ доступа приложений к внешнему хранилищу на Android. (Внешнее хранилище здесь определяется как данные, видимые пользователю и другим приложениям, расположенные в /data/media.) изменение, получившее название «Sscoped Storage», было направлено на устранение чрезмерно широкого использования READ_EXTERNAL_STORAGE. разрешение. Слишком много приложений в Google Play Store запрашивали и получали доступ ко всему внешнему хранилищу, где пользователи сохраняли свои личные документы, фотографии, видео и другие файлы. При использовании Scoped Storage приложениям по умолчанию будет предоставлена ​​возможность видеть только свои личные каталоги данных. Если приложение имеет разрешение READ_EXTERNAL_STORAGE в рамках принудительного применения ограниченного хранилища, оно может просматривать определенные медиафайлы, доступные через API MediaStore. Альтернативно, приложение может использовать Storage Access Framework, чтобы пользователь мог вручную выбирать файлы с помощью системного средства выбора файлов. Наконец, приложения, которым требуется широкий доступ к внешнему хранилищу, например файловые менеджеры, могут использовать Storage Access Framework для запроса пользователю предоставить приложению доступ к корневому каталогу внешнего хранилища, тем самым предоставив доступ ко всем его подкаталогам, слишком.

Принудительное использование ограниченного хранилища должно было вступить в силу для всех приложений в Android 10, но после отзывов и критики разработчиков, Google смягчил изменения, требуя их только для приложений, ориентированных на уровень API 29 (Android 10). После 1 августа 2020 года все новые приложения, отправляемые в Google Play Store, должны быть ориентированы на Android 10, и то же самое относится ко всем обновлениям существующих приложений после 1 ноября 2020 года. Кроме того, в Android 11 разработчики приложений файлового менеджера необходимо предоставить форму декларации Google должен быть предоставлен широкий доступ к внешнему хранилищу; После принятия приложения файлового менеджера будут иметь нефильтрованный просмотр MediaStore, но не будут иметь доступа к внешним каталогам приложений.

Кроме того, Google представила другие изменения в Scoped Storage в версии Android 11 Developer Preview. Приложения могут получать необработанный путь к файлу и выполнять операции пакетного редактирования медиафайлов в MediaStore. DocumentsUI был обновлен, чтобы сделать его более простым для пользователей. Об этих изменениях было объявлено на Саммит разработчиков Android в прошлом году, и нам обещают дополнительные улучшения Scoped Storage в будущих выпусках Android 11.

Android 11 Developer Preview 1 – новые функции безопасности

Поддержка мобильных водительских прав

С начала прошлого года Google работает над IdentityCredential API и HAL в AOSP. Эта функция закладывает основу для безопасного хранения документов, удостоверяющих личность, на вашем мобильном устройстве, в частности мобильных водительских прав, соответствующих стандарту ISO 18013-5. Google официально анонсировал эту функцию на Google I/O 2019, и теперь он наконец поддерживается в Android 11 Developer Preview 1.

Google мало что рассказал об этой функции в пресс-релизе, но поскольку эта функция разрабатывается открыто, мы уже знаем многое из того, что планируется. На I/O 2019 Google заявила, что они работают с ISO над стандартизацией внедрения электронных паспортов; мы до сих пор не имеем ни малейшего представления о том, когда электронные паспорта будут доступны, но уже есть несколько штатов США, где eDL реализованы или находятся на стадии испытаний. В Google также заявили, что работают над созданием библиотеки Jetpack, чтобы разработчики могли создавать приложения для идентификации. Однако мы не знаем, как скоро разработчики смогут протестировать эту функцию, поскольку для правильной поддержки требуется защищенное оборудование на устройстве. Безопасный процессор на Qualcomm Snapdragon 865 поддерживает API IdentityCredential, хотя может не поддерживать режим прямого доступа API, поскольку SPU интегрирован в SoC; Режим прямого доступа позволит пользователю получить сохраненный электронный идентификатор, даже если для загрузки Android недостаточно энергии. Для получения дополнительной информации об этом API я рекомендую читая наш первоначальный репортаж где Шон Уилден, руководитель группы аппаратной безопасности Android, внес свой вклад.

Новые основные модули проекта

Одним из самых больших изменений в Android 10 для недавно выпущенных устройств стало появление Основная линия проекта, который, несмотря на свое название, не имеет ничего общего с поддержкой основного ядра Linux на Android. (Кстати, этот проект называется Generic Kernel Image и все еще находится в стадии разработки.) Вместо этого цель Project Mainline — Google хочет отобрать контроль над ключевыми компонентами платформы и системными приложениями у OEM-производителей. Каждый модуль Mainline инкапсулирован в виде APK или APEX-файл и может обновляться Google через Play Store. Пользователь видит обновления как «Обновление системы Google Play» (GPSU) на своем устройстве, и обновления выпускаются с регулярной частотой в виде поезда (т. е. они загружаются и устанавливаются одновременно).

Преимущества Project Mainline. Источник: Гугл.

Google требует включения определенных модулей Mainline, которых на момент Google I/O 2019 было 13. Теперь Google требует в общей сложности 20 модулей Mainline в Android 11 Developer Preview 1.

Начальные основные модули (@ Google I/O 2019)

Текущие основные модули (для Android 11 Developer Preview 1)*

УГОЛ

Вход на портал Captive

Вход на портал Captive

Конкрипт

Конкрипт

DNS-резольвер

DNS-резольвер

Пользовательский интерфейс документов

Пользовательский интерфейс документов

ЭкстСервисс

ЭкстСервисс

Медиакодеки

Медиакодеки

Компоненты медиафреймворка

Компоненты медиафреймворка

Метаданные модуля

Метаданные модуля

Сетевой стек

Сетевой стек

Конфигурация разрешений сетевого стека

Конфигурация разрешений сетевого стека

Контроллер разрешений

Контроллер разрешений

Данные о часовом поясе

Данные о часовом поясе

Новый модуль разрешений

Новый модуль медиа-провайдера

Новый модуль API нейронных сетей (NNAPI)

*Примечание: на момент публикации Google не предоставил нам полный список модулей Mainline, которые требуются на данный момент. Мы обновим эту таблицу, как только получим полный список.

Биометрические быстрые изменения

Представлен Android 9 Pie API BiometricPrompt, унифицированный API для оборудования биометрической аутентификации. API предоставляет разработчикам возможность бросить вызов пользователю с помощью сохраненных биометрических данных, будь то отпечаток пальца, лицо или радужная оболочка глаза. До появления BiometricPrompt разработчикам приходилось создавать собственное диалоговое окно аутентификации и использовать API FingerprintManager, который поддерживал только аутентификацию по отпечаткам пальцев, чтобы бросить вызов пользователю. На смартфонах Galaxy со сканерами радужной оболочки разработчикам пришлось использовать SDK Samsung, чтобы бросить вызов пользователю. С помощью BiometricPrompt разработчики могут бросить вызов пользователю любым поддерживаемым биометрическим методом, и система предоставит пользователю диалоговое окно. Таким образом, разработчикам больше не нужно беспокоиться о конкретной поддержке определенного типа биометрического оборудования, а также им больше не нужно кодировать пользовательский интерфейс для диалогового окна аутентификации. Аппаратное обеспечение безопасного распознавания лиц Pixel 4, например, можно использовать для аутентификации в приложениях, использующих BiometricPrompt.

Аутентификация лица с использованием BiometricPrompt.

Что нового в BiometricPrompt в Android 11 Developer Preview 1? Google добавил 3 новых типа аутентификаторов: сильный, слабый и учетные данные устройства. До Android 11 разработчики могли запрашивать только защищенное биометрическое оборудование устройства — сканер отпечатков пальцев, 3D-сканер распознавания лиц или сканер радужной оболочки глаза — при использовании BiometricPrompt. Начиная с Android 11 Developer Preview 1, разработчики также могут запрашивать биометрические методы, считающиеся «слабыми», например программные решения для распознавания лиц, имеющиеся на многих телефонах. Например, Гугл ранее внес в черный список несколько телефонов Samsung Galaxy для возврата слабого аутентификатора распознавания лиц при попытке аутентификации на основе шифрования. Теперь разработчик должен решить, какой уровень детализации биометрической аутентификации необходим его приложению.

Безопасное хранение и совместное использование BLOB-объектов

Новый API под названием BlobstoreManager упростит и сделает более безопасным обмен данными между приложениями. Google называет приложения, использующие модели машинного обучения, идеальным вариантом использования нового API BlobstoreManager.

Укрепление платформы

Стремясь уменьшить поверхность атаки Android, Google использует Дезинфицирующие средства ЛЛВМ для выявления «ошибок неправильного использования памяти и потенциально опасного неопределенного поведения». Google теперь расширяет использование этих дезинфицирующие средства на основе компилятора для нескольких критически важных компонентов безопасности, включая BoundSan, IntSan, CFI и Shadow-Call Stack. Чтобы выявить проблемы с памятью в рабочей среде, Google включает "тегирование указателя кучи" для всех приложений, ориентированных на Android 11 или более позднюю версию. Тегирование указателя кучи поддерживается на 64-разрядных устройствах ARMv8 с поддержкой ядра ARM Top-byte Ignore (TBI), функции, в которой « аппаратное обеспечение игнорирует верхний байт указателя при доступе к памяти». Google предупреждает разработчиков, что эти улучшения защиты могут «повышать повторяемость/воспроизводимость сбоев приложений», поэтому разработчикам следует тщательно тестировать свои приложения на новой версии Android 11. Предварительный просмотр. Чтобы найти и исправить множество ошибок памяти в системе, Google использовал инструмент обнаружения ошибок памяти под названием AddressSanitizer с аппаратной поддержкой (ХВАСан). Google предлагает готовые образы системы с поддержкой HWASan на сервере сборки AOSP на случай, если вы заинтересованы в поиске и исправлении ошибок памяти в своих приложениях.


Google обязательно анонсирует дополнительные функции для защиты конфиденциальности пользователей и повышения безопасности, поэтому обязательно следите за новостями об Android 11, чтобы быть в курсе событий.

Новости Android 11 на XDA