BLUEBEAR - Explication technique qui va faire trembler les utilisateurs de bittorrent
J’ai lu cette nuit une info en provenance de l’INRIA qui a développé un outil baptisé BlueBear, encore à l’état de PoC (Proof of Concept) mais qui va remettre de l’eau au moulin des Hadopistes acharnés (et des anti hadopiste).
En effet, suite à la découverte de failles dans le protocole de Bittorrent, Stevens Le Blond, Pere Manils et Arnaud Legout (ainsi que d’autres chercheurs) ont réussi à mettre au point une technique qui leur permet :
- D’identifier les fournisseurs de contenus. Non pas les simple seeders, mais carrément le patient 0 qui est à l’origine de la mise à disposition d’un fichier sur le réseau p2p.
- D’identifier tous les pairs (peer 2 peer) qui se mettent en relation afin d’échanger des fichiers et ainsi établir une cartographie de qui télécharge quoi chez qui.
- D’identifier les petits malins qui se cachent derrière le réseau Tor pour utiliser Bittorrent
Ah ouais, rien que ça ! J’ai donc pris la peine de contacter les gens de l’INRIA qui en plus d’être très sympathiques, ont bien voulu répondre à mes questions…
1- Tout d’abord pour trouver ce seeder 0, Bluebear utilise 2 techniques… Tout d’abord il récupère toutes les minutes la liste des nouveaux fichiers torrents sur les sites de partage de référence (genre The Pirate Bay), puis il se connecte immédiatement au fichier torrent. A partir de là, vu qu’il est dans les premiers leechers, il y a de forte chance qu’il se connecte directement au seeder initial, pouvant ainsi facilement relever son adresse IP.
Si cela n’est pas possible car le torrent tourne déjà depuis un moment et qu’il y a beaucoup de seeders (par popularité ou parce qu’un torrent privé est devenu public), Bluebear emploie une seconde méthode.
Celle-ci consiste à se connecter aux sites web qui regroupent les torrents uploadés par un même utilisateur (site genre Eztv avec login/pass pour les seeders). Bluebear récupère alors tous les torrents propres à cet utilisateur et ressort l’adresse IP qui est la plus souvent présente lors de la récupération de ces fichiers (et qui, bien sûr, n’est pas présente dans les autres torrents n’appartenant pas à ce user). Ils peuvent ainsi en déduire que c’est l’IP du seeder original. Arnaud m’a aussi expliqué que dans les cas où les sites n’identifiaient pas leurs utilisateurs par un login, il restait quand même possible de recouper certaines infos (type de contenu, nom du fichier, encodage, date de publication, nom de la team…etc) afin de remonter à la seed initiale.
Evidement, dans certaines communautés, comme Eztv, les utilisateurs sont encouragés à distribuer d’abord le fichier dans communauté assez réduite de partageurs de confiance, avant de sortir le torrent au grand public. Bluebear est capable de “reconnaitre” cette communauté sans toutefois savoir qui est vraiment la partageur 0. Ça reste quand même génant…
Tout cela est très malin, il suffisait d’y penser (et de le faire bien sûr) mais ça reste un travail d’enquête qui permet de porter de gros soupçons sur un releaser sans avoir forcement la certitude absolue qu’il est bien le premier à partager ce fichier. Mais est ce que cela est une preuve suffisante pour l’Hadopi ? Vu leurs méthodes de travail jusqu’à maintenant, je dirai que oui…
(La vous êtes déjà tout bleu…attendez c’est pas fini)
2- Pour ce qui est de l’identification de tous les échanges (toutes les poignées de main) qui transitent sur un tracker, BlueBear utilise les requêtes scrapes des trackers afin d’obtenir tous les infohash. Ensuite, il parcourt chacun de ces infohash (qui correspondent à des fichiers torrent) avec un client bittorrent de leur cru, afin d’obtenir les adresses IP des personnes qui sont en train de récupérer ce torrent. Ainsi, ils arrivent a retrouver 90% des pairs effectuées pour l’échange de ce torrent. Dès qu’ils ont ces pairs, ils ne leur reste plus qu’à faire correspondre l’infohash avec le fichier torrent qui va bien, simplement en allant les récupérer sur des sites web genre The Pirate Bay.
databGrâce à cette technique, Bluebear est capable de récupérer 5 à 10 millions d’adresses IP s’échangeant environ 2 millions de .torrents en (tenez vous bien), 30 minutes avec un simple PC. C’est donc hyper rapide. Concrêtement, grâce à cette faille, ils peuvent dire que telle IP a échangé tel fichier avec telle autre IP sur le tracker X à telle heure. C’est fiable et sans bavure.
(La vous êtes déjà tout vert…attendez c’est pas fini)
3- J’ai ensuite voulu mieux comprendre cette histoire de réseau TOR. BlueBear est capable de trouver la véritable adresse IP d’un ordinateur connecté à un tracker via TOR. Comment ? Et bien il faut savoir que la techno DHT qui permet de mettre en relation les pairs sur bittorrent utilise le protocole UDP. Et malheureusement pour les pirates, UDP n’est pas un protocole relayé par TOR. Donc chaque client qui se connecte sur un tracker en DHT, utilise sa véritable IP. Ensuite Bluebear n’a qu’a observer simplement un noeud de sortie TOR (exit node), relever le n° du port utilisé (qui est le plus souvent choisi aléatoirement par le client bittorrent), et ensuite aller consulter la DHT (Distributed Hash Table) pour retrouver qui télécharge tel infohash depuis ce n° de port particulier. Et comme expliqué juste avant, à partir de la DHT, il est rapide d’obtenir la véritable IP du pair.
Ce que m’a confirmé aussi Arnaud, c’est que cette méthode est aussi applicable pour d’autres flux réseau, que ce soit du web ou de la VoIP. En effet, à partir du moment où vous utilisez Bittorrent + DHT via TOR (donc qu’on connait la correspondance entre votre véritable adresse IP et le noeud TOR), il est assez simple de retrouver aussi l’origine du trafic web ou VoIP que vous faites sortir par ce noeud TOR car il emprunte le même chemin que celui de Bittorrent.
Ça craint donc.
Il devient en effet relativement simple de savoir qui échange quoi, et quand. Evidement, ceci n’est possible que parce qu’il y a des failles dans le protocole bittorrent ou dans les trackers mais selon les chercheurs de l’INRIA, il y en a tellement que même si certaines sont corrigées, d’autres permettront toujours d’arriver au même résultat.
C’est la première fois que je vois une possibilité technique concrète et suffisamment évoluée pour permettre “d’attraper” les téléchargeurs sur Bittorrent. Je salue l’exploit technique de l’INRIA en tout cas même si c’est clairement flippant.
J’espère que la technologie Bluebear ne tombera pas aux mains de gens comme TMG car ça va vite devenir un carnage. En attendant, la seule solution pour se protéger efficacement contre l’exploitation de ces failles c’est :
- Si vous passez par TOR, de désactiver absolument l’utilisation de la DHT dans votre client bittorrent (ça fonctionne pour le moment mais les chercheurs de l’INRIA planchent déjà sur d’autres failles n’exploitant pas la DHT)
- Utiliser un VPN de confiance (du genre qui ne met pas ses logs à disposition de la justice… Mais y’en a t-il vraiment ???)
Encore merci à Arnaud Legout d’avoir partagé sa science du réseau Bittorrent avec nous tous. Vous pouvez oublier le suicide au Seedfuck et commencer à prier bande de vilains tipiak ;-))) (ou alors passer à des moyens de téléchargement plus sûrs)
Si le sujet vous intéresse, vous trouverez ici un PDF en anglais qui explique tout cela plus en détail ainsi qu’une présentation PDF de Stevens Leblond.
Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).