Suggestions pour lutter contre la censure : le “Robot proxing”
Une brillante présentation sur l’état du filtrage internet dans le monde
Par Nart Villeneuve, Conference OpenNet Initiative, 18 mai 2007.
L’une des difficultés pour contourner le blocage des sites Internet réside dans l’absence de réels moyens pour garder à l’abri des regards des censeurs les “portes” d’accès aux sites censurés.
Brièvement et en citant l’exemple des proxies utilisés pour passer outre le blocage, les censeurs n’ont aucune difficulté à les neutraliser de la même manière qu’ils le font avec un site web. Et ceci est d’autant plus vrai lorsqu’il s’agit d’utiliser la technique du filtarge à la “SmartFilter”.
En effet, pour neutraliser un proxy, il suffit de le rajouter à la liste des sites censurés selon la même procédure pour bloquer n’importe quel site. Ceci explique la course permanente entre censeurs et internautes. Les uns sont dans une quête perpétuelle de nouveaux proxies non encore décapités et, les seconds, engagés dans une chasse permanente à ces nouveaux proxies.
Il existe bien sûr d’autres techniques utilisant des logiciels dédiés à l’instar du réseau Tor, singulièrement efficace en matière de cryptage des données et d’anonymat. De même, on peut mentionner Psiphon autre logiciel destiné à contourner la censure.
Hélas, comme d’autres logiciels existants, ils butent, tous, sur un obstacle particulièrement difficile à surmonter : la protection du point d’entrée au réseau permettant le contournement du blocage.
Il ne s’agit pas ici de dénigrer ces outils excellents, mais simplement de rappeler une de leur faiblesse sans pour autant nier leur efficacité pour assurer l’anonymat et la confidentialité des échanges une fois la connexion amorcée. Et pour cause …, il suffit juste de rappeler que même l’US Navy s’est mise à l’utilisation de Tor pour assurer la sécurité de certains de ses échanges d’information, tout comme certains services de police qui surveillent des sites web mais ne souhaitent pas laisser la trace des “IP gouvernementales” sur les logs des serveurs concernés.
Pourtant, et malgré cette grande efficacité, le talon d’Achille de ces outils demeure incarné par cette fragilité des “adresses” qui permettent d’amorcer la connexion sécurisée. En d’autres termes, pour neutraliser ces logiciels anti-censure, il suffit de bannir les IP qui leur permettent d’amorcer la connexion aux réseaux Tor, Psiphon ou à n’importe quel autre serveur de contournement.
Conscient de ce fait, les concepteurs de Tor, par exemple, mentionnent cette faiblesse sans équivoque :”The current Tor design is easy to block if the attacker controls [user’s] connection to the Tor network — by blocking the directory authorities, by blocking all the server IP addresses in the directory, or by filtering based on the fingerprint of the Tor TLS handshake. Some government-level firewalls could easily launch this type of attack which would make the whole Tor network no longer usable for the people behind the firewalls. This is one part of what is commonly known as the “China problem” or the “Chinese firewall problem.”
Du reste, sans aller par quatre chemins, les auteurs du projet Tor publient même la liste des IP de leurs serveurs afin d’aider les administrateurs de sites à bloquer les connexions provenant de leur réseau. On trouve même des fichiers “.htaccess” tout prêts à l’emploi. Et c’est ce que semble utiliser Wikipedia pour empêcher le vandalisme anonyme de son contenu.
A l’inverse, Psiphon, conscient de cette fragilité, a opté pour une circulation des adresses de connexion au réseau basée sur la “confidentialité”. En somme, une circulation des “clés d’entrée” au réseau sous le manteau, basée sur une relation quasi personnelle, voire “familiale” (families or groups of friends or colleagues). Dans les FAQ relatives au logiciel, on y apprend en effet : “The distribution of access to personal psiphon servers is based on social networks. Each psiphonode administrator grows his/her private network based on social relations of trust.[…]. With publicly accessible circumvention systems one must assume that the censors can also discover and subsequently block access to these systems. The difference with psiphon - a personal system - is that the web address is only sent to a few, trusted, people. In that way, the censors cannot easily find and block the location of the psiphon server.”
Partant de ce constat, la présente réflexion suggère des pistes pour faire en sorte que la neutralisation des IP servant à l’accès au réseau de contournement devienne plus difficile pour les censeurs. Il s’agit là d’une procédure que l’on pourrait qualifier par “Robot Proxing“ ; ceci de par une certaine similitude avec la logique de l’utilisation du fichier “robot.txt“.
1 – Le Robot Proxing
L’idée consiste donc à compliquer au maximum la tâche des censeurs au point, si une masse critique de participants au projet est atteinte, de rendre relativement inefficace la censure.
Cette idée se base sur le moyen de :
2 - La mise en œuvre du “Robot Proxing”
Cette mise en œuvre nécessite 3 éléments :
a - S’agissant des proxies, parmi ceux qui existent en open source [CGIProxy (en perl), PHProxy de Nart Villeneuve ou celui de A. Arif, etc.] de nombreux sont en mesure de remplir cette fonction. Ceci moyennant des modifications mineures pour permettre un contrôle et une limitation de la bande passante mise à la disposition, tout comme l’installation des filtres anti spam.
b – Pour la liste dynamique, celle-ci va permettre un échange de données relatif aux références des proxies mis à la disposition des utilisateurs. C’est une liste ouverte de par la nature “virale” de la circulation de son contenu sous format crypté. Elle pallie ainsi aux inconvénients d’un accès transparent aux IP à la Tor et à ceux des accès restreints à la Psiphon. Et, dans ce dernier cas, tel que le rappelle Ethan Zuckerman “To spread clandestine information, it’s important not to have a single point of failure, like a single website that can be blocked.”
Le principe de la circulation virale de cette liste est simple. D’abord, et pour faciliter la diffusion de son installation parmi la communauté des internautes, il n’est pas nécessaire qu’elle soit automatiquement couplée à l’installation d’un proxy. Tout administrateur d’un site peut installer cette liste gérée par un simple script php.
Ce script permet d’une part de répondre aux requêtes portant sur le contenu de la liste et, d’autre part, de recevoir à son tour les données des proxies qu’il n’a pas. Ceci selon le schéma suivant.

