Как отключить WebRTC в браузере Firefox и Chrome

Краткая информация

WebRTC (Web Real-Time Communication) — технология с открытым исходным кодом, позволяющая передавать потоковые данные между браузерами по технологии «точка-точка» (p2p).

WebRTC встроен по умолчанию в последних версиях Firefox, Chrome/Chromium, Opera и позволяет производить соединение между двумя и более браузерами для видео/аудио-звонков и не только.

Почему не безопасно?

Дело в том, что для соединения по принципу p2p необходимо знать реальный IP-адрес и WebRTC эту информацию бесстыдно сливает. Даже если вы сидите под TOR/VPN то не составит особого труда узнать ваш локальный IP-адрес в сети и на стороне, например, VPN-сервера. А с использованием уязвимостей можно определить ваш реальный IP, за которым вы скрываетесь.

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

Для проверки локального IP используйте страницу: https://diafygi.github.io/webrtc-ips/

JavaScript-код и описание доступны на следующей странице: https://github.com/diafygi/webrtc-ips

Проверить включенность камеры, звука, захвата экрана и т.д. в браузере можно по ссылке: https://www.browserleaks.com/webrtc

Как отключить

Firefox

Вызываем скрытые настройки по about:config в адресной строке, ищем параметр media.peerconnection.enabled, выставляем его в false.

[ad name=»Responbl»]

Кроме этого вам необходимо отключить следующие службы:

Google Safe Browsing

Который сливает историю сёрфинга в Google. Требуется предупреждение, что отключение Safe Browsing повышает риск подхватить заражения в результате посещения вредоносного сайта.

browser.safebrowsing.enabled
browser.safebrowsing.downloads.enabled
browser.safebrowsing.malware.enabled

Статистика Firefox

Отправляет в Mozilla отчёты о стабильности и производительности.

datareporting.healthreport.service.enabled
datareporting.healthreport.uploadEnabled

Статистика использования.

toolkit.telemetry.enabled

Encrypted Media Extensions (DRM)

Бинарный плагин с неизвестным исходным кодом, который поставляется вместе с Firefox, начиная с версииv 38. Позволяет воспроизводить зашифрованный медиаконтент и использовать Netflix и др. без Microsoft Silverlight. Для полного удаления плагина нужно установить версию EME-free браузера Firefox.

media.eme.enabled
media.gmp-eme-adobe.enabled

Firefox Hello

Firefox подключается к сторонним серверам (Telefonica) без разрешения.

loop.enabled

Интеграция с Pocket

Сторонний сервис для управления списком статей, отложенных для прочтения.

browser.pocket.enabled

Геолокация

geo.enabled

Поисковые подсказки

Всё набранное в строке поиска отправляется поисковой системе. После отключения этой опции подсказки продолжат работу, но только на основе локальной истории поиска.

browser.search.suggest.enabled

Защита от слежки со стороны сайтов

В отличие от всех перечисленных выше, эту опцию, наоборот, следует включить. Это нужно для активной блокировки сайтов, которые известны своим некорректным поведением в отношении слежки за пользователями. Не путать с DNT, которая только «просит» сайты не отслеживать вас. Здесь же осуществляется принудительная блокировка.

privacy.trackingprotection.enabled

Chrome/Chromium

Отключается лишь установкой небольшого расширения (~10 кб): WebRTC Block, правда локальный IP адрес браузер не перестаёт светить.

В браузерах на основе Chromium и Firefox реализована поддержка технологии WebRTC для аудио- и видеочатов прямо из окна браузера. Кроме удобства, эта функция имеет неприятный побочный эффект.

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

Запросы отправляются в обход стандартной процедуры XMLHttpRequest и не видны из консоли разработчика, их нельзя заблокировать плагинами вроде AdBlockPlus или Ghostery. Таким образом, эти запросы могут использовать, например, рекламодатели, для скрытного отслеживания пользователей.

На этой демо-странице ты увидишь свой собственный локальный и внешний IP.

003

Такой код работает в Firefox и Chrome. Его можно скопировать в консоль разработчика для тестирования.

