Попередній перегляд 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, компанія поділилася безліччю змін, які доступні в першому попередньому перегляді для розробників. Ось підсумок усіх нових функцій, пов’язаних із конфіденційністю та безпекою, про які Google анонсувала в Android 11 Developer Preview 1.

Android 11 Developer Preview 1 – нові функції конфіденційності

Одноразовий доступ

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

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

Зміни обсягу зберігання

в Android 10 beta 2, Google запропонував радикально змінити спосіб доступу програм до зовнішньої пам’яті на Android. (Зовнішнє сховище тут визначається як дані, видимі для користувача та інших програм, розташовані в /data/media.) зміна, яка отримала назву «Обмежене сховище», була спрямована на усунення надто широкого використання READ_EXTERNAL_STORAGE дозвіл. Забагато програм у Google Play Store запитували та отримували доступ до всього зовнішнього сховища, де користувачі зберігали свої особисті документи, фотографії, відео та інші файли. За допомогою Scoped Storage програмам за замовчуванням буде надано лише можливість переглядати свої приватні каталоги даних. Якщо програма має дозвіл READ_EXTERNAL_STORAGE згідно із застосуванням Scoped Storage, вона може переглядати певні медіафайли, доступні через API MediaStore. Крім того, програма може використовувати Storage Access Framework, щоб користувач вручну вибирав файли за допомогою засобу вибору системних файлів. Нарешті, програми, яким потрібен широкий доступ до зовнішньої пам’яті, наприклад файлові менеджери, можуть використовувати Storage Access Framework для запиту користувач повинен надати додатку доступ до кореневого каталогу зовнішньої пам’яті, таким чином надаючи доступ до всіх його підкаталогів, теж.

Застосування Scoped Storage було встановлено для всіх програм в 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 над стандартизацією реалізації електронних паспортів; ми досі не маємо жодних уявлень про те, коли ePassports стануть доступними, але вже є кілька штатів США, де eDL запроваджено або перебуває на стадії випробування. Google також повідомила, що працює над створенням бібліотеки Jetpack, щоб розробники могли створювати програми ідентифікації. Однак ми не знаємо, як скоро розробники зможуть протестувати цю функцію, оскільки для належної підтримки потрібне безпечне обладнання на пристрої. The Захищений процесор на Qualcomm Snapdragon 865 підтримує API IdentityCredential, хоча він може не підтримувати режим прямого доступу API, оскільки SPU інтегровано в SoC; Режим прямого доступу дозволить користувачеві отримати збережений електронний ідентифікатор, навіть якщо недостатньо енергії для завантаження Android. Для отримання додаткової інформації про цей API я рекомендую читаючи наше початкове висвітлення де Шон Віллден, керівник групи безпеки апаратного забезпечення Android, надав свій внесок.

Нові основні модулі проекту

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

Переваги Project Mainline. Джерело: Google.

Google вимагає включення окремих модулів Mainline, яких на час Google I/O 2019 було 13. Тепер Google вимагає загалом 20 модулів Mainline в Android 11 Developer Preview 1.

Початкові основні модулі (@ Google I/O 2019)

Поточні основні модулі (для Android 11 Developer Preview 1)*

КУТ

Вхід на адаптивний портал

Вхід на адаптивний портал

Конскрипт

Конскрипт

DNS Resolver

DNS Resolver

Інтерфейс користувача документів

Інтерфейс користувача документів

ExtServices

ExtServices

Медіакодеки

Медіакодеки

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

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

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

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

Мережевий стек

Мережевий стек

Конфігурація дозволу мережевого стеку

Конфігурація дозволу мережевого стеку

Контролер дозволів

Контролер дозволів

Дані часового поясу

Дані часового поясу

Новий модуль дозволів

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

Новий модуль API нейронних мереж (NNAPI).

*Примітка: на момент публікації Google не надав нам повний список модулів Mainline, які наразі потрібні. Ми оновимо цю таблицю, коли отримаємо повний список.

BiometricPrompt Changes

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

Автентифікація обличчя за допомогою BiometricPrompt.

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

Безпечне зберігання та спільний доступ до BLOB

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

Зміцнення платформи

Щоб зменшити поверхню атаки Android, Google використовує Дезінфікуючі засоби LLVM для виявлення «помилок неправильного використання пам’яті та потенційно небезпечної невизначеної поведінки». Зараз Google розширює їх використання засоби очищення на основі компілятора для кількох критично важливих для безпеки компонентів, включаючи BoundSan, IntSan, CFI та Shadow-Call Stack. Щоб виявити проблеми з пам’яттю в робочому стані, Google увімкнув "тегування покажчика купи" для всіх програм, націлених на Android 11 або новіших версій. Додавання тегів покажчика купи підтримується на 64-розрядних пристроях ARMv8 із підтримкою ядра для ARM Top-byte Ignore (TBI), функції, у якій " апаратне забезпечення ігнорує верхній байт покажчика під час доступу до пам’яті». Google попереджає розробників, що ці покращення захисту можуть «виявляють більше повторюваних/відтворюваних збоїв додатків», тому розробники повинні ретельно тестувати свої додатки на новому Android 11 Developer Попередній перегляд. Щоб знайти та виправити багато помилок пам’яті в системі, Google використав інструмент виявлення помилок пам’яті під назвою AddressSanitizer з апаратним забезпеченням (HWASan). Google пропонує готові образи системи з підтримкою HWASan на сервері збірки AOSP якщо ви хочете знайти та виправити помилки пам’яті у своїх програмах.


Google обов’язково оголосить про додаткові функції для захисту конфіденційності користувачів і підвищення безпеки, тому не забудьте стежити за новинами про Android 11, щоб бути в курсі подій.

Новини Android 11 на XDA