WebRTC и как спрятать свой истинный IP

WebRTC и как спрятать свой истинный IP

Как проверить использует ли ваш браузер WebRTC

В браузере chrome или любом другом браузере на основе Chromium, таких как Opera или Яндекс в адресной строке введите -> chrome://webrtc-internals/ и увидите все соединения WebRTC. Пользователи Mozilla Firefox в адресной строке следует ввести -> about:WebRTC. Адрес сайта будет указан в Firefox в разделе «Статистика сеансов».

Дело в том, что соединение WebRTC, указанное браузером, не всегда означает, что произошла утечка IP-адреса используемого устройства.Если кто-то настроил свой браузер на блокировку утечек WebRTC или если программное обеспечение VPN позволяет пользователям автоматически блокировать утечки IP-адресов WebRTC, утечки IP-адресов не произойдет.

Здесь можно задаться вопросом: если не использовать браузер, опасен ли WebRTC? В целом, для большинства пользователей WebRTC не предоставляет опасности, если не использовать браузер. Однако, есть некоторые виды компьютерных атак, при проведении которых, хакеры эксплуатируют данную уязвимость.

К примеру, это атака MitM (Man in the Middle Attacks или «человек посередине»). MitM —это метод компрометации канала связи, при котором злоумышленник, подключившись к каналу связи между сторонами, осуществляет вмешательство в протокол передачи, удаляя или подменяя данные. Специалистами по кибербезопасности был проведен учебный эксперимент (описанный подробно здесь) в ходе которого был скомпрометирован сервер «сигнализации», используемый в технологии WebRTC.

Можно привести в пример некоторые уязвимости, связанные с применением технологии WebRTC, например, Janus WebRTC Server, который используют в случае, когда P2P-соединения недостаточно для организации видеосвязи. Исследователи в 2020 году обнаружили 6 уязвимостей в данном WebRTC-сервере под Linux с открытым исходным кодом. Сервер используется при проведении конференц-звонков известными компаниями, например, Motorola, Mozilla и Slack. Одна из уязвимостей (CVE-2020-13901) позволяла злоумышленнику оказывать влияние на данные в стековой части памяти ПО, вызывать отказ в обслуживании или даже удаленно выполнять код на уязвимом сервере. Данные уязвимости были устранены компанией Meetecho достаточно быстро.

Также хочется упомянуть хорошо известный инцидент с деанонимизацией пользователей мессенджера Signal. Этот продукт рекомендовал сам Эдвард Сноуден, как надежный и анонимный мессенджер. Однако, в Signal была обнаружена уязвимость CVE-2020–5753. Суть проблемы в том, что данный мессенджер использует собственный форк WebRTC для голосовых и видео звонков на расстоянии. Для соединения с удаленным одноранговым узлом WebRTC применяет технологию, которая называется «сигнализация». Назначение промежуточного сервера-«сигнализации» — это обмен публичными и частными IP-адресами каждого однорангового узла. Это делается с целью, чтобы каждый одноранговый узел мог обнаруживать друг друга и затем устанавливать оптимальное соединение. Так вот, атака осуществлялась на сервер «сигнализации», в результате атаки у злоумышленника появлялась возможность деанонимизации пользователей мессенджера Signal. Подробное описание атаки доступно здесь.

По существу, если не использовать браузер, то технология WebRTC не опасна для пользователей. Но здесь нужно рассмотреть отдельно применение мобильных приложений. Дело в том, что для разработки некоторых мобильных приложений (особенно мессенджеров, где используется видеосвязь) применяют специальные SDK, которые помогают разработчику встроить функционал WebRTC в свое приложение. Пример подобного SDK.

Используется ли WebRTC в любом известном приложении (Твиттер и т.д.)? - на этот вопрос ответ разработчики должны дать открыто. Или вопрос разрешается специалистами с помощью аудита моб. приложения. Такие приложения как банковские проходят аудит ежегодно по ОУД-4, см. нормативку ЦБ РФ.

Как правило, такие мобильные приложения позволяют осуществлять VoIP звонки, видеотрансляции и т.д. Также они поддерживают связь с браузерами и SIP. Естественно, подобные приложения могут иметь уязвимости ИБ, так как используют WebRTC. Это мы увидели на примере известной утечки из мессенджера Signal. Однако, изучение таких уязвимостей — дело специалистов по информационной безопасности, которые должны проводить тестирование и аудит ИБ подобных приложений и оповещать о найденных уязвимостях. Задача пользователей — быть информированным, пользоваться только надежными приложениями и применять проверенные VPN для скрытия своего IP (если есть необходимость).

Как проверить утечку реального IP-адреса через WebRTC в браузере на ПК

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

Для проверки утечки IP-адреса через WebRTC необходимо выполнить следующие действия:

  • Перейти на страницу с проверкой.
  • Запустить проверку без использования VPN (ниже см. результаты проверки в браузерах Chrome, Mozilla Firefox, Edge):
<i>Скриншот 1. Реальный IP до включения VPN.</i>
Скриншот 1. Реальный IP до включения VPN.
  • Запустить проверку в режиме системного прокси (не скрывает реальный ip-адрес через webrtc. Этот режим используется в большинстве клиентов на телефоне)
<i>Скриншот 2. Реальный IP с включенным режимом "системный прокси"</i>
Скриншот 2. Реальный IP с включенным режимом "системный прокси"
  • Дальше мы проверяли утечку с помощью пяти платных VPN, утечки реального IP нет. Определяется тот IP, который подменяет VPN. Однако, виден публичный IPv6. Вы можете провести проверку любого VPN на ПК, телефоне используя ссылку представленную в начале этого тестирования.
  • А сейчас таким же образом проверим утечку IP через WebRTC, работая с сервисом VPN tunnel. Итак, до включения сервиса, у нас во всех браузерах показывается результат теста с нашим реальным IP (см. скриншот 1).
  • Подключаем сервис VPN tunnel с помощью клиента NekoRay (обязательно ставим галочку на «Режим TUN»):
<i>Скриншот 3. VPN tunnel запущен с помощью клиента NekoRay.</i>
Скриншот 3. VPN tunnel запущен с помощью клиента NekoRay.
  • Далее проверяем во всех вышеперечисленных браузерах, есть ли утечка реального IP при подключенном VPN tunnel. Ниже, анализируем результат проверки: выдается сообщение о выключенном WebRTC.
<i>Скриншот 4. VPN tunnel в режиме TUN, сообщение об отключенном WebRTC.</i>
Скриншот 4. VPN tunnel в режиме TUN, сообщение об отключенном WebRTC.
Начать дискуссию