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
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
Les 5 dernières publications de Mahi
- Streaming Ligue des Champions 2019-2020 avec un VPN - December 10th, 2019
- Comment regarder gratuitement l'UEFA Champions League 2019 - December 10th, 2019
- VPN permet de regarder la Ligue des Champions sur la RTS - December 10th, 2019
- IbVPN Black Friday 2019 - November 27th, 2019
- NordVPN Black Friday 2019 - November 26th, 2019
Merci pour ce superbe article je vous recommande VPNBOOK six serveurs gratuit sans installer aucun logiciels ….