les 5 minutes du professeur Audenard - épisode 6 : Wikileaks et le réseau TOR

Ce 6ième épisode des "5 minutes du professeur Audenard" a pour thème le réseau informatique anonyme TOR. Ce sera l'occasion de découvrir les principes du "onion routing" et des principes de sécurité permettant d'accéder à Internet de façon anonyme.

Comment l'idée est venue ? C'est tout simplement à cause de l'actualité autour de Wikileaks. Car oui, le niveau des brèves de comptoir des bistrots français vient de faire un saut quantique vers le haut. Bon, j'exagère peu mais à peine : c'est lors d'une soirée avec des amis que le sujet Wikileaks est arrivé sur la table.

envoyer des données à Wikileaks en toute confidentialité

Rapidement, les échanges se sont portés sur les moyens utilisables par un informateur pour transmettre des informations sensibles à Wikileaks, le tout de façon simple tout en lui assurant un très haut niveau de confidentialité. En effet, un informateur voudra surement rester caché, et ce même vis-à-vis des personnes de Wikileaks.


[Fr] les 5 minutes du professeur Audenard... par orange_business

le routage en "couches d'oignon"

L'un des principes fondamentaux d'un réseau comme TOR c'est le routage en mode "bulbe d'oignon" (onion routing). Dans un oignon, chacune des couches de celui-ci n'est en contact qu'avec celles qui sont immédiatement adjacentes. Impossible pour une couche de savoir combien il y a de couches au dessus ou en dessous... Tout ce qu'elle peut connaitre de son environnement extérieur ce sont les couches directement et immédiatement en contact avec elle.

TOR, le réseau qui route selon un mode "oignon"

Dans le cas des routeurs du réseau TOR, c'est exactement la même chose : un routeur TOR n'a pas connaissance d'autre chose que le routeur duquel il vient de recevoir un paquet et le routeur auquel il va retransmettre ce paquet. Il est donc impossible, dans un réseau TOR, pour un noeud du réseau de "remonter" (ou d'avancer) plus d'un cran.

déterminer un chemin dans le réseau

Si cette absence de visibilité est essentielle pour les éléments constitutif du réseau (les nœuds ou routeurs TOR), il en est tout autrement pour la personne qui utilise le réseau TOR.

Une personne (un informateur de Wikileaks par exemple) pourrait tout à fait vouloir définir son point d'entrée dans le réseau, son point de sortie ainsi que le nombre de sauts ("hops") empruntés. Cela lui permettrait par exemple de définir qu'il souhaite utiliser plus de 3 routeurs TOR entre lui et son destinataire ou préférer "sortir" du réseau via des routeurs TOR spécifiques (localisés dans tel ou tel pays par exemple).

un logiciel client à installer sur sa machine

Pour se connecter au réseau TOR, il est nécessaire d'installer un logiciel supplémentaire sur sa machine. Ce logiciel fera office de proxy (ou "relais mandataire") entre votre navigateur Internet et le réseau. En fait il s'agit d'un proxy respectant le protocole SOCKS. Ce client va se charger de définir, selon son paramétrage, le chemin (nombre de "hops" notamment) et de transmettre et recevoir les paquets. Les communications entre votre PC et le routeur d'entrée TOR seront chiffrées en SSL.

définition du chemin

Lors de la première connexion, le client TOR va définir un chemin (ou une "route") au sein du réseau TOR. Au strict minimum, ce seront trois (3) routeurs TOR qui seront empruntés lors des échanges. Nous nommerons ces routeurs R1, R2 et R3. R1 étant le routeur d'entrée dans le réseau, R3 celui de sortie et R2 étant un routeur dit de "transit pur".

Afin de rendre toute tentative d'analyse du trafic encore plus compliquée, ce chemin est automatiquement changé toutes les minutes. Cet aspect "dynamique" du routage va rendre inefficace toute attaque au niveau des clefs de chiffrement.

génération des clefs de chiffrement

Une fois les routeurs TOR connus, le client TOR va contacter chacun d'entre-eux afin de convenir d'une clef de chiffrement symétrique. Pour 3 routeurs TOR choisis, ce sera donc 3 clefs de chiffrement différentes qui seront définies. Les communications entre le client TOR et les routeurs TOR sont faites "hop par hop", par l'intermédiaire de chacun des routeurs TOR, le client TOR reste donc masqué.

la communication peut enfin commencer

Une fois le chemin établi et les clefs de chiffrement connues la transmission peut commencer. Le client TOR va chiffrer les échanges selon un mode de "poupées russes".

