WebRTC угроза для анонимности

Chrome, Firefox и другие веб-браузеры по умолчанию включают WebRTC.

Сервисы и веб-сайты могут использовать его без какого-либо взаимодействия с пользователем. Браузер с включенным WebRTC может раскрыть реальный IP-адрес устройства. Поскольку в WebRTC нет запросов на получение разрешений, сайты могут делать это, даже не сообщая пользователям. Подключение через Tor, прокси-сервер Socks или VPN, может подвергаться риску автоматической утечки реального IP-адреса устройства. Производители браузеров по большей части игнорировали огромную проблему конфиденциальности. Только некоторые браузеры имеют возможность блокировать утечки IP-адресов WebRTC. Например, Firefox позволяет пользователям полностью отключать WebRTC. Однако большинство пользователей не знают об этой проблеме и не знают механизмы отключения WebRTC.

Что такое WebRTC

WebRTC (Web Real-Time Communication) — это открытая технология, которая позволяет передавать аудио, видео и данные в реальном времени через веб-браузеры. Она широко используется для создания приложений связи, видеоконференций, потокового вещания и других приложений.

WebRTC работает по принципу одноранговой связи (peer-to-peer), то есть данные передаются напрямую от одного устройства к другому, без использования промежуточного сервера. Это позволяет значительно снизить задержку и повысить надежность связи. WebRTC применяется в следующих случаях:

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

Основное достоинство WebRTC — устанавливать соединения между пользователями, используя только браузер. Кстати, эта технология не требует никаких дополнительных плагинов. Чтобы начать ее применять необходимо написать только исходный код на HTML или JavaScript. В арсенале у WebRTC есть большой набор функций и инструментов. Кратко рассмотрим основные из них:

  • API getUserMedia необходим для управления пользовательскими устройствами из браузера. Эта функция позволяет выбрать камеру, микрофон и качество передаваемого изображения. Также можно использовать алгоритм управления шумом.
  • RTCPeerConnection имеет отношение к Peer-to-Peer, с помощью которого браузеры связываются напрямую друг с другом. Встроенная поддержка серверов Stun/Turn обеспечивает возможность обхода NAT (из-за него видеопотоки могут не дойти до пользователей).
  • RTCDataChannel применяется для передачи текста и файлов различных форматов параллельно с видео.

Стоит отметить, что старая технология Flash фактически вышла из употребления и не используется в современных браузерах с 2017 года. WebRTC пришел на смену Flash? Увы, нет. С технической точки зрения так сказать нельзя. С помощью WebRTC лишь частично реализуется функционал Flash.

На базе каких протоколов работает WebRTC?

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

Технология WebRTC использует следующие кодеки для аудио: Opus, G.722, iLBC, iSAC. Для передачи видео применяются кодеки: VP8, H.264, VP9, H.265.

Ниже перечислим основные достоинства WebRTC:

  • Нет необходимости в дополнительном оборудовании. Для организации видеосвязи пользователю нужен лишь ноутбук (или смартфон) с доступом в Интернет и браузер.
  • Не нужно никакое дополнительное программное обеспечение. WebRTC поддерживается всеми популярными браузерами (Chrome, Mozilla Firefox, Safari, Yandex, Edge).
  • Пользователи могут открывать страницу онлайн-встречи без предварительной регистрации.
  • WebRTC обеспечивает низкую задержку 0,5 секунд, так как данные передаются напрямую (без обработки).
  • Передача осуществляется по зашифрованным каналам, что обеспечивается протоколами HTTPS, DTLS, SRTP.
  • Технология WebRTC является проектом с открытым исходным кодом, что позволяет легко и просто интегрировать ее разработчикам в свои проекты.

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

Опасно ли применение WebRTC?

Самый главный недостаток технологии WebRTC — это возможность определения IP-адреса пользователя. Причем, скрыть свой IP не помогут даже Tor и большинство VPN. WebRTC использует P2P, данная технология запрашивает IP-адрес пользователя при обмене информацией. Злоумышленник все равно может узнать реальный IP, используя уязвимость в WebRTC. Дело в том, что WebRTC позволяет определять IP-адреса пользователей через протокол ICE (Interactive Connectivity Establishment). Этот протокол использует несколько методов обнаружения IP-адресов, например, через STUN/TURN-серверы, которые раскрывают IP-адрес пользователя так же, как веб-сайт видит его IP-адрес, когда он его загружает. Второй метод — это обнаружение адресов IPv6. Если у устройства IPv6-адрес, и он обнаружен с помощью протокола ICE, то конфиденциальные данные пользователя могут стать доступными для злоумышленника.

Полезен ли WebRTC и нужно ли его отключать? Однозначно, да, полезен и отключать не нужно, если планируете совершать видеозвонки, участвовать в онлайн-конференциях и т.п.

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

22
8 комментариев

:facepalm:

И что, что мой IP знает каждая собака? Он запрятан за 3 слоями NAT'а от оператора

Ответить

Так и если у тебя динамика, то париться тут не о чем

Ответить

Проблема если он статика и провайдер рубит тебе инет потому что тебя досят. у меня так было пару раз

Ответить

Комментарий недоступен

Ответить

и? привет от Сбера и других банковских приложений, госуслуг и т.п.
Так не пойдет, да, лить в туннель, но через маршрутизацию, ру-трафик напрямую, иностранный через прокси ;) Так будет правильно.

Ответить