Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I...

39
Fonctionnement global Le coeur de l’oignon Alors je suis anonyme ? Xposés IR3 2009/2010 TOR - The second-generation Onion Router Rémy MASSON 12 janvier 2010 Rémy MASSON Xposés 2009/2010 - TOR 1/30

Transcript of Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I...

Page 1: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Xposés IR3 2009/2010TOR - The second-generation Onion Router

Rémy MASSON

12 janvier 2010

Rémy MASSON Xposés 2009/2010 - TOR 1/30

Page 2: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Plan

1 Fonctionnement globalGénéralitésAnonymat de la sourceServices cachés

2 Le coeur de l’oignonDétail du connuFonctionnalités

3 Alors je suis anonyme ?Précautions supplémentairesAttaques possiblesHack of the year 2007

Rémy MASSON Xposés 2009/2010 - TOR 2/30

Page 3: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Généralités

I Oui, un oignonI OpensourceI Distributed overlay networkI Composé de noeudsI Anonymiser les connexions TCPI Clients construisent des circuits

• Noeuds ont des connaissances limitées• Onion Routers (OR) routent le trafic

I Application haut niveau

Rémy MASSON Xposés 2009/2010 - TOR 3/30

Page 4: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Généralités

I Nécessite une compatibilité SOCKSI SOCKS ?

• Couche session• Protocole facilitant le routage de paquets entre les

applications client/serveur via un serveur proxyI Onion Proxy (OP)

• Récupère les directories• Crée et utilise des circuits• Gère les connexions des applications utilisateurs

I Directory server (serveur d’annuaires)• Référence les ORs connus

Rémy MASSON Xposés 2009/2010 - TOR 4/30

Page 5: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Objectifs de conception

I Objectifs• Déployabilité• Facilité d’utilisation• Flexibilité• Conception simple

I Non-objectifs• Non peer-to-peer• Pas sécurisé contre les attaques de bout en bout• Non soucieux de l’anonymat des protocoles

transportés• Non stéganographique

Rémy MASSON Xposés 2009/2010 - TOR 5/30

Page 6: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Principe

Rémy MASSON Xposés 2009/2010 - TOR 6/30

Page 7: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Principe

Rémy MASSON Xposés 2009/2010 - TOR 6/30

Page 8: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Principe

Rémy MASSON Xposés 2009/2010 - TOR 6/30

Page 9: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Circuits

I Plusieurs flux TCP multiplexés sur un circuit• Efficacité et anonymat

I Durée de vie limitéeI OP choisit les noeuds du circuitI Construits de façon incrémentale

Rémy MASSON Xposés 2009/2010 - TOR 7/30

Page 10: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Chez moi.

Rémy MASSON Xposés 2009/2010 - TOR 8/30

Page 11: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Chez les autres

Rémy MASSON Xposés 2009/2010 - TOR 9/30

Page 12: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Chez les autres

Rémy MASSON Xposés 2009/2010 - TOR 9/30

Page 13: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Chez les autres

Rémy MASSON Xposés 2009/2010 - TOR 9/30

Page 14: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Les services cachés

Rémy MASSON Xposés 2009/2010 - TOR 10/30

Page 15: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Les services cachés

Rémy MASSON Xposés 2009/2010 - TOR 10/30

Page 16: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Les services cachés

Rémy MASSON Xposés 2009/2010 - TOR 10/30

Page 17: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Les services cachés

Rémy MASSON Xposés 2009/2010 - TOR 10/30

Page 18: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Les services cachés

Rémy MASSON Xposés 2009/2010 - TOR 10/30

Page 19: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

GénéralitésAnonymat de la sourceServices cachés

Les services cachés

Rémy MASSON Xposés 2009/2010 - TOR 10/30

Page 20: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Précisions

I ORs maintiennent des connexions TLS versles autres ORs

I Cellules de taille fixeI Chaque OR

• Identity key : longue durée de vie, signe lescertificats TLS, les router descriptors (etdirectories)

• Onion key : courte durée de vie, utilisée lors del’établissement de circuits

• Clés éphemères entre noeuds (circuit)• Clés de lien négociées par TLS

Rémy MASSON Xposés 2009/2010 - TOR 11/30

Page 21: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Cellules

I 512 octetsI CircID propre à chaque connexion (OR-OR ou

OR-OP)I Deux types de cellule

• Cellules de contrôle• Cellules de relai

I Cellules de contrôle

• CMD : padding, create/created, destroy

Rémy MASSON Xposés 2009/2010 - TOR 12/30

Page 22: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Cellules

I Cellules de relai

• Données de bout en bout• CMD : relay data, relay begin/relay connected,

relay teardown, relay extend/relay extended, relaytruncate/relay truncated, relay sendme, relay end

• Digest : contrôle d’intégrité + identifie l’OR ciblé

Rémy MASSON Xposés 2009/2010 - TOR 13/30

Page 23: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Circuit

I Plusieurs streams sur un même circuit• Construction d’un circuit "coûteuse"

I Circuits construits avant besoin• Eviter les délais au moment du besoin• Impact sur l’utilisation minimal

I OPs construisent de nouveaux circuitspériodiquement• Anciens supprimés si utilisés

I Leaky pipe

Rémy MASSON Xposés 2009/2010 - TOR 14/30

Page 24: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Construction de circuits

I Construits de façon incrémentale• Diffie-Hellman• Négociation de clé symétrique avec chaque OR

I Utilisation des cellules de contrôle et de relai

Rémy MASSON Xposés 2009/2010 - TOR 15/30

Page 25: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Construction d’un circuit

Rémy MASSON Xposés 2009/2010 - TOR 16/30

Page 26: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Construction d’un circuit

I Authentification unilatéraleI Pour envoyer une cellule de relai à un OR

précis :• Alice calcule le digest• Chiffre itérativement entête + données de relai

I Alice a la possibilité de choisir plusieurspoints de sortie• Avoir des points de sortie différents sans recréer

complètement des circuits• Exit policies

Rémy MASSON Xposés 2009/2010 - TOR 17/30

Page 27: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Ouverture de flux

I Application d’Alice demande à l’OP (viaSOCKS)

I OP choisit le dernier circuit créé et choisit unOR comme point de sortie

I OP envoie un relay begin avec un nouveaustream ID aléatoire

I Le point de sortie répond par un relayconnected après la négociation TCP

I OP notifie l’application via SOCKS du succèsI OP relaie les données dans des cellules relay

dataRémy MASSON Xposés 2009/2010 - TOR 18/30

Page 28: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Directory servers

I Noeuds spécifiques et redondantsI Référencent les ORs connus

• Router descriptors (clés, exit policy, adresse,bande passante, ...)

I Clients doivent vérifier que les directories sontles mêmes sur d’autres serveurs

I Accessibles en HTTPI ⇒ Bootstrapping

Rémy MASSON Xposés 2009/2010 - TOR 19/30

Page 29: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Directory servers

I http ://moria.seul.org :9032/tor/status/authority

Exampler xposeIG2K 4P7wXEQ57as+boBhCuCIn0fyvzA laBwFecFIQnUW1deF2D1W0tBSng2010-01-11 18 :50 :42 85.171.182.65 9001 0s Exit Fast Running Validopt v Tor 0.2.1.20

Example~/xpose $ cat authority |grep Running|wc -l1754

Rémy MASSON Xposés 2009/2010 - TOR 20/30

Page 30: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Exit policies

I Améliorer le confort des utilisateurs voulantfaire tourner des ORs

I Type d’ORs• Open exit nodes• Middleman nodes• Private exit nodes

I Restrictions de servicesI ⇒ Port 25 bloqué (spam)

Rémy MASSON Xposés 2009/2010 - TOR 21/30

Page 31: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Contrôle du débit

I Permet d’améliorer le confort des utilisateursmettant des ORs à disposition

I Tocken bucket• Limite le débit moyen• Permet des bursts

I Service préférentiel pour les servicesinteractifs• Basé sur la fréquence des cellules envoyées pour

le stream concerné

Rémy MASSON Xposés 2009/2010 - TOR 22/30

Page 32: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Contrôle de congestion

I Exemple lorsque trop d’utilisateurs utilisentdeux OR pour leurs circuits

I Délégation à TCP du séquencement, durenvoi...

I Se fait sur les cellules relay dataI Gestion de la congestion

• Au niveau des circuits• Au niveau des flux

I Dans les deux cas, deux fenêtres• packaging window : quantité de cellules

relayables vers l’OP depuis un flux TCP• delivery window : quantité de cellules relayables

vers un flux un TCPRémy MASSON Xposés 2009/2010 - TOR 23/30

Page 33: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Détail du connuFonctionnalités

Contrôle de congestion

I Lorsqu’une cellule est envoyée, la fenêtrecorrespondante est décrémentée

I Envoi d’une cellule relay sendme lorsquenombre suffisant de cellules reçues• Circuits⇒ streamID de 0• Flux⇒ attente du flush sur le flux TCP

I Réception d’une cellule relay sendmeincrémente sa fenêtre de x

Rémy MASSON Xposés 2009/2010 - TOR 24/30

Page 34: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Précautions supplémentairesAttaques possiblesHack of the year 2007

Presque

I Requête DNS• Volonté de joindre ce serveur

I Cookies HTTPI ⇒ PrivoxyI Anonymat renforcé lorsqu’un OR local est

utilisé• Premier OR peut être compromis

Rémy MASSON Xposés 2009/2010 - TOR 25/30

Page 35: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Précautions supplémentairesAttaques possiblesHack of the year 2007

Attaques possibles

I Attaques passives• Observation• Corrélation de timing de bout en bout

I Attaques actives• Attaques de "marquage"• Faire tourner un OR hostile

I Attaques sur le service d’annuaires• Corrompre un directory server• Détruire le service (directory servers)

I Attaques contre les points de rendez-vous• Flood de requête d’introduction• Compromettre un point d’introduction

Rémy MASSON Xposés 2009/2010 - TOR 26/30

Page 36: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Précautions supplémentairesAttaques possiblesHack of the year 2007

Anonymat n’est pas confidentialité

I Hack of the year 2007I Monsieur qui apparait avec des comptes du

gouvernementI Spéculations sur son mode opératoire (man in

the middle, etc.)I LE maillon faible !

Rémy MASSON Xposés 2009/2010 - TOR 27/30

Page 37: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Précautions supplémentairesAttaques possiblesHack of the year 2007

Anonymat n’est pas confidentialité

⇒ Chiffrement bout-à-bout comme TLS

Rémy MASSON Xposés 2009/2010 - TOR 28/30

Page 38: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Bibliographie

I http ://www.hatswitch.org/~nikita/I http ://www.torproject.org/I http ://www.xmcopartners.com/article-tor.html

Rémy MASSON Xposés 2009/2010 - TOR 29/30

Page 39: Xposés IR3 2009/2010igm.univ-mlv.fr/~dr/XPOSE2009/TOR/resources/xpose.pdf · 2010. 3. 31. · I Clients construisent des circuits Noeuds ont des connaissances limitées Onion Routers

Fonctionnement globalLe coeur de l’oignon

Alors je suis anonyme ?

Merci de votre attention

Questions ?

Rémy MASSON Xposés 2009/2010 - TOR 30/30