//get the IP addresses associated with an account
function getIPs(callback){
    var ip_dups = {};

    //compatibility for firefox and chrome
    var RTCPeerConnection = window.RTCPeerConnection
        || window.mozRTCPeerConnection
        || window.webkitRTCPeerConnection;
    var mediaConstraints = {
        optional: [{RtpDataChannels: true}]
    };

    //firefox already has a default stun server in about:config
    //    media.peerconnection.default_iceservers =
    //    [{"url": "stun:stun.services.mozilla.com"}]
    var servers = undefined;

    //add same stun server for chrome
    if(window.webkitRTCPeerConnection)
        servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]};

    //construct a new RTCPeerConnection
    var pc = new RTCPeerConnection(servers, mediaConstraints);

    //listen for candidate events
    pc.onicecandidate = function(ice){

        //skip non-candidate events
        if(ice.candidate){

            //match just the IP address
            var ip_regex = /([0-9]{1,3}(.[0-9]{1,3}){3})/
            var ip_addr = ip_regex.exec(ice.candidate.candidate)[1];

            //remove duplicates
            if(ip_dups[ip_addr] === undefined)
                callback(ip_addr);

            ip_dups[ip_addr] = true;
        }
    };

    //create a bogus data channel
    pc.createDataChannel("");

    //create an offer sdp
    pc.createOffer(function(result){

        //trigger the stun server request
        pc.setLocalDescription(result, function(){}, function(){});

    }, function(){});
}

//Test: Print the IP addresses into the console
getIPs(function(ip){console.log(ip);});

Единственные расширения, которые блокируют такие запросы, — это расширения, полностью запрещающие выполнение скриптов, как NoScript для Firefox. Разумеется, в настройках браузера тоже есть опция, чтобы запретить скрипты.

004

Click to rate this post!
[Total: 9 Average: 3.7]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

11 comments On Как отключить WebRTC в браузере Firefox и Chrome

  • Pingback: Как проверить свою анонимность в сети интернет - Cryptoworld ()

  • Установите себе Tor Browser ( https://www.torproject.org/projects/torbrowser.html ) и радуйтесь. При использовании браузера Тор, никто и никак вас не отследит, полная и безоговорочная анонимность в сети.

  • Pingback: Борьба с утечкой IP через WebRTC - Cryptoworld ()

  • Не надо Tor представлять суперзвездой анонимности. Настоящий IP адрес вычисляется элементарно. Ни какой Tor (затор) здесь не поможет )))

    • Вы можете предложить более хороший вариант скрыть IP адрес?
      или же лично у вас есть инструмент деанонимизации пользователей TOR ?
      Давайте послушаем Вас. что умного вы можете нам рассказать?

  • Все верно. Иногда требуется не анонимность, а уникальность, что сродни, по причине отслеживания. Плагины и Тор «палят» в обоих случаях.
    Спасибо за хороший материал!

  • Спасибо за материал.
    Было бы супер, если автор расписал больше об уникальности пользователя.
    Как можно спалиться, кроме — UserAgenta, отключения WebRTC, удаления куков, работы прокси через DNS именно проксей, а не компа.
    И т.д.

    Интересует девственно-новый пользователь 🙂

  • К сожалению хочу огорчить пользователей программ типа Tor, анонимайзеров,сетей VPN,различных прокси и DNS,а также работу через виртуальные машины и диски с операционными системами типа Tails не думайте что Вы начитавшись умных статей и используя эти виды средств анонимизации будете невидимы,особенно,когда Ваш компьютер ранее оставил отпечатки в сети,никакие такие средства Вас не спасут от спецслужб. Не тратьте время на псевдо анонимизацию, данные системы помогут только лишь обходить запреты на доступ к некоторым сайтам и контенту запрещенному в стране,но анонимным Вы в сети не будете никогда,даже переезжая с места на место и используя общественные точки доступа и др шпионские штучки

  • Абсолютно согласен с Anonimus! Спрятаться можно от соседа (если он не из «конторы»). Что касается любой деятельности в интернете — ваш провайдер видит все входящие и исходящие потоки с вашего компа по выделенному вам интернет-транспорту. Все посещаемые вами адреса сайтов, адреса мессенджеров и т.д.. Единственное, что вы действительно можете спрятать — это свою переписку и передачу файлов, предварительно зашифровав их надлежащим образом на другом, отключенном от сети компьютере, перенеся затем флеш-накопителем уже в готовом виде. Все остальное — ваш провайдер ВИДИТ, что бы вам не говорили Эдики Сноудены, рекламируя «безопасный» мессенджер… Спорная ситуация с Телеграммом возникла по простой причине — Дуров оправдал свою фамилию. Ему не надо было (да и никому никогда нельзя!) спорить с Федералами. Нужно было тихо предоставить допуски и никто бы об этом не узнал. А так, теперь все знают, что Дуров сливает своих партнеров. Остальные молчат, но ситуация у всех одна — доступ к вашим «секретным материалам» открыт для «Министерства добрых дел» всегда. Поэтому, не стоит тешить себя надеждами TOR и любыми другими машинами передачи информации — все равно ваша информация (с любой машины) будет исходить или входить через поставщика интернета.

  • Несколько месяцев назад Я сорвал куш в этом современном клубе

Leave a reply:

Your email address will not be published.