Toujours dans le cas de 3 routeurs (disons R1, R2 et R3) il va chiffrer les données avec la clef de R3, puis les chiffrer de nouveau avec la clef de R2 puis enfin avec R1.

Ensuite il envoie les données : chacun des routeurs va déchiffrer le paquet avec sa clef que seul lui (et bien sur le client) connaît.

les routeurs intermédiaires (ou de "transit") ne peuvent pas voir le contenu

Avec un tel système, les routeurs R1 et R2 sont dans l'impossibilité d'accès aux données transmises car ils n'ont pas connaissance de la clef de R3.

R2 n'a connaissance que des routeurs R1 et de R3, et encore, uniquement des connexions qu'il a avec eux. R2 ne peut pas voir qui "utilise" le routeur R1 ou R3 par ailleurs.

la sortie de TOR, lieu de tous les dangers

Comme on a pu le voir, le routeur R3 va déchiffrer les messages et les envoyer vers le serveur de destination. C'est à cet endroit ou certaines attaques peuvent être menées : en effet, un attaquant ayant le contrôle de R3 pourra écouter ("sniffer") les paquets et donc voir ce qui est échangé. Sauf si... celles-ci ont été chiffrées en amont sur le poste de l'utilisateur... c'est pourquoi il est recommandé d'utiliser le réseau TOR avec des flux chiffrés (HTTPS/SSL par exemple) si l'on veut de la confidentialité en plus de l'anonymat.

un réseau pour l'anonymat

On peut donc dire que le réseau TOR est un réseau fournissant des services pour rendre anonymes les parties en communication. Si l'on souhaite une confidentialité des communications alors il faudra TOR avec chiffrement de niveau applicatif.

Un autre point dont je n'ai pas parlé et qui a son importance : sur le réseau TOR, vos flux sont "mélangés" avec ceux de milliers d'autres utilisateurs... vous êtres donc "fondus dans la masse", plutôt intéressant pour rester masqué. Un observateur sur un routeur de sortie verra plein de connexions de tous types... difficile pour lui de remonter par recoupement à une personne en particulier.

les usages autorisés sont limités et la lenteur est de mise

Non, ce réseau TOR ne va pas tout remplacer : tout d'abord, l'utilisation de certains protocoles est interdite sur le réseau (pas de SMTP/25, pas de P2P notamment...) les débits sont plutôt lents et les délais de connexion sont assez élevés. Faites le test par vous même et vous vous rendrez compte : cela n'a rien à voir avec une connexion Internet directe !

proposer du contenu de façon anonyme : les points de rendez-vous

Le réseau TOR permet aussi de publier de façon anonyme du contenu. Pour y accéder, il suffira d'utiliser une URL de la forme "http://ec7b3a9abc432.onion" : notez le ".onion" à la fin !

Lorsque cette requête rentrera dans le réseau TOR, elle sera automatiquement converti en une adresse d'un nœud TOR via lequel le site web sera accessible. Bien entendu, impossible pour la personne de savoir ou se trouve réellement le site web.

configuration du poste de travail essentielle

Utiliser TOR implique aussi une configuration spécifique de son poste de travail : il ne s'agit pas que ses connexions IP soient anonymes et de laisser des empreintes énormes à cause d'une applet Java intempestive. D'ailleurs, les clients TOR sont livrés avec des logiciels complémentaires comme Privoxy, un relais HTTP filtrant... Idem, des risques existent de perdre son anonymat à cause de la résolution DNS.

un système assez complexe

Bref, la technologie reste accessible à monsieur tout-le-monde mais pour l'utiliser correctement, il est nécessaire de la comprendre... sans quoi, on est pas anonyme du tout !

Un informateur souhaitant communiquer des informations à Wikileaks sera peut-être plus à l'aise d'envoyer ses informations par courrier postal que de se lancer dans cette "tripaille technologique". :-) Même dans ce dernier cas, un certain nombre de précautions sont à prendre.

bloquer l'accès au réseau TOR

Le réseau TOR a été conçu pour fournir un haut niveau d'anonymat. Il est donc compréhensible que certaines entreprises souhaitent limiter ou interdire les connexions à ce réseau ou encore contrôler les connexions en provenance de TOR.

Il existe des listes régulièrement mises à jour avec les adresses IP des routeurs TOR : avec ces listes, rien de plus simple que de bloquer les connexions correspondantes au niveau d'un firewall d'entreprise.

Jean-François Audenard

Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la sensibilisation à la sécurité. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens