Статьи и сравнения

Утечка WebRTC: что это такое и как проверить свой браузер

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

Проверьте свой браузер прямо сейчас

Проверяю браузер…

Как WebRTC находит адреса

Чтобы соединить два браузера, WebRTC собирает так называемые ICE-кандидаты: локальный адрес устройства в его сети, публичный адрес, который видит STUN-сервер, и адреса ретрансляторов. Страница может создать такое соединение без всякого звонка и прочитать кандидатов, которых выдает браузер.

Утечка локального адреса

Локальный адрес вроде 192.168.1.23 не раскрывает, где вы, но помогает отличить ваше устройство от других за тем же роутером и был частью многих отпечатков. Современные браузеры прячут его по умолчанию: Chrome, Edge и Firefox заменяют его случайным именем с окончанием .local (mDNS), а Safari не показывает его без разрешения на камеру или микрофон.

Утечка публичного адреса за VPN

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

Как проверить

Проверка SpoofLens на этой странице и страница «Мой IP» собирают кандидатов WebRTC локально, не обращаясь ни к одному внешнему STUN-серверу. Они показывают, виден ли ваш локальный адрес, спрятан ли он за mDNS или недоступен вообще.

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

Как устранить утечку

Для владельцев сайтов

Публичный адрес WebRTC, который отличается от адреса соединения, - сильный признак VPN или прокси. Видимый локальный адрес означает только то, что браузер его не прячет. Ни то, ни другое само по себе не означает мошенничества: многие пользуются VPN ради приватности.

Частые вопросы

Может ли WebRTC выдать мой IP, когда я не на звонке?
Да. Любая страница может начать собирать кандидатов без звонка и ничего не показывая, поэтому браузеры теперь прячут локальные адреса по умолчанию.
Достаточно ли скрытия через mDNS?
Для локальных адресов в большинстве случаев да. От утечки публичного адреса через VPN, который покрывает не весь трафик, оно не защищает.
SpoofLens обращается к STUN-серверу?
Нет. Проверка не выходит за пределы вашего браузера и нашего собственного сервера, поэтому наши страницы и работают под строгой политикой Content Security Policy.

Читайте также