Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
AndroidSecurityEvolution — Значительные улучшения безопасности последних крупных версий Android. | Kitploit
Инструменты/GitHubGitHub/balazsgerlei/androidsecurityevolution
Безопасность AndroidКриптографияМобильная безопасностьКонфиденциальностьОбучение и ОбразованиеПодобранные Ресурсы
GitHubbalazsgerlei/androidsecurityevolution

AndroidSecurityEvolution

Значительные улучшения безопасности последних крупных версий Android.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
187151 месяц назадПроверено Kitploit

Эволюция безопасности Android

API last commit

Значительные улучшения безопасности последних основных версий Android, начиная с Android 5.0 Lollipop (API 21).

Android 5.0 (API 21) - Lollipop

Улучшения безопасности — Android 5

  • Начиная с августа 2023 года, обновления Google Play Services будут получать только устройства с этой версией Android, см. Google Play services прекращает обновления для KitKat (API 19 и 20) начиная с августа 2023 года
  • Полнодисковое шифрование (FDE) по умолчанию (производители могут отказаться), см. Шифрование и Улучшения безопасности в Android 5.0
  • SELinux полностью включён, см. Улучшения безопасности в Android 5.0
  • WebView — это отдельный пакет, см. Улучшения безопасности в Android 5.0 и The Updatable WebView on Android 5.0 Lollipop What Is It and Why Should You Care?

Android 6 (API 23) - Marshmallow

Улучшения безопасности в Android 6

  • API Keystore значительно расширен (симметричные криптографические примитивы, поддержка AES и HMAC и система управления доступом для ключей с аппаратной поддержкой), см. Keystore с аппаратной поддержкой
  • TEE является обязательным требованием, см. Keystore с аппаратной поддержкой и раздел 7.3.10. Fingerprint Sensor документа Compatibility Definition для Android 6.0
  • Новый API (isInsideSecureHardware) для проверки того, хранится ли ключ KeyStore в защищённом аппаратном обеспечении (например, Trusted Execution Environment (TEE) или Secure Element (SE)), см. метод isInsideSecureHardware класса KeyInfo
  • Приложениям необходимо запрашивать разрешения во время выполнения, см. раздел Runtime Permissions в изменениях Android 6.0 и Запрос разрешений во время выполнения и Улучшения безопасности в Android 6.0
  • Более строгий SELinux (фильтрация IOCTL, ужесточение доменов SELinux и т. д.), см. Security-Enhanced Linux в Android и Улучшения безопасности в Android 6.0

Android 7 (API 24) - Nougat

Улучшения безопасности — Android 7

  • Раздельные хранилища доверенных сертификатов пользователя и системы, что означает, что атаки Man-in-the-Middle с этого момента в основном требуют root-доступа, см. Изменения в доверенных центрах сертификации в Android Nougat
  • Добавлена поддержка Network Security Config, позволяющая приложениям настраивать поведение своих защищённых (HTTPS, TLS) соединений простым декларативным способом без изменения кода. Поддерживаются пользовательские центры доверия (каким центрам сертификации (CA) доверяет приложение), отладочные переопределения, отказ от трафика в открытом виде (cleartext traffic) и пиннинг сертификатов (ограничение того, каким серверным ключам доверяют), см. раздел Network Security Config в Android 7.0 для разработчиков
  • По умолчанию приложения, предназначенные для Android 7.0, доверяют только сертификатам, предоставленным системой, и больше не доверяют добавленным пользователем центрам сертификации (CA), даже без специального Network Security Config, см. доверенный центр сертификации по умолчанию в Android 7.0 для разработчиков
  • Обновление до Keymaster 2 с поддержкой Key Attestation и привязки версий (предотвращает откат к небезопасной старой версии без потери ключей), см. раздел Key Attestation в Android 7.0 для разработчиков и Функции Keymaster и Проверка ключевых пар с аппаратной поддержкой с помощью Key Attestation и Key and ID Attestation
  • Введено шифрование на основе файлов (FBE), но его внедрение для производителей необязательно, см. и и

