8 февраля 2017

Разрешения приложений в Android 6 и выше

Безопасность Приватность Советы

В Android есть очень хороший защитный механизм — система разрешений для приложений. По сути, это набор действий, которые система разрешает приложению выполнять. Дело в том, что по умолчанию все приложения в Android работают в изолированной среде — так называемой «песочнице». И для того чтобы сделать что-либо с чем-то, так сказать, общественным, им надо получить разрешение.

Разрешения приложений в Android 6 и выше

Разрешения эти разделены на несколько категорий, но нас интересуют только две из них — «Обычные» и «Опасные». В группу «Обычные» входят такие вещи, как доступ в Интернет, создание ярлыков, подключение по Bluetooth и так далее. Эти разрешения выдаются приложениям без обязательного согласия пользователя, то есть система вас ни о чем не спрашивает.

А вот для того, чтобы получить одно из «опасных» разрешений, приложение обязательно должно спросить владельца устройства, согласен ли он его выдать. Чем же опасны «опасные» разрешения и стоит ли выдавать их приложениям? Давайте разберемся.

Опасные разрешения

В категорию «Опасные» входят девять групп разрешений, которые так или иначе связаны с безопасностью данных пользователя. В свою очередь, каждая из групп содержит несколько разрешений, которые может запрашивать приложение.

Если одно из разрешений в данной группе пользователь уже одобрил, все остальные разрешения из той же группы приложение получит автоматически — без нового запроса пользователю. Например, если приложение уже успело запросить и получить разрешение на чтение SMS, то впоследствии оно автоматически получит разрешение и на отправку SMS, и на прием MMS, и на все остальные разрешения из данной группы.

Календарь

  • Просмотр событий в календаре (READ_CALENDAR).
  • Изменение уже имеющихся в календаре событий и добавление новых (WRITE_CALENDAR).

Чем опасно: Если вы активно пользуетесь электронным ежедневником, то доступ к нему позволит узнать все о том, чем вы занимались в прошлом, занимаетесь сегодня и собираетесь заниматься в будущем, — настоящая находка для шпиона. Также какое-нибудь криво написанное приложение может нечаянно стереть важные встречи из календаря.

Камера

  • Использование камеры (CAMERA) — возможность делать фотографии и записывать видео.

Чем опасно: Приложение сможет в любой момент сделать фото или записать видео, не предупреждая вас об этом.

Контакты

  • Чтения контактов (READ_CONTACTS).
  • Изменение имеющихся или добавление новых контактов (WRITE_CONTACTS).
  • Доступ к списку аккаунтов (GET_ACCOUNTS).

Чем опасно: Позволяет приложению заполучить всю вашу адресную книгу — этим данным будут очень рады спамеры и мошенники. Также разрешает доступ к списку всех учетных записей, с помощью которых вы входите в приложения на данном устройстве, — Google, «Яндекс», Facebook, «ВКонтакте» и так далее.

Местоположение

  • Доступ к примерному местоположению (ACCESS_COARSE_LOCATION) — на основе данных о базовых станциях мобильной сети и точках доступа Wi-Fi.
  • Доступ к точному местоположению (ACCESS_FINE_LOCATION) — на основе данных GPS.

Чем опасно: Позволяет приложению следить за всеми вашими перемещениями. Например, жулики могут узнать, что вы уехали в отпуск, и попробовать наведаться к вам домой.

Микрофон

  • Запись звука с микрофона (RECORD_AUDIO).

Чем опасно: Приложение сможет вести аудиозапись всего, что происходит рядом со смартфоном. Всех ваших разговоров. Не только по телефону.

