Как работает модель безопасности 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 и библиотек умеют это делать неправильно — проверяйте поведение приложения).
Частая ошибка — просто одобрять все запросы подряд. Особенно опасен фоновой доступ к геолокации и микрофону.
Практические советы по управлению разрешениями
- Просмотрите разрешения: Настройки > Приложения > Разрешения. Отзывайте ненужные.
- Используйте одноразовые разрешения для камеры и микрофона, если есть такая опция.
- Ограничьте фоновые разрешения (Background location) и фоновые сервисы приложений.
- Включите биометрию и двухфакторную аутентификацию для важных аккаунтов.
- Регулярно устанавливайте обновления ОС и патчи безопасности.
- Для усиленной приватности рассмотрите рабочие профили или защищённые кастомные ROM (GrapheneOS/CalyxOS) на поддерживаемых устройствах.
- Проверяйте использование батареи и трафика — резкий рост может указывать на злоупотребление разрешениями.
Частые ошибки
- Давать все разрешения при установке, не проверяя назначение.
- Игнорировать запросы на фоновой доступ к геолокации и фотографиям.
- Использовать устаревшие версии Android без патчей.
- Устанавливать приложения из непроверенных источников с широкими special-разрешениями.
FAQ
-
Как посмотреть, какие разрешения у приложения?
- Настройки > Приложения > Выберите приложение > Разрешения.
-
Можно ли запретить доступ к файловой системе полностью?
- Scoped Storage ограничивает доступ, но special-разрешение MANAGE_EXTERNAL_STORAGE даёт широкие права и должно быть отключено, если не нужно.
-
Что делать, если приложение перестало работать после отзыва разрешения?
- Откатите требуемое разрешение или найдите альтернативу; сообщите разработчику о некорректной обработке отказа.
-
Защитит ли Play Protect от всех угроз?
- Play Protect снижает риск, но не гарантирует 100% защиты; комбинируйте с осторожностью при установке приложений и обновлениями.
Эти меры и механизмы делают Android защищённой платформой, но безопасность зависит и от пользователя: проверяйте разрешения, обновляйте систему и не давайте лишние права приложениям.