Oct 292011
 

Dans mon article précédent, j’évoquais l’empressement de la presse francophone à relayer et appuyer le message selon lequel Tor serait compromis.
J’ai tenté d’expliquer pourquoi une telle déclaration n’est pas à faire à la légère, les répercussions qu’auraient une vulnérabilité réelle et intrinsèque au réseau Tor, et pourquoi tant de chercheurs s’intéressent à cette technologie de si près.

J’ai également voulu apporter un regard critique sur les allégations faites, et la réalité technique de ce que Eric Filiol, directeur de recherche à l’ESIEA, prétend avoir découvert comme faille.

Cet article se positionne dans la continuité directe dudit article précédent, et abordera cette fois-ci la seconde « faille » que Filiol dit avoir découvert dans Tor, à savoir rediriger le traffic Tor de cibles potentielles vers des relais compromis, en créant de la congestion dans les autres relais, et rendant les relais « sains » indisponibles.

avertissement

Comme dans mon article précédent, je vous conseille vivement d’avoir lu mon article déblayant des notions fondamentales du fonctionnement de Tor.

Ces notions ne sont pas bien complexes, mais sont nécessaires à comprendre la réalité de ce que Filiol et son équipe avancent.

Mon but est que, après avoir lu mes articles, chacun puisse débattre de la fiabilité du reseau Tor, et de la réelle menace que l’attaque de Filiol constitue. Pour cela, il est indispensable que chacun ait compris la technologie sous-jacente. Ne serait-ce que dans son principe général.

J’en profite d’ailleurs pour vous rappeller qu’il en va de même pour toute technologie de sécurité informatique : votre confiance en celle-ci doit être proportionnelle à votre compréhension de la technologie.

Ne vous fiez pas à une technologie parce qu’un expert vous dit qu’elle est fiable. Fiez vous à une technologie parce que vous comprennez qu’elle est suffisamment solide pour l’utilité que vous en faites.

Les experts se trompent, ne sont pas toujours objectifs, et sont parfois opaques.
S’il en était autrement, ces articles n’auraient pas besoin d’exister.

Tor et les relais compromis

Comme décrit dans mon article explicatif de Tor, Tor est une technologie reposant sur aux minimum 3 relais choisis au hasard dans le réseau Tor. Les messages que vous voulez envoyer à une destination sont chiffrés autant de fois qu’il y a de relais, et chaque relais ne peut déchiffrer que le niveau de chiffrement lui étant destiné.

Source (vous) -> Relais1 -> Relais2 -> Relais3 (en clair) -> Destination (votre correspondant)

À chaque fois qu’un relais reçoit l’information, il la déchiffre avec sa clé, et passe le résultat au relais suivant, qui fera de même, jusqu’à ce que Relais3 déchiffre le dernier niveau de chiffrement, et envoie l’information en clair à la destination.

Ceci est fait pour qu’il soit impossible à aucun des trois relais de connaître à la fois le contenu, la destination et l’origine de l’information (vous).

C’est donc pour cela qu’on dit que Tor permet d’utiliser des relais pour vos communications, sans avoir à faire confiance en ces relais. Même si un de ces relais est en fait un mouchard, s’il est à la position du Relais1 ou du Relais2, il ne peut pas déchiffrer le message entièrement, et n’a donc aucune idée ni du contenu du message, ni de sa destination réelle (que seul Relais3 découvrira quand il déchiffrera le message avec sa clé), s’il est à la place de Relais3, il connaitra le contenu et la destination, mais pas l’origine, il lui sera donc impossible de vous identifier. S’il est à la place du Relais2, il ignorera tout : le message, l’origine, et la destination.

