Journal d'investigation en ligne et d'information‑hacking
par Jef

Surveillance : le hamster qui mangeait des spaghetti

Surveillance, boîtes noires, sondes, IOL, chiffrement, métadonnées, les contenus et articles abondent sur ces sujets, mais à la lecture de certains commentaires, il apparaît que le fonctionnement du Web en particulier, et d'Internet en général, est assez mal compris, même superficiellement. Que se passe-t'il très concrètement lorsque je clique sur un lien ? Quelles sont les données — ou, le cas échéant, métadonnées — qui seront visibles et par qui ?

Surveillance, boîtes noires, sondes, IOL, chiffrement, métadonnées, les contenus et articles abondent sur ces sujets, mais à la lecture de certains commentaires, il apparaît que le fonctionnement du Web en particulier, et d'Internet en général, est assez mal compris, même superficiellement. Que se passe-t'il très concrètement lorsque je clique sur un lien ? Quelles sont les données — ou, le cas échéant, métadonnées — qui seront visibles et par qui ? Ces interrogations, qui paraîtront naïves à celles et ceux possédant une bonne littératie numérique, sont pourtant tout à fait légitimes et la réponse n'est pas si simple qu'on pourrait le croire.

Certains lecteurs ont peut-être eu l'occasion de croiser Michel — dont je suis le biographe. Amateur de selfies, de poésie et d'amours épistolaires, figurez-vous que le Michel s'est découvert une nouvelle passion. Toujours avide de tendresse et d'affection, il passe des heures devant des vidéos d'animaux meugnons. Là, un chat et une chouette qui se font des câlins, so cute ! Oh, ici, un petit hérisson qui nage dans un lavabo, trop rigolo. Ou encore, chef d'oeuvre de bizarrerie, cette vidéo d'un « minuscule hamster qui mange de minuscules spaghetti » sur un air de banjo. On trouve décidément de bien vilaines choses, sur le Web.

La page de cette vidéo est identifiée par son URL, son adresse : https://youtube.com/watch?v=Ko1-dJh-xwk. Que se passe-t'il lorsque notre Michel clique sur ce lien ? Par quelle magie digitale des internets numériques la page correspondante apparaît-elle sur l'écran de la tablette du Michel, dans son navigateur Web ? Le suspense est absolument insoutenable (vous en conviendrez), passons-donc aux explications.

D'abord une bonne résolution

L'URL de la page hébergeant la vidéo de notre gastronome rongeur est constituée de plusieurs parties remplissant un rôle spécifique.

La première, https://, indique le protocole à utiliser. Ici, il s'agit du protocole HTTP dans sa version sécurisée. HTTP est le protocole de communication du World Wide Web (ou Web, en abrégé), le système hypertexte sur lequel nous nous baladons grâce à notre navigateur. Contrairement à une confusion fréquente, le Web n'est pas Internet, mais seulement l'ensemble des serveurs qui délivrent des informations grâce au protocole HTTP. Internet transporte des informations pour d'autres applications que le Web, qui utilisent des protocoles différents, par exemple pour le courrier électronique, les messageries instantanées, la synchronisation des horloges, le transfert de fichiers, etc. En résumé, Internet fournit la tuyauterie de connexion, les protocoles définissent le « langage » que les parties connectées, les deux extrémités, vont utiliser pour échanger des informations. Si vous appelez par téléphone une personne qui ne parle que l'ouzbek et que vous vous exprimez en néo-araméen occidental, ça risque de piquer un peu. Ici, c'est pareil, le « langage » commun sera donc HTTP.

La seconde composante est le nom d'hôte du serveur à contacter, youtube.com, et la dernière le nom de la ressource à télécharger depuis le serveur, la page web /watch?v=Ko1-dJh-xwk.

