IMA4 2017/2018 P40 : Différence entre versions
Ligne 281 : | Ligne 281 : | ||
*https://www.torproject.org/projects/torbrowser.html.en. | *https://www.torproject.org/projects/torbrowser.html.en. | ||
− | Il s'agit de la méthode la plus simple d'obtenir un ordinateur connecté à Tor de la manière la plus sécurisée possible. Tor Browser contient un clone du projet Firefox de Mozilla, sous licence GPL, il s'agit donc un simple navigateur modifié pour tout faire transiter par Tor. En pratique, Tor Browser va faire transiter les requêtes par un proxy SOCKS sur le localhost via le port 9050, sur lequel tourne le logiciel d'onion routing (Tor en lui même).En plus du navigateur, Tor Browser inclus divers logiciels purement sécuritaires, comme Privoxy, un proxy http qui va filtrer toutes les fuites http qui pourraient ne pas transiter par Tor, et par conséquent compromettre l'anonymat d'Alice. | + | Il s'agit de la méthode la plus simple d'obtenir un ordinateur connecté à Tor de la manière la plus sécurisée possible. Tor Browser contient un clone du projet Firefox de Mozilla, sous licence GPL, il s'agit donc un simple navigateur modifié pour tout faire transiter par Tor. |
+ | |||
+ | En pratique, Tor Browser va faire transiter les requêtes par un proxy SOCKS sur le localhost via le port 9050, sur lequel tourne le logiciel d'onion routing (Tor en lui même).En plus du navigateur, Tor Browser inclus divers logiciels purement sécuritaires, comme Privoxy, un proxy http qui va filtrer toutes les fuites http qui pourraient ne pas transiter par Tor, et par conséquent compromettre l'anonymat d'Alice. | ||
===Ajout d'un nœud=== | ===Ajout d'un nœud=== |
Version du 19 février 2018 à 16:45
Sommaire
Présentation générale
Lien du Gitlab.
Description
Notre projet s’intitule "Exploration du réseau d'anonymisation Tor" et consiste à découvrir le principe de fonctionnement de ce dit réseau pour ensuite le mettre en pratique et enfin l’analyser en profondeur. Tor (Acronyme de "The Onion Router", le routage en oignon), est un réseau mondial décentralisé apparu en 2002 en version alpha et qui permet de lutter contre la surveillance et la censure. Sous le terme décentralisé se cache des milliers de serveurs mis à disposition par des bénévoles. Ces machines, appelées noeuds, agissent comme des relais pour permettre une anonymisation des connexions internet. Lorsqu’on fait référence à Tor, l’amalgame est souvent fait avec le logiciel Tor Browser, qui lui n’est qu’un navigateur (basé sur Firefox) qui envoie les connexions dans le réseau Tor. L'appellation du protocole “routage en oignon” fait référence à la manière dont les données sont encapsulées puis “épluchées” au cours d’un trajet dans un circuit tor.
Tor est utilisé dans deux situations :
- Accéder au web "normal" : la requête émise par l'utilisateur est transférée jusqu'au serveur ciblé par un circuit composé de trois nœuds.
- Accéder aux services cachés : l'utilisateur et le serveur ciblé s'entendent sur un point de rendez-vous pour communiquer.
Objectifs
Ce projet peut se découper en trois grandes parties. En premier lieu, nous commencerons par un travail bibliographique afin de nous forger des connaissances solides sur le réseau Tor. Suivra une partie où nous mettrons en application notre savoir au travers de trois expériences qui seront : la navigation sur Internet avec le réseau Tor, la création d’un noeud et finalement l’hébergement d’un service caché. La troisième partie sera consacrée à des tests d’efficacité du réseau. Nous visualiserons les requêtes reçues par un serveur web (sous notre administration) lorsqu’on accède à celui-ci via Tor. Nous évaluerons ensuite la vulnérabilité des nœuds du circuit. Enfin, nous nous attaquerons à une autre particularité de Tor, à savoir les services cachés. A nouveau, nous testerons les limites de cette fonctionnalité pour voir par exemple s’il est possible de déterminer la localisation du serveur hébergeant le service. Evidemment, s'agissant d'un projet d'exploration, cette liste d’objectifs est sujette au changement et pourra se voir allongée par la suite, du moins nous l'espérons.
Analyse du projet
Positionnement par rapport à l'existant
A l’heure d’aujourd’hui, quand on parle d’anonymisation, Tor est souvent le seul service évoqué. Bien que ce ne soit pas le cas, il est vrai qu’il possède une place de leader dans son domaine. Ce qui le rend si populaire est sans doute la simplicité des applications gravitant autour de ce réseau, le tout accompagné d’une communauté très active. Pour ne citer qu’un exemple, Tor Browser s’installe en quelques minutes de la même manière que Firefox. Sa seconde force réside dans sa capacité à pouvoir accéder au web "normal" sans que le serveur ciblé ne connaissent l’origine de la connexion. Tor a été conçu pour ce genre d'utilisation, c’est pour cela que les connexions aux services cachés sont plus lentes que sur d'autre réseau d'anonymisation. Mis à part les aspects purement techniques et les raisons ci-dessus, rien d'autre ne pourrait distinguer Tor de ses concurrents.
Analyse du premier concurrent
I2P et Tor sont conçus pour permettre la mise en relation de deux machines sans révéler leur adresse IP réelle et sont donc assez similaire sur le principe. Bien qu’il soit également possible d’accéder au web "normal" avec I2P, ce n’est pas son but premier. Ce réseau privilégie l’utilisation des services cachés, de ce fait il est plus rapide d’y naviguer dessus. En terme de différence technique, on peut citer le fait que les tunnels (équivalent des circuits Tor) sont unidirectionnels contrairement à Tor.
Analyse du second concurrent
Freenet possède quant à lui un autre type d’usage en proposant le partage de fichiers de manière anonyme et résistante à la censure. En effet, contrairement à Tor et I2P, Freenet assure la pérennité des données grâce à une redondance des fragments de fichiers. Freenet est sur ce point similaire au protocole BitTorrent puisqu’un utilisateur téléchargeant un fichier est susceptible de le redistribuer plus tard à condition de toujours l’avoir en cache. En plus de sa bande passante, l’utilisateur est libre d’allouer une partie de son disque dur pour stocker les fichiers du réseau. Un fichier populaire, de par ce procédé, a plus de chance de rester disponible. Pour garantir l’anonymat, un client possède une liste de vingt nœuds qu’il peut interroger. Si aucun des nœuds ne possède ce fichier, ces vingts nœuds interroge à leur tour leurs voisins et ainsi de suite. Ainsi quand le fichier transite vers le client, aucun nœud ne sait si celui qui le précède est le demandeur.
Scénario d'usage du produit ou du concept envisagé
Alice est une journaliste dans un pays où les libertés individuelles sont bafouées, mais elle souhaite partager avec le reste du monde son quotidien en s’assurant que, dans un premier temps son gouvernement ne sache pas ce qu’elle envoie comme information, mais aussi qu’il ne sache pas à qui elle les envoie.
Alice peut donc utiliser le réseau Tor, afin dans un premier temps de crypter sous plusieurs couches SSL son message, mais également en passant par plusieurs noeuds pour brouiller les pistes qui voudraient remonter à elle ou au serveur avec qui elle communique.
Seulement, deux problèmes se posent à Alice, si elle communique avec Bob sur un réseau Tor Web classique, alors tout le trafic entre le nœud 3 et Bob sera en clair (il peut être crypté via https bien évidemment, mais il ne sera pas crypté d’un point de vue Tor), ainsi, on peut lire le contenu du message envoyé à Bob, et le corréler avec le contenu qui trafique dans les nœuds Tor pour remonter à Alice.
Ensuite, les nœuds du réseau sont publics, un gouvernement peut donc très bien en bloquer l’accès, voire pire, le rendre illégal et imposer des sanctions lourdes en dissuasion. Pour régler ce problème, Tor project propose d’envoyer dans un premier temps le software par un média non suspect (CD par exemple), et aussi dans un second temps d’allouer à Alice un bridge, un nœud d’entrée Tor complètement secret, réservé pour l’accès au réseau Tor dans les pays peu libres.
Ainsi, du point de vue du gouvernement qui essaierait de sniffer les paquets envoyés et reçus par Alice, ils ne verraient que du charabia sous SSL entre elle et un serveur qui n’a rien de suspect si c’est un bridge.
Réponse à la question difficile
La question difficile posée durant la présentation orale de notre sujet nous amène à analyser le comportement de Tor concernant le ciblage publicitaire mis en oeuvre par l’utilisation des cookies. Premièrement, il est bon de savoir que ce navigateur n'est qu'un fork du très connu Mozilla Firefox sur lequel il est possible d'utiliser le réseau d'anonymisation TOR. Rien que par ce premier point, on comprend rapidement que le réseau en tant que tel n'est nullement responsable du ciblage publicitaire. Tor n'est qu'un réseau permettant l'acheminement de paquets TCP, paquets pouvant encapsuler entre autres du HTTP/S. Il est donc tout à fait possible de retrouver une en-tête HTTP/S de type Set-Cookie ou Cookie qui permettra dans le meilleur des cas de faciliter la navigation de l'utilisateur ou pire de le cibler. Le ciblage, opéré principalement par les régies publicitaires, utilise ce que l'on appelle les cookies tierce partie. Lorsqu'on se connecte à une page web, notre client effectue des requêtes au serveur web qui sont dites internes quand le domaine correspond à celui sur lequel on se trouve ou tierce partie quand la cible est un domaine différent. Les cookies tierce partie désignent donc les cookies envoyés par ce tiers. Dès lors, peu importe le site consulté, le client sera en état de transmettre des infos d'un site interrogé auparavant à condition qu'ils aient la même régie. Les navigateurs Internet actuels permettent de désactiver les cookies tierce partie et Tor Browser a fait ce choix par défaut, n'autorisant que les cookies internes.
Préparation du projet
Cahier des charges
Choix techniques : matériel et logiciel
Ce projet purement informatique ne nécessite aucun matériel à l'exception d'un serveur connecté sur le réseau de l'école et ayant accès à la ligne SDSL. Du coté des logiciels, nous commencerons par exploiter Tor Browser et Firefox afin de naviguer sur Internet en passant par le réseau Tor. Nous verrons ainsi l'utilité d'utiliser la navigateur de la fondation Tor. Dans un second temps, nous créerons des machines virtuelles sur le serveur Chassiron afin d'ajouter un nœud au réseau Tor ou encore d’héberger un service caché (sur un serveur web tel que Nginx ou Apache). La mise en place de ces machines nécessitera les logiciels Xen (pour la virtualisation) et LVM (pour la création de volume logique). Finalement, nous installerons Tor pour être en mesure de communiquer sur le réseau.
Concernant la partie analyse et sécurité, Wireshark ou tcpdump se révéleront être des outils pratiques pour analyser les paquets reçus sur une interface réseau.
Liste des tâches à effectuer
- État de l'art technique : les recherches documentaires s’effectueront tout au long du projet mais beaucoup d'importance y sera consacré dans un premier temps.
- Installation de Tor Browser et comparaison avec un Firefox classique.
- Création et configuration d'un machine virtuelle connecté sur la ligne SDSL.
- Ajout d'un nœud au réseau.
- Installation d'un serveur web sur une autre VM pour héberger un service caché.
- Mise en place d'un réseau privé Tor pour avoir la main sur l'ensemble de la chaîne de transmission.
Calendrier prévisionnel
Faire un Gantt
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 20 | |||||||||||
Rédaction du wiki | 2 | 1 | 1 | 1 | 1 | |||||||
Documentation après prologue | 2 | 2 | 4 | 2 | 2 | |||||||
Installation d'une VM avec Xen | 2 | |||||||||||
Configuration de la VM | 2 | 2 | ||||||||||
Ajout d'un nœud Tor | 2 | |||||||||||
Serveur Web sur la VM | 4 | |||||||||||
Mise en place du service caché | 1 | |||||||||||
Mise en place du Directory server | 3 |
Prologue
Semaine 1
- Installation et configuration d'une VM sur le serveur Chassiron
- Utilisation et compréhension de Xen
- Étude de l'architecture de réseau de Chassiron (et de Polytech en général)
A faire :
- Installer Tor / Torify / Lynx
Semaine 2
- Configuration de la carte réseau virtuelle de la VM pour se connecter au Vlan47 correspondant à la ligne SDSL
- Installation de quelques paquets : Lynx, TCPdump
- Cette VM servira de serveur web pour notre réseau privé Tor (changement de bridge => InfoStud)
- Installation d'Apache2
- Installation de Tor Browser sur tutur02
- Comparaison Tor / Web classique avec Wireshark
- Mise en place d'un service caché sur la VM
À faire :
- Créer 3 autres VM pour les nœuds Tor (le client sera une zabeth/tutur)
- On pourra analyser efficacement les trames qui transitent
Semaine 3
- Problème : le serveur web de la VM est accessible de l'extérieur du réseau Lille 1 mais pas de l'intérieur
- Lecture en liant avec Tor et la sécurité, beaucoup de publications sur : https://www.freehaven.net/anonbib/
- Mise en place d'un nœud
Semaine 4
- Analyse des trames émises / reçues avec Wireshark
- Comparaison Tor Browser / Firefox classique en passant par Tor => DNS Leaks !
- Lecture
Semaine 5
- Lecture de doc
- Recyclage de 3 VMs sur Chassiron pour bâtir le réseau privée Tor. Deux seront des nœuds et la troisième sera à la fois un nœud, un serveur web et un directory server. Passage des IPs en static.
- Installation de Tor sur les 3 VMs
- Mise en en place du authority server, du relay et serveur web apache2 sur grolem
- Configuration du relay sur grodoudou et goupix en spécifiant l'adresse du authority server (grolem)
- Le réseau est en place, manque plus qu'à configurer le torrc du client, une tutur
Travail réalisé
État de l'art
Le routage en Onion
Web classique torifié
Les services cachés
Les failles connues
Expérimentations
Pour naviguer sur le réseau Tor, nous avons téléchargé la dernière version de Tor Browser disponible sur le site web de la fondation :
Il s'agit de la méthode la plus simple d'obtenir un ordinateur connecté à Tor de la manière la plus sécurisée possible. Tor Browser contient un clone du projet Firefox de Mozilla, sous licence GPL, il s'agit donc un simple navigateur modifié pour tout faire transiter par Tor.
En pratique, Tor Browser va faire transiter les requêtes par un proxy SOCKS sur le localhost via le port 9050, sur lequel tourne le logiciel d'onion routing (Tor en lui même).En plus du navigateur, Tor Browser inclus divers logiciels purement sécuritaires, comme Privoxy, un proxy http qui va filtrer toutes les fuites http qui pourraient ne pas transiter par Tor, et par conséquent compromettre l'anonymat d'Alice.