Утечка 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-сервера и запланирован в следующей версии.
Как устранить утечку
- Обновляйте браузер: текущие версии прячут локальные адреса по умолчанию.
- Пользуйтесь VPN-приложением, которое пропускает весь системный трафик, а не только прокси-расширением для браузера, и включите его защиту от утечек, если она есть.
- В Firefox можно полностью отключить WebRTC параметром media.peerconnection.enabled = false в about:config. Видеозвонки в браузере перестанут работать.
- В браузерах на Chromium расширение, которое задает политику обработки IP для WebRTC, может ограничить кандидатов маршрутом через прокси.
Для владельцев сайтов
Публичный адрес WebRTC, который отличается от адреса соединения, - сильный признак VPN или прокси. Видимый локальный адрес означает только то, что браузер его не прячет. Ни то, ни другое само по себе не означает мошенничества: многие пользуются VPN ради приватности.
Частые вопросы
- Может ли WebRTC выдать мой IP, когда я не на звонке?
- Да. Любая страница может начать собирать кандидатов без звонка и ничего не показывая, поэтому браузеры теперь прячут локальные адреса по умолчанию.
- Достаточно ли скрытия через mDNS?
- Для локальных адресов в большинстве случаев да. От утечки публичного адреса через VPN, который покрывает не весь трафик, оно не защищает.
- SpoofLens обращается к STUN-серверу?
- Нет. Проверка не выходит за пределы вашего браузера и нашего собственного сервера, поэтому наши страницы и работают под строгой политикой Content Security Policy.
Читайте также
- Отпечаток браузера: что это такое и как он работает
- Как сайты обнаруживают ботов и автоматизированные браузеры
- Отпечатки canvas, WebGL и аудио: как они работают
- Часовой пояс против IP: почему сайты замечают ваш VPN
- Как сайты распознают антидетект-браузеры
- User-Agent Client Hints: что пришло на смену строке User-Agent