Skip to main content

Известный исследователь безопасности говорит, что приложения iOS VPN (виртуальные частные сети) не работают из-за уязвимости, о которой, по его словам, Apple знает как минимум два с половиной года.

Это подтверждает предыдущий отчет ProtonVPN о том, что уязвимость VPN присутствует на устройствах iOS, по крайней мере, с iOS 13.3.1, и что не существует 100% надежного способа гарантировать, что ваши данные отправляются через VPN…

Настоящие слова Майкла Горовица немного резче, чем наш заголовок. Его сообщение в блоге об этой проблеме называется «VPN на iOS — это мошенничество».

Как (должны) работать VPN

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

При использовании общедоступных точек доступа Wi-Fi вы также подвергаетесь риску так называемых атак «человек посередине» (MITM). Это когда злоумышленник создает точку доступа Wi-Fi, которая имитирует настоящую, но сначала направляет весь трафик через свою систему, позволяя им регистрировать все ваши данные. Это легко сделать, и может быть так же просто, как подключить устройство размером с блок питания к розетке в кофейне.

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

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

Почему приложения iOS VPN не работают

Как только вы активируете приложение VPN, оно должно немедленно закрыть все существующие (незащищенные) подключения для передачи данных, а затем снова открыть их внутри безопасного «туннеля». Это абсолютно стандартная функция любого VPN-сервиса.

Проблема, по словам Горовица, в том, что iOS не позволяет VPN-приложениям закрывать все существующие незащищенные соединения.

VPN на iOS не работает. Сначала кажется, что они работают нормально. Устройство iOS получает новый общедоступный IP-адрес и новые DNS-серверы. Данные отправляются на VPN-сервер. Но со временем детальная проверка данных, покидающих iOS-устройство, показывает, что VPN-туннель протекает. Данные покидают устройство iOS за пределами туннеля VPN.

Это не классическая/устаревшая утечка DNS, это утечка данных. Я подтвердил это, используя несколько типов VPN и программное обеспечение от нескольких провайдеров VPN. Последняя версия iOS, которую я тестировал, — 15.6.

Это очень важно, потому что существующие незащищенные соединения могут длиться несколько минут, а это означает, что если вы включите VPN, чтобы сделать что-то конфиденциальное, первое, что вы сделаете, может оказаться незащищенным.

В случае с push-уведомлениями Apple ситуация усугубляется, поскольку эти соединения могут оставаться открытыми в течение нескольких часов, а не минут.

ProtonVPN впервые обнаружил эту проблему еще в марте 2020 года.

Участник сообщества Proton обнаружил, что в iOS версии 13.3.1 операционная система не закрывает существующие соединения. (Эта проблема сохраняется и в последней версии 13.4.) Большинство подключений недолговечны и в конечном итоге будут самостоятельно восстанавливаться через VPN-туннель. Однако некоторые из них работают долго и могут оставаться открытыми от нескольких минут до нескольких часов вне VPN-туннеля. […]

Ни Proton VPN, ни любой другой VPN-сервис не могут решить эту проблему, потому что iOS не позволяет приложению VPN прерывать существующие сетевые подключения.

Позже в том же году компания добавила обновление, в котором говорилось, что Apple до сих пор не устранила проблему, но предоставила разработчикам приложений возможность добавить функцию «выключателя отключения» вручную, которая закрывала бы все соединения для передачи данных по запросу. Компания заявила, что добавит это, но прекратила обновлять сообщение в октябре 2020 года.

В длинном посте Горовица описывается, как он определил проблему как проблему iOS, используя несколько устройств и несколько приложений VPN. Он также сказал, что, когда он уведомил Apple, компания сначала связалась с ним, но позже замолчала.

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

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

Есть ли обходной путь?

Proton предложил включить режим полета, а затем выключить его, но говорит, что не может гарантировать, что это сработает. Горовиц протестировал его и обнаружил, что раньше он работал на iOS 12.5.5, но не работает в iOS 15.

Я ожидаю, что перезагрузка телефона сработает, но Горовиц, похоже, специально это не проверял.

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

Мы связались с Apple и сообщим о любом ответе.

Фото: Петтер Лагсон/Unsplash