Специалисты портала TheBestVPN.com изучили 81 VPN-приложение из официального каталога Google Play и пришли к выводу, что многие из них запрашивают настораживающие и совершенно ненужные им разрешения.

Для классификации приложений исследователи воспользовались документацией и терминологией разработчиков Google. То есть «нормальными» считаются разрешения, которые Android выдает приложениям, не привлекая пользователя, а «опасными» называются разрешения, которые связаны с доступом к пользовательским данным (которой может предоставить приложению только сам пользователь).

Исследователи выяснили, что 50 приложений из изученных запрашивают у пользователя хотя бы одно «опасное» разрешение и доступ к данным. Хуже того, в некоторых случаях специалистам так и не удалось понять, зачем приложениям понадобились эти права. Например, некоторые VPN-приложения запрашивают доступ на запись и чтение на внешних накопителях; доступ на чтение и изменение системных настроек; полный доступ к журналам вызовов; доступ к управлению локальными файлами и так далее.

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

Список самых «злостных нарушителей», по мнению TheBestVPN, можно увидеть ниже. Полный список всех изученных приложений и результаты анализа можно увидеть здесь.

Название приложения Кол-во «опасных» разрешений Разрешения
Yoga VPN

Google Play

6 android.permission.ACCESS_FINE_LOCATION
android.permission.READ_PHONE_STATE
android.permission.WRITE_SETTINGS
android.permission.ACCESS_COARSE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
proXPN VPN

Google Play

5 android.permission.ACCESS_FINE_LOCATION
android.permission.READ_PHONE_STATE
android.permission.ACCESS_COARSE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Hola Free VPN

Google Play

4 android.permission.READ_PHONE_STATE
android.permission.ACCESS_FINE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Seed4.Me VPN

Google Play

4 android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
OvpnSpider

Google Play

4 android.permission.ACCESS_FINE_LOCATION
android.permission.READ_LOGS
android.permission.ACCESS_COARSE_LOCATION
android.permission.WRITE_EXTERNAL_STORAGE
SwitchVPN

Google Play

4 android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Zoog VPN

Google Play

4 android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

UPD.

Представители Seed4.Me VPN считают, что их продукт был ошибочно помещен в список «опасных» VPN. Разработчики пояснили для чего приложение использует получаемые разрешения:

android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION

В нашем приложении есть функция Trusted Networks (Доверенные сети). Для использования этой функции нужно разрешение на получение геолокации. Для чего нужна эта функция: когда пользователь подключается к новой сети Wi-Fi, если сеть не находится в списке доверенных, наше приложение рекомендует включить VPN. Это полезно, когда вы, например, подключаетесь к бесплатному Wi-Fi в кафе, помогает защитить личные данные от перехвата.

С момента выхода Android 9 операционная система требует эти разрешения (до этого разрешения не требовались). Приложение спрашивает о разрешении на стартовом экране и показывает сообщение с объяснением, зачем ему нужно это разрешение. Если пользователь не хочет использовать функцию «Доверенные сети», он может либо не давать разрешения на доступ на стартовом экране, либо позже отключить доступ к этой функции для нашего приложения в системных настройках (Настройки > Приложения и Уведомления > Seed4.Me VPN > Разрешения > Доступ к местоположению). Все остальные функции приложения будут работать.

android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

Разрешения на чтение и запись из внешнего хранилища требуется для отладки при обращении пользователя в поддержку. У нас есть команда технической поддержки 24/7 и, если приложение не работает должным образом, то пользователи могут собирать отладочную информацию путем долгого нажатия на кнопку Support (Помощь). Приложение спросит пользователя, хочет ли он инициализировать функцию сбора информации о подключении, и, если он согласится, то приложение сохранит информацию на внешний носитель. Пользователь может воспроизвести проблему и после повторного нажатия на кнопку «Помощь» он сможет отправить электронное письмо в нашу поддержку. Отладочная информация будет автоматически прикреплена к электронному письму и удалена из внешнего хранилища.

Приложение не запрашивает разрешения на доступ пока пользователь сам не захочет собрать информацию для отладки. По умолчанию разрешение отключено для приложения и другие функции приложения его не требуют. Если пользователь собирал информацию однажды, то он может отключить данную функцию в настройках (Настройки > Приложения и Уведомления > Seed4.Me VPN > Разрешения > Использовать память телефона).

1 комментарий

  1. Аватар

    Вольдемар Берман

    05.03.2019 at 10:53

    Все разрешения, кроме геолокационных, в принципе — объяснимы.

    1 — READ_PHONE_STATE может использоваться для килл-свитча (чтобы при разрыве туннеля восстанпвливать соединение).
    2 — WRITE_SETTINGS — для сохранения L2TP/PPTP-конфигураций в настройках телефона.
    3 — R/W_EXTERNAL_STORAGE — для дропа OVPN-конфигурации и последующего его прочтения при инициации соединения.

Оставить мнение