Erfahrungen beim Wiederbeleben eines toten Torrent-Trackers und dem Auffinden von 3 Millionen Peers
(kianbradley.com)- Bei der Suche nach der Ursache für langsame Linux-ISO-Downloads wurde festgestellt, dass mehrere BitTorrent-Tracker verschwunden waren. Daraufhin wurde getestet, wie viele Clients zurückkehren, wenn man eine tote Tracker-Domain erneut registriert.
- Ziel war
udp://open.demonii.si:1337/announce. Die.si-Domain wurde bei Dynadot gekauft, mit einem VPS verbunden und anschließend opentracker auf Port 1337 ausgeführt. - Schon bevor der Tracker eingeschaltet wurde, gingen Anfragen auf UDP-Port 1337 ein, und nach etwa einer Stunde wurden rund 1,73 Millionen Torrents und 3,15 Millionen Peers beobachtet.
- Die Statistik umfasste unter anderem peers 3,155,701, seeds 1,342,504, completed 244,224 und UDP overall 58,843,612 und zeigte damit, dass alte Tracker-URLs noch immer in den Konfigurationen vieler Clients hinterlegt sind.
- Ob bereits eine reine Tracker-Infrastruktur ohne Werbung oder Bereitstellung von
.torrent-Dateien als Förderung von Urheberrechtsverletzungen gilt, ist unklar. Der Experimentator schaltete den VPS dennoch ab und löschte die Domain, auch wegen der per Kreditkarte nachvollziehbaren Zahlung.
Experiment zur Registrierung einer toten Tracker-Domain
- Im
Trackers-Tab von qBittorrent wurde festgestellt, dass mehrere Tracker als host down angezeigt wurden oder ihre Domains nicht mehr genutzt waren. - Im BitTorrent-System ist ein Tracker ein zentrales Element, das andere Peers nennt, die an einem Torrent teilnehmen.
- Diese Struktur lässt innerhalb des BitTorrent-Protokolls einen zentralisierten Punkt bestehen.
- Wenn ein Tracker nicht weiter betrieben wird oder offline geht, ist es über diesen Pfad schwierig, Peers zu finden.
- Als Alternative gibt es Mainline DHT, doch auch dieser Ansatz hat Grenzen.
- Er ist auf Bootstrap-Nodes angewiesen.
- Er ist anfällig für Sybil-Angriffe.
- Bei dem Torrent, den der Experimentator herunterlud, konnte auch DHT keine Peers finden.
Wiederherstellung von open.demonii.si und Beobachtungsergebnisse
- Die ungenutzte Domain
udp://open.demonii.si:1337/announcewurde registriert.- Die Domain wurde bei Dynadot gekauft.
- Ein VPS wurde vorbereitet und die Domain auf den VPS gemappt.
- Als Tracker-Software kam opentracker zum Einsatz.
- Unter Ubuntu 24.04 wurden
gcc-14,g++-14,build-essentialundzlib1g-devinstalliert. - Zuerst wurde libowfat gebaut, danach opentracker.
- Als systemd-Unit wurde
opentracker -p 1337 -P 1337ausgeführt.
- Unter Ubuntu 24.04 wurden
- Bereits vor dem Start von opentracker ging auf UDP-Port 1337 großer Traffic ein.
- Nach etwa einer Stunde wurde unter
http://open.demonii.si:1337/stats?mode=everythingeine Verbindung in großem Maßstab bestätigt.- 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:
Rechtliches Risiko und Ende des Experiments
- Die rechtliche Lage ist nicht eindeutig.
- In Fällen wie The Pirate Bay gelten die prominente Darstellung beliebter Filme, der Verkauf von Werbung und die Bereitstellung von
.torrent-Dateien als Belege für Anstiftung (inducement) zu Urheberrechtsverletzungen. - Ob bereits der Betrieb einer reinen Tracker-Infrastruktur ohne Werbung unter diese Anstiftung fällt, bleibt schwieriger nachzuweisen.
- Sowohl frei verteilbare Torrents als auch urheberrechtlich geschützte Torrents können diesen Tracker nutzen.
- In Fällen wie The Pirate Bay gelten die prominente Darstellung beliebter Filme, der Verkauf von Werbung und die Bereitstellung von
- Da die Bezahlung der Domain per Kreditkarte als Risiko empfunden wurde, beendete der Experimentator den VPS und löschte die Domain wieder.
- Nach dem Experiment war die Domain
open.demonii.sierneut frei registrierbar.
- Nach dem Experiment war die Domain
1 Kommentare
Hacker-News-Kommentare
Wenn man den Tracker nicht tatsächlich hostet, sondern nur eingehende Verbindungen beobachtet, sehe ich nicht, warum das illegal sein sollte.
Selbst wenn man einen Tracker betreibt, ist schwer zu sagen, dass der Tracker an sich illegal ist. Etwas wie opentrackr zu hosten, ist ähnlich wie das Hosten einer Suchmaschine; entscheidend ist, wie man auf rechtliche Löschanfragen reagiert und welche Absichten die Infrastruktur rund um den Tracker erkennen lässt. Ein Tracker ist ziemlich einfache Koordinationsserver-Software; es wäre merkwürdig, wenn das an sich illegal wäre.
Dass die laufende Software „einfach“ ist, ist keine Verteidigung gegen illegales Verhalten, etwa die Beihilfe zu den Straftaten anderer. In den USA gibt es einige Haftungsprivilegien im Zusammenhang mit Internet/Urheberrecht, die dafür sorgen könnten, dass es keine Straftat ist, aber wahrscheinlich eher nicht; ich bin allerdings kein Jurist. Wenn man hört „hilft jemandem bei einer Straftat“, sollte man grundsätzlich davon ausgehen: „Das ist wahrscheinlich ebenfalls eine Straftat.“
Vielleicht ist es Zeit, sich das wieder anzusehen. Am Ende ist es nur eine Frage, wie man DRM durchsetzt, und heutzutage gibt es viele Möglichkeiten, Lizenzierung zu regeln, daher scheint es nicht nötig, dass sich die Branche so sehr daran stört.
„Dann startete ich den Tracker. Nach etwa einer Stunde schoss er auf 1,7 Millionen verschiedene Torrents über 3,1 Millionen Peers hoch!“
Wenn man auf Löschanfragen nicht reagiert, tendiert es vermutlich eher in Richtung illegal; wenn man auf Löschanfragen reagiert und Hashes auf eine Blacklist setzt, ist es in der Regel wahrscheinlich in Ordnung. Natürlich hängt das von der Gerichtsbarkeit ab und davon, ob das Zuordnen von Hashes zu IP:PORT als Verbreitung/Beihilfe/sonst etwas behandelt wird. Der TPB-Fall könnte als Beispiel dienen. Ich kenne jemanden, der ein paar Jahre lang einen ziemlich großen Tracker betrieben hat; bei Löschanfragen hat er den betreffenden Hash auf die Blacklist gesetzt, und bisher ist nichts passiert.
Da es so viele unterschiedliche BitTorrent-Clients gibt und viele Implementierungen in nicht speichersicheren Sprachen geschrieben sind, frage ich mich, ob man über einen bösartigen Tracker einige Clients angreifen könnte.
Es würde mich nicht überraschen, wenn manche Clients bei falsch formatierten Daten vom Tracker Fehlverhalten zeigen.
Schon in speichersicheren Sprachen ist es schwierig, einen korrekt funktionierenden Client zu bauen; das in C oder C++ korrekt umzusetzen, ist zwangsläufig ziemlich schwer.
Die APIs rund um announce sind recht einfach zu implementieren, aber ich würde nicht darauf wetten, dass sie in einer Fuzzing-Testumgebung implementiert wurden. Transmission hatte zum Beispiel über die Jahre mehrere Schwachstellen; über andere Client-Implementierungen weiß ich nicht viel.
Ich habe früher einmal sehr kurz einen privaten Tracker betrieben, um gemeinsames Videoschauen per P2P auszuprobieren.
Das war nur Spielzeugniveau, daher habe ich nicht tief untersucht, wie Tracker funktionieren, und ich habe den Rust-Tracker Aquatic verwendet. Auf Anfrage wurde freundlicherweise auch WebTorrent-Unterstützung hinzugefügt https://github.com/greatest-ape/aquatic
Weiß ein Tracker, was er verfolgt? Gibt es Versuche, Peers zusammenzubringen, ohne dass der Tracker den Inhalt kennt?
Mein Bauchgefühl ist, dass Leute anhand irgendeines Hashs/Magnets Peers finden, und dass der Magnet selbst ausreicht und keine identifizierenden Informationen enthalten muss. Allerdings enthalten viele Magnet-Links meines Wissens menschenlesbare Beschreibungen. Ein Tracker könnte versuchen, diesen Hash von Peers herunterzuladen, um die Torrent-Informationen zu bekommen; aber wenn er nicht selbst herunterlädt, scheint es schwer, tatsächlich zu wissen, was der Torrent ist oder was darin enthalten ist.
Ist dieses Verständnis korrekt? Wie viel von einem Magnet-Link ist für das Zusammenbringen der Peers wesentlich? Könnte ein Tracker menschenlesbare Felder ignorieren oder schon beim Eingang blockieren, um sich blind zu stellen?
Nimmt man opentracker, die im Originalbeitrag gewählte Software, als Beispiel, kann sie sowohl im Whitelist- als auch im Blacklist-Modus betrieben werden. Ersteres ist selbsterklärend, letzteres erlaubt alle Hashes außer denen auf der Blacklist. Öffentliche Tracker wie torrent.eu oder opentrackr.org laufen immer im Blacklist-Modus, damit sich beliebige Nutzer zu nahezu beliebigen Inhalten zusammenfinden können.
Hier gibt es eine täglich aktualisierte Master-Liste von Trackern; damit lassen sich vermutlich auch andere tote Tracker finden https://github.com/ngosang/trackerslist
Anders gesagt: Allein durch die Kosten für die Registrierung einer Domain und das Veröffentlichen bestimmter DNS-Records kann man eine beliebige IP per DDoS angreifen
Die BitTorrent-Clients, die ich benutzt habe, verhielten sich ziemlich höflich und warteten bei jedem nicht erreichbaren Tracker mindestens etwa 60 Sekunden ab. Selbst wenn man eine tote Tracker-Domain kauft und auf die IP eines anderen zeigen lässt: Wenn der Dienst nicht auf dem Port lauscht, zu dem der Client eine Verbindung herstellen will, und selbst falls der Port zufällig passt, kein BitTorrent spricht, kann ich mir schwer vorstellen, dass es ein so großes Problem wäre, wenn 1 Million BitTorrent-Clients versuchen, sich zu verbinden
Das ist ähnlich wie damals, als Cloudflare die IP-Adresse 1.1.1.1 bekam. Sobald sie aktiviert wurde, sahen sie enormen Traffic, weil viele Leute in Skripten auf diese Adresse verwiesen hatten
Mein erster Gedanke war, wie viele BitTorrent-Clients verwundbaren Parsing-Code haben
Könnte jemand Böswilliges eine Domain registrieren und Clients infizieren?
Im Grunde sendet man einen HTTP-Call an den Tracker und bekommt eine Antwort. Was mir spontan einfällt, wäre etwa, fehlerhaftes bencode zurückzugeben, um bei einem von Anfängern geschriebenen Client Speichererschöpfung auszulösen. Als Angriffsziele sind das Peer-Protokoll und Varianten wie uTP deutlich interessanter, und dafür muss man nicht einmal einen Tracker hosten. Man holt sich aus einem Tracker oder DHT Peer-IPs, verbindet sich und führt dann den gewünschten Angriff aus
Ganz einfach. Man registriert die Domain in Ländern wie Russland, China oder Iran und betreibt die Website bei Alibaba
Sollen sie doch versuchen, juristisches Altpapier nach Russland oder China zu schicken. Das wird bestimmt gut laufen
Man sollte auch TOR von dieser Entdeckung erzählen. Dann können wir jetzt das Darknet schließen und alles nach China verlagern
Kann man nicht einfach an einen anderen öffentlichen Tracker weiterleiten? Dann hostet man nichts, und wenn juristische Schreiben kommen, verweist man darauf, mit dem öffentlichen Tracker zu sprechen
Ich bin kein Jurist, aber nach meinem Verständnis ist der Betrieb eines inhaltsneutralen Trackers in den USA legal
In anderen Jurisdiktionen kann das natürlich anders sein, der VPS kann in einer anderen Jurisdiktion stehen, und die .si-TLD gehört definitiv zu einer anderen Jurisdiktion
Vermutlich gab es noch mehr. Zivilklagen von MPAA und anderen auf Schadensersatz gab es definitiv häufiger. In den USA mag der Nachweis etwas schwieriger sein, aber wenn der Großteil des Registrierten urheberrechtlich geschützte Inhalte sind, bin ich ziemlich sicher, dass ein Tracker auch in den USA geschlossen werden kann
Fast jeder, der in den letzten 20 Jahren in Slowenien online gelebt hat, dürfte ihn kennen oder genutzt haben. Und dieser Tracker verschwand auch nicht wegen rechtlicher Mitteilungen