Étude du fonctionnement du GFW (Philipp Winter)

Je commence une nouvelle catégorie d’articles sur le thème de la sécurité, il s’agit de revue de conférences. Ces synthèses comme le reste du site sont en CC-by. Une petite série va commencer sur le 32C3.

Le Grand Parefeu de Chine (GFW) ne fonctionne pas de manière active par filtrage en temps réel. Il analyse le protocole et en fonction de la requête répond en race concurrence. Ainsi, une requête à un serveur DNS sera adressée par le GFW avant la réponse du serveur légitime. En cas de connexion directe à l’adresse, le GFW va examiner l’adresse puis éventuellement l’hostname et en cas de blacklist va répondre à la connexion TCP via un TCP RST. Ce type de pratiques est fonctionnel pour les communications non chiffrées. Pour les communications chiffrées, le GFW utilise deux méthodes: l’analyse passive et le probing.
L’analyse passive s’appuie sur l’analyse du protocole: quel port est utilisé? Quels algorithmes? (Permet d’écarter SSH et certaines connexions tunnelées) Quelles suites de chiffrements sont utilisées? (Une suite constitue une signature propre à un navigateur ou à un outil, cependant le cyphersuite n’est pas suffisant pour déclencher un blacklist mais déclenche un probe).
Le probe consiste en l’envoi d’un paquet respectant le format d’encapsulation à tester. Dans le cas de Tor, il s’agit par exemple d’un handshake Tor.

Pour une campagne de test, les chercheurs ont mis en place des serveurs qui se connectent toutes les minutes à des serveurs Tor en France sur les deux réseaux chinois: CERNET (réseau universitaire) et UNICOM (public). Après 6 mois de test, 16083 adresses ont envoyé une requête de probing, 3 pools ISP différents et 95% d’adresses différentes. Une adresse IP revient cependant de manière fréquente: 202.108.181.70 qui semble être une machine centrale de contrôle.
Il est possible que les autres adresses IPs soient hijackées durant le probe.
Les probes disposent de signatures uniques avec une pile TCP exotique:
– Le port IP source est sur un range de 16 bit
– Le TTL est modifié (comportement qu’on avait pu remarquer pour le Grand Canon.
– TSVal
– Le Sequence number est constamment croissant et cela quelque soit l’IP source, ce qui corrobore l’hypothèse d’une machine unique.
Le GFW utilise également un client Tor custom ne fournissant pas d’identifiant SNI aléatoire et utilisant une cyphersuite exotique (utilisée pat 0.6%) des clients. De plus lors de l’utilisation d’obfs3, le padding est écrit sur un segment au lieu de 3 et le message est envoyé dupliqué.

Par des fuites politiques, il est établi que c’est une organisation centrale qui effectue la censure. Le filtre montre cependant quelques faiblesses conceptuelles comme un accès possible toutes les 24h sur UNICOM (plus variable sur CERNET) au moment où les listes sont flushés (supposément). Auparavant (2012), les probes semblaient fonctionner en crontab, aujourd’hui un probe peut apparaître quelques millisecondes après la connexion initiale.
Les Probes sont calibrés pour SSH/VPN/Tor/AppSpot. Leur liste complète est disponible sur nymity.ch/active-probing.

Le GFW peut être attaqué:
– Par énumération: quelle taille limite peut avoir la blocklist? En général le plafond est limité par le système d’exploitation.
– Ne pas répondre d’ACK au probe peut aussi causer un DoS de la pile réseau.
– À une époque le blocage intervenait lors de l’accès (réussi ou non) à une page type d’accès VPN. Des hackers ont ainsi pu bloquer Windows Update ou des serveurs DNS.

Il existe de nombreuses solutions de contournement:
– La fragmentation de paquets TCP semble permettre de contourner le filtrage (l’outil brdgrd de la suite obfs rempli ce rôle)
– Il est aussi possible d’utiliser une pile réseau custom, mais ce système est difficile à mettre en place sans serveur en sa possession.
– Obfs propose des solutions avec scramblesuit (secret partagé), meek (utilisation des serveurs de google, amazon, azure…) ou obfs4 (utilisation d’un consensus EC).
– D’autres solutions sont actuellement en développement par Tor.

Facebooktwittergoogle_pluslinkedin
Pierre d'Huy
Pierre d'Huy est un ingénieur spécialisé dans la sécurité des Systèmes d'Information. Il donne occasionnellement des conférences en école (ESE, ESGI Secure Day...) ou devant des publics non-techniques (Les matinées du droits Lamy, l'AFCDP). Amateur de cryptographie et de cartographie, il propose des articles sur de nombreux sujets qui le passionnent.

Leave a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *