Бесплатно Экспресс-аудит сайта:

04.02.2015

WebRTC позволяет раскрыть локальный IP-адрес

Как сообщает online-издание I Programmer, поддерживаемая браузерами Firefox и Chromium технология WebRTC, которая позволяет осуществлять аудио- и видеозвонки непосредственно из браузера, имеет существенный недостаток.

Практически все внутренние сети используют приватные или локальные IP-адреса, которые не могут применяться в открытом интернете. Когда система подключается к глобальной Сети, она использует публичный IP-адрес, «видимый» для других систем. Тем не менее, WebRTC позволяет раскрыть локальный IP-адрес.

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

WebRTC допускает отправку запросов к STUN-серверам, которые возвращают как публичный, так и локальный IP-адрес. Поскольку подобные запросы можно осуществлять с помощью скрипта, IP-адреса отображаются средствами JavaScript. При этом не используется XMLHttpRequest, и запросы не видны из консоли разработчика. Кроме того, они не поддаются блокировке с помощью AdBlockPlus, Ghostery и т.п.

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