Notez que si vous avez chiffré votre message par SSL ou autre avant de l’envoyer via Tor (en contactant un site via son adresse https:// par exemple), le Relais3 ne possèdera que cette information chiffrée par SSL, et ne connaitra donc pas le message en clair non plus.

Si vous avez compris ceci, vous verrez donc qu’aucun relais ne peut trahir l’anonymat de la communication, mais s’il arrivait qu’une même personne parvienne à corrompre au moins deux des trois relais (le premier et le dernier, en règle générale), elle pourrait connaitre qui a envoyé une information à travers Tor (le premier relais est en contact avec l’origine de l’information : vous), ainsi que le contenu de votre message (s’il n’était pas chiffré), mais surtout la destination de votre message, ces deux informations étant révélées par le 3eme relais.

Si l’attaquant ne possède que deux des trois relais, il lui faudra deviner et reconnaitre que le trafic envoyé du Relais1 au Relais2 (qu’il ne possède pas), et reçu du Relais2 au Relais3 est bien le même (Rappelez-vous, ces données ont été déchiffrées par le Relais2 entre-temps, les paquets d’information ne sont donc plus les mêmes)
En faisant des attaques statistiques, il est possible de reconnaître le trafic assez effectivement, contrairement à ce que je pensais en rédigeant le premier article.

Si l’attaquant possède les trois relais, la communication peut être tracée de vous vers votre correspondant, et de votre correspondant à vous avec une probabilité d’exactement 100%.

En d’autres termes, ces deux scénarios entrainent une défaite totale de l’anonymat.

C’est donc le vecteur d’attaque le plus couramment évoqué pour corrompre l’anonymat d’une communication Tor, mais également le scénario que le logiciel de routage doit éviter à tout prix.
Pour ce faire, l’équipe de Tor doit s’assurer que le choix des relais à travers lesquels faire passer la communication dans le réseau Tor soit bel et bien déterminé au hasard, et qu’il y en ait assez pour que la probabilité d’en choisir 2 ou 3 au hasard parmi des relais mis en ligne pour servir de « pièges » (honeypots ou mouchards) soit extrêmement faible.
Pour renforcer le tout, ils ont également introduit la notion d’Entry Guard, diminuant drastiquement la probabilité de choisir un Relais1 qui ait été compromis par la même personne que le Relais3.

Vous l’aurez compris, tracer une route pour vos communications à travers des relais « sains » est un enjeu principal ici, si pour une raison ou une autre ce choix de relais se trouve compromis, Tor est battu.

Si une notion de ce bref rappel vous échappe ou n’est pas claire, tout ceci est détaille dans mon article explicatif de Tor. N’hésitez pas à aller le lire, au risque de me répéter, si tout ceci n’est pas limpide, lire la suite de l’article ne vous apportera rien.

Comment forcer une route compromise

À ma connaissance, il n’existe que trois procédés pour y arriver.

truquer le choix des relais au niveau du client

C’est l’approche la plus directe et la plus évidente.

Elle consisterait à altérer le fonctionnement du logiciel Tor installé sur votre machine, et de truquer son choix de relais censé être aléatoire, afin qu’il choisisse toujours une route composée de relais compromis par l’attaquant, même s’il sont extrêmement peu sur le réseau.

Ceci peut être accompli de deux manières :

  • infecter votre ordinateur par un virus spécialement conçu pour affecter le comportement de Tor
  • Ceci permettrait à l’attaquant de prédéfinir le tracé de vos communications à travers Tor, mais également d’observer ce que vous envoyez à travers Tor avant que la communication ne soit chiffrée. C’est donc un échec et mat immédiat.

    Gardez un système à jour, et si possible, n’utilisez pas Windows pour des communications « sensibles » 😉

  • vous fournir une version altérée du logiciel Tor
  • Ce procédé-ci consisterait à vous fournir une version du logiciel dont la sélection des relais ne soit pas aléatoire mais fixée à des relais compromis par la personne vous fournissant le logiciel. Cela semble impensable, mais c’est en réalité réalisable.
    Pour s’en prémunir, vérifiez toujours, absolument toujours le checksum du logiciel Tor que vous téléchargez avant de l’installer. Ce checksum est une valeur de vérification de l’intégrité du fichier affichée sur le site, assurant que le fichier n’a pas été altéré ou remplacé pendant que vous le téléchargiez. (attaque Man-In-The-Midle).
    Vérifiez également que le site duquel vous avez récupéré le fichier et vérifié le checksum n’est un une falsification (phishing), à l’aide de certificats.

compromettre tous les relais Tor

Si tous (ou plus de 80 ou 90%) des relais Tor sont compromis par une même personne, peu importe si le client choisit bien des relais au hasard dans le tas, la probabilité de tracer une route composée de deux ou trois relais compromis devient énorme.

Ceci dit, les statistiques publiques du réseau Tor nous révèlent qu’il y a actuellement plus de 2500 relais tor différents en ligne. Il n’est donc pas réalisable, en pratique, d’espérer compromettre 2000 à 2300 de ces relais sans que personne ne s’en aperçoive, ni d’espérer en mettre 10 000 compromis en ligne du jour au lendemain pour contre-balancer la proportion, sans que cela paraisse suspect.

Cette dernière hypothèse est d’autant plus improbable que Tor ne route pas le trafic en fonction du nombre de nœuds en ligne, mais bien de leur capacité. Mettre en ligne 10 000 nœuds tor pour espérer que Tor établisse souvent des routes entières composées de deux à trois nœuds compromis ne suffirait pas, il faudrait mettre en ligne l’équivalent de plusieurs fois la bande passante totale du réseau.

C’est à la fois invraisemblable, et très peu discret.

diminuer le nombre de relais tor présents sur le réseau

Comme mis en évidence dans le point précédent, ce qui fait la force de la sélection aléatoire de relais Tor parmis les nœuds présents sur le réseau, c’est leur nombre.

Leur nombre garantit qu’il sera toujours très difficile d’en compromettre la majorité. La présence de plusieurs nœuds ayant de très grosse bande passante garantit qu’il sera toujours relativement difficile et couteux de parvenir à déséquilibrer la proportion de bande passante passant par des relais « sains » et celle passant par des relais « compromis ».

Cependant, un équilibre est un compromis, et tout compromis, comme tout équilibre, peut être renversé si un effort suffisant ou les conditions le permettent.
Le compromis est jugé efficace si les conditions pour le déséquilibrer sont suffisamment difficiles à mettre en place.

L’approche la plus audacieuse, mais aussi la plus utopique, est donc de chercher un moyen de réduire le nombre de relais en ligne. Soit en les déconnectant du réseau, soit en les surchargeant.

C’est le vecteur d’attaque que Filiol semble avoir choisi.

Le packet spinning

Le « Packet Spinning » est une des méthodes que Filiol présente dans son attaque.

Derrière ce nom barbare se cache en réalité un procédé plutôt ingénieux.

l’établissement d’une route Tor

Lorsqu’une route Tor est décidée, elle est créée par incrément.

Le Client décide qu’il utilisera les nœuds Relais1, Relais2 et Relais3 pour sa route, choisis au hasard dans le réseau Tor.
Une fois cette sélection faite, le Client contacte le Relais1, et effectue un échange de clés publiques (afin de pouvoir envoyer des données chiffrées que seul Relais1 pourra déchiffrer)

Ensuite, le Client envoie à Relais1 un paquet spécifique appellé « Extend Cell », qui sert à « rallonger la route » d’une unité. Ce paquet contient les coordonnées du Relais2, pour que Relais1 sache que pour cette connexion établie, il devra tout acheminer vers Relais2.

Le Client envoie ensuite un second paquet qui rallongera la route d’un intermédiaire, ce paquet passera par Relais1, et sera lu et interprété par Relais2, qui connaîtra désormais les coordonnées du Relais3.

Une fois la route complètement définie, la transmission vers le correspondant peut commencer, et les paquets de cette connexion passeront toujours par ce même itinéraire.

l’attaque

L’attaque dite par Packet Spinning consiste à exploiter le fait qu’il est virtuellement possible de rajouter des HOPs (relais) à l’infini, et de mettre plusieurs fois les mêmes dans une même route.

Ceci a pour résultat de faire circuler un même paquet d’information dans une boucle (presque) infinie, et créer une charge énorme sur les relais désignés.

Pour illustrer, voici à quoi ressemble une route créée par un client Tor « sain » :

Client -> Relais1 -> Relais2 -> Relais3 -> Destination

et voici à quoi ressemblerait la route d’une attaque par Packet Spinning :

Client -> Relais1 -> Relais2 -> Relais3 -> Relais4 -> Relais1 -> Relais3 -> Relais1 -> Relais5 -> Relais3 -> Relais1 -> Relais2 -> Relais3 -> (…)

On voit par exemple que les Relais1 et Relais3 apparaissent plusieurs fois, et feront donc circuler plusieurs fois le même paquet, sans s’en douter, puisque celui-ci change à chaque passage de Relais (vu qu’il y est déchiffré)

Concrètement, si on établit une route circulaire où chaque relais apparaît 100 fois, pour 1mo de données envoyées à travers cette route, chaque relais devra traiter 100mo.

On se rend bien compte qu’il s’agit ici d’un moyen extrêmement efficace de surcharger des pans entiers du réseau Tor avec seulement une infime fraction de la bande passante que les relais possèdent, de par la facilité de la retourner contre-eux.

la parade

C’est ici que ça se corse.

Pour faire court, il n’y en a pas d’efficace.

L’attaque a cependant été rendue plus difficile à mettre en place par les développeurs de Tor.

En effet, les paquets de « rallongement de route » ne sont pas chiffrés. Du moins pas entièrement.
Les premiers relais de la route, aussi appelés Entry Guard, savent qu’ils sont les premiers de la route. Il est donc de leur responsabilité de compter les requêtes de rallongement de route qui passent. S’ils en voient plus de trois passer, dont celle qui leur était adressée, ils coupent la connexion immédiatement, afin d’éviter des routes à rallonge qui pourraient surcharger tout le réseau.

Ce procédé n’est malheureusement pas infaillible.

Il est effectivement possible d’utiliser « Tor dans Tor » : créer une route « normale et saine » Tor, à travers laquelle on fera passer les « Extend Cells ». Ces requêtes ne passeront donc par aucun Relais en clair avant d’arriver au dernier relais de la route à rallonger.
C’est plus fastidieux, mais c’est possible.

Il n’existe actuellement pas de parade absolue au Packet Spinning dans le protocole Tor, principalement parce que c’est un défaut intrinsèque à tout procédé d’anonymat par le chiffrement dans plusieurs relais.

Cependant, ce genre d’attaque ne passerait pas longtemps inaperçue, étant donnée sa nature. Il ne faudrait pas plus de quelques heures pour que les premiers relais se mettent à filtrer les origines de l’attaque, réduisant exponentiellement son efficacité au fur et à mesure.
Cette mesure n’est pas absolument efficace non plus, vu la difficulté pour les relais d’identifier l’origine des requêtes reçues (ce qui est le principal avantage de Tor, il me semble nécessaire de le rappeler)

En clair, il serait bel et bien possible pour une organisation ayant assez de moyens à disposition de sérieusement perturber le transit du réseau Tor pendant plusieurs heures, voir même forcer le réseau à s’écrouler sur lui-même et le rendre inopérant pendant plusieurs heures.

une parade ? mais Filiol n’a pas encore révélé les détails de son attaque !

Et c’est là que le bas blesse.

Si cette attaque est réellement ingénieuse, et un des seuls moyens connus de réellement entamer la disponibilité de Tor pendant un intervalle de temps relativement important, Filiol ne l’a absolument pas inventé, ni même mise au point.

Cette attaque a en réalité premièrement été décrite en septembre 2008 par Vasilis Pappas, Elias Athanasopoulos, Sotiris Ioannidis, et Evangelos P. Markatos, lors du 11ème Information Security Conference (ISC 2008).

Ceux voulant lire les détails de cette attaque astucieuse et très intéressante peuvent trouver l’étude ici.

Les lecteurs informés ou attentifs auront remarqué que j’ai légèrement simplifié le principe de l’attaque par souci de simplicité (notamment la nécessité d’utiliser un Entry Guard compromis)

Eric Filiol ayant la fâcheuse tendance de déclarer qu’il est le premier académique au monde à avoir abordé Tor en tant que « réseau » et d’avoir « mis au point » une attaque l’exploitant en tant que tel, ferait bien de citer ses sources lorsqu’il présentera « son » attaque les 29 et 30 octobre à São Paulo lors de sa conférence « Hackers to Hackers ».

Il est déjà inquiétant de voir qu’il prétend être le seul a aborder Tor en tant que réseau (ignorant plus d’une dizaine d’autres travaux, j’y reviendrai dans la prochaine et dernière partie de mon article), mais il serait assez grave de sa part de prétendre ignorer l’existence des travaux de recherches de ses confrères en 2008 dont il réutilise la terminologie de « Packet Spinning », ou du moins de ne pas préciser très clairement que cette attaque n’est pas de lui, et de revoir ses déclarations. En effet, l’étude dont il recycle les résultats et l’attaque est indéniablement une étude étudiant et attaquant Tor en tant que « réseau » et non plus « un nœud à la fois », trois années entières avant que Filiol vienne déclarer être le premier sur la balle.

S’il ne veut pas se retrouver avec des échardes de plagiat enfoncées dans son CV ainsi que sa page Wikipedia, il ferait donc bien d’être beaucoup plus prudent lors de ses présentations et déclarations à venir.

Est-ce que ça « casse » Tor ?

En théorie, ça le fragilise. En réalité, pas exactement.

Tout d’abord, même en supposant qu’une organisation assez organisée et ayant suffisamment de ressources parvienne à mettre hors service assez de nœuds, tout en mettant en ligne assez de nouveaux nœuds assez dispersés géographiquement pour ne pas être tous blacklisté par les gestionnaires de nœuds Tor attentifs, et que les nœuds Tor compromis soient assez nombreux et aient assez de bande passante pour être privilégiés lors de la création d’initéraires au sein du réseau Tor… ils ne feraient que se mettre hors-service.

En effet, même en supposant qu’une organisation parvienne à mettre tout ceci en place, elle devrait alors faire face à tout le débit supporté par l’infrastructure Tor « intacte » avant de tomber, qui cherchera à se re-router par les seuls nœuds restant en ligne. Si ce scénario est celui recherché par l’attaquant, et garantirait un haut taux de communication passant intégralement par des relais compromis, ces relais compromis receveraient tellement de requêtes en un intervalle si court de temps que l’issue la plus probable d’un tel procédé serait une surcharge colossale des nœuds compromis, probablement au point de ne même pas arriver à établir une seule route à travers les nœuds compromis (l’établissement de la route ayant un timeout de 60 secondes).

Pour que cette attaque soit efficace, il faudrait que l’attaquant déploie au moins une, voire deux ou trois fois la bande passante totale des 2500 nœuds présents avant l’attaque, sachant que bon nombre d’entre-eux ont une capacité de bande passante abyssale.

Conclusion

Nous avons donc vu que si cette attaque est redoutable pour perturber le bon fonctionnement du réseau Tor pendant un intervalle plus ou moins long avec relativement peu de ressources, il ne semble pas applicable de façon réliste à une un déploiement en situation réelle.

Il reste néanmoins que ce procédé fonctionne parfaitement en conditions simulées avec des proportions de bande passante à contrôler beaucoup plus équilibrées.

« Équilibré » est ici le mot clé.
La meilleure parade à cette attaque reste dans le fait qu’il serait démesurément couteux et complexe de mettre en place une infrastructure capable a la fois de faire passer assez de transit pour que le réseau privilégie ceux-ci, et de tenir la charge. (compte tenu du nombre de nœuds légitimes présents sur le réseau, de la capacité très importante des plus importants d’entre-eux, et du trafic constant circulant à travers Tor et qui cherchera à se re-router sur ces nouveaux nœuds, les surchargeant)

Cette attaque, comme la précédente, ne fait que nous confirmer la nécessité d’assurer la résistance du réseau Tor et sa fiabilité en hébergeant et en ayant le plus de nœuds possible sur le réseau, et si possible une bande passante conséquente pour qu’il soit encore plus difficile de renverser la balance vers un sous-réseau malicieux.

De plus, j’insiste sur le fait que pas le moindre aspect de l’attaque à laquelle j’ai ici consacré un article entier, et plus de 3500 mots, n’est issue d’Eric Filiol dans la moindre mesure possible.
Tout ceci a été décrit et présenté en 2008, plus de trois années entières avant que Filiol ne déclare être le premier à aborder Tor en tant que réseau dans une attaque, ce que —il me semble— cette attaque fait déjà.

Pas de quoi remettre en question la fiabilité du réseau Tor ici, donc, si ce n’est avoir une vision plus précise de ses limitations, et du fait qu’il est plus facile à perturber qu’on le pensait il y a quelques années.

Je conclurai donc en disant que NON, ce second « tiers d’attaque » ne « casse » toujours pas Tor, et que NON, ceci n’est toujours pas un exploit méritant ni publication académique, ni battage médiatique.

Cet article en trois parties se conclura dans les jours qui viennent avec son épilogue, décrivant cette fois ci le dernier et plus flou des aspects de l’attaque de Filiol, ainsi qu’un point fait sur la crédibilité de son auteur.

Oct 242011
 

UPDATE : Il est intéressant de noter que Filiol prétend avoir recensé en tout 181 « Bridges » Tor avec son procédé, alors que les statistiques publiques du réseau montrent qu’il y en a au moins 500.

Eric Filiol est un expert français en sécurité informatique, spécialisé en virologie.
S’il a un CV et un parcours impressionnants, vous avez très certainement entendu parler de lui récemment dans un des nombreux articles où il prétends avoir brisé la fiabilité de la technologie d’anonymat Tor.

« La confiance dans le réseau d’anonymisation Tor est ébranlée »

C’est le titre qu’on a pu lire dans bon nombre d’articles de blogs, de sites d’actualités, ou de tweets.

Le fond de l’histoire est donc qu’un groupe de chercheurs français pense avoir démontré que le réseau Tor est vulnérable, peu fiable et est dangereusement indigne de la confiance qu’on lui porte.

Pour appuyer leurs déclarations, ceux-ci — Eric Filiol en tête — présenteront une démonstration de leur attaque le 29 et 30 octobre à São Paulo dans le cadre de la conférence « Hackers to Hackers ».

Si aucun des rédacteurs d’actualité, ou de blogs, ne semblent avoir voulu attendre la démonstration pour mesurer la pertinence des déclarations faites, je vais en faire de même, et proposer mon humble analyse préliminaire des propos tenus par Filiol jusqu’ici.
Je vais donc prendre le temps de détailler le contexte de la nouvelle, puis de méthodiquement expliquer en quoi les attaques de Filliol consistent une par une en faisant le point sur leur réelles implications pour la sécurité du réseau Tor, puis enfin d’évaluer la crédibilité de Filiol et de ses propos.

Les déclarations.

De l’article d’itespresso dont le contenu technique est plus qu’imprécis, il ressort plusieurs points principaux :

  • Avec son équipe, il aurait mis au point un « algorithme de scripts très complexes » pour dresser une liste des Entry Nodes (Bridges) Tor censés être secrets.
  • Avec son équipe, il aurait trouvé un moyen de déterminer à l’avance, et de forcer la route Tor qu’un client établirait, le forçant potentiellement à constituer une route de 3 relais Tor compromis.
  • Toujours à l’aide de son équipe, il serait arrivé au constat qu’une part importante de relais tournent sous des versions vulnérables de Windows, et aurait mis au point un virus capable de percer le chiffrement de Tor.

Ces trois déclarations peuvent se résumer en une seule phrase, lancée par Filiol lui-même, et qui à elle seule devrait provoquer un raz-de-marée dans l’univers de la sécurité informatique à l’échelle mondiale :

« Nous sommes parvenus à briser à la fois l’anonymisation et le chiffrement (…) Ce qui nous permet d’accéder à la totalité des informations claires. »

Pour ceux que ça intéresse, Filiol a illustré d’avantage ses déclarations dans une série de 3 vidéos publiées sur Dailymotion, passées relativement inaperçues. Elles n’apportent que peu d’informations supplémentaires, si ce n’est qu’elles sont plus claires que l’article d’un point de vue technique.
Partie 1 / Partie 2 / Partie 3

Les implications.

Pourquoi une telle déclaration est-elle si importante ?

Tor est un protocole et un outil permettant de garantir un anonymat extrêmement solide à vos communications sur internet. Il a été développé — comme bon nombre d’outils de sécurité informatique, y compris internet lui-même — dans un premier temps par l’armée navale américaine et est aujourd’hui un protocole et un logiciel libre.
Existant depuis 2002, son utilisation est largement répandue au sein des forces armées, des journalistes, des entreprises, des activistes ou blogueurs dont les idées et propos dérangent dans des pays où la liberté d’expression est à géométrie variable, ou des citoyens voulant simplement préserver leur vie privée.

Il est également dit que Tor aurait joué un grand rôle dans la diffusion d’informations lors du printemps arabe, où internet a été régulièrement victime de filtrages agressifs.

En un mot, c’est une technologie extrêmement utilisée, et sollicitée, sur laquelle beaucoup de gens reposent pour garantir leur anonymat, leur intégrité physique, ou même leur vie.

Annoncer que Tor est vulnérable, cassé, perméable ou qu’il n’est pas digne de confiance met des millions d’utilisateurs à travers le monde en danger potentiel, et impliquerait de revoir profondément la façon dont tous ces individus doivent garantir l’anonymat de leurs communications.

À juste titre, cette technologie est donc continuellement dans le collimateur de tous les experts en sécurité informatique du monde, ou du moins une quantité impressionnante de chercheurs, de doctorants, d’experts et de développeurs, une moitié d’entre-eux cherchant à découvrir la faille dans cette technologie qui leur permettra d’entrer dans l’histoire, et de marquer la fin d’une ère dominée par Tor, et l’autre moitié cherchant à améliorer cette technologie pour la rendre moins sensible aux divers moyens de blocage mis en place par des gouvernements totalitaires, et garantir au mieux la sécurité des citoyens s’abritant derrière ce bouclier technologique.

Depuis 2002, cette technologie est donc scrutée attentivement, au point de la connaître par cœur, d’en avoir identifié les forces et les faiblesses.
Depuis 2002, cette technologie reste inviolée, même si dans certains cas extrêmement improbables et pessimistes, il est possible de la fragiliser, son principe reste le plus solide et le plus fiable que l’on connaisse, et ce depuis 10 ans.

Déclarer avoir cassé Tor est probablement pour le monde de la sécurité informatique aussi éloquent que déclarer avoir prouvé que P = NP pour le monde des mathématiques, ou d’avoir cassé le chiffrement AES pour le monde de la cryptographie (ce qui est ironique dans notre cas, nous verrons plus tard pourquoi)

Comme pour ces deux analogues, régulièrement, un individu annonce avoir décroché le saint Graal, et le monde entier retient son souffle en vérifiant ses résultats, et de la même façon, en général ces résultats se révèlent soit inexacts, soit grandement exagérés.

Récapitulatif : Comment fonctionne Tor ?

Mon article va s’intéresser aux détails techniques revendiqués par les déclarations de Filiol et son équipe, et va donc analyser en profondeur le fonctionnement de la technologie Tor.
Si j’espère parvenir à toucher un public le plus large possible, et initier par la même occasion ceux qui ne connaissaient Tor que de nom jusqu’ici, pour pleinement comprendre et juger les propos qui vont suivre, il est impératif d’avoir lu mon précédent article au sujet de Tor, où j’explique le plus simplement et de la façon la plus imagée possible quel est le raisonnement derrière la technologie Tor, et quelles sont les garanties qui font sa solidité et sa fiabilité.

J’insiste : si vous n’êtes pas intimes avec la mécanique derrière Tor, lisez mon article « Some people just want to see the world TOR » (rédigé en français, malgré le titre)

Une fois cela fait, nous pourrons analyser ensemble les déclarations de l’équipe de Filiol.

Lister les Entry nodes (Bridges) secrets de Tor.

Cet article en plusieurs parties abordera ce point ci en premier, alors que les parties qui suivront approfondiront chacune une autre problématique soulevée par Filiol, par souci de clarté.

Pour vous rafraîchir la mémoire : un bridge est un point d’entrée au réseau Tor. Ils existent car la liste des points d’entrée au réseau Tor est connue et publique, beaucoup de pays oppresseurs sont donc souvent tentés de bannir toutes ces IP, afin d’empêcher leurs citoyens d’accéder au réseau Tor. Les Bridges sont donc des points d’entrée au réseau Tor qui ne sont pas répertoriés dans les listes publiques.

Où trouver des Bridges quand on en a besoin ?

La question est donc, s’ils sont si secrets, comment des dissidents peuvent-ils obtenir leurs coordonnées lorsqu’ils en ont besoin pour accéder au réseau Tor ?

La réponse est que par défaut, chaque fois qu’un Bridge est créé, il communique ses coordonnées, non pas aux listes publiques, mais à un serveur Tor qui les répertorie sans en révéler la liste à qui que ce soit.
Quand quelqu’un a besoin de joindre Tor, il n’a qu’à envoyer un mail à l’adresse bridges@torproject.org avec pour seul message « get bridges ». Le serveur de Tor choisira alors 3 Bridges aléatoirement dans la liste et les lui enverra par mail.
De cette façon, les gens qui en ont besoin peuvent obtenir des Bridges sans qu’il soit possible d’accéder à la liste complète d’un coup, ce qu’un pays oppresseur pourrait faire afin de bannir ces Bridges aussi facilement que les points d’entrée diffusés sur les listes publiques.

Quelle est l’attaque proposée par Filiol, alors ?

Après avoir lu le point précédent, il ne faut pas être Directeur du centre de recherche de l’ESIEA pour comprendre qu’en envoyant assez de demandes de nœuds Tor à d’adresse mail bridges@torproject.org, il finira, trois par trois, par nous envoyer la liste complète des Bridges, petit à petit.

Pour compliquer cette tâche, l’équipe de Tor a mis en place un filtre qui ignore toute demande ne provenant pas de gmail, yahoo, ou du MIT, et n’autorise qu’un certain nombre de requêtes pour chaque IP.
Le but ici est de compliquer la tâche d’un organisme voulant tous les répertorier pour les bannir : il n’est jamais revendiqué qu’il est impossible d’abuser de ce système et de garantir que personne ne créera 50 adresses gmails et passera deux mois à envoyer des mails en boucle au serveur pour épuiser sa liste. L’équipe de Tor rend juste ce processus suffisamment laborieux et lent pour que, le temps qu’une entité ait répertorié la majorité de la liste de Bridges « secrets », d’autres auront été rajoutés à la liste, probablement plus rapidement qu’il n’est possible d’en dresser la liste, en pratique.

L’ « attaque » de Filiol ne semble pas être plus élaborée que ça.
En effet, ce qu’il qualifie fièrement d’ « algorithmes de scripts très complexes » (sic.) mis au point par son équipe de chercheurs, n’est vraisemblablement rien d’autre qu’un petit programme ne dépassant probablement pas les quelques dizaines de lignes de code, à la portée de n’importe quel lycéen de 16-17 ans s’intéressant à la programmation en Perl, en une après-midi de travail.

Si vous ne me croyez pas, allez voir un programmeur de votre entourage, pas nécessairement expert en sécurité informatique, et demandez lui combien de temps et de lignes de code il lui faudrait pour automatiser l’envoi de mails, et dresser une liste des IP contenues dans les réponses reçues.
Pour un informaticien de profession, ça ne devrait pas prendre plus d’une heure de travail, même s’il n’est pas diplômé d’une École d’Ingénieur réputée.

À vrai dire, c’est un dispositif plusieurs fois moins complexe que celui nécessaire pour envoyer des volées de spams aux adresses mails récupérées grâce à google, qui inondent probablement le répertoire « Indésirables » de votre boite.

Pas de quoi crier à l’exploit, en soi.

Est-ce que ça « casse Tor » ?

Pas vraiment, non.

Comme décrit plus haut, avec assez de patience, il est évident qu’il est possible de répertorier les éléments de cette liste, et d’en bannir une partie. C’est un risque calculé par l’équipe de Tor, qui préfère avoir un moyen facile de distribuer des Bridges Tor à quiconque en fait la demande, quitte à ce que certains organismes passent des semaines à en demander pour espérer en bannir une partie.

Tout d’abord, comme je l’ai également évoqué plus haut, la tâche a suffisamment été compliquée pour espérer que le temps qu’une entité malveillante ait fait le tour de la liste, d’autres bridges aient été créés et injectés dans cette liste, rendant la « blacklist » établie caduque.

Ensuite, même s’il existait un moyen de récupérer tout le contenu de cette liste assez rapidement pour en bannir tous les éléments, Filiol semble ignorer qu’il est parfaitement possible de créer un Bridge Tor « secret » qui ne sera même pas annoncé sur la liste confidentielle de Tor.
En gros, ce Bridge ne sera connu que par la personne qui le crée, et donc dit « privé ». Libre à lui ensuite de le communiquer de façon confidentielle à des gens de confiance en ayant besoin, se l’échangeant entre cercles de confiance afin d’éviter qu’il ne tombe aux mains des censeurs.

C’est un moyen de diffusion un peu plus laborieux pour ceux en ayant besoin, mais c’est la démarche logique et justifiée dans un pays où des crimes de guerre sont commis à chaque coin de rue, et où les médias et journalistes sont persécutés.

C’est très facile à mettre en place, et expliqué dans la documentation de Tor.

Il suffit de rajouter ces deux lignes dans votre fichier de configuration torrc :

BridgeRelay 1
PublishServerDescriptor 0

La première activant le mode « Bridge » de votre logiciel Tor, et la seconde demandant que votre Bridge ne soit communiqué à personne, pas même la fondation Tor.

Conclusion

Il n’y a donc ici absolument pas lieu de s’inquiéter, et encore moins de crier avoir « ébranlé Tor ».
Non seulement il serait laborieux de dresser la liste des Bridges Tor présents dans la liste détenue par Torproject.org en espérant qu’entre-temps il n’y en ait pas eu de nouveaux ajoutés et qu’il faille en refaire tout le tour, mais en plus il en existe bon nombre qui ne sont listés nulle part, et qui ne peuvent pas être détectés aussi facilement.

Tout ce que Filiol fait ici, c’est nous rappeler pourquoi il est important de créer suffisamment de Bridges Tor, et d’en avoir quelques uns de « privés » à envoyer à des contacts de confiance se trouvant victime de persécution, par exemple.

Si possible, faire utiliser une nouvelle adresse ip à vos Bridges de temps en temps n’est pas une mauvaise idée, histoire de renouveler la liste « secrète » des nœuds répertoriés.

Ce que Filiol dit avoir « découvert » ici n’a aucune répercussion sur la confiance qu’on peut avoir en le réseau Tor, n’étant pas une méthode prétendant compromettre l’anonymat de Tor, mais prétendant simplement simplifier son filtrage.

Contrairement aux deux autres procédés qu’il a évoqué, et qui eux prétendent réduire à néant la sécurité garantie par la technologie Tor.

J’analyserai ceux-ci dans les parties 2 et 3 de mon article, à venir dans les jours qui viennent.