La faille WebRTC dévoile votre réelle IP

Cette faille WebRTC  fait l’ effet d’ une bombe. Elle permet de dévoiler votre IP F.A.I même si vous êtes connectés à votre VPN favori.

Mais comment ?

C’est très simple. WebRTC (pour Web Real-Time Communication) implanté dans Chrome et Firefox (uniquement sous Windows) permet de faire de la visiophonie entre navigateurs et sans autres logiciels installés. Sur le principe c’est très bien. Sauf que dans le cas de la VOIP votre ordinateur doit connaître votre adresse IP publique (celle du F.A.I). Pour cela il interroge un serveur STUN qui lui renvoie cette info en vue de l’établissement d’une communication.

Le problème est que le serveur STUN communique aux deux navigateurs l’adresse IP privée et publique.

Faîtes l’ essai en local chez vous. Connectez-vous à un VPN puis ouvrez la console de Chrome (F12 sous Chrome puis onglet Console) ou Firefox et copiez ce script

//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);});

En cas de connexion à un VPN vous obtenez en retour l’ IP du VPN mais aussi l’ IP F.A.I. Ici le test avec VPN.AC

webrtc VPN

Pour s’en protéger il suffit de:

  • Sous Firefox. Dans votre barre d’ adresse tapez: about:config puis mettez l’ option media.peerconnection.enabled sur false
  • Sous Chrome. Installez l’ addon WebRTC Block

Depuis que la faille est apparue en février 2015 certains VPN intègrent une protection à leur logiciel de connexion OpenVPN. C’est le cas de LiquidVPN, meilleur VPN pour le Téléchargement Direct (grâce à son IP Modulating)

Il vous suffit simplement de cocher l’ option WebRTC Protection

LiquidVPN settings

 

5 derniers articles de Mahi

Share

1 Commentaire sur “La faille WebRTC dévoile votre réelle IP”

LAISSER UN COMMENTAIRE

  1. informatique sur Rouen dit :

    Merci pour ce superbe article je vous recommande VPNBOOK six serveurs gratuit sans installer aucun logiciels ….