- En cherchant la cause de la lenteur des téléchargements d’images ISO Linux, l’auteur a constaté que plusieurs trackers BitTorrent avaient disparu et a testé combien de clients reviendraient en réenregistrant un domaine de tracker mort
- La cible était
udp://open.demonii.si:1337/announce; après avoir acheté le domaine.sisur Dynadot et l’avoir relié à un VPS, il a lancé opentracker sur le port 1337 - Avant même d’activer le tracker, des requêtes affluaient déjà vers le port UDP 1337, et environ une heure plus tard, environ 1,73 million de torrents et 3,15 millions de pairs ont été observés
- Les statistiques incluaient peers 3,155,701, seeds 1,342,504, completed 244,224, UDP overall 58,843,612, montrant que d’anciennes URL de tracker restent encore présentes dans la configuration de nombreux clients
- Il n’est pas certain qu’exploiter uniquement une infrastructure de tracker, sans publicité ni fourniture de fichiers
.torrent, constitue une incitation à la violation du droit d’auteur, mais l’auteur a coupé le VPS et supprimé le domaine, inquiet des traces laissées par le paiement par carte bancaire
Expérience d’enregistrement d’un domaine de tracker mort
- Dans l’onglet
Trackersde qBittorrent, l’auteur a constaté que plusieurs trackers étaient indiqués comme host down ou pointaient vers des domaines inutilisés - Dans BitTorrent, le tracker est un composant essentiel qui indique les autres pairs susceptibles de participer au torrent
- Cette architecture laisse un point de centralisation dans le protocole BitTorrent
- si le tracker n’est plus maintenu ou passe hors ligne, il devient difficile de trouver des pairs via cette route
- Il existe comme alternative le Mainline DHT, mais cette approche a aussi ses limites
- elle dépend de bootstrap nodes
- elle est vulnérable aux attaques Sybil
- dans le torrent téléchargé par l’auteur, le DHT non plus n’a pas réussi à trouver de pairs
Restauration de open.demonii.si et résultats d’observation
- L’auteur a enregistré le domaine inutilisé
udp://open.demonii.si:1337/announce- le domaine a été acheté chez Dynadot
- un VPS a été préparé, puis le domaine a été associé à ce VPS
- Le logiciel de tracker utilisé était opentracker
- sur Ubuntu 24.04,
gcc-14,g++-14,build-essential,zlib1g-devont été installés - libowfat a été compilé d’abord, puis opentracker
opentracker -p 1337 -P 1337a été exécuté via une unité systemd
- sur Ubuntu 24.04,
- Avant même le démarrage d’opentracker, un trafic massif arrivait déjà sur le port UDP 1337
- Environ une heure plus tard, les statistiques de
http://open.demonii.si:1337/stats?mode=everythingont confirmé des connexions à grande échelle- torrents :
count_mutex1,735,538,count_iterator1,735,523 - peers : 3,155,701
- seeds : 1,342,504
- completed : 244,224
- TCP accept 21,532, announce 20,219, scrape 263
- UDP overall 58,843,612, connect 18,321,703, announce 33,160,261, scrape 3,211,543, missmatch 4,116,689
- torrents :
Risques juridiques et fin de l’expérience
- L’aspect juridique reste flou
- dans des affaires comme The Pirate Bay, la mise en avant de films populaires, la vente de publicité et la fourniture de fichiers
.torrentont été considérées comme des preuves d’incitation à la violation du droit d’auteur - le fait d’exploiter uniquement une infrastructure de tracker sans publicité semble plus difficile à qualifier juridiquement comme incitation
- des torrents librement distribués comme des torrents protégés par le droit d’auteur peuvent tous utiliser ce tracker
- dans des affaires comme The Pirate Bay, la mise en avant de films populaires, la vente de publicité et la fourniture de fichiers
- Le fait d’avoir payé le domaine par carte bancaire restait une source d’inquiétude ; l’auteur a donc arrêté le VPS et supprimé le domaine
- après l’expérience, le domaine
open.demonii.siest redevenu disponible à l’enregistrement
- après l’expérience, le domaine
1 commentaires
Avis sur Hacker News
Si l’on ne fait pas réellement héberger le tracker, mais qu’on se contente de regarder les connexions entrantes, je ne vois pas pourquoi ce devrait être illégal
Même si l’on exploite un tracker, il est difficile de considérer que le tracker lui-même est illégal. Héberger quelque chose comme opentrackr ressemble à héberger un moteur de recherche ; l’essentiel tient à la manière dont on répond aux demandes légales de retrait et à l’intention que révèle l’infrastructure autour du tracker. Un tracker est un logiciel serveur de coordination assez simple ; ce serait étrange que cela soit illégal en soi
Le fait que le logiciel en cours d’exécution soit « simple » ne constitue pas une défense contre un acte illégal, par exemple aider quelqu’un à commettre un crime. Aux États-Unis, il existe quelques clauses d’exonération liées à Internet et au droit d’auteur qui pourraient faire que ce ne soit pas un crime, mais ce n’est probablement pas le cas, et je ne suis pas juriste. Quand on entend « aider quelqu’un à commettre un crime », il vaut mieux partir du principe que « c’est probablement aussi un crime en soi »
Il est peut-être temps d’y revenir. Au final, ce n’est qu’une question de savoir comment imposer les DRM, et il existe aujourd’hui beaucoup de façons de régler les questions de licence ; le secteur n’a donc pas vraiment besoin de s’en préoccuper autant
« Ensuite, j’ai démarré le tracker. Environ une heure plus tard, il était monté en flèche jusqu’à 1,7 million de torrents distincts répartis sur 3,1 millions de pairs ! »
Si vous ne répondez pas aux demandes de retrait, vous vous rapprochez probablement de l’illégalité ; si vous y répondez en mettant les hachages sur liste noire, vous avez de bonnes chances d’être globalement tranquille. Bien sûr, cela dépend de la juridiction et de la manière dont le fait d’associer des hachages à des IP:PORT est considéré : distribution, complicité, ou autre. L’affaire TPB peut servir d’exemple. Je connais quelqu’un qui a exploité un assez gros tracker pendant quelques années ; quand une demande de retrait arrivait, il ajoutait le hachage concerné à la liste noire, et jusqu’ici il ne lui est rien arrivé
Les clients BitTorrent sont tellement variés, et beaucoup d’implémentations sont écrites dans des langages non sûrs, que je me demande s’il ne serait pas possible d’attaquer certains clients via un tracker malveillant
Si un tracker envoie des données mal formées, il ne serait pas surprenant que certains clients se comportent mal
Même avec un langage à sûreté mémoire, il est difficile de créer un client qui fonctionne correctement ; l’implémenter correctement en C ou en C++ ne peut qu’être assez ardu
L’API liée à announce est assez facile à implémenter, mais il est difficile d’affirmer qu’elle a été implémentée dans un environnement de tests par fuzzing. Par exemple, Transmission a connu plusieurs vulnérabilités au fil des ans, et je ne connais pas bien les autres implémentations de clients
J’ai un jour exploité très brièvement un tracker privé pour explorer le visionnage de vidéos à plusieurs en P2P
C’était du niveau jouet, donc je n’ai pas vraiment étudié en profondeur le fonctionnement des trackers, et j’utilisais le tracker Rust Aquatic. Sur demande, ils ont même gentiment ajouté la prise en charge de webtorrent https://github.com/greatest-ape/aquatic
Un tracker sait-il ce qu’il suit ? Existe-t-il des tentatives pour organiser la mise en relation des pairs sans que le tracker connaisse le contenu ?
Intuitivement, les gens semblent chercher des pairs à partir d’un certain hachage/magnet, et le magnet à lui seul suffit, sans qu’il soit nécessaire d’inclure des informations d’identification. Bien sûr, je sais que de nombreux liens magnet contiennent une description lisible par un humain. Un tracker pourrait tenter de télécharger ce hachage auprès des pairs pour obtenir les informations du torrent, mais s’il ne le télécharge pas lui-même, il me semble difficile de savoir réellement ce qu’est le torrent et ce qu’il contient
Cette compréhension est-elle correcte ? Quelle part d’un lien magnet est essentielle à la mise en relation ? Un tracker peut-il ignorer les champs lisibles par un humain ou les bloquer à l’entrée pour se bander les yeux ?
Si l’on prend opentracker, le logiciel choisi dans le billet original, il peut fonctionner aussi bien en mode liste blanche qu’en mode liste noire. Le premier cas est évident, et le second autorise tous les hachages sauf ceux qui figurent sur liste noire. Les trackers publics comme torrent.eu ou opentrackr.org fonctionnent toujours en mode liste noire, afin que n’importe qui puisse se rassembler autour de presque n’importe quel contenu
Il existe ici une liste maîtresse de trackers mise à jour quotidiennement ; on devrait donc pouvoir y trouver d’autres trackers morts https://github.com/ngosang/trackerslist
Autrement dit, cela signifie qu’on peut DDoS n’importe quelle IP pour le seul coût de l’enregistrement d’un domaine et de la publication de certains enregistrements DNS
Les clients BitTorrent que j’ai utilisés se comportaient plutôt correctement, et reculaient d’au moins 60 secondes environ pour chaque tracker injoignable. Même si l’on achetait un domaine de tracker mort pour le faire pointer vers l’IP de quelqu’un d’autre, si ce service n’écoute pas sur le port auquel les clients essaient de se connecter, et même si le port correspond par hasard, s’il ne parle pas BitTorrent, j’ai du mal à imaginer qu’un million de clients BitTorrent essayant de se connecter puissent poser un si gros problème
C’est similaire à ce qui s’est passé lorsque Cloudflare a récupéré l’adresse IP 1.1.1.1. Dès son activation, ils ont vu un trafic énorme, parce que beaucoup de gens pointaient vers cette adresse dans leurs scripts
Ma première pensée a été : combien de clients BitTorrent ont du code de parsing vulnérable ?
Une personne malveillante pourrait-elle enregistrer le domaine et infecter des clients ?
En gros, le client envoie un appel HTTP au tracker et reçoit une réponse. Ce qui me vient rapidement à l’esprit, c’est de renvoyer du bencode malformé pour provoquer un épuisement mémoire dans des clients écrits par des débutants. Comme cible d’attaque, le protocole pair à pair et des variantes comme uTP sont bien plus intéressants, et il n’est même pas nécessaire d’héberger un tracker pour cela. Il suffit d’obtenir des IP de pairs via un tracker ou la DHT, de s’y connecter, puis de mener l’attaque voulue
C’est simple. Il suffit d’enregistrer le domaine dans des pays comme la Russie, la Chine ou l’Iran, et d’héberger le site chez Alibaba
Qu’ils essaient d’envoyer leur paperasse juridique en Russie ou en Chine. Ça se passera sûrement très bien
Il faudrait aussi informer TOR de cette découverte. On peut désormais fermer le darknet et tout déplacer en Chine
Pourquoi ne pas transférer vers un autre tracker public ? Comme ça, on n’héberge rien, et si l’on reçoit une lettre juridique, on leur dit de parler au tracker public
Je ne suis pas juriste, mais d’après ce que je comprends, exploiter un tracker neutre vis-à-vis du contenu est légal aux États-Unis
Dans d’autres juridictions, ce n’est évidemment pas forcément le cas, le VPS peut se trouver dans une autre juridiction, et le TLD .si relève clairement d’une autre juridiction
Il y en a probablement eu d’autres. Il y a certainement eu davantage d’affaires civiles intentées par la MPAA et d’autres pour obtenir des dommages et intérêts. Aux États-Unis, la preuve peut être un peu plus difficile à établir, mais je suis assez convaincu qu’un tracker dont la majeure partie du contenu référencé est protégé par le droit d’auteur peut aussi être fermé aux États-Unis
Presque toute personne ayant eu une vie en ligne en Slovénie au cours des 20 dernières années le connaissait ou l’avait utilisé. Et ce tracker n’a pas disparu à cause d’un avis juridique