Приложения VPN на iOS шифруют не весь трафик из-за ошибки в системе. Об этом заявил эксперт по безопасности Майкл Горовиц.
После включения VPN устройство должно получить новый IP-адрес и закрыть все существующие подключения к интернету, а затем восстановить их. Проблема заключается в том, что iOS не позволяет VPN-сервисам закрывать все соединения.
К примеру, соединение Apple Push, через которое доставляются все уведомления на iOS, остается незащищенным. В результате провайдер и злоумышленники могут узнать IP-адрес устройства и вычислить его местонахождение.
Большинство незащищенных подключений при работающем VPN недолговечны и спустя несколько минут восстанавливаются через VPN-туннель. Но в случае с push-уведомлениями Apple ситуация усугубляется, поскольку эти соединения могут оставаться открытыми в течение нескольких часов.
Тестирование проводилось с использованием приложения ProtonVPN в середине 2022 года на iPad с iPadOS 15.4.1. Также Горовиц запускал OpenVPN с протоколом WireGuard на iPadOS 15.5. Его планшет продолжат отправлять незащищенные запросы на сервера Apple и Amazon.
Данные покидают устройство iOS за пределами VPN-туннеля. Это не классическая/устаревшая утечка DNS, это утечка данных. Я подтвердил это, используя несколько типов VPN и программное обеспечение от нескольких VPN-провайдеров. Последняя версия iOS, которую я тестировал — 15.6.
Впервые об этой проблеме сообщили разработчики ProtonVPN в марте 2020 года. Они выяснили, что подобным образом VPN работал в iOS 13.3.1 и iOS 13.4.
К октябрю 2020 года Apple не устранила проблему. Однако у разработчиков появилась возможность использовать функцию Kill Switch в iOS 14, которая в ручном режиме обрывает все незащищенные соединения. По словам Горовица, в ProtonVPN эта функция не работала.
Горовиц сообщил о проблеме в Apple в конце мая. Сначала компания вышла на связь, но потом перестала отвечать на сообщения. Сооснователь Windscribe Егор Сак заявил, что он знает о проблеме, и Windscribe несколько раз обращалась в Apple по поводу ее решения. [ArsTechnica]
Источник: