Объяснение разрешений приложения Android
Каждое приложение Android запрашивает разрешения на доступ к частям вашего устройства, но экраны запросов редко объясняют, что эти разрешения на самом деле позволяют приложению делать. В приведенном ниже кратком изложении описаны все основные разрешения Android, указаны те из них, которые действительно влияют на вашу конфиденциальность, и приведены несколько простых правил для принятия решения о том, что разрешить.
Что такое разрешения Android?
Разрешения Android — это механизм безопасности, который контролирует доступ приложения на вашем устройстве. Когда вы устанавливаете или запускаете приложение, оно может запрашивать доступ к различным функциям оборудования (камере, микрофону) или данным (контактам, местоположению). Понимание этих разрешений имеет решающее значение для обеспечения вашей конфиденциальности и безопасности.
Категории разрешений
Android делит разрешения на две основные категории:
Обычные разрешения (предоставляются автоматически)
Эти разрешения не представляют значительного риска для конфиденциальности пользователей и предоставляются автоматически:
- ИНТЕРНЕТ: Доступ к Интернету, это необходимо почти всем приложениям.
- ВИБРАЦИЯ: Управление вибромотором устройства
- SET_WALLPAPER: Сменить обои устройства
- ПРОБУЖДЕНИЕ_БЛОКИРОВКА: Запретить устройству переход в спящий режим
- ACCESS_NETWORK_STATE: Проверьте состояние сетевого подключения.
- БЛУЕТУТ: Подключение к сопряженным устройствам Bluetooth
Опасные разрешения (требуется одобрение пользователя)
Эти разрешения касаются пользовательских данных или функций устройства, которые могут повлиять на конфиденциальность:
| Группа разрешений | К чему он имеет доступ | Уровень риска |
|---|---|---|
| Камера | Делайте фотографии и записывайте видео | ⚠️Высокая |
| Микрофон | Запись звука | ⚠️Высокая |
| Расположение | GPS и сетевое местоположение | ⚠️Высокая |
| Контакты | Чтение/запись списка контактов | ⚠️Высокая |
| Телефон | Совершать звонки, читать состояние телефона, журналы вызовов | 🔴Очень высокий |
| SMS | Отправляйте, читайте и получайте SMS-сообщения | 🔴Очень высокий |
| Хранилище | Чтение/запись файлов на вашем устройстве | ⚠️ Средне-высокий |
| Календарь | Чтение/запись событий календаря | ⚠️ Средний |
| Датчики тела | Пульсометр, счетчик шагов | ⚠️ Средний |
Когда стоит быть подозрительным
Вам следует подвергнуть сомнению запрос на разрешение, если он не соответствует функции приложения:
- 🚩 Приложение-фонарик, запрашивающее доступ к Контакты или SMS.
- 🚩 Калькулятор с запросом доступа к Камера или Микрофон.
- 🚩 Приложение для обоев, запрашивающее доступ к Телефон или Журнал вызовов.
- 🚩 Игра запрашивает разрешения SMS
- 🚩 Любое приложение, запрашивающее ВСЕ разрешения одновременно
Как проверить разрешения APK перед установкой
Если вы загружаете APK-файл, вам следует проверить его разрешения перед установкой:
- Используйте наш Инструмент информации об APK, чтобы извлечь полный список разрешений.
- Проверьте соответствие каждого разрешения заявленной цели приложения.
- Сравните разрешения с официальным приложением в Play Store.
- Если что-то выглядит подозрительно, не устанавливайте это
Специальные разрешения: те, которые не отображаются во время установки
Помимо «обычных» и «опасных» разрешений, в Android есть третий уровень, называемый разрешениями особенный или хлопает. Это самые мощные возможности на платформе, достаточно мощные, чтобы ОС принудительно заходила в настройки отдельно, чтобы включить каждую из них. Они также чаще всего подвергаются атакам со стороны вредоносных программ. Если загруженное приложение запрашивает что-либо из этого, остановитесь и спросите, почему.
- Служба доступности (BIND_ACCESSIBILITY_SERVICE: изначально разработан для чтения с экрана и помощи людям с ограниченными возможностями). Приложение с таким разрешением может читать все, что отображается на вашем экране, видеть, что вы вводите, и даже нажимать кнопки от вашего имени. Предоставляйте его только тем приложениям, чьи функции явно связаны со специальными возможностями (TalkBack, автозаполнение в менеджерах паролей, экранные словари).
- Администратор устройства/Владелец устройства: позволяет приложению блокировать устройство, стирать данные, менять пароль и отключать камеру. Почти ни одному обычному пользовательскому приложению это не нужно. Клиенты управления мобильными устройствами предприятия (MDM) являются законным исключением.
- Рисуйте поверх других приложений (SYSTEM_ALERT_WINDOW: позволяет приложению закрашивать что-либо еще на экране). На законных основаниях используется в чатах и оверлейных переводчиках; злоупотребляют вредоносным ПО, которое скрывает кнопку «да, опустошить мою учетную запись» под фальшивым наложением «получите свой приз».
- Доступ ко всем файлам (MANAGE_EXTERNAL_STORAGE: обходит защиту ограниченного хранилища на Android 11+ и позволяет приложению видеть каждый файл в общем хранилище). Большинству приложений вместо этого следует использовать стандартные средства выбора фотографий/документов.
- Прослушиватель уведомлений: позволяет приложению читать каждое уведомление на устройстве. Отличная функция для приложений центра производительности; идеальный инструмент для кражи учетных данных при злоупотреблениях (банковские приложения публикуют одноразовые коды в потоке уведомлений).
- Установить неизвестные приложения: превращает хост-приложение в боковой загрузчик. Устанавливайте это в своем браузере или файловом менеджере только в том случае, если вам действительно нужно установить APK из-за пределов Play Store, а затем снова отключите его.
Комбинации разрешений, на которые стоит обратить внимание
Индивидуальные разрешения рассказывают лишь часть истории. Комбинации часто более показательны, чем любой отдельный запрос:
- Специальные возможности + прослушиватель уведомлений + SMS: классическое трио банковских троянов для Android. Троян считывает содержимое экрана, перехватывает уведомление об одноразовом пароле банка, а также может извлечь OTP из самого SMS, если пользователь получил его в текстовом виде. Ни одно законное потребительское приложение не сочетает в себе все три.
- Камера + Микрофон + ALL_FILES_ACCESS + местоположение фона: приложение для наблюдения в стиле рекламного ПО, выдающее себя за фонарик, калькулятор или обои. Отклонить и удалить.
- SYSTEM_ALERT_WINDOW + BIND_DEVICE_ADMIN: ransomware-class behaviour. Приложение может нарисовать экран «Ваш телефон заблокирован, заплатите X» поверх панели запуска и запретить пользователю отключить его.
- Телефон + Контакты + Журнал вызовов для приложения, которое не является номеронабирателем, приложением контактов или инструментом записи вызовов: крайняя осторожность. Эта комбинация не имеет законного применения за пределами очень узкого набора приложений, которые Google поставляет в эти категории.
Рабочий пример аудита
Предположим, вы нашли на форуме бесплатный APK-файл «факела» и перед установкой пропустили его через Инструмент информации об APK. В манифесте показаны следующие запрошенные разрешения:
android.permission.CAMERA
android.permission.FLASHLIGHT
android.permission.INTERNET
android.permission.READ_CONTACTS
android.permission.READ_SMS
android.permission.RECEIVE_SMS
android.permission.READ_PHONE_STATE
android.permission.ACCESS_FINE_LOCATION
android.permission.SYSTEM_ALERT_WINDOW
Приложению фонарика требуется максимум разрешение камеры (для доступа к светодиоду через подсистему камеры), разрешение фонарика и, возможно, разрешение Интернета для рекламы. Все, что ниже этой черты, неоправданно. READ_SMS + READ_CONTACTS + RECEIVE_SMS + местоположение + перехват приложений — это сигнатура наблюдения и кражи OTP, описанная выше. Решение: не устанавливать. Удалите файл.
Выполните аналогичную проверку для каждого APK, который вы загружаете. Пять минут с аудитором разрешений избавят вас от проблем, которые ни одно антивирусное приложение не сможет устранить постфактум.
Как ведут себя разрешения в разных версиях Android
Разрешение UX менялось почти каждый год. Одна и та же базовая возможность может сильно отличаться в Android 9 и Android 15:
- Android 6 (2015 г.): представил разрешения для опасной группы во время выполнения. Приложения больше не могли требовать всего во время установки; им пришлось спрашивать, когда они использовали эту функцию.
- Android 10: разрешения на определение местоположения с тремя состояниями (Разрешить всегда/Разрешить только при использовании/Запретить). Расположение фона стало отдельно выдаваемым разрешением.
- Android 11: разовые разрешения (предоставление на один сеанс) и автоматический отзыв разрешений для приложений, не используемых в течение нескольких месяцев.
- Android 13: отдельное разрешение на уведомление для вновь установленных приложений; детальные разрешения мультимедиа (READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO вместо общего READ_EXTERNAL_STORAGE).
- Android 14: частичный доступ к фото/видео, поэтому приложения могут запрашивать «только эти фотографии» вместо всей библиотеки.
- Android 15: более строгий контроль над приоритетными службами; объявленные типы служб должны соответствовать фактически используемым разрешениям среды выполнения.
Если вы все еще используете более старую версию Android, вы не получите более новую защиту. Будьте еще более осторожны с тем, что вы устанавливаете.
ЧАВО
Если я откажу в разрешении, приложение перестанет работать?
Большинство приложений постепенно деградируют: кнопка камеры становится серой, функция определения местоположения отключается, а остальное все еще работает. Незначительное меньшинство плохо написанных приложений дает сбой или отказывается запускаться, и в этом случае спросите, действительно ли вам нужно приложение, которое так много требует.
Почему приложение иногда снова запрашивает разрешение?
Либо вы ранее выбрали «Только в этот раз» (разовое разрешение), либо разрешение было отозвано, поскольку вы не использовали приложение в течение длительного времени, и Android автоматически отозвал его. Оба поведения являются преднамеренной защитой.
Могу ли я просмотреть все разрешения, заявленные APK, перед его установкой?
Да. Перетащите APK в наш Инструмент информации об APK, и он анализирует AndroidManifest.xml в вашем браузере, декодирует двоичный формат XML и выводит список всех записей uses-permission, объявленных приложением. Сравните этот список с тем, что вы ожидаете от категории приложения, прежде чем нажимать «Установить».
Проверьте разрешения APK
Воспользуйтесь нашим бесплатным инструментом информации об APK, чтобы узнать, какие именно разрешения запрашивает APK перед его установкой.
Проверьте информацию об APKУправление разрешениями на вашем устройстве
Как просмотреть разрешения приложения
- Перейти на Настройки → Приложения
- Выберите приложение
- Нажмите Разрешения
- Просмотрите и переключите разрешения по мере необходимости.
Как просмотреть все приложения с определенным разрешением
- Перейти на Настройки → Конфиденциальность → Диспетчер разрешений
- Выберите категорию разрешений (Камера, Местоположение и т. д.)
- Просмотреть все приложения, у которых есть доступ к этому разрешению.
- Запретить доступ приложениям, которым он не нужен
Изменения разрешений Android 13+
В последних версиях Android были внесены значительные улучшения в обработку разрешений:
- Детализированные медиа-разрешения: Вместо полного доступа к хранилищу приложения должны запрашивать определенные типы мультимедиа (фотографии, видео, аудио).
- Разрешение на уведомление: Приложения теперь должны запрашивать разрешение на отправку уведомлений.
- Автоматический отзыв: Разрешения автоматически аннулируются для приложений, которые вы не использовали в течение нескольких месяцев.
- Примерное место: Вы можете указать приблизительное, а не точное местоположение.
- Разовые разрешения: Предоставить камеру/микрофон/локацию только на один сеанс
Практические правила аудита разрешений приложений
Разрешения — это то, где вы выигрываете или теряете большую часть вашей конфиденциальности, поэтому стоит их прочитать, а не использовать. Ставьте под сомнение все, что не соответствует назначению приложения, и запустите APK через наш экстрактор информации об APK, прежде чем загружать его. Хорошо созданное приложение требует только того, что ему нужно для работы, и не более того.