Android 8 (API 26) - Oreo

Улучшения безопасности — Android 8

  • Выполнение JavaScript происходит в отдельном процессе в WebView, поэтому JavaScript-код не может так легко получить доступ к памяти приложения, см. Что нового в безопасности WebView и раздел Security в изменениях поведения Android 8.0 для всех приложений
  • WebView учитывает Network Security Config и флаг cleartextTrafficPermitted (на более старых версиях Android он загружает HTTP-сайты, даже если конфигурация запрещает трафик в открытом виде), см. раздел Security в изменениях поведения Android 8.0 для приложений, предназначенных для Android 8.0
  • В WebView добавлен API Safe Browsing, чтобы предупреждать пользователей при попытке перейти на потенциально небезопасный сайт (проверяется Google Safe Browsing), если эта функция включена, см. раздел WebView APIs в функциях и API Android 8.0
  • Флаг FLAG_SECURE окна (Window) поддерживается лучше и запрещает создание снимков экрана там, где он установлен
  • Обновление до Keymaster 3 с переписанными , написанными на и на C++ (по сравнению с , написанным на C), с поддержкой , см. и и

Android 9 (API 28) - Pie

Примечания к выпуску Android 9 — функции безопасности

  • Сетевой трафик в открытом виде (HTTP) отключён по умолчанию; приложениям необходимо явно установить cleartextTrafficPermitted в true в своём Network Security Config, если они всё ещё хотят его использовать (не рекомендуется), см. раздел Network TLS enabled by default в изменениях поведения: приложения, предназначенные для API 28+ и Android: Cleartext HTTP traffic not permitted Android 9
  • Обновление до Keymaster 4 с поддержкой шифрования 3DES и безопасного импорта ключей, см. Keystore с аппаратной поддержкой и Функции Keymaster
  • Замена многих реализаций криптографических алгоритмов BouncyCastle на реализации Conscrypt, см. раздел Conscrypt implementations of parameters and algorithms в изменениях поведения Android 9: все приложения
  • Добавлена поддержка встроенного Secure Element (SE), см. раздел Secure Element (SE) service в примечаниях к выпуску Android 9 и CTS-тест для Secure Element
  • Шифрование диска (может быть либо полнодисковым (FDE), либо на основе файлов (FBE)) обязательно для всех устройств (выпущенных с этой версией)
  • Представлен BiometricPrompt, стандартизирующий интерфейс, показываемый во время биометрической аутентификации, и предоставляющий приложениям более качественный API, который сложнее использовать неправильно; предыдущее решение, , становится , см.

Android 10 (API 29) - Quince Tart

Улучшения безопасности — Android 10

Примечания к выпуску Android 10 — функции безопасности

  • Доступ к файлам по умолчанию отключён в WebView, см. метод setAllowFileAccess класса WebSettings
  • TLS 1.3 стал доступен и включён по умолчанию, см. раздел TLS 1.3 enabled by default в изменениях поведения Android 10: все приложения
  • Сертификаты, подписанные с помощью SHA-1, больше не считаются доверенными в TLS
  • Фоновые приложения не могут запускать другие Activity (например, другие приложения), см. раздел Background apps launching в примечаниях к выпуску Android 10 и раздел Background activity restrictions в улучшениях безопасности и конфиденциальности Android 10
  • Шифрование на основе файлов (FBE) обязательно для устройств, выпущенных с этой версией Android (устройства, обновлённые до неё, могут продолжать использовать полнодисковое шифрование (FDE)), см. Шифрование
  • Только приложение по умолчанию для редактора метода ввода (IME) может получать доступ к данным буфера обмена из фона, см. раздел Limited access to clipboard data в изменениях конфиденциальности Android 10 и раздел Clipboard data в улучшениях безопасности и конфиденциальности Android 10
  • Эксплойт StrandHogg 2.0 (CVE-2020-0096) больше невозможен (патч для этой уязвимости также перенесён на , и с — если производитель выпустил обновление для устройства), см. и и

