Используете бесплатный VPN на телефоне? Вы один участник эксперимента, где анонимность оказалась иллюзией

Используете бесплатный VPN на телефоне? Вы один участник эксперимента, где анонимность оказалась иллюзией

Избыточные разрешения, уязвимый код, утечки данных — это не полный список тех опасностей, что в себе несут бесплатные VPN-сервисы.

image

Миллионы людей ставят мобильные VPN, чтобы скрывать трафик, обходить блокировки и безопасно работать в сети. Исследование Zimperium zLabs показало, что значительная часть бесплатных приложений не только не помогает, но и создает новые риски. Команда изучила около восьмисот бесплатных VPN для Android и iOS и увидела одно и то же поведение у многих программ. Они почти не обеспечивают приватность, запрашивают лишние и опасные разрешения, сливают данные и используют устаревший код. В условиях политики BYOD это уже не бытовая история, а уязвимость корпоративной безопасности, потому что даже популярный клиент может стать слабым звеном и вывести чувствительные данные за периметр.

VPN должен шифровать канал между устройством и удаленным сервером. Это прячет настоящий IP и делает перехват трафика сильно сложнее. В идеале все похоже на письмо в запечатанном конверте, а не открытку. Проблема в том, что у части приложений у конверта есть прорези, а у некоторых и вовсе чужие руки в процессе доставки.

Самое тревожное наблюдение касается сторонних библиотек. Разработчики продолжают встраивать старые компоненты с давно известными критическими ошибками. В трех приложениях обнаружилась древняя сборка OpenSSL с уязвимостью Heartbleed с идентификатором CVE-2014-0160. Эта ошибка позволяет удаленно читать содержимое памяти и вытаскивать ключи шифрования, пароли и другие секреты. Прошло больше десяти лет, патчи существуют, однако такие версии до сих пор попадают в релизы. Это показатель слабой гигиены разработки и пренебрежения к данным пользователей.

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

На iOS всплыла отдельная история с прозрачностью. Apple требует честно описывать сбор и использование данных в карточке приложения и через privacy-manifest. Исследование показывает, что формальные декларации часто не совпадают с реальной логикой работы. Четверть приложений вовсе не содержит корректного privacy-manifest. Для софта, который обещает анонимность и конфиденциальность, такая непрозрачность уже сама по себе риск. Пользователь не может дать осознанное согласие, компания не может провести нормальную проверку поставщика, а скрытые потоки телеметрии и идентификаторов легко превращаются в профиль пользователя.

Далее идут разрешения, которые приложение просит у системы. В экосистеме Android и iOS встречаются запросы, которые никак не нужны VPN по назначению. На Android это, например, AUTHENTICATE_ACCOUNTS с правами управления учетными записями и токенами, а также READ_LOGS с чтением системных журналов. Первое открывает дорогу к краже цифровой идентичности, второе превращает программу в шпион с доступом к действиям пользователя и активности других приложений. На iOS попадаются запросы на постоянный доступ к геолокации и к локальной сети. Первый вариант дает полную историю перемещений, второй позволяет тихо сканировать домашние и офисные устройства и искать цели для атаки. Разработчики объясняют такие разрешения автоподбором узла или проверкой безопасности сети, но для VPN это избыточные и опасные возможности.

Отдельная тревожная метрика касается приватных энтайтлов в iOS. Более шести процентов приложений, всего тридцать штук, запрашивали права, которые дают глубокий доступ к системным возможностям. Такой запрос уже красный флаг. Даже если платформа их не выдаст, сам факт попытки говорит о намерении выйти за рамки публичных API. С этими правами можно выполнять системные вызовы, вынимать чувствительные данные из памяти и поднимать привилегии.

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

Вывод простой и неприятный. Не каждый VPN одинаково полезен, особенно если он бесплатный. Для домашних пользователей это риск приватности, для компаний с собственными и личными устройствами в одном контуре это еще и риск для бизнеса. Авторы работы напоминают, что их платформа Mobile App Vetting помогает компаниям выявлять слабые места до инцидента, а инструмент zScan пригодится разработчикам для профилактики проблем до релиза. Реклама продукта здесь ожидаема, однако ключевая мысль шире. Пользователям и организациям стоит внимательнее относиться к выбору клиента, проверять репутацию разработчика, обновления и список разрешений, а также избегать приложений, которые просят больше, чем им нужно по функции.