c – Ce qui vient d’être décrit suppose évidemment un navigateur en mesure de prendre en charge cette navigation singulière. Il s’agit ici de le faire d’une manière transparente à l’utilisateur. Celui-ci n’aura qu’à activer une case à cocher “permettre le Robot Proxing”. Et ainsi, pour chaque url, le navigateur y accédera par l’intermédiaire de l’un des proxies de sa liste. Et, bien sûr, à chaque visite d’un site, il n’omettra pas, comme mentionné précédemment, d’échanger les données de sa liste avec le site visité.
L’implémentation d’une telle prise en charge par le navigateur est possible par la création d’une extension dédiée pour Firefox, d’un plug-in pour Safari ou l’utilisation du .NET Framework pour l’adapter à “Internet exploreur”. Et qui sait, si ce concept se diffuse relativement bien, il n’est pas exclu de voir certains navigateurs rajouter une telle prise en charge nativement.
3 – Le cryptage des échanges
Dans beaucoup de cas, notamment la navigation aux fins d’un accès à l’information, le but recherché n’est pas tant la confidentialité, mais simplement la possibilité d’accéder à une page web. Aussi, le cryptage au niveau du proxy peut être très léger pour éviter la lenteur. En somme, juste de quoi faire passer par les filtres des chaînes de caractères surveillées. En revanche, les échanges des listes de proxies devront, elles, utiliser un cryptage robuste pour assurer la confidentialité à leur données sous cette forme-là.
Ces suggestions ne sont pas faites pour sécuriser du contenu, mais principalement pour permettre de passer les murailles de la censure.
Astrubal, le vendredi 18 mai 2007
M.A.J. le 22 mai 2007,
M.A.J. le 24 mai 2007 (rajout de la vidéo de Nart Villeneuve)













[…] Astrubal - Suggestions pour lutter contre la censure : le “Robot proxing” Astrubal has a fascinating idea for using the robots.txt file and a custom firefox plugin to allow apache servers to distribute lists of web proxies… Would love Nart’s opinion on this idea… (tags: forberkman censorship circumvention oni filtering) […]
Pingback by …My heart’s in Accra » links for 2007-05-23 | May 23, 2007