Что такое WebRTC и как это касается меня?

 
На данный момент, есть много шума вокруг утечек реальных IP-адресов при работе в браузере, посредством технологии WebRTC. Данную проблему, раздувают с определенной периодичностью, примерно с 2014 года. Так ли опасна поддержка WebRTC в браузерах WebRTC, стоит ли ее отключать и если да, то в каких случаях?

Что такое WebRTC?

WebRTC (Web Real-Time Communications), позволяет браузеру пользователя осуществлять соединение с ресурсами, которые посещает пользователь, обеспечивая высокое качество сетевой, аудио- и видеосвязи без применения стороннего ПО (например, Skype) и браузерных расширений (плагинов). Проект WebRTC (оф. сайт проекта: https://webrtc.org/) имеет полностью открытый исходный код. Доп. информация: https://ru.wikipedia.org/wiki/WebRTC
Для некоторых разработчиков, когда они узнают о WebRTC, это становится открытием: ведь можно создать видеочат без использования стороннего сервера — нужен только браузер.

В чем проблема WebRTC?

WebRTC обеспечивает не просто доступ браузера к сетевой среде независимо от используемой ОС, а предоставляет возможность определить публичный и локальный IP-адрес посредством применения протокола STUN для установки p2p-соединения в обход всех видов NAT. 

Если еще проще, то благодаря WebRTC пользователи могут создавать видеоконференции прямо в браузерах без каких-либо посредников. Данная технология, напрямую конкурирует с Skype.

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

Это серьезная угроза для тех, кто пользуется VPN-сервисами (прокси, VPN, SSH туннели...) и следит за своей конфиденциальностью в Интернете.

Что это значит для пользователей?

Если пользователь просматривает веб-ресурс в обычном режиме, без использования VPN/tor/socks, то и утечки реального IP-адреса – не будет. Ведь реальный IP-адрес будет уже виден. Так устроена технология WebRTC, которая для обеспечения связи между двумя устройствами, должна использовать реальные IP-адреса данных устройств.

Вывод?

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

Что будет, если отключить поддержку WebRTC в браузере?

Был у меня случаев, когда после отключения пользователем WebRTC в своем браузере Mozilla Firefox, он не смог провести онлайн конференцию в BigBlueButton с использованием Greenlight (упрощенным веб интерфейсов, для проведения онлайн-конференций через браузер). И это понятно, ведь WebRTC позволяет участвовать в конференциях, проводить вебинары, организовывать видео-контакт-центры и многое другое. Нужно помнить, что далеко не все веб-ресурсы, используют WebRTC.

Если у вас, после отключения WebRTC в браузере, начались проблемы на некоторых сайтах (вебинары, конференции посредством онлайн-комнат в самом браузере), стоит включить обратно WebRTC и протестировать проблему на возникшем ресурсе, чтобы исключить/подтвердит взаимосвязь с WebRTC. При этом, у WebRTC есть свои тонкости — он использует два сетевых протокола — TCP и UDP. Об этом, поговорим в конце заметки.

При этом, отключение WebRTC не повлияет (зачастую) на воспроизведение видео и аудио материалов, на веб-ресурсах. Более того, отключение WebRTC в самих браузерах, не имеет никакой взаимосвязи с остальным софтом (Skype, WhatsApp, Viber, Telegram...) установленным на устройстве. Отключение поддержки WebRTC в браузере, не влияет на их работу и на работу ОС Windows в целом.

Кому нужна защита от утечки IP-адреса посредством поддержки WebRTC в браузере?

В первую очередь, данная информация касается тех, кто работает с антидетект системами. Антидетект системы используются многими арбитражниками трафика, SMM-специалистами... И при использовании VPN/tor/socks, есть возможность раскрыть свой реальный IP-адрес через поддержку WebRTC в браузере. 

Если вы, работаете со своим антидетектом, или просто хотите сохранить анонимность и безопасность в Сети, используя для работы VPN/tor/socks, вы должны отключить поддержку WebRTC в браузере. 

Если вы, не используете прокси, VPN, Tor и другие средства для сохранения анонимности, вам нет необходимости отключать поддержку WebRTC в браузере. Максимум, вы можете отключить у себя поддержку WebRTC в браузере по инструкции ниже, для личного успокоения.

Хочу отключить WebRTC. Как это сделать?

Если вы, используете одно/несколько вышеприведенных решений (VPN/tor/socks) с целью обеспечения безопасности и сохранения анонимности в Сети, стоит отключить WebRTC технологию в своем браузере. Данного действия, будет более чем достаточно, для большинства пользователей.

У меня нет желания, дублировать данную информацию по отключению WebRTC в браузере, у себя на блоге, когда этой информации предостаточно в открытом доступе. Например, есть простая, понятная и исчерпывающая инструкция, на авторитетном сайте Comss.ru 

Со своей стороны, хочу поделиться дополнительный вариантом блокировки WebRTC для тех, кто работает с антидетект системами или на пути использования таковых решений. Данная информация, убережет вас от ошибок, при использовании антидетек систем.

Блокировка UDP протокола, для предотвращения утечки IP-адреса через WebRTC.

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

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

Однако, для подстраховки и дополнительного фикса данной уязвимости, кто не хочет выдавать свой реальный IP адрес, дополнительным способом борьбы с утечкой реального IP-адреса через WebRTC, является использование Firewall (межсетевой экран/брандмауэр/сетевой экран) для блокировки UDP трафика через ваш браузер.

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

Для чистоты эксперимента, вы можете заблокировать UDP трафик через свой браузер в брандмауэре, при включенной поддержке WebRTC в браузере и  проверить браузер на утечку IP-адреса через данный сервис

Вот, мой результат на тестовой машине (браузер Opera с включенной поддержкой WebRTC):

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

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

Для блокировки UDP трафика, вы можете использовать любой сетевой экран. В моем примере, будет использован комплексный продукт корпоративного уровня Symantec Endpoint Protection.

Блокировка UDP трафика, который идет через браузер в Symantec Endpoint Protection.

Для блокировки UDP трафика, который идет через ваш браузер, установите Symantec Endpoint Protection. После установки, откройте главное окно программы и выберите «Пред. посл. исп. экспл. сети и хоста» -> «Параметры»:

В открывшемся списке, выбираем «Настроить правила брандмауэра...»:


Выбираем в новом открывшемся окне «Добавить»: 

В открывшемся окне «Добавить правило брандмауэра» -> «Общие», указываем свое имя правила (на скрине, укажу имя «Блокировка UDP_Opera»):

Переходим во вкладку «Порты и протоколы». Выбираем  протокол UDP в выпадающем списке «Применять правило к» и в выпадающем списке «Направление», указываем «Оба» (исходящий и входящий UDP трафик):

После выбора протокола UDP в выпадающем списке «Применять правило к», вам будет предложено указать Удаленный и Локальный порт. Вы можете оставить данные поля пустыми, тогда весь трафик UDP используемым приложением, будет блокирован. Это полезно, если вы не уверены, что ваш браузер не использует сторонние порты кроме стандартных.

На завершающем этапе, указываем приложение, для которого будет действовать данное правило брандмауэра (на скрине, указан/выбран браузер Opera) и нажимаем «ОК»:

Важная заметка. На этапе выбора приложения, внимательно ищите нужное. Бывает, что указано несколько одинаковых приложений. В моем примере с браузером Opera, в настройках брандмауэра Symantec Endpoint Protection отображалось по две версии «Opera Internet Browser» и по две версии «Opera auto-updater». Отличие было только в трех последних цифрах версий, где одна была последней версией, а вторая старой версии. Соответственно, вам нужно выбирать ту версию приложения, которое самое новое (для удобства, можно выбрать все файлы, относящиеся к данному приложению, для которого создаете правило брандмауэра). И нужно помнить, что после каждого обновления приложения, для которого используется заданное правило брандмауэра, правила брандмауэра зачастую нужно обновлять (они устаревают и не работают для обновленного приложения). Это недостаток большинства брандмауэров.

После этого, проверяйте свой браузер на утечку IP-адреса. При этом, не отключайте поддержку WebRTC в браузере. Проверку выполните с отключенным VPN/tor/socks и потом с использованием VPN/tor/socks. После того, как вы увидите, что это работает, отключите поддержку WebRTC и в своем браузере.

Инструменты проверки утечки IP-адреса:

Будет полезно: «Список портов TCP и UDP».

Брандмауэр Symantec Endpoint Protection, позволяет гибко настраивать правила и вы можете использовать данное решение, для полного контроля выходя в Сеть приложений. Об этом, мы поговорим в следующей заметке: «Запрещаем выход в Интернет программе, при помощи Symantec Endpoint Protection».  

Аналогичную блокировку UDP трафика, можно настроить в стандартном брандмауэре ОС Windows 10: «Блокировка UDP трафика в стандартном брандмауэре ОС Windows 10».

WebRTC использует два сетевых протокола — TCP и UDP.

Как упоминалось в самом начале заметки, WebRTC может использовать не только UDP протокол, а и также может использовать TCP протокол. По умолчанию WebRTC предпочтение отдается UDP, но в зависимости от настроек брандмауэра, между подключенными одноранговыми узлами он может подключаться только к TCP.

Поэтому, блокировка UDP трафика посредством брандмауэра, это дополнительная (!) мера защиты от утечки IP-адреса через поддерживаемый WebRTC в браузере, а не альтернатива отключения поддержки WebRTC в браузере! 

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

Отправить комментарий

Новые Старые