Android 11 (API 30) - Red Velvet Cake

Примечания к выпуску Android 11 — Безопасность

  • Эксплойт Task Hijacking (StrandHogg 1.0) (когда другое приложение устанавливает для своего taskAffinity то же значение, что и у целевого приложения, чтобы обманом заставить пользователя запустить его, даже если тот намеревался запустить целевое приложение и использовал его настоящую иконку) больше невозможен, см. StrandHogg Attack / Task Affinity Vulnerability и Strandhogg Vulnerability
  • Приложения больше не могут по умолчанию запрашивать информацию о других установленных приложениях, см. Фильтрация видимости пакетов в Android и Package visibility in Android 11
  • Автоматический сброс разрешений времени выполнения для неиспользуемых приложений, см. раздел Auto-reset permissions from unused apps в обновлениях разрешений Android 11 и раздел Auto-reset permissions of unused apps в запросе разрешений времени выполнения
  • Введено Scoped Storage (ограниченное хранилище), но приложения могут отказаться от него через requestLegacyExternalStorage, см. Обновления хранилища в Android 11 и раздел Opt out in your production app в практических рекомендациях по использованию хранилища Android
  • Добавлен автономный (не только в качестве запасного) аутентификатор DEVICE_CREDENTIAL (PIN-код, графический ключ или пароль) в

Android 12 (API 31) - Snow ConeУлучшения безопасности — Android 12

Примечания к выпуску Android 12

  • Флаг android:exported должен быть определён явно в манифестах для компонентов (Activity, Content Provider и т. д.), объявляющих фильтры интентов. См. Раздел «Более безопасный экспорт компонентов» в «Изменения поведения: приложения, нацеленные на Android 12»
  • Обычные веб-интенты направляются в браузерное приложение пользователя по умолчанию, если только целевое приложение не одобрено для конкретного домена, указанного в этом веб-интенте. См. Раздел «Разрешение веб-интентов» в «Изменения поведения Android 12: все приложения»
  • Замена большего количества реализаций криптографических алгоритмов BouncyCastle на Conscrypt. См. Раздел «Удаление реализации BouncyCastle» в «Изменения поведения Android 12: все приложения»
  • Пользователь получает уведомление, если приложение впервые обращается к данным буфера обмена другого приложения. См. Раздел «Системное уведомление при доступе приложения к данным буфера обмена» в «Копирование и вставка»
  • Приложения больше не могут закрывать системные диалоговые окна. См. Раздел «Приложения не могут закрывать системные диалоги» в «Изменения поведения Android 12: все приложения»
  • Меры против тапджеккинга: приложениям запрещено обрабатывать сенсорные события, когда поверх приложения находится оверлей. См. Cloak & Dagger
  • Scoped Storage теперь применяется всегда; отказаться от него через requestLegacyExternalStorage больше невозможно. См.

Android 13 (API 33) - Tiramisu

Улучшения безопасности — Android 13

