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

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


l22t9lovhqxewzjl6o5i5x1krz618rwh.jpg

Миллионы людей ставят мобильные 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 пригодится разработчикам для профилактики проблем до релиза. Реклама продукта здесь ожидаема, однако ключевая мысль шире. Пользователям и организациям стоит внимательнее относиться к выбору клиента, проверять репутацию разработчика, обновления и список разрешений, а также избегать приложений, которые просят больше, чем им нужно по функции.