Journal d'investigation en ligne et d'information‑hacking
par Vanilla Custard

Pour le Deep Packet Inspection de Qosmos aussi, "Tor stinks".

C'est la fête pour Qosmos. Alors que l'entreprise est visée par une enquête pour complicité d'actes de tortures, Reflets a obtenu quelques informations supplémentaires sur leurs sondes de Deep Packet Inspection, ces briques matérielles et logicielles qui permettent la discrimination des paquets interceptés sur les réseaux IP selon leur contenu.

C'est la fête pour Qosmos. Alors que l'entreprise est visée par une enquête pour complicité d'actes de tortures, Reflets a obtenu quelques informations supplémentaires sur leurs sondes de Deep Packet Inspection, ces briques matérielles et logicielles qui permettent la discrimination des paquets interceptés sur les réseaux IP selon leur contenu. Ces mêmes sondes exportées en Syrie pour Assad via l'entreprise italienne Area SpA et capables de détecter et classer explicitement les trafics aussi suspects que les visites sur les sites du New York Times, TF1, YouPorn, PornHub, Deezer ou encore La Redoute (si, si, c'est écrit dans la doc').

Passons sur l'amour de Thibaut Bechetoille pour les droits de l'Homme. Deux questions nous intéressent pour étudier les sondes Qosmos :

  • comment catégorisent-elles un paquet en fonction des données qu'il contient ?
  • quelles sont les données sauvegardées pour une analyse ultérieure par un mécanisme décidant si le trafic doit (par exemple) être bloqué ?

Cet article développe en particulier la façon dont les sondes Qosmos détectent qu'un trafic chiffré est celui d'un client Tor et non celui d'un navigateur web. Question sous-jacente : dans quelle mesure Tor reste-t-il pertinent face à la technologie Qosmos ?

Qosmos, une histoire de protocoles ...

Les sondes Qosmos connaissent un grand nombre de protocoles, modélisés dans une structure reproduisant l'empilement de couches caractéristiques des réseaux IP. Par exemple, selon le modèle Qosmos, le protocole de couche inférieure au protocole laredoute est uniquement http car on n'accède au site de La Redoute que via le web. Le protocole http peut par contre être au-dessus de différents protocoles : tcp pour le cas usuel mais également (et pas seulement) socks4 et socks5 si le trafic est encapsulé dans des requêtes vers et depuis un proxy SOCKS. Socks4 et socks5 n'ont comme protocole de couche inférieure que tcp, lui-même ayant ip, ip6 et dns, et ainsi de suite jusqu'aux couches de transport.

Les possibilités d'empilement sont théoriquement infinies, mais les employés de Qosmos passent sans doute du temps à rechercher celles qui sont effectivement implémentées afin de ne modéliser qu'elles et développer des méthodes de détection associées. Le protocole dns est ainsi considéré comme sous-couche possible de ip peut-être du fait de l'existence d'iodine qui permet d'encapsuler du trafic IP dans du trafic DNS.

Les paquets passant à travers une sonde Qosmos sont donc marqués comme appartenant à certains protocoles selon les données qu'ils contiennent. Le gros du travail pour Qosmos est de catégoriser un flux avec un bon niveau de certitude en fonction des données observées. C'est facile dans certains cas (du HTTP ou du SMTP sur port standard sans chiffrement par exemple) et nettement moins dans d'autres (distinguer Tor de HTTPS lorsqu'on observe du trafic TLS sur le port 443).

... Et de « méta » données

On peut se souvenir de déclarations ici et là visant à dédramatiser les interceptions de masses sous prétexte qu'on n'enregistre « que les métadonnées ».

« Méta » ou pas, il est pourtant facile de voir le côté néfaste de cette captation : dans l'affaire Bettencourt, une poignée de personnes de pouvoir ont profité de leur position pour accéder aux fadettes (les métadonnées téléphoniques) d'un journaliste du Monde via la DCRI, piétinant ainsi allègrement le principe de protection des sources.

À ceci, il faut ajouter qu'on peut aisément considérer toute donnée comme une métadonnée. Cela semble en particulier être le cas chez Qosmos, ce qui permet le tour de passe-passe rhétorique décrit ci-dessus.

C'est simple. Un paquet IP contient les adresses source et destination dans ses métadonnées, et la charge utile du paquet (payload) en sont, par opposition, les données. Dans ces données, il peut y avoir un paquet TCP, dont les ports source et destination sont les métadonnées. Dans les données de ce paquet TCP, il peut y avoir une réponse HTTP, dont les métadonnées sont les en-têtes HTTP et les données sont du code HTML. Dans ce code, les balises "meta" sont les métadonnées... Et ainsi de suite. Tout n'est que métadonnées.