Примечания к выпуску Android 13 — Безопасность

  • Несоответствующие интенты блокируются фильтрами интентов (приложения не могут отправлять интент экспортированному компоненту другого приложения, если он полностью не соответствует фильтру интента, определённому этим компонентом). См. Раздел «Интенты должны соответствовать объявленным фильтрам интентов» в примечаниях к выпуску Android 13 и Android 13 QPR
  • Разрешено только шифрование на основе файлов (FBE). Полнодисковое шифрование (FDE) больше не поддерживается — даже для устройств, обновлённых с версии, в которой оно было разрешено.
  • Общие UID устарели. Они использовались для предоставления общего доступа к песочнице двум или более приложениям и возможности запуска в одном процессе. Это могло вызывать недетерминированное поведение менеджера пакетов, поэтому данная возможность будет удалена в одной из будущих версий Android. См. Подпись приложений
  • Поддержка Keymaster для симметричных криптографических примитивов, таких как AES (расширенный стандарт шифрования), HMAC (код аутентификации сообщений с использованием хеш-функции), и асимметричных криптографических алгоритмов (включая эллиптические кривые, RSA2048, RSA4096 и Curve 25519).
  • Добавлено разрешение времени выполнения POST_NOTIFICATIONS для отправки неисключённых (включая службы переднего плана (FGS)) уведомлений из приложения. См. Разрешение на уведомления во время выполнения и android.permission.POST_NOTIFICATIONS
  • Приложениям требуется разрешение времени выполнения для показа Toast-уведомлений, когда они не находятся на переднем плане. Это может быть очень нелогично — объяснять пользователям, зачем приложению разрешение на отправку уведомлений, если оно лишь хочет показывать сообщения Toast. Кроме того, Toast-уведомления нельзя привязать к . См.

Android 14 (API 34) - Upside Down Cake

Улучшения безопасности — Android 14

Примечания к выпуску Android 14 по безопасности

  • Введено минимальное требование к targetSdk: приложения, нацеленные на версии Android старше Android 6 (API 23), больше не могут быть установлены. Это означает, что можно считать, что ограничения безопасности (в данном случае особенно обработка разрешений во время выполнения), введённые в Android 6 (API 23), теперь применяются ко всем приложениям, установленным на устройстве (ожидается, что этот минимум будет повышаться в каждой будущей версии Android). См. Раздел «Минимальный устанавливаемый уровень target API» в «Изменения поведения: все приложения»
  • Имя приложения, сохранившего конкретный медиафайл, по умолчанию скрывается (если только его имя пакета не всегда видно другим приложениям или приложение, выполняющее запрос, не имеет предоставленного разрешения QUERY_ALL_PACKAGES — для его получения требуется специальная ручная проверка Google Play). См. Раздел «Имена пакетов владельцев медиа могут быть скрыты» в «Изменения поведения: все приложения»
  • К запросам разрешения на местоположение добавлено описание, объясняющее, зачем приложению может понадобиться это разрешение.
  • Значительные улучшения AddressSanitizer с аппаратной поддержкой (HWASan), который был представлен ещё в Android 10 как инструмент обнаружения ошибок памяти, аналогичный устаревшему AddressSanitizer, который он заменяет.
  • Добавлена поддержка отклонения сотовых соединений с нулевым шифром. Это гарантирует, что голосовой трафик и SMS в сетях с коммутацией каналов всегда зашифрованы и защищены от пассивного перехвата в эфире. См. Android 14 представляет первые в своём роде функции безопасности сотовой связи
  • Добавлена поддержка нескольких IMEI.

Android 15 (API 35) - Vanilla Ice Cream

Примечания к выпуску Android 15 по безопасности

  • Приложения, нацеленные на версии Android старше Android 7 (API 24), больше не могут быть установлены. Это означает, что можно считать, что ограничения безопасности, введённые в Android 7 (API 24), теперь применяются ко всем приложениям, установленным на устройстве. См. Раздел «Повышение минимальной версии target SDK с 23 до 24» в «Изменения поведения: все приложения»
  • Система теперь запрашивает биометрию (если она настроена) при изменении режима USB и тайм-аута экрана. См. Android 15 будет проверять, что это вы, при подключении к ПК
  • Дополнительные меры против перехвата задач (StrandHogg): если верхняя activity завершает задачу, Android вернётся к той задаче, которая была активна последней. Кроме того, если не верхняя activity завершает свою задачу, Android вернётся на главный экран; он не будет блокировать завершение этой не верхней activity. См. Раздел «Прочие изменения» в «Изменения поведения: приложения, нацеленные на Android 15 или выше»
  • Дополнительные меры против перехвата задач (StrandHogg): произвольные activity больше не могут запускаться из других приложений в вашу собственную задачу. См. Раздел «Прочие изменения» в «Изменения поведения: приложения, нацеленные на Android 15 или выше»
  • Меры против злоупотребления неправильно настроенными PendingIntent: создатели PendingIntent теперь по умолчанию блокируют запуск activity в фоновом режиме, если ваше приложение нацелено на Android 15 (API 35). См. Раздел «Прочие изменения» в «Изменения поведения: приложения, нацеленные на Android 15 или выше»
  • По умолчанию приложениям больше не разрешено выводить стек задач на передний план, если только создатель PendingIntent не разрешает привилегии запуска activity в фоновом режиме или отправитель не имеет таких привилегий (если ваше приложение нацелено на Android 15 (API 35)). См.

