По умолчанию все приложения для Android работают в песочнице – изолированная среда. Если они хотят получить доступ к данным, находящихся за пределами песочницы, изменить их или удалить, то должны получить на это согласие системы.
Полномочия делятся на несколько категорий, но я расскажу только о двух из них: обычные и опасные. Для нормальных разрешений, например, доступ в интернет, создание иконки, подключение через Bluetooth и т.д., не требуется согласие пользователя.
Если приложение требует «опасного» разрешения, тогда система запрашивает согласие у пользователя. Почему некоторые полномочия считаются опасными? В каких случаях лучше запретить доступ?
Опасные разрешения для приложений
В категорию «опасно» можно отнести девять групп полномочий. Приложения, которые их требуют, каким-то образом влияют на частную жизнь или безопасность пользователя. В каждой группе есть такие полномочия, которых может потребовать какое-либо приложение.
Если пользователь одобрит какие-либо разрешения, приложение получает все разрешения из этой группы автоматически, без дополнительного подтверждения. Например, если приложение получает разрешение на чтение SMS-сообщений, то может также отправлять SMS-сообщения, просматривать MMS-сообщения и выполнять другие действия, относящиеся к этой группе.
Календарь
Возможности:
- Просмотр событий, хранящихся в календаре (READ_CALENDAR).
- Редактирование старых событий и создание новых (WRITE_CALENDAR).
Опасности: если вы активно используете календарь, приложение изучит вашу ежедневную рутину и, может быть, эти сведения передаст третьим лицам. Кроме того, из-за ошибки приложение может случайно удалить из календаря важную встречу.
Камера
Возможности:
- Доступ в камере (камерам) позволяет приложению использовать телефон для съемки фотографий и записи видео.
Опасности: приложение может тайно записывать видео или делать фотографии в любое время.
Контакты
Возможности:
- Чтение контактов (READ_CONTACTS).
- Редактирование контактов и добавление новых (WRITE_CONTACTS).
- Доступ к списку учетных записей (GET_ACCOUNTS).
Опасности: приложение может получить доступ к адресной книге. Эти данные являются очень привлекательной добычей для спамеров и мошенников. Это разрешение также позволяет получить доступ к списку всех аккаунтов, которые вы используете на вашем устройстве – Google, Facebook, Instagram и т.д.
Местоположение
Возможности:
- Доступ к местоположению (ACCESS_COARSE_LOCATION), определяемому на основе данных со станций, телефонов и точек доступа Wi-Fi.
- Доступ к точной локализации (ACCESS_FINE_LOCATION), на основе данных GPS.
Опасности: приложение будет знать, где вы находитесь, в любое время. Может, например, дать знать грабителям, когда Вас нет дома.
Микрофон
Возможности:
- Запись звука с микрофона (RECORD_AUDIO).
Опасности: приложение может записывать всё, что происходит рядом с телефоном. Все разговоры. Не только тогда, когда Вы разговариваете по телефону, но и в течение всего дня.
Телефон
Возможности:
- Чтение информации о телефоне (READ_PHONE_STATE) позволяет программе узнать номер телефона, текущей мобильной сети, состояние текущих соединений и т.д.
- Совершать звонки (CALL_PHONE).
- Просмотр списка вызовов (READ_CALL_LOG).
- Изменение списка вызовов (WRITE_CALL_LOG).
- Добавление почтового автоответчика (ADD_VOICEMAIL).
- Использование VoIP (USE_SIP).
- Обработка разрешений исходящих вызовов (PROCESS_OUTGOING_CALLS) дает приложению доступ к информации, кто звонит, и позволяет перенаправить его на другой номер.
Угрозы: когда Вы передаёте полномочия, связанные с телефоном, вы предоставляете приложениям выполнения практически любого действия, связанного с голосовой связью. Приложение будет знать, когда и кому Вы звоните, – и может само позвонить, в том числе на платные номера, за ваш счет.
Датчики тела
Возможности:
- (BODY_SENSORS) – эти права обеспечивают доступ к данным, связанным со здоровьем, собираемым некоторыми датчики, такими как датчик сердечного ритма.
Опасности: если вы используете аксессуаров с датчиками тела (помимо встроенных в телефон датчиков движения), это приложение получает данные о том, что происходит с вашим телом.
SMS
Возможности:
- Отправка SMS-сообщения (SEND_SMS).
- Просмотр сохраненных сообщений (SMS READ_SMS).
- Прием SMS-сообщений (RECEIVE_SMS).
- Прием сообщений WAP Push (RECEIVE_WAP_PUSH).
- Прием входящих MMS-сообщений (RECEIVE_MMS).
Угрозы: позволяет приложению принимать и читать входящие SMS-сообщения и отправлять их (разумеется, за ваш счет).
Память устройства
Возможности:
- Чтение SD-карты или другого носителя памяти (READ_EXTERNAL_STORAGE).
- Сохранение записей в памяти или на SD-карте (WRITE_EXTERNAL_STORAGE).
Опасности: приложение может считывать, изменять или удалять любые файлы, хранящиеся на вашем телефоне.
Как настроить разрешения для приложений
Если разрешения, которые запрашивает приложение, кажутся Вам подозрительными, не устанавливайте его – по крайней мере, не соглашайтесь на них.
В каждом случае предоставление полномочий следует тщательно обдумать. Например, если какая-то игра или инструмент для редактирования фотографий, пытается получить доступ к вашему текущему местоположению, это выглядит страно. Между тем, карты и навигаторы действительно нуждаются в GPS-данных – но им не зачем получать доступ к списку контактов или SMS.
В Android 6 и более поздней версии приложения спрашивают пользователей о разрешение всякий раз, когда требуется одно из опасных прав. Если вы не хотите их предоставлять, вы всегда можете отклонить запрос. Конечно, если приложение действительно нуждается в этом разрешении, оно будет отображать сообщение об ошибке и не будет правильно работать.
Вы также можете проверить список предоставленных разрешений и изменить их для любого приложения. Для этого выберите пункт Настройки → Приложения (в зависимости от версии Android эти и другие элементы меню могут иметь разные названия).
Теперь у вас есть на выбор два пути. Вы можете проверить все разрешения, предоставленные приложениям. Для этого нажмите на название приложения и выберите Разрешения.
Другой способ – это просмотреть список всех приложений, которые уже требовали или могут не требовать одно из опасных прав. Например, хорошей идеей будет проверить, какие приложения хотят иметь доступ к списку контактов, и аннулировать разрешения в случае сомнений. Для этого щелкните Настройка приложения (значок шестеренки в правом верхнем углу) и выберите пункт Разрешения приложений.
Особые разрешения для приложений
Помимо опасных разрешений, приложение также может потребовать особых разрешений. В таком случае будьте осторожны: так часто поступают трояны.
Доступность
Это разрешение упрощает работу с приложениями и устройствами людям, имеющим проблемы со зрением и слухом. Этими функциями могут злоупотреблять вредоносные программы.
После получения таких разрешений доступа троянские программы могут извлекать данные из приложений (в том числе ввод текста – пароли). Кроме того, вредоносные программы могут приобретать приложения в магазине Google Play.
Стандартное приложение для общения
Банковские трояны хотят быть стандартными приложениями для обработки SMS, потому что таким образом они могут читать SMS-сообщения и скрывать их – даже в более поздних версиях Android.
Например, троянские программы могут использовать эту функцию для перехвата паролей, передаваемых банками в сообщениях SMS и для того чтобы подтвердить вредные операции без ведома пользователя (помните, что они могут скрывать SMS-сообщения).
Всегда сверху
Право наложения окна поверх других приложений позволяет троянам отображать фишинговые окна вместо интерфейса оригинальных приложений (обычно это относится к приложения мобильного банкинга или социальных сетей).
Жертва думает, что вводит свой пароль в форму реального приложения, но, на самом деле, всё происходит в ложном окне, открывающемся трояном, а конфиденциальные данные мигрируют к преступникам.
Права администратора устройства
Эти разрешения позволяют пользователям изменять пароль, блокировать камеру или удалять все данные с устройства. Вредоносные программы часто пытаются получить такие права, потому что их трудно потом удалить.
Права root
Это самое опасное разрешения. По умолчанию система Android никогда не дает их приложениям, но некоторые троянские программы могут использовать уязвимости в системе, чтобы получить root-права. Тогда все остальные защиты становятся бесполезными – вредоносная программа может использовать права root для выполнения всего, независимо от того, какие полномочия были одобрены или отклонены.
Стоит отметить, что даже новая система разрешений (в Android 6 и выше) не защищает полностью от вредных программ. Например, trojan-Gugi неоднократно заражает жертву, требуя (до получения результата) разрешения на внесение изменений в интерфейс. В конечном итоге, вредоносное приложение перекрывает все другие приложения до тех пор, пока не получит необходимых разрешений.
Выводы – каких разрешений заслуживают приложения
Приложения не должны делать всё, что хотят на вашем телефоне, особенно, если они без причины хотят прав из категории опасных.
Однако, существуют приложения, которым действительно нужно много разрешений. Например, антивирусные программы для сканирования системы и защиты от угроз.
Прежде чем дать некоторые полномочия, подумайте о том, действительно ли приложение в них нуждается. Если вы не уверены, поищите эту информацию в интернете.
В конце надо добавить, что даже самый бдительный пользователь не защищен от вредоносных программ, использующим уязвимости системы. Поэтому так важно правильное управление разрешениями приложений (помогает защитить конфиденциальные данные от приложений-шпионов).