Как работает модель безопасности Android и какие бывают разрешения

Модель безопасности Android — это многоуровневая песочница: каждый процесс получает уникальный UID, SELinux ограничивает доступ, а система управляет разрешениями (normal, dangerous, special), которые пользователь может подтверждать и отзывать.

Ключевые принципы модели безопасности

Android использует ядро Linux как основу: каждое приложение запускается в отдельном процессе с собственным UID и изолированным файловым пространством (/data/data/<пакет>). Это обеспечивает принцип наименьших привилегий — приложение не видит файлы и процессы других приложений без явного разрешения.

SELinux добавляет обязательный контроль доступа (MAC), ограничивающий даже привилегированные операции. Verified Boot проверяет целостность загрузки, а Keystore хранит криптоключи в защищённом модуле (TPM-подобном). Scoped Storage (Android 10+) ограничивает доступ к внешнему хранилищу: приложения видят в основном свои файлы, а доступ к общим данным выдаётся выборочно.

Проверьте версию Android в "О телефоне": начиная с Android 8.0 SELinux обычно работает в enforcing-режиме, что повышает безопасность.

Как работают разрешения приложений

Разрешения описываются в AndroidManifest.xml и относятся к трём основным типам:

  • Normal — неопасные (например INTERNET, WAKE_LOCK). Даются автоматически.
  • Dangerous — доступ к чувствительным данным (контакты, камера, геолокация, микрофон). Запрашиваются во время выполнения (runtime) при первом использовании.
  • Special — требующие ручной активации в настройках (SYSTEM_ALERT_WINDOW, MANAGE_EXTERNAL_STORAGE).

Начиная с Android 6.0 опасные разрешения запрашиваются по требованию; с Android 11 добавлены one-time (одноразовые) разрешения и ограничения фонового доступа (background location требует отдельного согласия). Системные и подписанные приложения получают signature/privileged-права лишь при совпадении ключей или установке в системный раздел.

Отказ от разрешения блокирует функциональность, но система должна корректно обрабатывать отказ (десятки SDK и библиотек умеют это делать неправильно — проверяйте поведение приложения).

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

Практические советы по управлению разрешениями

  1. Просмотрите разрешения: Настройки > Приложения > Разрешения. Отзывайте ненужные.
  2. Используйте одноразовые разрешения для камеры и микрофона, если есть такая опция.
  3. Ограничьте фоновые разрешения (Background location) и фоновые сервисы приложений.
  4. Включите биометрию и двухфакторную аутентификацию для важных аккаунтов.
  5. Регулярно устанавливайте обновления ОС и патчи безопасности.
  6. Для усиленной приватности рассмотрите рабочие профили или защищённые кастомные ROM (GrapheneOS/CalyxOS) на поддерживаемых устройствах.
  7. Проверяйте использование батареи и трафика — резкий рост может указывать на злоупотребление разрешениями.

Частые ошибки

  • Давать все разрешения при установке, не проверяя назначение.
  • Игнорировать запросы на фоновой доступ к геолокации и фотографиям.
  • Использовать устаревшие версии Android без патчей.
  • Устанавливать приложения из непроверенных источников с широкими special-разрешениями.

FAQ

  • Как посмотреть, какие разрешения у приложения?

    • Настройки > Приложения > Выберите приложение > Разрешения.
  • Можно ли запретить доступ к файловой системе полностью?

    • Scoped Storage ограничивает доступ, но special-разрешение MANAGE_EXTERNAL_STORAGE даёт широкие права и должно быть отключено, если не нужно.
  • Что делать, если приложение перестало работать после отзыва разрешения?

    • Откатите требуемое разрешение или найдите альтернативу; сообщите разработчику о некорректной обработке отказа.
  • Защитит ли Play Protect от всех угроз?

    • Play Protect снижает риск, но не гарантирует 100% защиты; комбинируйте с осторожностью при установке приложений и обновлениями.

Эти меры и механизмы делают Android защищённой платформой, но безопасность зависит и от пользователя: проверяйте разрешения, обновляйте систему и не давайте лишние права приложениям.