Android 16 (API 36) - Baklava

Примечания к выпуску Android 16 по безопасности* Добавлена защита по умолчанию от распространённых атак с перенаправлением Intent, блокирующая запуск Intent, полученных от других приложений, например переданных в качестве extra в Intent, запускающий текущее приложение. См. раздел Улучшенная защита от атак с перенаправлением Intent в документации «Behavior changes: all apps».

  • Новая защита конфиденциальности местоположения пользователя от вредоносных приложений во время процесса сопряжения с сопутствующими устройствами. Все сопутствующие приложения, работающие на Android 16, больше не получают прямого уведомления об истечении времени поиска с помощью RESULT_DISCOVERY_TIMEOUT. Вместо этого пользователь уведомляется о событиях истечения времени с помощью визуального диалога. Когда пользователь закрывает диалог, приложение получает уведомление о сбое сопряжения с помощью RESULT_USER_REJECTED. См. раздел Сопутствующие приложения больше не уведомляются об истечении времени поиска в документации «Behavior changes: all apps».
  • MediaStore#getVersion() теперь будет уникальным для каждого приложения. Это исключает идентифицирующие свойства из строки версии, чтобы предотвратить злоупотребления и использование в техниках снятия отпечатков. См. раздел Блокировка версии MediaStore в документации «Behavior changes: Apps targeting Android 16 or higher» и метод getVersion класса MediaStore.
  • Приложения могут opt-in (явно согласиться) на строгое разрешение Intent с помощью манифеста приложения. Safer Intents (изначально представленные в Android 15 в составе StrictMode) означают, что Intent должны иметь ненулевое действие и соответствовать фильтру Intent целевого приложения, чтобы быть доставленными. Теперь можно применять либо оба этих правила, либо только соответствие фильтру Intent. См. раздел Safer Intents в документации «Behavior changes: Apps targeting Android 16 or higher» и, более конкретно, раздел Реализация.

Android 17 (API 37) - Cinnamon Bun

Заметки о безопасности Android 17

  • Представлен Android Contact Picker — стандартизированный и просматриваемый интерфейс, позволяющий пользователям делиться контактами с вашим приложением без необходимости разрешения READ_CONTATCS. См. раздел Выбор контактов Android в документации «Features and APIs».
  • Больше не разрешается кросс-профильный loopback-трафик. См. раздел Блокировка кросс-профильного loopback-трафика в документации «Behavior changes: all apps».
  • Вводится ограничение (50 000 ключей для несистемных приложений, предназначенных для Android 17) на количество ключей, которые приложение может создать в Android Keystore, чтобы защитить этот общий ресурс, так как это хранилище ограничено и используется совместно приложениями. Если приложение попытается создать ключи сверх лимита, создание завершится ошибкой KeyStoreException. См. раздел Ограничения хранилища ключей для приложений в документации «Behavior changes: all apps».
  • Новые возможности обнаружения для StrictMode (это будет применяться по умолчанию в Android 18). В настоящее время, если приложение запускает intent с URI, имеющим действие ACTION_SEND, ACTION_SEND_MULTIPLE или ACTION_IMAGE_CAPTURE, система автоматически предоставляет целевому приложению разрешения на чтение и запись URI. Начиная с Android 18, система больше не будет автоматически предоставлять эти разрешения. См. раздел Ограничение неявных предоставлений URI в документации «Behavior changes: all apps».
  • Включён Certificate Transparency по умолчанию для приложений, предназначенных для Android 17 или более поздних версий. См. раздел Включение CT по умолчанию в документации «Behavior changes: Apps targeting Android 17 or higher».
