Пример утечки 2: утечки WebRTC

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


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

Обзор WebRTC

WebRTC – это набор открытых технологий, который позволяет веб-страницам обеспечивать одноранговую (P2P) связь через веб-браузер. Большинство современных браузеров теперь полностью поддерживают стандарт WebRTC.

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

WebRTC утечки

Утечки WebRTC являются формой утечки IP. Веб-страницы могут использовать JavaScript WebRTC API, чтобы запрашивать у браузера IP-адреса устройства. После того, как они собрали эти IP-адреса, они могут отправить их на свои серверы и использовать их для определения того, кто обращается к определенной веб-странице или услуге..

Большинство приложений VPN эффективно защищают от утечки адресов IPv4 через WebRTC, однако многие приложения VPN имеют тенденцию игнорировать утечки адресов IPv6 таким же образом.

Как WebRTC обнаруживает IP-адреса?

WebRTC использует два основных метода для определения IP-адресов устройства: серверы STUN / TURN и Host Candidate Discovery.

STUN / TURN серверы обнаруживают IP-адреса, проверяя, какой публичный IP-адрес используется для доступа к ним. Обычно это не является причиной утечки VPN-IP.

Host Candidate Discovery более проблематично, когда дело доходит до утечек WebRTC. Эта функция позволяет браузерам напрямую проверять вашу систему и сетевые интерфейсы и видеть, какие IP-адреса связаны с ними.

Для работы всех активных сетевых интерфейсов на устройстве требуются IP-адреса. Например, для активного соединения Wi-Fi на устройстве будет соответствующий сетевой интерфейс. Этот интерфейс в свою очередь будет иметь IP-адрес.

WebRTC может раскрывать эти IP-адреса, которые обычно не могут быть видны внешнему устройству, веб-страницам.

Почему утечки IPv6 проблематичны?

Адреса IPv4 не хватает – их просто не хватает! Обычно IPv4-адреса распределяются между людьми. Для этого используется система трансляции сетевых адресов (NAT). Эта система позволяет устройствам назначать локальные IPv4-адреса своим сетевым интерфейсам, совместно используя общий публичный IP-адрес, обычно через интернет-провайдера. Эти локальные IP-адреса используются во всем мире миллионами компьютеров по всему миру, и их трудно напрямую связать с конкретным человеком..

Проблема с IPv6 заключается в том, что адресов не хватает. Есть много их! Это означает, что каждому человеку обычно назначается уникальный IPv6-адрес. Когда такой IPv6-адрес назначается сетевому интерфейсу, это означает, что WebRTC может обнаружить IP-адрес, который идентифицирует вас, даже если этот IP-адрес обычно не виден внешнему миру..

Какие бывают типы утечек??

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

Обратите внимание, что производители браузеров могут использовать разные методы для реализации WebRTC, поэтому один браузер может просочиться, а другой – нет, даже при той же настройке устройства и поставщика VPN.

Постоянные утечки (разрешения не требуются)

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

Вызванные утечки (требуются разрешения)

Веб-страницы могут явно запрашивать разрешения на использование функций, связанных с WebRTC. Эти разрешения фактически классифицируются как Микрофон и камера разрешения. Причина этого заключается в том, что WebRTC является технологией, ориентированной на P2P-связь, такую ​​как голосовые вызовы или видеоконференции..

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

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

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

  • Не используйте сайты и сервисы с поддержкой WebRTC
  • Принять риски безопасности и конфиденциальности, связанные с раскрытием их IP-адреса.

Тестирование на утечки

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

Ручное тестирование

Вы можете вручную проверить на утечки, используя наш онлайн тест на утечку WebRTC.

Репро Шаги

  • Убедитесь, что страница проверки утечки закрыто
  • Убедитесь, что ваше VPN-приложение несвязно
  • Посетите страницу тестирования утечки WebRTC
  • Запишите все общественности IP-адреса, которые вы видите в тестовом выводе
    • Они будут отображаться с их Положение дел как «потенциальная утечка»
  • Закройте страницу проверки на герметичность
  • Подключитесь к вашему VPN
  • Повторно открыть страницу проверки утечки WebRTC
  • Если вы видите какой-либо из IP-адресов, который вы только что отметили выше, то у вас есть утечка

Обратите внимание, что мы просим вас закрыть страницу проверки на утечку, чтобы избежать проблем с кэшированием в браузере. Многие браузеры кэшируют IP-адреса, обнаруженные через WebRTC, поэтому перезагрузка веб-страницы не является надежным способом запуска теста..

Обратите внимание, что эта тестовая страница проверяет только самые серьезные утечки, то есть «постоянные утечки», описанные выше. Чтобы проверить, нет ли у вас утечки при предоставлении разрешений вашему браузеру, мы предлагаем вам использовать приведенные ниже инструменты для проверки утечки..

Тестирование с использованием средств тестирования утечки ExpressVPN

ExpressVPN Leak Testing Tools – это расширяемый набор инструментов Python с открытым исходным кодом, предназначенный как для ручного, так и для автоматического тестирования утечек в VPN-приложениях. Пожалуйста, смотрите наше введение в инструменты для инструкций по загрузке и настройке инструментов.

После настройки инструментов убедитесь, что вы находитесь в корневом каталоге инструментов, и выполните:

./run_tests.sh -c configs / case_studies / webrtc_leaks.py

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

  • Убедитесь, что тестируемое приложение VPN отключено
  • Определите общедоступные IPv4 и IPv6-адреса устройства
  • Подключите приложение VPN
  • Используйте упрощенную веб-страницу тестирования на утечку для сбора IP-адресов WebRTC
  • Проверьте, виден ли какой-либо из общедоступных IP-адресов, собранных до подключения, через WebRTC после подключения

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

Примечание. Вы можете настроить используемые браузеры, изменив Браузеры список в webrtc_leaks.py файл.

Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map