Телефон

  • Чтение состояния телефона (READ_PHONE_STATE), в том числе вашего телефонного номера, данных сотовой сети, статуса исходящих звонков и так далее.
  • Совершение звонков (CALL_PHONE).
  • Чтение списка вызовов (READ_CALL_LOG).
  • Изменение списка вызовов (WRITE_CALL_LOG).
  • Добавление голосовой почты (ADD_VOICEMAIL).
  • Использование IP-телефонии (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 (разумеется, за ваш счет) — например, чтобы подписать вас на какую-нибудь платную «услугу».

Память

  • Чтение из памяти или карты памяти (READ_EXTERNAL_STORAGE).
  • Запись в память или на карту памяти (WRITE_EXTERNAL_STORAGE).

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

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

Стоит внимательно относиться к запрашиваемым приложением разрешениям. Если игра или приложение для обработки фотографий запрашивают доступ к вашему текущему местоположению, это, скорее всего, ненормально — таким приложениям данная информация ни к чему. А вот навигационному приложению GPS действительно нужен — но, в свою очередь, совершенно незачем давать ему доступ к контактам или SMS, например.

Если права, которые запрашивает приложение, выглядят слишком подозрительно, лучше такое приложение вовсе не устанавливать

В случае если права, которые запрашивает приложение, выглядят слишком подозрительно, лучше такое приложение вовсе не устанавливать. Или можно просто не разрешить ему доступ к тем функциям и данным, которыми вы не хотите делиться.

В Android версии 6 и новее приложения выводят запрос пользователю в тот момент, когда им требуется то или иное из «опасных» разрешений. Если вы не согласны разрешать приложению доступ, то вы можете просто нажать кнопку «Отклонить». Правда, в том случае, если приложение действительно нуждается в том или ином разрешении, могут возникнуть ошибки в его работе.

Запрос приложением разрешений на работу со звонками на устройстве Android 6.0.1

Запрос приложением разрешений на работу со звонками на устройстве Android 6.0.1

Кроме того, список выданных разрешений можно в любой момент проверить и изменить в настройках операционной системы. Чтобы это сделать, перейдите в Настройки —> Приложения.

Кроме того, список выданных разрешений можно в любой момент проверить и изменить в настройках операционной системы.

Дальше есть два варианта. Во-первых, можно посмотреть все разрешения, выданные конкретному приложению: для этого нажмите на название интересующего вас приложения и выберите пункт Разрешения.

Можно посмотреть все разрешения, выданные конкретному приложению

Во-вторых, можно посмотреть на полный список приложений, которые запрашивали или могут запросить одно из «опасных» разрешений. Например, узнать, какие приложения были бы не прочь запросить у вас доступ к контактам и каким он уже разрешен, а также запретить это тем из них, которым вы не доверяете. Для этого нажмите на шестеренку в правом верхнем углу и выберите пункт Разрешения приложений.

Узнать, какие приложения были бы не прочь запросить у вас доступ к контактам и каким он уже разрешен

Таким образом, приложению, чтобы, например, отправить SMS, необходимо будет спросить у пользователя один раз разрешение, после чего пользователь сможет в любой момент отказать приложению в этом праве, просто передвинув кружок в настройках.

Особые права

Помимо разрешений, которые входят в категорию «Опасные», в Android есть еще несколько прав приложений, о которых стоит знать. Если какое-либо приложение запрашивает такие права, это повод как следует задуматься и проверить, не попался ли вам троянец.

Специальные возможности (Accessibility)

Наличие этих прав в приложении позволяет ему упростить использование приложения или устройства для пользователей с ограничениями, такими как слабое зрение или проблемы со слухом. Но в то же время система Android устроена таким образом, что тот же набор возможностей оказывается очень удобным инструментом для вредоносных приложений.

Обладая этими правами, троянцы могут перехватывать данные из других приложений, в том числе вводимый пользователем текст. Кроме того, используя эти возможности, зловреды могут даже покупать приложения в Google Play Store.

Приложение для работы с SMS по умолчанию

Многие троянцы пытаются стать приложением для работы с SMS по умолчанию, ведь это позволяет им не только читать SMS, но и скрывать их от пользователя, даже в современных версиях Android. Например, это может понадобиться троянцам для того, чтобы перехватывать одноразовые коды для подтверждения банковских транзакций.

Права на отображение своего окна поверх других приложений

Обладая этими правами, троянцы могут показывать свои фишинговые окна поверх других приложений, например мобильных банков или социальных сетей. Вам кажется, что вы вводите свои логин и пароль в окно настоящего приложения — а на самом деле это происходит в фальшивом окне, созданном троянцем, и данные учетной записи утекают к злоумышленникам.

Права администратора устройства

Обладая этими правами, приложение может среди прочего сменить пароль, заблокировать камеру или даже удалить все данные с устройства. Многие троянцы запрашивают эти права, так как приложение, которое является администратором устройства, гораздо сложнее удалить.

Примеры запроса приложением прав администратора

Примеры запроса приложением прав администратора

Права суперпользователя

Это самые опасные права. В штатном режиме получение приложением таких прав в Android не предусмотрено, но некоторые троянцы умеют сами получать права суперпользователя, эксплуатируя уязвимости в системе. Самое неприятное, что наличие у приложения прав суперпользователя обесценивает все остальные защитные механизмы: воспользовавшись этими правами, зловред может совершить любое действие в системе, вне зависимости от того, какие ему выданы разрешения.

Стоит отметить, что даже новая система работы с разрешениями, появившаяся в Android 6, не защищает от зловредов
, она лишь предоставляет пользователю возможность предотвратить потерю данных или денег. Например, троянец Gugi настойчиво запрашивает у пользователя права на перекрытие других приложений, обосновывая это необходимостью работы с окнами. Получив же эти права, троянец блокирует работу устройства своим окном до тех пор, пока не получит все остальные необходимые ему права.

Заключение

Не всем приложениям стоит разрешать делать на смартфоне все, что они хотят. А некоторые разрешения лучше вообще не давать — благо Android 6 и новее это позволяет.

Тем не менее бывают такие приложения, которым действительно нужно очень много разных прав. Например, антивирусным программам, чтобы нормально работать, иметь возможность сканировать систему и проактивно защищать от угроз, требуется не только разрешение на доступ к файлам, но и еще много чего.

Однако слепо раздавать разрешения нельзя даже тем приложениям, которым вы доверяете. Просто перед тем, как дать эти разрешения, подумайте, действительно ли они нужны данному конкретному приложению.

Такая бдительность, правда, не защищает от того, что какой-нибудь зловред получит права сам через уязвимости в системе. Поэтому важно не только правильно настроить разрешения для сравнительно «мирных» приложений, охотящихся за вашими личными данными, но и иметь средство для обнаружения гораздо более опасных «буйных» зловредов — не забудьте установить на ваше Android-устройство надежный антивирус.