La tablette de Michel sait donc quel est le nom du serveur auquel se connecter, quel protocole utiliser pour dialoguer avec lui, et le nom de la ressource à télécharger. Problème, Internet ne sait pas transporter des informations en utilisant des noms, le réseau a besoin de deux adresses IP : celle d'origine, et celle de destination, c'est à dire celle du serveur. La tablette va donc devoir, au préalable, découvrir l'adresse IP correspondant à ce mystérieux youtube.com. Il existe un système, totalement indépendant du Web, le DNS, pour système de noms de domaine, qui s'appuie également sur le réseau Internet pour le transport des informations. Le DNS peut-être vu comme un gigantesque annuaire, distribué sur l'ensemble de la planète, et dont le rôle principal est d'enregistrer à quelles adresses IP correspond tel ou tel nom d'hôte. Lorsque l'on souhaite obtenir une correspondance — résoudre un nom, on s'adresse à un serveur — un résolveur DNS — qui ira chercher pour nous la bonne correspondance dans le système DNS.

Michel a tout compris, son appareil est donc configuré pour utiliser un résolveur fourni par Free. Connaissant l'adresse IP du résolveur, 212.27.40.240, la tablette va pouvoir utiliser Internet pour communiquer avec lui. Pour cela, ils vont tous deux utiliser un « langage » spécifiquement conçu dans cette intention, le protocole DNS. La tablette prépare une requête DNS, dans laquelle elle ne place que le nom d'hôte, youtube.com. Les autres informations contenues dans l'URL de la vidéo ne concernent pas le DNS — qui ne saurait de toute façon qu'en faire. Puis elle place cette requête dans un « paquet », un conteneur, qu'elle transmet à la « box » qui connecte Michel au réseau Internet.

Le paquet qui circule sur le réseau est composé de deux parties distinctes : un en-tête qui contient les informations nécessaires à son acheminement, les adresses IP d'origine et de destination en particulier, et les données, ici la requête DNS. Le paquet rebondit de routeur en routeur pour être acheminé à sa destination finale, le résolveur DNS. À chaque étape, les équipements du réseau ne s'occupent pas, en principe, des données contenues dans le paquet, de la requête DNS. Seules les informations contenues dans l'en-tête du paquet sont nécessaires à son acheminement, ce sont les seules pertinentes du point de vue du réseau. Internet se contrefiche de ce qu'il transporte, il le transporte le plus vite possible. Ce n'est qu'une fois le paquet arrivé à son but que la requête DNS sera interprété par le résolveur DNS grâce au protocole, au langage DNS. Le résolveur DNS déterminera l'adresse IP correspondant à la requête. Les grosses plateformes, comme YouTube, ont plusieurs adresses IP associées au nom d'hôte, il choisit l'une d'entre elles, par exemple 64.15.116.183. Il crée une réponse DNS contenant cette adresse, et la place dans un nouveau paquet, qui sera transbahuté par Internet à toute blinde dans l'autre sens, jusqu'à la box de Michel puis à sa tablette.

IOL, j'écoute

Les fournisseurs d'accès à Internet et autres opérateurs ne se préoccupent, en général, pas des informations qui sont transportées. Pour des raisons techniques, d'abord, car leurs équipements ne pourraient traiter une telle quantité d'informations, ils ont déjà à les transmettre. Ensuite, les opérateurs n'en ont pas le droit. Le code des postes et communications électroniques stipule en effet que les «données conservées et traitées » par eux ne peuvent « en aucun cas porter sur le contenu des correspondances échangées ou des informations consultées, sous quelque forme que ce soit ». Les exceptions à ce principe sont les interceptions judiciaires, autorisées par un juge judiciaire, et les interceptions administratives, très controversées car mises en oeuvre sans son intervention. Coucou, IOL.

À ce stade, un attaquant passif qui aurait écouté la communication, pourrait en déduire que Michel cherche à se connecter avec youtube.com. En aucun cas il n'aurait eu connaissance du contenu précis, la vidéo de hamster, que Michel cherche à consulter. YouTube est une énorme plateforme, qui héberge des millions de vidéos, sans les autres parties qui composent l'URL, l'espion n'aurait donc pas appris grand chose. Si la requête DNS avait porté sur www.alcool-info-service.fr, www.cgt.fr ou www.rencontres-adulteres.fr, en revanche, l'information aurait eu plus de valeur… Les requêtes DNS traversent Internet, malheureusement, nues comme des vers. Des travaux de normalisation sont en cours pour assurer leur confidentialité par le truchement du chiffrement, mais le déploiement risque, comme toujours, d'être un peu long. Pour l'instant, considérez donc que vos requêtes DNS sont transmises en clair.

HamsTer Transfer Protocol

La tablette de Michel est à présent en possession des éléments nécessaires pour télécharger la page YouTube sur laquelle se trouve le cricétidé gourmand : le nom d'hôte — youtube.com, l'adresse IP du serveur YouTube — 64.15.116.183, et enfin l'identifiant de la page — /watch?v=Ko1-dJh-xwk.

Elle va donc procéder comme elle l'avait fait pour interroger le résolveur DNS, mais avec un autre protocole, un autre « langage » : HTTP. Elle crée une requête HTTP dans laquelle elle place le nom d'hôte et l'identifiant de la page, ainsi que d'autres informations, comme la langue souhaitée, l'identifiant du navigateur utilisé, etc., que nous omettrons ici. La présence du nom d'hôte dans la requête s'explique par le fait que, parfois, un seul et même serveur physique héberge plusieurs sites Web. Sur ce serveur YouTube, bien sûr, ce n'est pas le cas. Voici à peu près à quoi la requête ressemble :

GET /watch?v=Ko1-dJh-xwk Host: youtube.com

La tablette de Michel enveloppe la requête HTTP dans un nouveau paquet, sans oublier de préciser l'adresse IP de destination dans son en-tête, et balance le tout dans les intertubes. Le paquet va être relayé par les routeurs jusqu'au serveur YouTube, 64.15.116.183. Comme précédemment, aucun dispositif de routage ne s'est soucié de savoir ce qu'il y a dans le paquet, seules les informations de routage les concernent, et y zont pas que ça qu'à foutre non plus que d'aller lire le contenu des paquets qui leur passe sous le nez, merci. Le serveur Web de YouTube, en revanche, sera concerné par ces informations puisque ce sont celles qui lui permettront de sélectionner la vidéo du hamster, et pas une paire de boobs ou un terroriste à tête de canard. Le serveur YouTube prépare une réponse HTTP contenant la page Web, et la place dans un paquet qu'elle envoie dans l'autre sens. En pratique, si le contenu est suffisamment volumineux, la réponse sera répartie dans plusieurs paquets qui feront chacun leur petit bonhomme de chemin.

Cette fois-ci, un indiscret ayant écouté l'échange aurait pu déterminer précisément la nature de l'information consultée (même sans se préoccuper de la réponse du serveur), puisqu'il aurait vu passer toutes les composantes importantes de l'URL, la jolie « métadonnée » que voilà. Le jour où la consultation de sites faisant l'apologie des hamsters devient un délit, Michel est dans la mouise. C'est de cette façon que circulent les informations que vous consultez sur le Web, mais aussi celle que vous renseignez quand vous les saisissez dans des formulaires : commentaires, emails, mots de passe, données de cartes bancaires, etc. Elles seront visibles des opérateurs — qui ne sont pas censé les exploiter, comme nous l'avons vu plus haut, des sondes d'interceptions et autres boîtes noires, ainsi que de toute personne ou équipement en mesure d'écouter le trafic.

Du flashouillage de sondes

Fort heureusement, YouTube n'est accessible que via la version sécurisée de HTTP, HTTP S _. Le protocole fonctionne exactement de la même façon que sa version sans « S », à un « détail » près. Cette fois-ci, comme préalable au moindre échange _HTTP, le client (le navigateur Web de Michel) et le serveur s'entendent sur une clé de chiffrement connue d'eux seuls. Ils chiffrent requêtes et réponses de telle manière à les rendre inintelligibles, hormis pour eux, à les transformer en bruit blanc. La seule information que pourra aspirer un dispositif d'écoute, c'est que la box du vaillant Michmich communique avec le serveur, les en-têtes de paquet, pas son contenu. De hamster ? Point.

Le chiffrement n'empêchera jamais la surveillance ciblée d'un individu : être totalement invisible sur Internet est une tâche très difficile, sinon impossible. Pour contrer la surveillance de masse, en revanche, la cryptographie est l'un des moyens principaux à notre disposition.

Défendons la.

0 Commentaires
Une info, un document ? Contactez-nous de façon sécurisée