Rechercher sur ce blogue

mardi 17 octobre 2017

Connaître l’adresse IP de quelqu’un, caché derrière un VPN ?





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.
Réseau local et Internet
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 :
REF.:

3 attaques de social-engineering auxquelles vous n’auriez jamais pensé



Le social-engineering (en français “ingénieurerie sociale”) consiste à obtenir des informations par un moyen déloyale, notamment grâce à la manipulation mentale. Le terme prend tout son sens dans le contexte du piratage informatique : au lieu d’exploiter des failles techniques (logiciel non mis à jour, crack d’un mot de passe), le pirate va piéger et manipuler une cible précise pour arriver à son but.

La souris piégée

La société Netragard est spécialisée dans l’audit de sécurité informatique. En d’autres termes, elle est payée par ses clients pour tenter de les pirater par n’importe quel moyen. Le but : vérifier les failles d’une entreprise.
Lorsque le patron de Netragard s’est fait embaucher par son client cette fois-ci, il savait qu’il allait devoir ruser comme jamais. L’entreprise cliente était très attentive à sa sécurité depuis des années.
Son idée : bricoler une souris d’ordinateur pour y intégrer un logiciel espion capable de prendre le contrôle de l’ordinateur sur lequel le périphérique est branché…. à l’insu de l’utilisateur évidemment. Je vous passe les détails techniques (plus d’informations ici).
Souris trafiquée pour social-engineering
D’un point de vue informatique, l’attaque est extrêmement sophistiquée. Mais sa particularité et son génie repose surtout sur son aspect social engineering.
Pour faire utiliser la souris truquée au sein de l’entreprise cliente, les hackers de Netragard ont du faire des recherches poussées sur chaque employé de la boite. Profils Facebook et compagnie : tout a été passé au crible. Finalement, le patron de Netragard s’est décidé à envoyer la souris à un employé en particulier, qui lui semblait plus apte à tomber dans le panneau.
Quand je vous dis qu’il ne faut pas raconter votre vie sur les réseaux sociaux…
Il a fait envoyer la souris directement dans le bureau de l’employé en question en se faisant passer pour un fournisseur qui organisait un évènement promotionnel. Quelques jours plus tard, la souris a été branché et le virus a fonctionné sans aucun problème.

Le patron trop sûr de lui

Comme d’habitude lorsque l’on a vent de ce genre d’histoire, le nom de l’entreprise “testée” n’est jamais connue. Encore une fois, cette histoire fait cas d’une société d’audit de sécurité qui a monté un plan génial pour pirater l’entreprise qui l’a embauchée. Le PDG avec prévenu : “il sera impossible de me pirater”, il en était sûr et certain.
Hadnagy, le hacker en charge de tester la sécurité de la boite, déclara à la presse : “Le patron imaginait que quelqu’un allait lui téléphoner pour lui demander son mot de passe ou quelque chose comme ça… il se préparait à quelque chose dans le genre.”
Pour débuter, Hadnagy se mit à chercher la location des serveurs de l’entreprise, les adresses IP des serveurs, les e-mails des employés, les numéros de téléphone, le nom des employés et leurs titres, et bien plus. Mais le gros-lot était ailleurs : le hacker découvrit qu’un membre de la famille du PDG s’était battu contre le cancer, et avait survécu.
Fondation contre le cancer
De par le fait, le patron s’était rapproché d’une fondation participant à la recherche contre le cancer. Parallèlement, le hacker découvrit aussi le restaurant préféré et l’équipe de foot préférée du PDG.
Grâce à toutes ces informations, il était prêt à frapper. Il a appelé le patron en se faisant passer pour la fondation à laquelle il s’était intéressé par le passé. Il l’informa que la fondation organisait une loterie en échange de donation et que l’un des prix était une place pour un match de foot auquel participait son équipe préférée… Il y avait d’autres lots hypothétiques, comme… une soirée offerte dans divers restaurants, dont son préféré !
Le patron semblait très intéressé. Hadnagy lui demanda son adresse e-mail pour lui envoyer un PDF d’inscription. Tout se passait sans problème. Le hacker pu même demander au PDG la version d’Adobe Reader qu’il utilisait “pour être sûr qu’il voyait bien le document correctement”.
Où est le piège ? Le PDF d’inscription à la loterie était évidemment piégé. Adobe Reader est une véritable passoire (en témoignent les millions de mises à jour quasi-quotidiennes que nous impose Adobe sur Windows). L’affaire était dans le sac : le hacker avait le contrôle du PC du patron.

Le journaliste dont la vie entière a été piratée

Cette histoire date de mi-2012 et a fait pas mal de bruit en France.
Un journaliste américain s’est vu pirater “de A à Z” tous ses appareils Apple, son compte mail, ses comptes de stockage de données et son compte Amazon. Le piratage à l’origine de l’attaque n’a utilisé aucun moyen “technique” pour parvenir à cela. Comment a-t-il fait ?
Première étape : appeler le service client Amazon en se faisant passer pour Mat Honan, le journaliste victime de l’attaque. La stratégie du pirate est ingénieuse au possible. Lors de son premier appel à Amazon, il demande à rajouter une carte de crédit à son compte. C’est une procédure classique qu’Amazon accepte d’honorer par téléphone. Il suffit de donner son nom, son adresse et le code de sa carte bancaire.
Deuxième étape : le hacker rappelle Amazon mais cette fois, il explique qu’il a perdu l’accès à son compte. Devinez ce que demande Amazon pour vérifier l’identité de l’appelant ? Les 4 derniers chiffres d’une carte bancaire associée au compte…. le hacker a simplement donné les 4 derniers chiffres de la carte qu’il venait d’ajouter. A ce moment précis, le pirate obtenait un accès total au compte Amazon du journaliste.
Troisième étape : obtenir un accès au compte iCloud de la victime. L’accès à ce compte donne immédiatement accès à son iPhone, son MacBookAir, son compte Twitter et son compte Gmail (qui est le compte de secours). Pour cela, rien de plus simple.
Lors de la réinitialisation des identifiants d’un compte iCloud, Apple ne demande que 3 informations : l’e-mail du compte, une adresse de facturation, et les quatre derniers chiffres de la carte bancaire associée au compte. Rappelez-vous : le pirate venait d’obtenir un accès entier au compte Amazon de sa victime. Il avait donc accès aux 4 derniers chiffres de sa véritable carte bancaire par la même occasion.
Quatrième étape : piratage en règle avec suppression de toutes les données. Le journaliste victime de l’attaque la raconte entièrement sur son blog (en anglais). C’est très intéressant.

Conclusion

Ces 3 attaques sont toutes les 3 très différentes. Et pour cause, c’est là toute la puissance du social engineering. Le pirate s’adapte à sa cible, au contexte de l’attaque et aux possibilités qui s’offrent à lui.
N’oubliez jamais une chose : en informatique, rien n’est jamais sûr. Rien. Jamais.

Les méthodes de Google ,Facebook et des autres, pour vous pister sans jamais utiliser de cookies




Facebook, Google, AddThis, KissMetrics, whitehouse.gov… certains de ces sites vous parlent, d’autres non. Quoi qu’il en soit, ils font tous partis des 100.000 sites les plus populaires au monde.  Et ils utilisent tous ces nouvelles méthodes de tracking (suivi) contre lesquelles nos petits bloqueurs de pub — Adblock, Ghostery — auront du mal à rivaliser.

À quoi sert le tracking sur Internet ?

Le tracking sur Internet a surtout deux intérêts :
  • Dans un cadre étatique, cela sert à vous identifier et à vous surveiller. On espère que dans nos démocraties occidentales ce genre de pratique reste marginale, mais l’actualité autour de la NSA laisse malheureusement penser le contraire.
  • Dans un cadre publicitaire et commerciale, le tracking est utilisé pour vous servir les bonnes publicités au bon moment et vous inciter à acheter.
Pour Google, la publicité compte pour presque 90% de son chiffre d’affaire. Je pense que c’est pareil pour Facebook, Twitter et les autres. Le tracking est donc absolument primordial pour les Géants.

Pourquoi de nouvelles méthodes de tracking ?

Les méthodes actuelles se basent quasi exclusivement sur l’utilisation de cookies. Il s’agit de petit fichier que les sites Internet peuvent enregistrer sur votre ordinateur pour vous suivre pendant plusieurs mois.
De plus en plus d’internautes bloquent leurs cookies, soit par choix (Adblock, Ghostery, etc…), soit parce que certains navigateurs comme Firefox ou Safari décident de bloquer les cookies par défaut.
Vive les cookies
Google et tous les autres acteurs du web qui vivent grâce au tracking ont donc été obligé d’évoluer rapidement. Voila comment ils s’y sont pris.

1. La méthode Google : mystérieuse et gênante

Google, qui ne communique pas des masses sur son nouveau procédé de suivi, semble créer une “empreinte digitale” (fingerprint)  de la machine utilisée par chaque internaute.
Cette empreinte est une sorte de bouillie créée en mixant :
  1. Des caractéristiques de votre navigateur ;
  2. Des caractéristiques sur votre ordinateur ;
  3. Probablement des cookies, des sessions, votre IP ;
Pour le premier point c’est facile : il suffit de récupérer l’user-agent. Pour le second point, c’est de plus en plus facile pour Google puisque le navigateur Google Chrome passe en tête dans tous les classements de navigateurs web. En installant Chrome, vous donnez à Google toutes les clefs dont il a besoin pour accéder à votre machine. Enfin pour le dernier point, c’est du grand classique.
somme de contrôle
J’imagine que Google crée une checksum (somme de contrôle) avec toutes ces info pour nous identifier. Nous verrons comme nous protéger des 3 techniques de cet article dans la dernière partie.

2. La méthode du ETAG : bien cachée, et difficile à contrer

