Souvent présenté comme un repaire de pirates, malwares et contenus illégaux, Tor aurait pour particularités d'être invincible et insaisissable, donnant du fil à retordre aux autorités. Mais qu’en est-il vraiment ?
Parce qu’il se distingue de l’Internet visible dans son architecture et sa capacité à renforcer l’anonymat de ses utilisateurs, Tor essuie régulièrement les reproches et raccourcis formulés par ceux qui n’en saisissent ni le fonctionnement ni les enjeux liés à la vie privée sur le web. Pourtant, le réseau représente une opportunité en matière de sécurisation des données et des informations personnelles, et l’on aurait tort de se passer de ses services.
Mais est-ce à dire qu’il est infaillible ? De nombreuses anecdotes et expériences ont démontré que non. Tor est peut-être une technologie vouée à améliorer et protéger la navigation des internautes, elle ne se présente pas pour autant comme un remède miracle contre l’espionnage et le siphonnage des données, impliquant que ses utilisateurs soient suffisamment avertis pour mettre en place des mesures anti-pistage et anti-piratage de leur côté. Par là même, qu’elle ait lieu sur le World Wide Web ou Tor, une activité illégale reste une activité illégale, susceptible de revenir aux oreilles des autorités compétentes. En bref, Tor est évidemment une solution de navigation à privilégier, à condition de ne pas faire n’importe quoi sous prétexte que le réseau rend anonyme et intraçable toute connexion et activité qui s’y déroule.
Comment fonctionne Tor ?
Tor est un réseau superposé (bâti sur le réseau Internet) et décentralisé (architecture en peer-to-peer). Pour reprendre des terminologies - voir notre lexique des définitions autour du VPN - répandues, il s’agit d’un darknet, c’est-à-dire un réseau hébergeant des sites non accessibles depuis les moteurs traditionnels tels que les services .onion. L’ensemble de ces sites sont regroupés sous le nom de dark web (à ne pas confondre avec deep web qui inclut l’ensemble des pages indexables mais non indexées par les moteurs de recherche, telles que les pages de contenus nécessitant une authentification).
Tor, pour The Onion Router, doit son nom à la manière dont il fonctionne. Plutôt que de créer une liaison directe entre le client et le serveur, il fait rebondir le trafic TCP (UDP n’étant pas supporté) sur trois serveurs relais avant d’interroger le serveur cible (site web). Ces trois serveurs sont appelés nœuds et sont mis en place par des bénévoles. Équipé du matériel adéquat et d’une bande passante suffisamment importante, n’importe quel utilisateur ayant des connaissances système avancées peut installer un nœud sur sa machine.
Un circuit classique sur Tor comprend un nœud d’entrée, ou nœud de garde, qui renvoie le trafic vers un nœud intermédiaire qui redirige la connexion vers un nœud de sortie qui se connecte au site web cible. Suivant un tel schéma, le nœud de garde connaît l’adresse IP de celui qui formule la requête (source), le nœud intermédiaire a connaissance des IP du nœud de garde et du nœud de sortie, et le nœud de sortie n’a connaissance que de l’IP du nœud intermédiaire. Le site web, quant à lui, accède à l’IP du nœud de sortie uniquement.
Concernant le traitement de la connexion, le routage en oignon doit permettre de sécuriser au maximum les données de trafic grâce à un système de chiffrement hybride (distribution d’une clé secrète à tous les nœuds du circuit, chiffrée à l’aide d’une clé publique propre à chaque nœud). Dans le détail, les paquets envoyés par le client sont chiffrés trois fois : une première fois avec la clé publique du nœud de sortie, une seconde fois avec celle du nœud intermédiaire et une troisième fois avec celle du nœud de garde.
Lorsque la requête est envoyée, le déchiffrement se fait dans le sens inverse, comme pour ôter les différentes couches d’un oignon : le nœud d’entrée déchiffre la première couche de chiffrement pour accéder à l’IP du prochain relais et ainsi transmettre les paquets au nœud intermédiaire qui, à son tour, déchiffre la seconde couche de déchiffrement et redirige les paquets vers le nœud de sortie. Dernier relai de connexion, le nœud de sortie déchiffre définitivement le paquet pour prendre connaissance du serveur cible interrogé par le client, et ainsi terminer d’acheminer la requête.
Attention : le chiffrement par couches offert par Tor est différent du chiffrement SSL (connexion HTTPS). Lorsque l’on se connecte à un service sécurisé, les paquets chiffrés SSL sont à nouveau chiffrés par Tor. Le déchiffrement des couches Tor ne doit pas compromettre le chiffrement SSL. À contrario, une connexion non sécurisée (HTTP) affiche en clair les données de trafic au nœud de sortie une fois la troisième couche Tor déchiffrée.
Des nœuds pas toujours honnêtes
Le nœud de garde et le nœud de sortie occupent des positions stratégiques à différents niveaux vis-à-vis du trafic. Le premier a connaissance de l’adresse IP source et connaît donc l’identité de l’internaute à l’origine de la requête. En tant que premier relais, il garantit la rapidité et la stabilité de la connexion. Afin d’éviter les attaques par profilage, il ne change que tous les deux à trois mois, contrairement au reste des nœuds du circuit qui changent toutes les dix minutes environ. Cette désynchronisation réduit les risques de tomber sur un nœud de garde et un serveur de destination surveillés et/ou contrôlés par un même individu ou groupe d’individus malveillant.
Le nœud de sortie, quant à lui, connaît la destination de la requête. Un nœud de sortie compromis peut très bien sniffer le trafic et mettre à mal les données et l’anonymat de l’internaute, surtout si la connexion initiale n’est pas sécurisée (HTTP).
En 2015, une chercheuse en sécurité du nom de Chloe présentait son projet Badonions, test permettant de vérifier si les nœuds Tor par lesquels passait sa connexion sniffaient son trafic. L’expérience consistait à se connecter en HTTP à un faux portefeuille Bitcoin à l’aide d’un mot de passe unique aléatoirement attribué pour chaque nœud de sortie. Un captcha était également intégré à la page de connexion afin d’écarter des résultats les tentatives de piratage par des bots.
Au bout d’un mois de test, sur 137 319 nœuds de sorties utilisés, 99 271 étaient fonctionnels. Son faux portefeuille a reçu un peu plus de 650 visites uniques (pour un total de 137 981 visites), 16 tentatives de réutilisation d’un mot de passe par une autre machine que le nœud de sortie auquel il était attribué, 12 tentatives de connexion infructueuses et 15 tentatives de connexion réussies. Sur ces 15 nœuds espions, 2 étaient considérés par Tor comme suffisamment anciens, fiables et stables pour prétendre au statut de Guard (G).
On évoque ici des internautes mal intentionnés, mais l’espionnage du réseau Tor et de ce qui s’y passe n’est pas l’apanage du pirate lambda. En 2014, une fuite de documents classés secrets révélait que la NSA s’était donné les moyens de percer l’anonymat et la confidentialité du réseau, au moins partiellement. Parmi les stratégies déployées ressortaient la surveillance d’au moins un des Directory Authorities (serveurs Tor spéciaux tenant à jour la liste des nœuds Tor actifs dans le réseau et participant toutes les heures à la création d’un document attestant que tous les clients du réseau bénéficient des mêmes informations concernant les nœuds. Ce document est une synthèse générée à partir des informations détenues par les différents Directory Authorities), le déploiement de nœuds de garde pour collecter les métadonnées des connexions entrantes et l’enregistrement des visites d’internautes ainsi que leurs activités sur site de Tor.
Malgré ces deux exemples parlants, il ne faut pas oublier que Tor sera toujours plus sécurisé que le World Wide Web, à condition de mettre en place de bons comportements de navigation (connexion SSL, limiter au maximum la connexion à des comptes personnels en ligne, etc.). Il est en revanche plus difficile de se prémunir contre l’espionnage gouvernemental. Mais si la NSA peut temporairement mettre à mal la sécurité de Tor, on imagine bien le type de défense que peut lui opposer le cleanet… Il faut toutefois garder à l’esprit qu’un internaute lambda s’expose davantage aux risques d’être surveillé par les services de renseignement sur Tor que sur le web traditionnel.
Par ailleurs, malgré quelques écueils au fil des années, on peut sans conteste affirmer que Tor reste efficace contre la surveillance de masse. Son architecture rend impossible le traçage de l’ensemble des connexions au réseau, de même qu’il serait extrêmement ambitieux de vouloir surveiller activement tous les nœuds du réseau.
Malwares et injections de code : l’épineux cas JavaScript
Il n’est pas non plus rare d’entendre dire que Tor est un repaire de malwares. Nombreux sont les internautes peu familiers du réseau à craindre d’être contaminés par un virus rien qu’en effectuant une requête sur Tor Browser. Pour une navigation HTTPS standard (lire un article en ligne, flâner sur un site de e-commerce, chercher réponse à une question existentielle sur Yahoo Answer), le risque est quasiment nul. D’une part, la connexion est chiffrée de bout en bout, d’autre part la désactivation par défaut des scripts (excepté JavaScript) sur Tor Browser limite les possibilités d’injections de code malveillant au sein des pages web.
Ensuite, c’est comme partout : on ne clique pas sur les liens douteux, on ne télécharge pas de fichiers dont on ne connaît ni la provenance ni le contenu et on ne communique jamais ses coordonnées bancaires ou identifiants personnels à un inconnu.
L’exception JavaScript évoquée ci-dessus peut néanmoins poser de sérieux problèmes de sécurité, quel que soit le navigateur web utilisé. Généralement activé par défaut, ce langage de script client side (c’est-à-dire interprété par le navigateur de l’internaute) permet d’interagir avec les éléments dynamiques d’une page web (vidéos, gifs, formulaires).
En cas d’erreurs de programmation d’un site web (côté serveur), il peut arriver que les blocs de saisie soient sensibles au code JavaScript (par exemple, le bout de code <script>alert("test");</script> envoyé dans un module de commentaires retourne une boîte de dialogue affichant le message « test » dans la réponse du site web). C’est ce qu’on appelle une faille XSS.
Cette vulnérabilité, aussi facilement exploitable que commune, permet d’injecter des scripts dans la réponse d’une page web non sécurisée. Or, JavaScript étant interprété par le navigateur de celui qui visite la page, c’est contre lui que sera dirigée l’attaque. Le but étant de récupérer les cookies contenant les informations sensibles de l’internaute. Seule solution : désactiver JavaScript dans son navigateur pour empêcher l’interprétation de scripts malicieux.
En 2013, c’est le FBI qui s’est servi d’une faille zero-day de Firefox (sur lequel est basé Tor browser) pour injecter, entre autres, du JavaScript sur tous les sites hébergés par Freedom Hosting, plus grand hébergeur web Tor à l’époque. L’attaque a permis de déployer un malware à grande échelle puisque tous les utilisateurs ayant visité l’un des sites hébergés par Freedom Hosting ont été contaminés, livrant malgré eux leurs adresses MAC et IP, ainsi que le nom de leur ordinateur Windows. Au final, l’opération a permis de faire fermer Freedom Hosting qui hébergeait notamment une centaine de sites pédopornographiques.
Une excellente nouvelle qui soulève cependant quelques interrogations concernant les vulnérabilités auxquelles pourrait être exposé le réseau de manière générale. Car s’il s’agit de failles que l’on pourrait déceler chez d’autres navigateurs, la surveillance accrue dont Tor fait l’objet doit encore une fois bien faire prendre conscience aux utilisateurs irréprochables qu’ils encourent le risque de voir leurs données récupérées par diverses agences de renseignement, même si, dans les faits, ce type d’opération reste très rare et tournée vers une utilisation illégale du réseau.
Tor est faillible parce que nous sommes faillibles
Tor n’est pas infaillible, c’est vrai. Il n’en demeure pas moins un réseau à privilégier si l’on souhaite préserver un tant soit peu son anonymat et la sécurité de ses données privées dans le temps.
Ce que Tor sait faire de mieux, c’est empêcher les fournisseurs d’accès à Internet de savoir quels sites on visite, ainsi que d’empêcher les sites web de savoir où l’on se trouve exactement. Il convient ensuite de modifier ses comportements de navigation et d’adopter de nouvelles habitudes sécurisées pour tirer profit de tout ce que Tor peut offrir, à commencer par désactiver les scripts (et le JavaScript dans la mesure du possible). Il est par ailleurs important de faire une croix sur HTTP au bénéfice de HTTPS afin de chiffrer, et donc sécuriser, la connexion aux services en ligne.
Notre comportement sur les sites et services visités a également une incidence sur la manière dont Tor protège notre connexion. Il ne sert à rien de passer par Tor pour se faire le plus discret possible si, en bout de chaîne, on poste un message sous sa véritable identité sur les réseaux sociaux ou sur un forum. Plus subtil encore, Tor ne pourra rien contre l’identification d’une source si le journaliste qui en diffuse les photos n’a pas pris la peine de supprimer les métadonnées associées à l’image (équipement, marque, horodatage, géolocalisation).
Il faut enfin comprendre que Tor dépend d’outils pour fonctionner, et qu’un logiciel contient toujours des bugs et des failles qui le rendent vulnérable. Les projets tels que Tor Browser ou Tails sont activement maintenus de manière à déployer des mises à jour régulières. Néanmoins, entre deux releases, aucune de ces solutions n’est à l’abri de voir émerger une faille critique, d’autant que leur caractère open source autorise n’importe qui à fouiller leur code à la recherche d’une vulnérabilité à exploiter. À défaut de pouvoir accélérer la sortie de correctifs, on peut tout au moins veiller à toujours garder son navigateur (ou sa distribution) à jour.
La notion fingerprinting pose également des problèmes en matière de confidentialité. En passant par Tor Browser pour accéder au réseau, les plateformes en ligne capable d’exploiter les données d’empreinte numérique livrées par les navigateurs seront toujours en mesure de dresser un profil des internautes. Bien évidemment, cette identification n’est pas formelle, mais elle délivre suffisamment d’informations sur les équipements matériels et logiciels des utilisateurs pour que les sites web soient en mesure de suivre leurs activités en ligne d’une session à l’autre, voire d’estimer leur position géographique.
Depuis quelques années, les équipes du projet Tor s’attachent à développer des contre-mesures pour lutter contre le fingerprinting. Bien qu’elles permettent d’attribuer à tous les utilisateurs de Tor Browser le même user agent et de modifier virtuellement la résolution d’écran, la personnalisation du navigateur (langue, extensions installées et activées) et les propriétés du système d’exploitation autoriseront toujours les services en ligne suffisamment compétents à différencier les connexions provenant de Tor.