Chaque protocole connu par une sonde Qosmos possède des attributs, dont la valeur est assignée grâce aux (méta)données capturées. Il en résulte des assignations clé-valeur (exemple : assigner la valeur 404 à l'attribut code pour le protocole http) qui peuvent être ensuite exploitées par des mécanismes de prises de décision automatique.

Comment les sondes Qosmos (ne) détectent (pas) Tor ?

Par défaut, un client Tor se connecte à un ou plusieurs relais pour joindre l'ensemble du réseau Tor. La connexion vers ces relais est chiffrée avec du TLS générique, c'est-à-dire le même protocole de chiffrement que lorsqu'on utilise « https » dans un navigateur. De plus, Tor utilise souvent le port 443 pour ses connexions, qui est aussi le même que celui utilisé par nos navigateurs pour les connexions chiffrées.

Le problème pour Qosmos est donc de déterminer si un trafic chiffré avec TLS sur le port 443 est du trafic HTTPS ou du trafic Tor. Il leur faut donc trouver des critères de différenciation.

Avec l'adresse IP de destination ?

Les sondes Qosmos contiennent en dur une liste des relais publics Tor. Par défaut, un relai Tor a en effet son adresse IP listée publiquement dans des serveurs d'annuaire, et Qosmos met ses sondes à jour fréquemment pour suivre l'évolution de ces listes. Ceci est le premier et le plus simple facteur permettant de différencier un trafic Tor d'un trafic web chiffré.

Tor peut toutefois utiliser des ponts (bridges en anglais) qui sont simplement des relais non publics. Leur adresse IP a alors nettement moins de chances de figurer dans la liste connue par une sonde : il faut alors trouver autre chose pour détecter Tor.

Avec les détails des certificats TLS ?

L'Iran est parvenu à bloquer Tor quelques jours en se basant sur la date d'expiration des certificats TLS générés par les relais. En effet, lors de l'établissement d'une session TLS, les certificats sont échangés en clair et leur contenu peut être intercepté (date d'émission, date d'expiration, nom d'hôte associé, etc.). L'équipe Tor a rapidement sorti un correctif pour rendre les certificats TLS de Tor plus difficiles à isoler.

Coïncidence ou pas, nous avons appris que les sondes Qosmos ont longtemps détecté les connexions aux relais Tor en examinant les dates du certificat TLS. Il n'est toutefois pas certain que ce soient exactement les mêmes critères que ceux utilisés par l'Iran. Ce cas a quoi qu'il en soit été également corrigé par Tor.

Que reste-t-il si l'adresse du relai n'est pas connue et si le certificat TLS n'est pas reconnaissable ? D'après ce que nous savons, la dernière méthode implémentée par Qosmos est celle dite de la détection d'entropie sur le champ « Common Name » du certificat TLS. Ce champ, pour les certificats générés par les relais Tor, contient en effet un nom composé d'une suite aléatoire de lettres et chiffres, comme « www.2egiobtbgjufipddooov.net ». La détection d'entropie vise à caractériser cet aspect aléatoire. Dans l'usage standard, ce champ contient le nom de domaine du site que nous visitons (« torproject.org », par exemple).

Ou pas ?

Leur détection d'entropie est toutefois peu efficace à l'heure actuelle, ce qui signifie concrètement qu'une sonde Qosmos classera nombre de connexions à Tor comme connexions HTTPS standard. Si quelqu'un cherche à bloquer Tor en se basant sur les résultats d'une sonde Qosmos, il est donc peu probable qu'il y parvienne correctement.

En bref

Tor reste une solution probante face aux sondes Qosmos. On ne doute évidemment pas qu'à la fois les ingénieurs de Qosmos et les développeurs de Tor continuent leurs recherches, les uns pour améliorer la détection de Tor et les autres pour la dégrader.

En outre, les sondes Qosmos sont des équipements passifs et la meilleure détection de trafic Tor semblant exister est celle mise en place par le gouvernement chinois et qui requiert un test actif de l'adresse IP cible pour vérifier s'il s'agit d'un relai Tor. Lorsqu'une connexion chiffrée est initiée depuis l'intérieur du pays vers l'extérieur, une machine gouvernmentale se connecte à son tour et teste si la machine destination « parle » Tor. Si c'est le cas, un paquet TCP avec le flag RST est injecté vers le serveur, de telle sorte de forcer la fermeture de la connexion.

Quoiqu'il en soit, l'utilisation de Tor avec des ponts et éventuellement avec Obfsproxy reste tout à fait probante pour aller au-delà d'un filtrage passif basé sur les sondes Qosmos et qui chercherait à bloquer Tor sélectivement. Qosmos ne fait pas mieux que la NSA.

0 Commentaires
Une info, un document ? Contactez-nous de façon sécurisée