Разрешения приложения
Разрешения приложения — это программные механизмы, используемые для контроля и регулирования доступа к системным функциям и возможностям компьютера или устройства. Как правило, виды разрешений охватывают функции, связанные с конфиденциальностью, например, возможности доступа к аппаратным компонентам устройства (в том числе к камере или микрофону телефона), а также к личным данным пользователя (таким как устройства хранения, контакты и текущее местоположение пользователя). Разрешения обычно декларируются в манифесте программы, при этом определённые права могут быть предоставлены только непосредственно пользователем в режиме выполнения, а также могут быть отозваны им в любое время.
Системы управления разрешениями наиболее распространены в мобильных операционных системах, где перечень требуемых для работы мобильных приложений разрешений объявляется через магазин приложений соответствующей платформы.
Разрешения для мобильных устройств
Ниже перечислены типовые разрешения, встречающиеся в мобильных операционных системах для смартфонов или планшетов:[1][2]
- Доступ к хранилищу и персональной информации, например к контактам, записям календаря и т. п.
- Геолокация.
- Доступ к внутренней камере или микрофону устройства.
- Доступ к биометрическим датчикам, включая сканер отпечатков пальцев и системы распознавания лиц.
- Доступ в Интернет.
- Доступ к коммуникационным интерфейсам (включая их аппаратные идентификаторы и уровень сигнала, при необходимости, а также возможность их активации), например Bluetooth, Wi-Fi, NFC и др.
- Совершение и получение телефонных звонков.
- Отправка и чтение текстовых сообщений.
- Возможность осуществлять встроенные покупки.
- Возможность интеграции с другими приложениями.
- Возможность устанавливать, удалять и управлять приложениями.
- Токены аутентификации (например, токены OAuth) от веб-сервисов, хранящиеся в системе и используемые для совместного доступа приложений.
- Доступ к медиафайлам (начиная с Android 13 вместо общего разрешения используются гранулярные права для изображений, видео и аудио, а в Android 14 добавлен частичный доступ к визуальным файлам)[3][4].
- Отправка уведомлений (в iOS и начиная с Android 13 запрашивается у пользователя во время выполнения)[5].
В версиях до Android 6.0 «Marshmallow» разрешения предоставлялись приложениям автоматически во время выполнения, а их перечень отображался при установке из Google Play Store. Начиная с Marshmallow, отдельные разрешения приложение запрашивает у пользователя в режиме выполнения. Эти разрешения могут быть также отозваны в любой момент через меню настроек Android[6].
Современные мобильные операционные системы предлагают расширенные механизмы контроля. Пользователям доступны одноразовые разрешения, предоставляющие временный доступ к таким функциям, как камера или местоположение, а также автоматический сброс разрешений, отзывающий права у приложений, которые не использовались несколько месяцев[7]. Для мониторинга активности в Android предусмотрен инструмент Privacy Dashboard, отображающий историю доступа к сенсорам за последние 24 часа, а в iOS — App Privacy Report с 7-дневным журналом[8]. Кроме того, платформы продолжают ужесточать политики доступа к чувствительной информации: например, правила Google Play ограничивают использование разрешений на чтение журнала звонков для верификации пользователей, требуя перехода на специализированные API (включая инструменты для безопасной работы с SMS)[9].
iOS предъявляет схожие требования к предоставлению разрешений в режиме выполнения, включая отдельные настройки для активации Bluetooth, Wi-Fi и геолокации[10].
Веб-разрешения
Веб-разрешения представляют собой систему разрешений для веб-браузеров[11]. Когда веб-приложение запрашивает доступ к определённым данным, оно должно сначала получить разрешение пользователя. В момент запроса на экране появляется всплывающее окно, где пользователю предлагается сделать выбор; принятое решение сохраняется в памяти устройства, но позднее может быть удалено.
В настоящее время через подобные разрешения управляется доступ к следующим ресурсам:
- Геолокация
- Уведомления рабочего стола[12]
- «Сервис-воркеры»[13]
- Сенсоры
- Устройства захвата аудио[14], такие, как звуковые карты, а также их модель и характеристики
- Устройства захвата видео[14], например, веб-камеры, их идентификаторы и свойства
Для управления доступом к функциям браузера (таким как камера, микрофон и геолокация) для самой веб-страницы и встроенных в неё сторонних ресурсов (iframe) применяется стандарт Permissions Policy API (ранее известный как Feature Policy). Он работает по принципу белого списка: по умолчанию встроенный контент не получает автоматического доступа к этим API, и разработчик должен явно указывать доверенные источники через HTTP-заголовок Permissions-Policy или атрибут allow в теге <iframe>[15][16].
Механизмы Google Privacy Sandbox (такие как Topics API, Protected Audience API и Attribution Reporting API) не требуют классического всплывающего окна разрешения на уровне браузера. Они работают автоматически, а управление доступом осуществляется через настройки пользователя в браузере, где от сбора данных можно отказаться[17][18].
Анализ
Модель управления доступом на основе разрешений предоставляет приложению определённые права доступа к объектам данных. Эта схема восходит к дискреционной модели контроля доступа. Как правило, разрешения предоставляются в контексте конкретного пользователя на определённом устройстве и действуют постоянно при минимуме автоматических ограничений.
В ряде случаев реализация разрешений строится по принципу «всё или ничего»: пользователь должен выдать все запрошенные права, иначе не сможет пользоваться приложением. До сих пор существует дефицит прозрачности при фактическом доступе программы к данным, защищённым разрешениями. Даже если пользователь отзывает разрешение, приложение может попытаться снова запросить его, например, путём зависания или повторным требованием разрешения для продолжения работы.
Система разрешений подвергается широкой критике исследователей по нескольким причинам:
- Недостаточная прозрачность в отношении сбора личных данных и слежки, в том числе создание ложного ощущения безопасности[19].
- Усталость пользователя, когда необходимость микроуправлять разрешениями приводит к фаталистическому принятию факта слежки и отсутствия прозрачности[20].
- Извлечение личных данных и массовая слежка после предоставления прав.
Некоторые приложения, например XPrivacy и Mockdroid[21], подменяют данные в целях приватности. Среди других методов повышения прозрачности — построение поведенческих профилей и анализ приватности из нескольких источников данных приложений[22].
Злоупотребления и безопасность
Иногда разработчики приложений злоупотребляют разрешениями Android для сбора личной информации пользователя и показа рекламы; известно, что многие приложения для использования камеры телефона как фонарика (необходимость в отдельных приложениях существенно снизилась после добавления этой функции на уровне системы в новых версиях Android) требуют чрезмерное количество разрешений, не связанных с их работой[23]. В 2024–2026 годах распространённым вектором атак стало злоупотребление правами доступа к службе специальных возможностей (Accessibility API). Современные примеры злоупотребления включают кражу финансовых данных и кодов аутентификации с помощью поддельных накладок (overlays) поверх легитимных приложений, получение удалённого контроля над устройством, а также несанкционированную автоматизацию действий (кликботы)[24]. В качестве меры защиты в Android 16 Google блокирует использование Accessibility Service для любых автономных действий и фреймворков автоматизации[25].
Права на установку приложений
В операционной системе Android внедрены строгие ограничения на установку приложений от неверифицированных разработчиков, в том числе из альтернативных магазинов. Для прямой установки APK-файлов из неизвестных источников требуется использование специального расширенного сценария. Пользователю необходимо включить режим разработчика, подтвердить отсутствие принуждения со стороны третьих лиц, ввести код разблокировки и перезагрузить устройство. После этого следует обязательный 24-часовой период «карантина», по истечении которого нужно повторно пройти аутентификацию и выдать окончательное разрешение на установку[26][27].
В экосистеме Apple также ужесточены правила установки программного обеспечения. Компания изменила механизм авторизации для работы с App Store, отозвав старые сертификаты и внедрив аппаратную проверку через защищённый модуль Secure Enclave[28][29]. В результате был заблокирован популярный способ восстановления удалённых (в том числе банковских) приложений через сторонние утилиты. В качестве альтернативных методов доступа к таким сервисам на iOS остаются использование веб-версий (PWA) и загрузка замаскированных приложений из App Store[30].