Cette méthode a été parfaitement décrite par lucb1en sur son blog (en anglais). Voici ce qu’il faut retenir.
Lorsque vous surfez sur Internet, votre navigateur web discute sans cesse avec des serveurs web. C’est grâce à ces discussions entre votre navigateur et les serveurs web (le protocole HTTP) que vous pouvez accéder à tous les sites web de la planète.
Pour gagner du temps et éviter des “discussions” inutiles, votre navigateur et les serveurs web utilisent ce qu’on appelle un système de cache. Chacun de leur côté, ils gardent des choses en mémoire (des pages que vous visitez souvent, des images, …) pour vous les ressortir très vite si vous leur demandez.
Par exemple : vous arrivez sur mon blog ce matin à 10h. Si vous y retournez à 10h02, il y a de fortes chances pour que rien n’ai changé. Du coup, votre navigateur va mettre en cache les pages de mon blog que vous visitez la première fois pour vous les ressortir très rapidement les prochaines fois (sans aller discuter avec mon serveur web). S’il y a eu des changements entre temps, alors rassurez-vous : le navigateur sera forcé de mettre à jour les pages qu’il a sauvegardé. Vous aurez toujours la dernière version de mon blog sous les yeux.
En vert, le temps de chargement des pages "cachées", en bleu les pages "non cachées"
En vert, le temps de chargement des pages “cachées”, en bleu les pages “non cachées”
Et justement : pour savoir s’il y a eu du changement entre deux de vos visites sur un site, le serveur et votre navigateur s’échange un ETAG. Ce ETAG permet de savoir, pour faire simple, si des choses ont changé entre la version mise en cache par votre navigateur et le site lui-même.
Ce ETAG est une suite de lettres et de chiffres (du genre 2b987efiej7fe987f). Partant d’un principe assez noble (améliorer les délais d’attente sur le web), ce ETAG a été détourné pour pister les internautes. En affectant à chaque visiteur un ETAG différent, un site web est capable d’utiliser le cache navigateur – et non les cookies – pour vous pister.
Qui pense à vider son cache ? Pratiquement personne. Qui bloque la mise en cache de son navigateur ? Presque personne non plus, parce que bloquer le cache c’est ralentir fortement votre vitesse de navigation.
Pour info, KissMetrics (un outil qui vous track sur de nombreux sites) et Hulu (une sorte de Netflix aux USA) ont utilisé ce procédé.

3. La méthode du Canvas Fingerprinting : un dessin malicieux

Cette dernière méthode est utilisée par les grands sites dont je vous parlais au début de l’article. Elle consiste à faire dessiner par votre navigateur une image (invisible) et à la numériser, c’est à dire la transformer en une série de chiffres qui vous identifie, comme un code-barre en quelques sortes.
Cette image sera dessinée en prenant en compte les propriétés de votre matériel : votre carte graphique, votre navigateur, votre système d’exploitation. Cela étant dit, une empreinte générée par cette méthode n’est pas forcément unique d’un internaute à l’autre. Il existe une marge d’erreur qu’il est facile de faire disparaître en combinant ce tracking avec les  autres méthodes détaillées précédemment.
Canvas fingerprinting
C’est justement à cause de son manque d’entropie, c’est à dire le manque de certitude avec laquelle on peut identifier de manière unique un internaute, que cette méthode du canvas ne semble pas utilisée à grande échelle.
Voici un document de recherche très complet qui explique la mise en place de cette technique : https://cseweb.ucsd.edu/~hovav/dist/canvas.pdf
Pour connaître votre “empreinte canvas”, vous pouvez cliquer ici et chercher la ligne “Your browser fingerprint”. Votre identifiant (presque) unique se trouve juste en dessous.

Conclusion et méthodes de protection

Ces 3 méthodes sont les prémisses du nouveau web, un web où les cookies disparaîtront petit à petit au profit d’autres technologies beaucoup plus intrusives.
Voici des pistes pour vous protéger des 3 techniques ci-dessus et pour vous protéger des méthodes à l’ancienne  :
  • Pour vous protéger de la technique 1 : il me paraît sain de ne pas utiliser Google Chrome et/ou pourquoi pas d’utiliser une extension de navigateur type Random Agent Spoofer ou équivalent. Cette extension change régulièrement votre user-agent pour éviter d’être clairement identifiable. Changer son adresse IP (avec un proxy ou un VPN) me semble aussi une bonne idée.
  • Pour vous protéger de la technique 2 : c’est assez difficile. Soit vous désactivez le cache de votre navigateur, mais vous perdez vraiment en performance, soit vous videz le cache régulièrement (à la fermeture par exemple, Firefox le permet nativement). Dernière idée : utiliser le plugin “Secret Agent” pour Firefox et dérivés, qui s’amuse avec les ETAGS pour vous éviter d’être pisté. Je n’ai pas testé cette solution.
  • Pour vous protéger de la technique 3 : il n’existe pas de solutions miracles, si ce n’est utiliser un bloqueur de pub type Adblock ou Ghostery. Ces bloqueurs vont bloquer les scripts type AddThis qui, eux-mêmes, utilisent le canvas fingerprinting.
  • Pour vous protéger en général, je vous recommande d’utiliser un bloqueur de pubs/scripts type Adblocks/Ghostery. Bien que les techniques de tracking évoluent, ils sont toujours bien utiles.
Bon courage, dans la jungle du tracking !

REF.: