Trois choses que vous pouvez faire :
- Pensez à héberger
un serveur pour aider à la croissance du réseau Tor.
- Informez vos ami-e-s ! Faites-leur héberger des serveurs. Faites-leur utiliser les services
cachés. Encouragez-les à informer leurs propres ami-e-s.
- Nous recherchons des fonds et des mécènes. Si vous adhérez aux objectifs de Tor, prenez s'il-vous-plaît un moment
pour faire un don et aider aux développements
futurs de Tor. De même, si vous connaissez des
entreprises, des ONGs, ou d'autres organisations qui souhaitent utiliser des communications
sécurisées, parlez-leur de nous.
- Nous avons besoin de méthodes efficaces d'interception des requêtes DNS, pour qu'elles ne laissent pas filtrer
d'informations à un observateur local pendant que nous tentons d'être anonymes. (Ce qui
arrive lorsque l'application fait sa résolution DNS avant de passer par
le proxy SOCKS.)
- Élements tsocks/dsocks :
- Nous avons besoin d'appliquer
tout nos patchs à tsocks et d'en maintenir une nouvelle branche. Nous l'hébergerons si
vous le souhaitez.
- Nous devrions patcher le programme « dsocks » développé par Dug Song pour utiliser les commandes
mapaddress de Tor depuis l'interface de contrôle, de manière à ne pas faire
inutilement un aller-retour complet dans Tor pour faire la résolution avant la
connexion.
- Notre script torify doit détecter lequel de tsocks ou
dsocks est installé pour l'appeler correctement. Cela nécessite certainement
d'unifier leurs interfaces, et peut amener à faire un mix des deux
voire à en éliminer un des deux.
- Les gens qui hébergent des serveurs nous signalent qu'ils aimeraient avoir une passante allouée
durant une partie de la journée, et une autre bande passante à un autre moment.
Plutôt que de coder ceci dans Tor, nous aimerions utiliser un petit
script qui communique avec l'interface de contrôle de Tor,
et ferait un setconf pour changer la valeur de la bande passante. Éventuellement, ce pourrait être un script lancé
par cron, ou qui se lancerait à certaines heures (
ce qui est certainement plus portable). Quelqu'un pourrait-il écrire cela pour nous,
nous l'ajouterons à tor/contrib/ ?
C'est une bonne entrée pour la compétition pour l'interface
graphique de Tor.
- Tor peut quitter
le réseau Tor par un noeud de sortie particulier, mais il serait pratique
de n'avoir qu'à spécifier un pays, et que le serveur de sortie soit choisi automatiquement. Le
meilleur moyen est probablement de récupérer le répertoire de Blossom, et d'utiliser en local un client
qui récupère ce répertoire de manière sûre (via Tor et en vérifiant sa
signature), lise les noms des machines .country.blossom et se charge ensuite
de choisir le serveur.
- En parlant de géolocalisation, quelqu'un devrait faire une carte de la Terre
indiquant chaque serveur Tor par un point. La cerise sur le gâteau serait la mise à jour dynamique
de la carte à mesure que le réseau Tor évolue et grandit. Malheureusement, les moyens aisés de faire cela
passent par l'envoi de toutes les données à Google pour qu'il trace cette carte pour vous. Dans quelle mesure
cela jouerait-il sur la confidentialité, et par ailleurs, existe-t-il des solutions de remplacement valables ?
- Nous avons des retours d'utilisateurs de Tor qui sont victimes d'attaques contre leur anonymat
à cause de javascript, java, activex, flash, etc, s'ils ne pensent pas à les désactiver.
Existe-t-il des greffons (comme NoScript pour Firefox) qui rendent la gestion
de ce risque plus facile pour les utilisateurs ? Et quel est ce risque exactement ?
- Existerait-il un ensemble de plugins qui remplacerait la totalité des fonctions de
Privoxy pour Firefox 1.5+ ? Il semblerait que Tor soit bien plus performant si l'on enlève
Privoxy du circuit.
- Aidez Matt Edman à documenter et à écrire des tutoriaux pour son
contrôleur Tor,
Vidalia.
- Évaluez et documentez
notre
liste de programmes pouvant être utilisés avec Tor.
- Nous avons besoin d'une meilleure documentation traitant de l'interception dynamique de
connexions et de leur envoi à travers Tor. tsocks (Linux), dsocks (BSD),
et freecap (Windows) semblent être de bons candidats, et utiliserait au mieux
notre nouvelle fonctionnalité Transport.
- Nous avons toute une liste de programmes
potentiellement utiles qui s'interfacent avec Tor. Lesquels sont utiles et dans quelles
situations ? Contribuez à les tester et à documenter les résultats.
- Aidez-nous à traduire le site et la documentation dans d'autres
langues. Allez voir les conseils de
traduction si vous souhaitez le faire. Nous avons besoin plus spécialement de personnes pour
traduire en Arabe ou en Persan pour les utilisateurs Tor situés dans les zones censurées.
- Les serveurs de Tor ne fonctionnent pas parfaitement sur Windows XP. Sur
Windows, Tor utilise l'appel système standard select(),
qui utilise l'espace non paginé dans le pool. Ce qui implique
que les serveurs de taille moyenne vont vider l'espace non paginé, provocant
l'instabilité et le plantage du système. Nous devrions probablement utiliser des E/S recouvrables
à la place. Une solution pourrait-être d'apprendre à la libevent comment utiliser
les E/S recouvrables à la place de select() sous Windows, et alors d'adapter Tor à
la nouvelle interface libevent.
- Du fait que les serveurs Tor ont besoin du mecanisme de stockage-et-envoi pour chaque cellules envoyées,
les serveurs Tor ayant une grosse bande passante se retrouvent avec des douzaines de mégaoctets de mémoire
juste pour les mémoires tampons. Il nous est nécessaire d'avoir une meilleur approche pour savoir quand réduire/étendre
la taille des tampons. Probablement que ceci devrait être calqué sur l'architecture de gestion des tampons Linux,
où nous avons des tampons réduits et se liant les un aux autre,
plutôt que des gros tampons monolithiques ?
- Nous avons besoin d'un site central officiel pour répondre à la question "Est-ce que cette adresse IP est
un serveur de sortie Tor ?". Ceci devrait fournir plusieurs interfaces, y compris
une interface Web et une interface type DNSBL. Il pourrait apporter la plus
à jour des réponses en conservant un miroir local des informations des répertoires
Tor. Le point délicat c'est qu'être un serveur de sorti n'est pas
booléen : ainsi la question devient "Est-ce que cette adresse est un serveur de sorti
Tor pouvant sortir sur mon adresse IP:port ?" L'interface DNSBL
recevra probablement plusieurs centaines de requêtes par minute, ainsi développer des algorithmes
robustes est de mise. La cerise sur le gateau s'ils font des tests actifs à travers
chaque noeud de sorti pour déterminer de quelle adresse IP elle sort vraiment.
Lisez-en plus ici.
- Parfois les serveurs Tor plantent, ou les ordinateurs sur lesquels ils tournent tombent ou quittent
le réseau, ou d'autres incidents surviennent. Certains opérateurs de nœud Tor ont exprimés le
souhait de pouvoir souscrire à un service qui pourrait périodiquement
scruter l'état du serveur Tor et déterminer s'il est en état de marche et envoyer une notification par mail
lorsqu'il ne l'est pas. Quelqu'un pourrait écrire quelques scripts, quelques pages,
et programmer quelque chose comme des scripts à base de wget et/ou plus complexe comme Nagios pour faire la supervision ? La première
version pourrait juste contrôler le port « directory », p.ex. en cherchant dans la
page de status du réseau mise en cache, la bonne adresse IP et le port et ensuite
demander la page "/tor/server/authority".
- Il serait sympa d'avoir un LiveCD qui inclurait les dernières
versions de Tor, Polipo ou Privoxy, Firefox, Gaim+OTR, etc. Il y a
deux défis ici : le premier de documenter le sytème et les choix suffisament
bien pour que les personnes de sécurité puissent former une opinion sur la
robustesse, et le second est de trouver comment faire en sorte qu'il soit facilement maintenable,
pour qu'il ne devienne pas rapidement obsolète comme AnonymOS. Le plus, serait
que l'image du CD tienne sur des CDs de tailles réduites.
- Lié au LiveCD, nous devrions travailler sur une image bien documentée et intuitive
de Tor et d'un ensemble d'application supportée sur une clé USB. Le
gros du travail ici est de décider quelles configurations sont sécurisées,
documenter ces décisions, et faire quelque chose qui soit simple à
maintenir et faire aller de l'avant.
- Notre interface graphique préférée pour Tor, nommée
Vidalia, nécessite toutes sortes
de dévelopments.
- Nous avons besoin maintenant de commencer l'élaboration de notre conception de résistance au blocage. Ceci implique
une refonte de la conception, une modification de différents aspects de Tor, une adaptation de
Vidalia pour qu'il supporte les nouvelles
fonctionnalités, et planifier le deploiement.
- Nous avons besoin d'un ensemble d'outils flexibles de simulation pour étudier de bout en bout
les trafics de confirmation d'attaque. Beaucoups de chercheurs ont conçu des simulateurs ad hoc
pour confirmer leurs intuitions comme quoi soit l'attaque marche
vraiment bien ou que les défenses fonctionnent. Pouvons nous construire un simulateur
qui soit clairement documenté et suffisament ouvert pour que tout le monde sache qu'il
donne une réponse raisonnable ? Ceci stimulera un grand nombre de nouvelles recherches.
Voyez l'entrée suivante sur les confirmations d'attaque pour les
détails sur le coté recherche de cette tâche — qui sait, quand ceci sera
fait peut-être pouvez aider en écrivant un papier ou deux.
- Nous avons besoin d'une étude mesurée des performances de Polipo
et Privoxy. Est-ce que Polipo est en fait
significativement plus rapide, une fois le ralentissement de Tor factorisé ? Est-ce que les
résultats sont les mêmes sous Linux et Windows ? Lié, est-ce que Polipo tient
plus de site Web correctement que Privoxy ou vice versa ? Y'a-t-il des
problèmes de stabilité sur les plateformes communes telles que Windows ?
- Lié à ce qui est dit au dessus, pouvez vous aider à porter Polipo pour qu'il
tourne de manière stable et efficace sous Windows ?
- Nous avons besoin d'un banc de test distribué. Nous avons des unités de tests,
mais il serait sympa d'avoir un script qui lance un réseau Tor,
l'utilise quelque temps, et vérifie que, au moins, quelques aspects fonctionnent.
- Aidez Mike Perry sur sa bibliothèque TorFlow (TODO):
c'est une bibliothèque python qui utilise le protocole du contrôleur Tor
pour apprendre à Tor à construire des circuits de différentes manières,
et ensuite mesure les performances et essaye de détecter les anomalies.
- Tor 0.1.1.x inclut le support d'accélérateurs matériels de chiffrage
via
OpenSSL. Cependant, personne ne l'a jamais testé. Est-ce que quelqu'un voudrait se procurer
une carte et nous dire ce qu'il en est ?
- Faire une analyse de sureté de Tor avec du "fuzz". Déterminer
s'il existe déjà de bonnes bibliothèques de fuzz pour ce que nous voulons faire. La célébrité pour celui-lle
grâce à qui une nouvelle version pourra voir le jour !
- Tor utilise TCP pour le transport et TLS pour le chiffrage
des liens. C'est simple et efficace, mais cela implique que toutes les unités (cellules)
d'un lien sont mises en attente lorsqu'un seul paquet est perdu, et
cela signifie que seuls des flux TCP peuvent être raisonnablement supportés. Nous avons dressé une liste
de raisons pour lesquelles nous n'avons pas bifurqué vers le transport par UDP, mais ce serait
bien de voir cette liste se raccourcir. Nous avons aussi proposé une spécification pour Tor et
UDP — lisez-la et faites-nous part de vos remarques et critiques, s'il-vous-plaît.
- Nous ne sommes plus très loin d'avoir le support pour IPV6 entre les serveurs de sorties
et les adresses finales. Si IPV6 vous tient à cœur, partir de là est sans doute
un premier pas.
- Quelque chose vous déplait ? Regardez la planification du développement
de Tor pour plus d'idées.
- Vous ne voyez pas vos idées ici ? Nous en avons peut-être besoin ! Contactez
nous et aidez.
- "L'attaque par empreinte de sites": faire une liste de quelques
centaines de sites populaires, en télécharger les pages, et faire des
"signatures" pour chaque site. Ensuite, observer le trafic d'un client Tor.
L'analyse de ses réceptions de données donne rapidement une idée
des sites qu'il visite. Premièrement, quelle est l'efficacité
de cette attaque sur le code actuellement utilisé dans Tor ? Ensuite, tester
les défenses possibles : par exemple, changer la taille des cellules de Tor de 512
octets à 1024, utiliser des techniques de remplissage comme le lâcher défensif,
ou ajouter des délais de trafic. Quel impact ces stratégies de défense ont-elles,
et, dans les cas où elles sont efficaces en défense, quel impact ont-elles
en terme de perte d'utilisabilité de Tor (à quantifier) ?
- "L'attaque par corrélation des trafics aux extrémités":
par l'observation des trafics de Alice et Bob, il est possible de comparer
les signatures des trafics et d'en déduire qu'il s'agit du même
flux. Jusqu'ici, Tor considère ce type d'attaque comme intrinsèque
et donc inévitable. Tout d'abord, est-ce réellement vrai ? Quelle
quantité de trafic - et avec quelle distribution - est-elle nécessaire pour que l'adversaire
soit certain d'avoir gagné ? Est-ce qu'il existe des scénarios (par exemple avoir un trafic faible)
pour ralentir cette attaque ? Est-ce que certains types de remplissage ou de modelage de trafic
fonctionnent mieux que d'autres ?
- "L'attaque par zones de routage" : la littérature spécialisée considère
le plus souvent que le chemin réseau entre Alice et son noeud d'entrée (et entre le noeud de sortie
et Bob) comme un lien unique dans un graphe. En pratique,
cependant, le chemin passe par de nombreux systèmes autonomes (Autonomous Systems : ASes), et il n'est pas inhabituel
de retrouver le même AS sur les chemins d'entrée et de sortie.
Malheureusement, pour prévoir précisément si le chemin "Alice, entrée,
sortie, Bob" sera dangereux, nous devrions télécharger une zone de routage
internet complète et faire dessus des calculs lourds. Est-ce qu'il existe
des approximations utilisables, comme par exemple d'ignorer les adresses IP d'un réseau /8 ?
- D'autres questions de recherche concernant la diversité géographique considèrent
la différence entre choisir un circuit efficace et en choisir un aléatoire.
Lisez l' argumentation
de Stephen Rollyson sur comment eviter les nœuds lents sans trop impacter
l'anonymat. Cet axe de raisonnement nécessite davantage de travail et de
réflexion, mais semble très prometteur.
- Tor ne fonctionne pas très bien lorsque les serveurs ont des bandes passantes
asymétriques (par exemple câble ou DSL). Comme Tor a des connexions TCP séparées entre
chaque saut, si les octets arrivent correctement mais que les octets sortants
sont bloqués sur place, les mécanismes de refoulement de TCP
ne retransmettent pas vraiment cette information aux flux entrants.
Peut-être Tor devrait-il détecter s'il perd beaucoup de paquets sortants,
et limiter la vitesse du flux entrant pour réguler cela lui-même ? Je peux concevoir
un schéma de type augmentation-descente dans lequel on choisit un débit "sûr",
que l'on augmente jusqu'à perdre des paquets, puis qui redescend, puis qui réaugmente. Nous
avons besoin de quelq'un-e de fort-e en réseau pour simuler ce fonctionnement et aider à concevoir
des solutions. De manière générale, l'évaluation des pertes de performances
d'un tel système pourrait peut-être - dans le cas où elles sont grandes -
servir de motivation pour reconsidérer la question du transport UDP.
- Un sujet lié est le contrôle de congestion : notre système
actuel est-il suffisant pour un usage intensif ? Peut-être
devrions-nous expérimenter des fenêtres de taille variable
plutôt qu'à taille fixe ? C'est apparu assez efficace pour cette expérience
sur ssh. Nous aurons à faire des mesures et des réglages, et peut-être
une révision de Tor si les résulats sont bons.
- Pour permettre à des dissident-e-s de se connecter sans être bloqué-e-s
par les pare-feu de leur pays, nous avons besoin de dizaines de milliers de
relais et pas seulement de quelques centaines. Nous pourrions imaginer un client Tor graphique qui
aurait un bouton "Tor pour la liberté" pour activer l'ouverture d'un port et le relai
de quelques KB/s de trafic pour le réseau Tor. (Quelques KB/s ne devraient pas être trop
pénibles et il y a peu de risque d'abus puisqu'il ne s'agirait pas de noeuds de
sortie.) Mais comment distribuer la liste de ces clients volontaires aux
bons dissidents de manière automatique, tout en ne permettant pas aux
pare-feux au niveau national de l'intercepter et de lister ces clients ? Probablement, il faut faire
intervenir la confiance, au niveau humain. Voir notre document
préliminaire sur la résistance au blocage et notre
entrée
dans la FAQ à ce sujet, puis lire la section
sur la résistance à la censure de anonbib.
- Les circuits Tor sont construits saut par saut, donc en théorie nous pouvons
faire sortir des flux au second saut, au
troisième, etc. Cela paraît bien car cassant l'ensemble des flux sortants
qu'un serveur peut voir. Mais si nous voulons que chaque flux soit sûr,
le chemin "le plus court" devrait comporter au moins 3 sauts dans notre logique actuelle, et
les sorties suivantes seraient encore plus lointaines. Nous devons évaluer ce rapport
performance/sûreté.
- Il n'est pas difficile de provoquer un DoS sur les serveurs et les serveurs de répertoires Tor. Est-ce
que les puzzles de clients sont la bonne réponse ? Existe-t-il d'autres approches réalisables ? Il y a un bonus
si elles sont rétro-compatibles avec le protocol actuel de Tor.
Contactez-nous si vous avez avancé sur
ces points !