LINUX.ORG.RU
ФорумTalks

Уязвимость обхода VPN в iOS затрагивает все VPN-протоколы

 , , , ,


0

1

В Apple iOS 13.4 найдена уязвимость, которая не позволяет VPN шифровать весь трафик.

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

Один из пользователей ProtonVPN проанализировал трафик с помощью Wireshark и нашел уязвимость в iOS 13.3.1 (она есть и в последней версии 13.4), суть которой в том, что ОС не закрывает все существующие соединения. Большинство таких соединений недолговечны и в конце концов перенастроятся через VPN-туннель самостоятельно. Но некоторые из них могут работать довольно долго (минуты или даже часы) за пределами VPN.

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

Что можно сделать сейчас:

Пока Apple не исправит уязвимость, есть одно возможное решение.

  • Подключиться к любому серверу VPN.
  • Включить режим «в самолете». Это убьет все текущие соединения и временно отключит VPN.
  • Выключить режим «в самолете». VPN будет переподключен, и все остальные соединения должны переподключиться уже внутри VPN. Но это же Apple, поэтому 100% гарантий нет.

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

https://protonvpn.com/blog/apple-ios-vulnerability-disclosure/

На андроиде такая же петрушка с openvpn.

Deleted
()

Один из пользователей ProtonVPN проанализировал трафик с помощью Wireshark

точно так же на MacOS, и для этого не нужен WireShark. Все существующие конненкты работают через тот коннект, через который они установлены.

и разве в лине не так же? VPN это лишь отдельная сеть, она не должна заниматься выключением всего самостоятельно.

alexmaru
()
Ответ на: комментарий от alexmaru

Пакеты должны идти через тот интерфейс, который положено, а не тот, который был положеным когда-то. Собственно поэтому VPN поднимает отдельный роут до самого VPN-сервера. В винде, например, существующие TCP соединения просто «зависнут» при поднятии VPN (т.к. пакеты пойдут через VPN, а целевой хост этого не поймёт и будет их отбрасывать). И это правильное поведение. Если у тебя не так, значит решето.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 4)
Ответ на: комментарий от Legioner

а кем положено? умер коннект - новый пойдёт по новому пути. А то так подключился к vpn - а у тебя что-то важное отвалилось - в примере для хомячков - разговор по скайпу, например. Это должна быть особая опция, а не поведение по-умолчанию.

alexmaru
()
Ответ на: комментарий от alexmaru

и разве в лине не так же? VPN это лишь отдельная сеть, она не должна заниматься выключением всего самостоятельно.

Если речь идет о VPN, как о сервисе, а не как «интерфейс с маршрутом», то вообще стоило бы.

kirk_johnson ★☆
()
Ответ на: комментарий от alexmaru

а кем положено?

Логикой.

А то так подключился к vpn - а у тебя что-то важное отвалилось - в примере для хомячков - разговор по скайпу, например.

Это проблемы скайпа, если он не способен переподключиться при смене IP-адреса незаметно для пользователя. WiFi включил/выключил - ровно такая же ситуация. А это чаще всего происходит автоматически. Не думаю, что скайп настолько убогий, что такое не умеет.

Это должна быть особая опция, а не поведение по-умолчанию.

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

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 2)

Ну, не знаю. Не уверен, что такая фича должна быть обязательной. По крайней мере на десктопе и не отключаемой. У меня например VPN в офис, соотвествтенно используется не для всего трафика, а только для офисной подсети. И разрывать остальные соединения мне на фиг не надо.

atrus ★★★★★
()
Ответ на: комментарий от Legioner

Если я включаю VPN, я ожидаю, что из моего девайса ни одного незашифрованного пакета не улетит.

Это потому что у вас VPN перекрывается все соединения. Кстати, а разве направление пакетов в VPN не решается роутингом?

atrus ★★★★★
()
Ответ на: комментарий от Legioner

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

Ну и да, VPN конечно же не шифрует, а лишь предоставляет доступ к удаленным ресурсам :)

Jetty ★★★★★
()
Ответ на: комментарий от Legioner

если я включаю впн, то я ожидаю, что подключится корпоративная сеть. И так же я могу включить ещё пару впн одновременно, это ж аналогично воткнуть несколько LAN-ов.

Почему должен разрываться коннект? почему это должна решать операционка, что у меня может быть только один активный vpn, при пробросе веб-трафика на одном из них?

alexmaru
()

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

Iron_Bug ★★★★★
()

яннп, это преднамеренное дегенератство?

Anoxemian ★★★★★
()

Это не баг ни разу, так и должно быть. А я ведь говорил, VPN - это вам не камуфляж какой-нибудь, это просто своеобразный аналог SSH. Управление(нормальное) трафиком следует производить исключительно с помощью маршрутизации, на ГНУЛе - с помощью netfilter.

SM5T001
()
Ответ на: комментарий от Legioner

У меня на компе может быть несколько разных VPN-ов от разных производителей, и разные вещи должны ходить по разным маршрутам

