Daniel Roesler, un chercheur en sécurité informatique travaillant à Oakland, a publié hier une démo surprenante (31 janvier 2015). Si vous utilisez un VPN (hors CISCO) sur Windows et que vous surfez avec Chrome ou Firefox, votre IP réelle peut être découverte par n’importe quel site web sans même que vous ne le sachiez.
EDIT : la faille pourrait fonctionner sur les OS GNU/Linux. A confirmer, je n’ai pas encore pu essayer personnellement.
A l’heure où j’écris ces lignes, la faille est toujours opérationnelle. Si elle ne l’est plus au moment où vous lisez cet article, les explications que j’y donne reste valables et vous intéresseront si vous avez envie de comprendre un peu mieux le fonctionnement d’Internet.
Avant de détailler la faille, il est important de comprendre le principe du protocole STUN (RFC 5389). C’est assez simple vous allez voir.
A quoi sert un routeur ?
Vous utilisez sûrement une box Internet chez vous, pour vous connecter à Internet (une bbox, une livebox, etc…). Dans le jargon informatique, une box s’appelle un routeur. Pour faire simple, on peut dire qu’un routeur sert à connecter un réseau informatique à un autre réseau informatique.
Dans votre cas, votre box vous sert à connecter votre petit réseau local (c’est à dire tous les appareils de votre maison : téléphone, ordi, tablette, …) à un gros réseau qui s’appelle… Internet !
Venons en au fait ! Votre box, comme tout routeur qui se doit, a une mission importante : offrir à votre réseau local une adresse IP pour être identifiable sur Internet. C’est entre autre pour cela que vous payez votre fournisseur d’accès tous les mois une trentaine d’euros.
Votre maison ne peut pas être branchée à Internet si elle ne dispose pas d’une adresse IP publique. Ça serait comme rouler sur l’autoroute sans plaque d’immatriculation en quelques sortes.
Pour résumer en 2 mots : un routeur (votre box) sert à connecter votre maison à Internet. Cette box a une mission bien particulière : rendre votre petit réseau local visible sur le grand Internet, en lui attribuant une adresse IP.
A quoi sert le protocole STUN ?
Maintenant, passons à la faille à proprement dite.
Sans rentrer dans le fonctionnement d’un réseau informatique, vous devez savoir qu’un ordinateur à l’intérieur de votre maison n’est pas censé connaître l’IP publique qui l’identifiera sur Internet. Il n’en a pas besoin en fait…. enfin, presque pas besoin.
Je dis « presque », parce que certaines applications comme la « voix sur IP (voIP) », c’est à dire téléphoner en utilisant Internet, obligent votre ordinateur à connaître son adresse IP Internet. Le pauvre, il ne la connait pas et n’a aucun moyen de la connaître (même si ça peut paraître bizarre).
Pour palier à ce problème, les informaticiens ont inventé le serveur STUN. Il s’agit d’un système qui permet à un ordinateur de connaître sa propre adresse IP Internet (et pas mal d’autres trucs sympas) simplement en allant la demander à un serveur situé à l’autre bout de la planète. C’est le job des serveurs STUN. Ouf, heureusement qu’ils sont là.
La faille STUN / Web-RTC
Vous commencez à voir le lien avec l’histoire des VPN ? La majorité des navigateurs Internet utilisent cette technologie des serveurs STUN lorsqu’ils en ont besoin (encore une fois, dans des situations assez particulières).
Cependant, les versions Windows de Firefox et Chrome ont un gros problème : elles permettent à n’importe quel site web de récupérer l’adresse IP réelles des internautes, par l’intermédiaire d’une technologie que l’on appelle WebRTC, couplée au protocole STUN dont je vous ai parlé.
Pour vous le prouver, il suffit d’aller sur cette page que j’ai hébergée ici. Si vous utilisez un VPN en visitant cette page ET que vous utilisez Chrome/Firefox sur Windows, vous verrez l’adresse IP que vous tentez de cacher. Si vous la voyez, cela veut dire je peux aussi l’enregistrer de mon côté pour vous identifier… pas top !
Comment vous protéger de la faille ?
Pour être tranquille, vous devez bloquer l’API WebRTC sur votre navigateur. Il s’agit du module de développement qui sert à interroger le serveur STUN qui communique votre IP réelle. Bloquer WebRTC peut rendre indisponible certaines applications qui l’utilisent.
- Pour vous protéger sur Chrome / Chromium / Opera, il suffit d’installer l’extension suivante qui désactive WebRTC : WebRTC Block.
- Pour vous protéger sur Firefox, tapez about:config dans votre barre d’adresse du navigateur. Cherchez le paramètre « media.peerconnection.enabled », faîtes un clic droit dessus puis « inverser » (pour le passer à false).
- Pour vous protéger sur Internet Explorer et Safari : ces deux navigateurs n’utilisent pas WebRTC à l’origine de la faille. Vous n’avez donc rien à faire.
- Pour vous protéger sur TOR Browser : par défaut, TOR Browser désactive WebRTC. Là encore, aucun problème à signaler.
Pour en savoir plus
Si les notions de réseau que j’ai vulgarisées vous intéressent, voici quelques articles intéressants pour en savoir plus :
- Wiki : Network address translation (FR)
- Wiki : Routeur (FR)
- Wiki : l’API WebRTC (FR)
- Le site du chercheur qui a trouvé la faille (EN)
23 Commentaires
Tosh
1 février 2015 à 19 h 40 minJuste pour info, la faille semble aussi fonctionner sous Linux/firefox…
Pensez donc à désactiver l’option dans firefox, MEME si vous n’êtes pas sur windows 😉
Charles Cohle
1 février 2015 à 20 h 32 minHo, sérieux ?! Je n’ai pas de GNU/Linux sous la main, j’ai testé seulement avec OS/X et Windows. Merci pour l’info, je vais essayer d’essayer.
Bastien
26 novembre 2016 à 12 h 58 min« Essayer d’essayer » J’ai bien rit. J’aime bien ce genre d’expression.
Matt78
24 février 2015 à 11 h 55 minAttention, WebRTC n’est qu’un soucis parmi d’autres concernant l’anonymat et les VPN ! Il est impératif de soigner sa configuration afin d’éviter DNS leak et IPv6 leak. Peu de gens connaissent ces points faibles aujourd’hui… Plus d’explications ici : http://goo.gl/czhOIG
Charles Cohle
24 février 2015 à 20 h 16 minHello Matt,
Génial merci pour le lien très intéressant, je n’avais pas entendu parler de ça, je vais lire en détails.
Alex LOUIS--MORLEVAT
23 mars 2015 à 16 h 24 minSous Chrome, même avec l’extension WebRTC Block, il semble toujours possible d’exploiter la faille.
Rendez-vous sur ce site (avec votre VPN connecté et l’extension activée) :
http://ipleak.net/
Ils précisent bien qu’il n’existe pas de solution sous Chrome.
Charles Cohle
29 mars 2015 à 13 h 47 minMerci pour l’info, c’est ce que j’avais cru comprendre !
enthuoli
4 mai 2015 à 14 h 28 minEn effet, le WebRTC block ne marche pas sous Google Chrome
La faille du VPN peut être aussi vue sur http://whoer.net/extended
Aller dans Interactive detection et WebRTC
Ossama
27 avril 2015 à 15 h 29 minBonjour Charles,
Merci pour l’article, c’était très intéressante pour moi. Veuillez, si vous permettez, de publier le code de la page hébergée: http://www.jesaisquivousetes.com/hosted/faille-vpn/ pour bien comprendre.
Je vous remercie une autre fois Charles.
Charles Cohle
7 juin 2015 à 13 h 49 minOssama,
Il suffit d’aller sur la page et de faire un clic droit puis « afficher le code source de la page ». Tout le code intéressant est du Javascript/HTML, donc visible côté client.
Charles
LiDe
27 septembre 2015 à 20 h 19 minMerci pour l’astuce ! C’est parfait pour être tranquille chez soi. 😉
Et le tutoriel est très bien expliqué et à la portée des novices, super.
Bonne continuation !
Charles Cohle
28 septembre 2015 à 10 h 35 minMerci 🙂
laetitia
15 octobre 2015 à 15 h 01 minBonjour,
je viens de recevoir un mail de menace après avoir identifier l’IP et essayer de le localiser (à peu prés) ce dernier était sous VPN.
Y a t(il une manip que je puisse faire afin de contourner son vpn?
Vous remerciant par avance
Charles Cohle
1 février 2016 à 15 h 05 minNon désolé :/
Narek
26 février 2016 à 15 h 24 minBonjouuuur,
c’est très intéressant et bien expliqué mercii
Cependant, ne bénéficiant pas encore de compte bancaire, je me demandais si votre livre serait accessible dans les librairies de paris s’il vous plaît
Merci d’avance 🙂
Charles Cohle
9 juin 2016 à 13 h 31 minOui il l’est, aucun souci 🙂 Demandez juste au librairie de le commander et il le recevra sous 2-3 jours.
Dan
10 juin 2016 à 16 h 24 minBonjour,
juste pour info, j’utilise ActiVPN et apparement après test ils bloquent par défaut l’IPLEAK.
Dan
10 juin 2016 à 16 h 25 minMais aussi si votre VPN ne bloque pas vous avez juste a taper dans la barre d adresse :
about:config et chercher l’option “media.peerconnection.enabled” pour la passer à “False”
Jean
1 juillet 2016 à 16 h 53 minBonjour à toutes et à tous,
Un numéro en 09823268…. (soit en VOPI j’imagine) n’arrête pas de me harceler sur mon portable.
Y a t-il un moyen de retracer son adresse Ip afin que je sache de quel endroit il m’appelle?
Merci à tous pour vos réponses à venir.
Charles Cohle
7 juillet 2016 à 13 h 30 minJean,
Non, il est impossible de retracer l’IP d’un numéro de téléphone (même VOIP), désolé :-/
Charles
Lois
29 septembre 2016 à 19 h 01 minSous l’os Slax 7.08
la faille est blocké,pas de souci de ce coté
(merci a l’auteur de ce livre, et de cet article)
Ayo
27 octobre 2016 à 11 h 22 minBonjour,
Tout d’abord article très intéressant et merci.
Cependant le titre est : « Comment connaître l’adresse IP de quelqu’un, caché derrière un VPN ? »
Et je n’ai pas trouvé la réponse à cette question posée.
à partir d’une adresse email
à partir de l’adresse IP du VPN
Merci beaucoup pour votre éclairage
Charles Cohle
28 octobre 2016 à 17 h 17 minBonjour !
Il est impossible de connaître l’adresse IP d’un utilisateur en ne connaissant que l’adresse IP de son VPN. Le titre de l’article est exact, mais votre question n’a malheureusement aucune réponse 🙁 merci beaucoup pour vos encouragements.
Charles