27 March

Баг в iOS не даёт VPN-приложениям зашифровать весь трафик

ITSumma corporate blogInformation SecurityDevelopment for iOSSoftware

Кроме зашифрованного канала с сервером ProtonVPN (185.159.157.8), устройство iOS (10.0.2.109) поддерживает незашифрованное соединение с сервером Apple (17.57.146.68)

В iOS 13.3.1 и более поздних версий обнаружена неприятная уязвимость (базовый рейтинг 5,3 из 10 по шкале CVSS v3.1). Она связана с некорректным шифрованием данных под VPN.

О баге рассказали своим пользователям разработчики ProtonVPN. Суть в том, что после подключения к VPN весь трафик должен идти по зашифрованному каналу между устройством и VPN-сервером. Однако iOS оставляет открытыми соединения за пределами VPN-туннеля.

На верхнем скриншоте видно, что кроме зашифрованного канала с сервером ProtonVPN (185.159.157.8), устройство iOS (10.0.2.109) поддерживает незашифрованное соединение с сервером Apple (17.57.146.68), что чревато утечкой пользовательских данных и IP-адреса.

Расследование ProtonVPN выявило причину бага. Дело в том, что после установления соединения с VPN-сервером устройство iOS не разрывает никакие из установленных ранее незащищённых соединений. Это не слишком большая проблема, потому что большинство соединений краткосрочные — и через небольшое время они разрываются автоматически, а затем устанавливаются заново уже в VPN-туннеле. Однако некоторые соединения могут сохраняться в течение нескольких минут и даже часов после установки VPN-туннеля, пишут разработчики ProtonVPN.

Компания уведомила Apple о баге в прошлом году. Поскольку патч не выпущен до сих пор, ProtonVPN приняла решение уведомить о потенциальной опасности своих пользователей.


ProtonVPN приводит в качестве примера пуш-уведомления Apple как процесс, который устанавливает соединение с серверами Apple и не будет прерван автоматически. Но баг действует не только для пуш-уведомлений, но для всех служб или приложений, работающих на iOS, от следящих веб-маячков до приложений для мгновенного обмена сообщениями.

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

Пока патч не вышел, для смягчения проблемы Apple рекомендует включить Always-on VPN, то есть функцию постоянного шифрования соединений, через настройки Mobile Device Management.



Но такой вариант не поможет сторонним VPN-приложениям, таких как ProtonVPN.

В качестве обходного пути ProtonVPN рекомендует следующую процедуру:

  1. Подключиться к VPN-серверу.
  2. Включить режим полета. Это убьёт все интернет-соединения и временно отключит VPN.
  3. Выключить режим полета. VPN подключится повторно, а ваши другие соединения тоже должны установиться повторно, но уже внутри VPN-туннеля.

Apple признала уязвимость и в настоящее время изучает способы, как её устранить. Баг обнаружили в версии 13.3.1, и он присутствует во всех версиях iOS вплоть до последней 13.4.
Tags:ITSummaiOSiPhoneVPNProtonVPN
Hubs: ITSumma corporate blog Information Security Development for iOS Software
+13
3.3k 3
Comments 2