Если ты подключился по VPN к своему офису - логично чтобы сервера в офисе подключались через него. Но например, к Google подключаться через него не стоит, а к соседнему компьютеру в твоей квартире - еще и нельзя. Еще у меня есть VPN до двух разных хостингов, и еще есть ProtonVPN чтобы читать сайты, с ними что делать?

У VPN может быть ОПЦИЯ завернуть в него всё, это да

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 3)
Ответ на: комментарий от Legioner

VPN используют, чтобы обойти блокировки. Трафик шифрует HTTPS.

Вот и выросло поколение...

VPN был придуман задолго до блокировок и использовался задолго до них.

praseodim ★★★★★
()
Ответ на: комментарий от SM5T001

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

сеть аналог шеллу?

на ГНУЛе - с помощью netfilter

зачем, когда достаточно маршрутов?

kott ★★★★★
()
Ответ на: комментарий от alexmaru

При чём тут твоя корпоративная сеть? Речь о VPN, который дефолт роут переопределяет, чтобы порнхаб открывался. Топик не читаем, сразу отвечаем?

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

При чём тут твоя корпоративная сеть? Речь о VPN, который дефолт роут переопределяет, чтобы порнхаб открывался.

Упёртость достойна звёзд. Когда включается новая сеть в приоритетом выше, чем у уже существующих сетей, все новые коннекты отправляются в неё. Это всё, чем должна заниматься маршрутизация.

Cloudflare-овское DNS (там приложение есть), или HMA вроде бы глушат предыдущие коннекты, хотя нужно проверить.

alexmaru
()

А уязвимость то в чем? Ось должна была забить на то что у других приложений уже установлены соединения и они что-то в них делают только лишь потому что приложение протона подняло vpn туннель? Опять реклама протона

cobold ★★★★★
()
Ответ на: комментарий от alexmaru

Упёртость достойна звёзд. Когда включается новая сеть в приоритетом выше, чем у уже существующих сетей, все новые коннекты отправляются в неё. Это всё, чем должна заниматься маршрутизация.

Маршрутизация это уровень IP. На уровне IP нет никаких «коннектов». На уровне IP есть только пакеты. Все коннекты это уже уровень TCP и других протоколов этого уровня. Поэтому после включения новой сети не просто «все новые коннекты» а вообще все пакеты отправляются в неё. Блин, это же школьные знания.

Legioner ★★★★★
()
Ответ на: комментарий от alexmaru

Если бы они отправлялись, этого топика бы не было.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

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

cobold ★★★★★
()
Ответ на: комментарий от cobold

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

Legioner ★★★★★
()
Ответ на: комментарий от cobold

Ну если человек открытым текстом шлёт данные, для него может и уязвимость. Он включил VPN, отправил, например, отчёт в АНБ из Москвы, а ФСБ перехватило пакеты, ушедшие вне VPN и расстреляли шпиона. Не представляю, кто таким сегодня может заниматься, но я много чего не представляю.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Ну если человек подключен к SSH, говорит голосом в слаке, и тут ему сказали проверить в работу чего-то (да хоть как сайт себя ведёт из другой страны) - то всё должно встать нафиг по-умолчанию? коннект от ssh отрубится, потому что настроен на ip, разговор прерваться…

это обычное предположение о работе VPN в 99% случаев. А для параноиков, которым нужно записки отправлять - можно настроить по-другому.

alexmaru
()
Ответ на: комментарий от alexmaru

Ну если человек подключен к SSH, говорит голосом в слаке, и тут ему сказали проверить в работу чего-то (да хоть как сайт себя ведёт из другой страны) - то всё должно встать нафиг по-умолчанию? коннект от ssh отрубится, потому что настроен на ip, разговор прерваться…

Текущие TCP соединения (кроме соединений к самому VPN-серверу) должны «зависнуть» и отвалиться по таймауту когда-нибудь. Если этот ваш слак нормально реализован (в чём я сомневаюсь) то он прозрачно переподключится и в разговоре будет пауза в долю секунды. Ну или разговор зависнет и надо будет звонить заново.

это обычное предположение о работе VPN в 99% случаев.

Вот то, что я выше описал, это обычное предположение о работе VPN. А то, что ты хочешь, это дичь.

А для параноиков, которым нужно записки отправлять - можно настроить по-другому.

Это как если ты поменял пароль, но на всякий случай старый пароль тоже подходит, а вдруг ты забыл новый пароль. Вот примерно такой уровень.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

какая же дичь? ssh не отваливается, всё остальное не отваливается. Это реальность, которой я постоянно пользуюсь.

alexmaru
()
Ответ на: комментарий от Legioner

Со сменой пароля есть и другая аналогия, когда меняешь пароль тебя спрашивают что сделать с токенами выданными(по старому паролю) оставить или отозвать в предположении что я просто пароль забыл как оно чаще и бывает

cobold ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.