Скачать инструмент
раздел Direct Boot в Android 7.0 для разработчиков
Поддержка режима Direct Boot
Шифрование
  • Обновлённая конфигурация SELinux: дальнейшее ужесточение песочницы приложений, разбиение стека mediaserver на более мелкие процессы с пониженными правами (смягчение последствий Stagefright), см. Security-Enhanced Linux в Android
  • уровнями аппаратных абстракций (HAL)
    HAL Interface Definition Language (HIDL)
    Legacy HAL
    ID attestation
    Keystore с аппаратной поддержкой
    Функции Keymaster
    Key and ID Attestation
  • Введён Project Treble (только устройства, выпущенные с этой версией, поддерживают Project Treble; устройства, обновлённые до неё, его не получат), разделяющий низкоуровневый код вендора и системную платформу Android и упрощающий доставку обновлений безопасности, см. Here comes Treble: модульная основа для Android и Treble Plus One Equals Four
  • Обновлён SELinux для работы с Treble. Политика SELinux позволяет производителям и поставщикам SoC обновлять свои части политики независимо от платформы и наоборот, см. Security-Enhanced Linux в Android
  • Дальнейшее усиление медиастека: медиа уровни аппаратных абстракций (HAL) переведены из общего процесса в собственные изолированные процессы
  • Чтобы разрешить установку приложений из неизвестных источников (т. е. не из Google Play), приложениям требуется явное разрешение, предоставленное пользователем для конкретного приложения в настройках Android (пользователи также могут отозвать такое разрешение и управлять им для каждого приложения в любое время), см. раздел User opt-in for unknown apps and sources в публикации приложения и раздел Security в изменениях поведения Android 8.0 для всех приложений
  • FingerprintManager
    устаревшим
    Показ диалога биометрической аутентификации
    Android 8.0
    8.1
    9.0
    обновлением безопасности за май 2020 года
    StrandHogg Attack / Task Affinity Vulnerability
    StrandHogg 2.0 Exploit Explained — Why Users and Android App Developers should care
    Strandhogg Vulnerability
  • Введён Project Mainline (только устройства, выпущенные с этой версией, поддерживают Project Mainline; устройства, обновлённые до неё, его не получат), основанный на Treble, который был представлен в Android 9 (API 26). Это ещё больше упрощает и ускоряет обновления Android. Основные обновления, более известные как Google Play System Updates, позволяют быстрее доставлять отдельные компоненты AOSP (список обновляемых компонентов растёт с новыми версиями Android) без необходимости полного OTA-обновления от производителя телефона, см. Fresher OS with Projects Treble and Mainline и What Are Google Play System Updates on Android, and Are They Important?
  • BiometricPrompt
  • Toast-уведомления с настраиваемыми представлениями (задаваемыми через setView) больше нельзя запускать из фона. Это сделано для смягчения некоторых атак Tapjacking, которые полагались на скрытие пользовательского интерфейса приложения-жертвы. Обратите внимание, что сам метод setView устарел в Android 11 (API 30). См. документацию метода setView класса Toast
  • Раздел «Отказ в производственном приложении» в «Варианты использования и рекомендации по хранилищу Android»
  • Новая опция, позволяющая предоставлять только разрешение на доступ к приблизительному местоположению.
  • Новые индикаторы конфиденциальности в строке состояния, показывающие пользователю, когда приложение использует камеру или микрофон.
  • Представлен API BiometricManager.Strings, предоставляющий локализованные строки для приложений, использующих BiometricPrompt для аутентификации.
  • Добавлена поддержка подэкранных датчиков отпечатков пальцев.
  • Представлен язык определения интерфейсов Android для отпечатков пальцев (AIDL).
  • Флаг FLAG_SECURE добавлен для запросов биометрических или устройственных учётных данных (PIN-кода, графического ключа или пароля), включая разблокировку устройства и BiometricPrompt в приложениях. Это означает, что вы не можете сделать скриншот этих экранов, а также они отображаются чёрными при демонстрации экрана. См. исходный код com.android.systemui.biometrics.AuthContainerView в Android Code Search
  • Представлены Private Compute Services — безопасный раздел для обработки конфиденциальных пользовательских данных на устройстве, используемый AI-функциями, такими как Live Caption, Now Playing и Smart Reply. Google определяет его как «безопасную изолированную среду обработки данных внутри операционной системы Android, которая даёт вам контроль над данными внутри неё, например, возможность решать, передавать ли их другим, как и когда это делать». См. Представляем Private Compute Services в Android, Google официально объясняет, как работает Android Private Compute Core и Технический документ об архитектуре Android Private Compute Core
  • Поддержка языка Rust для разработки платформы.
  • Всплывающие уведомления (Toast) ограничены двумя строками текста и показывают значок приложения, чтобы пользователи могли определить, какое приложение их отображает. См. Раздел «Изменение дизайна Toast» в «Изменения поведения: приложения, нацеленные на Android 12» и Обзор Toast
  • каналам уведомлений
    исходный код NotificationManagerService
  • Добавлен запрос на каждое использование для приложений, запрашивающих доступ ко всем журналам устройства. Это даёт пользователям возможность разрешить или запретить доступ. См. Управление журналами устройства на Android
  • Представлен Android Virtualization Framework (AVF), объединяющий различные гипервизоры в одном фреймворке со стандартизированными API.
  • Представлена схема подписи APK v3.1; все новые смены ключей, использующие apksigner, по умолчанию будут применять схему подписи v3.1 для целевой смены ключей в Android 13 и более поздних версиях.
  • Представлены ограниченные настройки (Restricted Settings), запрещающие загружаемым в обход магазина приложениям (установленным без использования API установки на основе сеансов) получать разрешения, которые Google считает особо опасными (пользователи по-прежнему могут предоставлять эти разрешения вручную в настройках Android). В настоящее время это касается специальных возможностей и наличия прослушивателя уведомлений. См. Функция ограниченных настроек Android 13 заблокирует вредоносным приложениям доступ к вашим уведомлениям. Имейте в виду, однако, что вредоносные приложения, знающие об этом ограничении, могут обойти его, установив после своей установки другое приложение с помощью упомянутого API установки на основе сеансов, поэтому ограничения не распространяются на второе приложение.
  • AES-HCTR2 теперь является предпочтительным режимом шифрования имён файлов для устройств с ускоренными криптографическими инструкциями.
  • Если приложение нацелено на Android 14 и использует динамическую загрузку кода (DCL), все динамически загружаемые файлы должны быть помечены как только для чтения; в противном случае система выдаст Exception. См. Раздел «Более безопасная динамическая загрузка кода» в «Изменения поведения: приложения, нацеленные на Android 14 или выше»
  • Добавлена поддержка обновления корневых сертификатов через Project Mainline, более известный как Обновления системных компонентов Google Play. Поэтому для внедрения новых сертификатов CA или удаления отозванных больше не требуется полное OTA-обновление Android. См. Android 14 позволяет обновлять корневые сертификаты через Google Play для защиты пользователей от вредоносных CA
  • Раздел «Прочие изменения» в «Изменения поведения: приложения, нацеленные на Android 15 или выше»
  • Невидимые окна теперь исключаются из рассмотрения для запуска activity в фоновом режиме. Это снижает риск атак отказа в обслуживании (DoS) и навязчивой рекламы, а также обеспечивает защиту от полного или частичного тапджеккинга и полноэкранного фишинга. См. Раздел «Прочие изменения» в «Изменения поведения: приложения, нацеленные на Android 15 или выше»
  • Новые возможности обнаружения для StrictMode (в Android 16 это будет применяться по умолчанию): интенты, нацеленные на конкретные компоненты, должны точно соответствовать спецификациям intent-filter целевого компонента. Если вы отправляете интент для запуска activity другого приложения, целевой компонент интента должен соответствовать объявленным intent-filter принимающей activity, а интенты без действия (action, установленный в null) больше не будут соответствовать ни одному intent-filter. Это означает, что интенты, используемые для запуска activity или служб, должны иметь чётко определённое действие. См. Раздел «Более безопасные интенты» в «Изменения поведения: приложения, нацеленные на Android 15 или выше»
  • Создатель PendingIntent рассматривается как отправитель внешнего интента, а не отправитель отложенного интента. См. Раздел «Более безопасные интенты» в «Изменения поведения: приложения, нацеленные на Android 15 или выше»
  • Google Play Protect требует подтверждения биометрическими данными или учётными данными устройства (PIN-кодом, паролем или графическим ключом для разблокировки устройства) перед установкой загружаемых в обход магазина приложений, нацеленных на Android 10 (API 29) или более ранние версии. Это часть текущих усилий Play Protect по борьбе с вредоносными приложениями; вероятно, появятся и другие подобные запросы (возможно, даже без необходимости новой версии ОС). См. Google добавит дополнительный уровень защиты при установке сомнительных приложений (разбор APK)
  • Неоднократный (5 раз) ввод неверных учётных данных в BiometricPrompt теперь блокирует само устройство. Если биометрические учётные данные (например, отпечаток пальца) не были распознаны такое количество раз, устройство можно разблокировать только с помощью надёжных учётных данных устройства (PIN-кода, графического ключа или пароля). Кроме того, если они уже были введены неудачно, прежде чем устройство можно будет разблокировать, должен пройти 60-секундный тайм-аут. Это также меняет поведение BiometricPrompt: он больше не может «откатываться» к учётным данным устройства после неудачи с биометрией, чтобы всё же завершить аутентификацию пользователя. Обратите внимание, что пользователь всё ещё может использовать учётные данные устройства по своему выбору с помощью кнопки в запросе, если такой аутентификатор разрешён (и если он уже не слишком много раз ошибался в запросе). Когда устройство блокируется, запрос будет отменён, и для успешной аутентификации после разблокировки устройства необходимо будет инициировать новый запрос. См. Android 15 гарантирует, что воры не смогут обчистить ваш банковский счёт, если украдут разблокированный телефон
  • Когда приложение запрашивает разрешения на доступ к фото и видео, пользователи, которые выберут ограничение доступа к выбранным медиафайлам, увидят в средстве выбора фотографий все фотографии, принадлежащие приложению, предварительно отмеченными. Пользователи могут снять выбор с любых предварительно отмеченных элементов, что приведёт к отзыву доступа приложения к этим фотографиям и видео. См. раздел Фотографии, принадлежащие приложению в документации «Behavior changes: Apps targeting Android 16 or higher».
  • Добавлена поддержка сертификатов аттестации KeyMint (ранее Keymaster) версии 4.0. Сертификаты KeyMint 4.0 включают новое поле moduleHash в структуре KeyDescription, которое можно использовать для проверки целостности загруженных APEX-модулей. См. раздел Целостность устройства в заметках о выпуске Android 16 и Аттестация ключей и идентификаторов.
  • Разрешает добровольное включение Certificate Transparency, который по умолчанию отключён, но будет включён в Android 17. См. раздел Отказ от Certificate Transparency в документации «Network security configuration».