Les régimes autoritaires censurent souvent les sites web à l’intérieur de leurs frontières, menaçant ainsi la communication libre et ouverte sur l’internet. Pour comprendre et contourner ces efforts de censure, il est essentiel de mesurer ce qui est bloqué, comment les censeurs opèrent et comment la censure évolue dans le temps.
Malheureusement, il est difficile de mesurer de telles choses, en particulier dans les pays qui limitent la capacité des chercheurs à trouver des points d’appui, qu’il s’agisse de volontaires, de points d’observation ou de serveurs en direct.
Grâce à ma bourse de recherche Pulse, je m’appuie sur les recherches que mes collègues et moi-même avons menées à l’université du Maryland et à l’université de Chicago pour surmonter plusieurs de ces difficultés et améliorer la façon dont la communauté des évaluateurs peut mesurer la censure de manière longitudinale sans avoir besoin d’aide à l’intérieur du pays.
Postulez maintenant pour la bourse de recherche Pulse 2024 et inscrivez-vous au webinaire d’évaluation de la bourse de recherche Pulse 2023.
- La mesure de la censure de l’internet nécessite traditionnellement des points d’extrémité – volontaires, points d’observation ou serveurs en direct – dans les pays censurés pour vérifier si les sites web et/ou les services sont accessibles.
- Notre technique consiste à faire croire aux dispositifs de censure que nous effectuons des tests à l’intérieur de leurs frontières.
- Les résultats préliminaires montrent que cette technique permet de mesurer certains pays que les efforts de mesure complémentaires ne peuvent pas mesurer longitudinalement, tels que le Brunei et le Tadjikistan.
La censure est traditionnellement mesurée à l’aide de critères d’évaluation
Il existe actuellement un large éventail d’initiatives – comme OONI et CensoredPlanet – qui mesurent la censure sur l’internet en demandant des URL et en observant si les sites web correspondants sont accessibles. L’une des limites de ces projets est qu’ils dépendent de la recherche de paramètres dans les pays censurés pour effectuer ces demandes.
Cette situation est encore aggravée dans les pays où la population est peu nombreuse, où les régimes sont très répressifs, où le taux de pénétration de l’internet est faible et où l’infrastructure de l’internet est médiocre. Dans ces pays, même lorsque de tels paramètres sont disponibles, ils sont souvent limités à une petite poignée de mesures, suivies de périodes d’absence de mesures ou de faibles mesures, ce qui ne nous donne qu’un aperçu de la censure à un moment donné.
Notre approche mesure la censure de l’extérieur
Pour relever ce défi, mes collègues et moi-même avons mis au point une nouvelle technique qui permet de mesurer la censure de manière longitudinale sans nécessiter d’assistance à l’intérieur du pays. Cette technique tire parti de deux bizarreries dans la manière dont certains pays censurent.
De nombreux pays déploient une censure bidirectionnelle qui bloque le trafic censuré, que la requête reçue par les censeurs provienne de l’intérieur ou de l’extérieur du pays (figure 1). Cela signifie que nous pouvons demander à nos clients de mesurer le niveau de censure en envoyant des requêtes depuis l’extérieur du pays censuré vers des serveurs situés dans le pays censuré.
Cependant, il peut être difficile de trouver ces serveurs publics dans les pays censurés pour les raisons susmentionnées.
Cependant, nous n’avons pas toujours besoin d’un serveur réactif pour déclencher la censure de manière bidirectionnelle, car certains dispositifs de censure (boîtes intermédiaires) ont un comportement non conforme au protocole TCP.
Tromper les censeurs pour qu’ils censurent
Un événement de censure HTTP(S) ordinaire se produit lorsqu’un client se connecte à un serveur en direct avec une poignée de main TCP à trois voies et envoie un paquet PSH+ACK qui contient une requête vers un site web censuré. Le censeur voit cette demande et prend des mesures de blocage, soit en supprimant ou en restreignant le trafic du client, soit en renvoyant une page de blocage au client, soit en envoyant un paquet de réinitialisation (figure 2), appelé RST, au client pour mettre fin à la connexion.
La poignée de main tripartite TCP nécessite une réponse du serveur – un paquet SYN+ACK. Cependant, notre objectif est de mesurer la censure dans les endroits où il n’y a pas de serveur du tout.
Pour atteindre notre objectif, nous nous appuyons sur le fait que les censeurs sont censés manquer certains paquets au sein d’une connexion en raison des routes asymétriques, de l’équilibrage de la charge et de l’intensité du trafic. Par exemple, un censeur peut manquer le paquet ACK envoyé par un client au serveur dans le cadre d’une poignée de main TCP à trois voies.
Lorsque le client envoie un paquet PSH+ACK ultérieur avec un domaine censuré, nous nous attendons à ce que le censeur ne tienne pas compte du paquet car, du point de vue du censeur, il n’y a pas de connexion en cours puisque le client et le serveur n’ont pas procédé à une poignée de main TCP à trois voies. Pourtant, de nombreux censeurs prennent encore des mesures de blocage, telles que l’envoi d’un paquet RST au client (figure 3). De nombreux censeurs ne sont donc pas totalement conformes au protocole TCP. Ils s’appuient uniquement sur la présomption, et non sur la confirmation, d’une connexion en cours pour bloquer une requête censurée.
Cela signifie que nous pouvons créer des séquences de paquets qui déclenchent la censure sans qu’aucun serveur vivant n’ait besoin de compléter la poignée de main TCP pour déclencher la censure.
En reprenant l’exemple précédent, le client peut envoyer un paquet SYN suivi d’un paquet PSH+ACK à une adresse IP qui ne répond pas pour déclencher la censure (figure 4).
Cela signifie que nous pouvons désormais mesurer la censure dans des réseaux qui n’ont pas de participants. En raison de la censure bidirectionnelle, nous pouvons envoyer ces séquences de paquets à partir de clients que nous contrôlons en dehors du pays de censure. En outre, nous pouvons diriger nos mesures de censure vers des adresses IP non réactives, sans utilisateurs ni machines derrière elles, ce qui atténue les risques potentiels pour les utilisateurs et les préoccupations éthiques concernant les connexions à des machines vivantes.
Automatiser le processus
La séquence de paquets SYN suivie d’une séquence PSH+ACK est l’une des nombreuses séquences qui déclenchent certains censeurs. Cependant, il ne s’agit pas d’une séquence de paquets standard qui déclenchera avec succès la censure dans tous les régimes censurés. Par conséquent, nous devons découvrir quelles séquences de paquets déclenchent des boîtes intermédiaires de censure dans différents régimes de censure.
Lors de ma première tentative d’application de cette technique, mes collègues et moi-même avons étudié la censure au Turkménistan – unpays notoirement difficile à mesurer de l’intérieur, étant donné sa faible pénétration de l’internet et ses lois extrêmement sévères sur l’utilisation de l’internet. J’ai tenté de déclencher les boîtes intermédiaires de censure dans le pays en créant manuellement des séquences de paquets. J’ai découvert que l’envoi à deux reprises d’un paquet SYN suivi d’un paquet PSH+ACK, séparés par un intervalle de 5 à 29 secondes entre les paquets, déclenchait avec succès la censure.
Bien qu’encourageants, ces résultats ont nécessité un effort manuel considérable, qui ne pourra pas être étendu à d’autres pays ou à d’autres fournisseurs de services Internet au sein d’un même pays.
Dans le cadre de ma bourse de recherche Pulse, je développe des techniques qui automatisent la découverte de séquences de paquets déclenchant la censure, ce qui nous permet de mesurer la censure dans de nombreux pays du monde qui sont hors de portée des techniques de mesure traditionnelles.
Pour ce faire, j’ai l’intention d’utiliser Geneva, unalgorithme génétique open-source qui s’entraîne contre des censeurs en direct afin de découvrir des séquences de paquets qui échappent à la censure. Cependant, au lieu de faire en sorte que Geneva échappe à la censure, j’ai l’intention de le modifier pour qu’il découvre les séquences de paquets qui déclenchent la censure. Il s’agira notamment d’ajouter de nouvelles capacités à Genève. Par exemple, Genève n’aurait pas été en mesure de trouver la séquence de paquets utilisée pour déclencher la censure au Turkménistan, car Genève ne prend pas en charge les interruptions entre l’envoi de paquets.
Une nouvelle méthode permettra d’étudier la censure dans des pays négligés
Pour que cette technique de mesure de la censure fonctionne, nous avons besoin d’une censure bidirectionnelle et d’un dispositif de censure qui peut être trompé pour censurer à l’aide de séquences de paquets spécialement conçues. Jusqu’à présent, nous avons trouvé :
- Le Belarus, le Brunei, la Chine, l’Iran, la Libye, la Russie, le Tadjikistan et l’Ouzbékistan pratiquent une censure bidirectionnelle.
- L’envoi à deux reprises d ‘un paquet PSH+ACK déclenche avec succès la censure au Tadjikistan, tandis que la séquence SYN suivie d’un paquet PSH+ACK est suffisante pour les autres pays.
- Le Burundi, la Guinée équatoriale, le Kirghizstan et le Myanmar ne pratiquent pas la censure bidirectionnelle, et nous ne pouvons donc pas les étudier avec cette technique.
Nous sommes en train d’étudier d’autres pays qui ont longtemps été négligés afin de comprendre quels domaines sont censurés, dans quelle mesure les politiques de censure dans un pays donné sont homogènes, comment les politiques de censure diffèrent entre les régions du monde et comment la censure évolue dans le temps.
Si vous souhaitez en savoir plus, lisez notre résumé et notre article sur notre étude du Turkménistan.
Et restez au courant des développements futurs via notre site web.
Sadia Nourin est étudiante en master d’informatique à l’université du Maryland et chercheuse à Pulse.
Les opinions exprimées par les auteurs de ce blog sont les leurs et ne reflètent pas nécessairement celles de l’Internet Society.