मरे हुए torrent tracker को फिर से चालू कर 30 लाख peers खोजने का अनुभव
(kianbradley.com)- Linux ISO डाउनलोड धीमा क्यों हो रहा था, यह पता लगाते समय कई BitTorrent trackers गायब पाए गए, और यह प्रयोग किया गया कि मरे हुए tracker domain को फिर से register करने पर कितने clients वापस आते हैं
- लक्ष्य
udp://open.demonii.si:1337/announceथा;.sidomain Dynadot से खरीदकर VPS से जोड़ा गया और port 1337 पर opentracker चलाया गया - tracker चालू करने से पहले ही UDP 1337 port पर requests उमड़ने लगीं, और करीब 1 घंटे बाद लगभग 17.3 लाख torrents और 31.5 लाख peers देखे गए
- आंकड़ों में peers 3,155,701, seeds 1,342,504, completed 244,224, UDP overall 58,843,612 आदि शामिल थे, जो दिखाता है कि पुराने tracker URLs अब भी कई clients की settings में बचे हुए हैं
- विज्ञापन या
.torrentfiles दिए बिना केवल tracker infrastructure चलाना copyright infringement के inducement में आता है या नहीं, यह स्पष्ट नहीं है; लेकिन experimenter ने credit card payment trace को ध्यान में रखते हुए VPS बंद कर दिया और domain हटा दिया
मृत tracker domain register करने का प्रयोग
- qBittorrent के
Trackerstab में कई trackers को host down या unused domain स्थिति में पाया गया - BitTorrent में tracker वह मुख्य घटक है जो torrent में शामिल होने के लिए दूसरे peers की जानकारी देता है
- यह संरचना BitTorrent protocol के अंदर एक centralized point छोड़ देती है
- अगर tracker maintain नहीं होता या offline हो जाता है, तो उस रास्ते से peers ढूंढना मुश्किल हो जाता है
- विकल्प के रूप में Mainline DHT मौजूद है, लेकिन इस तरीके की भी सीमाएँ हैं
- यह bootstrap node पर निर्भर करता है
- यह Sybil attack के प्रति कमजोर है
- experimenter जिस torrent को डाउनलोड कर रहा था, उसमें DHT भी peers नहीं खोज पाया
open.demonii.si की recovery और observed results
- unused स्थिति में पड़े
udp://open.demonii.si:1337/announcedomain को register किया गया- domain Dynadot से खरीदा गया
- VPS तैयार कर domain को VPS से map किया गया
- tracker software के रूप में opentracker का इस्तेमाल किया गया
- Ubuntu 24.04 पर
gcc-14,g++-14,build-essential,zlib1g-devinstall किए गए - पहले libowfat build किया गया, फिर opentracker build किया गया
- systemd unit के रूप में
opentracker -p 1337 -P 1337चलाया गया
- Ubuntu 24.04 पर
- opentracker शुरू करने से पहले ही UDP 1337 port पर भारी traffic आने लगा
- करीब 1 घंटे बाद
http://open.demonii.si:1337/stats?mode=everythingstats में बड़े पैमाने पर connections की पुष्टि हुई- 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:
कानूनी जोखिम और प्रयोग का अंत
- कानूनी पहलू स्पष्ट नहीं है
- The Pirate Bay जैसे मामलों में लोकप्रिय फिल्मों को expose करना, विज्ञापन बेचना,
.torrentfiles उपलब्ध कराना आदि को copyright infringement के inducement के सबूत के रूप में देखा गया - बिना advertise किए केवल tracker infrastructure operate करना inducement में आता है या नहीं, इसे साबित करना ज्यादा कठिन मुद्दा बना रहता है
- freely distributed torrents और copyrighted torrents, दोनों इस tracker का उपयोग कर सकते हैं
- The Pirate Bay जैसे मामलों में लोकप्रिय फिल्मों को expose करना, विज्ञापन बेचना,
- domain का payment credit card से किया गया था, यह बात चिंता का कारण बनी रही, इसलिए experimenter ने VPS बंद कर दिया और domain delete कर दिया
- प्रयोग के बाद
open.demonii.sidomain फिर से register करने योग्य स्थिति में आ गया
- प्रयोग के बाद
1 टिप्पणियां
Hacker News की राय
अगर असल में tracker host नहीं कर रहे, बल्कि सिर्फ आने वाले connections देख रहे हैं, तो यह गैरकानूनी क्यों होना चाहिए, समझ नहीं आता
भले ही tracker चला रहे हों, tracker को अपने-आप में गैरकानूनी कहना मुश्किल है। opentrackr जैसी चीज़ host करना search engine host करने जैसा है, और असल बात यह है कि कानूनी takedown requests का जवाब कैसे दिया जाता है और tracker के आसपास की infrastructure कैसी मंशा दिखाती है। Tracker काफी साधारण coordination server software है, इसलिए अगर यह खुद गैरकानूनी हो जाए तो अजीब होगा
चल रहा software “simple” है, यह किसी illegal act—जैसे किसी और के अपराध में मदद करने—के खिलाफ बचाव नहीं है। US में internet/copyright से जुड़े कुछ safe harbor provisions हैं जो इसे अपराध न बना सकते हों, लेकिन शायद नहीं; मैं वकील नहीं हूँ। “किसी के अपराध में मदद करना” सुनें तो default रूप से “यह खुद भी शायद अपराध है” सोचना ही ठीक है
शायद अब इसे फिर से देखने का समय है। आखिरकार बात बस DRM को कैसे enforce किया जाए की है, और आजकल licensing सुलझाने के कई तरीके हैं, इसलिए industry को इतना परेशान होने की जरूरत नहीं लगती
“उसके बाद tracker शुरू किया। करीब एक घंटे बाद यह 31 लाख peers में फैले 17 लाख अलग-अलग torrents तक उछल गया!”
अगर takedown requests का जवाब नहीं देते तो शायद illegal पक्ष के करीब चला जाता है, और अगर takedown requests का जवाब देकर hash को blacklist में डालते हैं तो अधिकतर ठीक होने की संभावना है। बेशक यह jurisdiction और hash को IP:PORT से match करने की कार्रवाई को distribution/abetting/या कुछ और कैसे माना जाता है, इस पर निर्भर करता है। TPB case एक उदाहरण हो सकता है। मैं एक व्यक्ति को जानता हूँ जिसने कई साल काफी बड़ा tracker चलाया; takedown request आने पर वह संबंधित hash को blacklist में डालता था और अब तक कोई बड़ी बात नहीं हुई
BitTorrent clients इतने विविध हैं और कई implementations unsafe languages में लिखी गई हैं, इसलिए सोचता हूँ कि क्या malicious tracker के जरिए कुछ clients पर हमला किया जा सकता है
अगर tracker malformed data भेजे तो कुछ clients के गलत behave करने पर हैरानी नहीं होगी
Memory-safe language में भी सही से काम करने वाला client बनाना मुश्किल है, तो C या C++ में इसे बिल्कुल सही implement करना काफी कठिन होना ही है
announce से जुड़ा API implement करना काफी आसान है, लेकिन यह कहना मुश्किल है कि implementation fuzzing test environment में हुई होगी। उदाहरण के लिए Transmission में कई सालों तक कई vulnerabilities रही हैं, और दूसरे client implementations के बारे में मुझे ठीक से पता नहीं
पहले P2P से साथ में video देखने को explore करने के लिए मैंने बहुत थोड़े समय के लिए private-use tracker चलाया था
वह toy-level था, इसलिए tracker कैसे काम करता है इसे गहराई से नहीं देखा, और rust Aquatic tracker इस्तेमाल किया। request करने पर उन्होंने webtorrent support भी उदारता से जोड़ दिया https://github.com/greatest-ape/aquatic
क्या tracker जानता है कि वह क्या track कर रहा है? Peers को मिलवाते हुए भी tracker को content न पता चले, इसके लिए कोई प्रयास हुए हैं?
intuitively लगता है कि लोग किसी hash/magnet के आधार पर peers खोजते हैं, और magnet अपने-आप में काफी है, पहचान वाली जानकारी शामिल करने की जरूरत नहीं दिखती। बेशक मुझे पता है कि कई magnet links में human-readable description होती है। Tracker peers से यह hash download करके torrent info पाने की कोशिश कर सकता है, लेकिन खुद download न करे तो torrent क्या है और उसके अंदर क्या है, यह वास्तव में जानना मुश्किल लगता है
क्या मेरी समझ सही है? Magnet link में meeting coordination के लिए core हिस्सा कितना होता है? क्या tracker human-readable fields को ignore कर सकता है या ingest stage पर block करके अपनी आंखों पर पट्टी बांध सकता है?
मूल पोस्ट में चुने गए software opentracker को उदाहरण लें तो इसे whitelist mode और blacklist mode दोनों में चला सकते हैं। पहला self-evident है, और दूसरा blacklisted hashes को छोड़कर सभी hashes allow करता है। torrent.eu या opentrackr.org जैसे public trackers हमेशा blacklist approach से चलते हैं ताकि कोई भी लगभग किसी भी content के लिए इकट्ठा हो सके
रोज़ update होने वाली tracker master list यहां है, इसलिए शायद दूसरे dead trackers भी मिल सकें https://github.com/ngosang/trackerslist
दूसरे शब्दों में, सिर्फ़ डोमेन रजिस्टर करने और एक खास DNS record प्रकाशित करने की लागत में किसी भी IP को DDoS किया जा सकता है
मैंने जिन BitTorrent clients का इस्तेमाल किया है, वे काफ़ी शालीन तरीके से चलते थे, और हर ऐसे tracker के लिए जिससे connect नहीं हो पाते थे, कम से कम करीब 60 सेकंड पीछे हटते थे। भले ही कोई dead tracker domain खरीदकर उसे किसी और के IP की ओर point कर दे, अगर वह service उस port पर listen नहीं कर रही जिस पर client connect करने की कोशिश कर रहा है, और अगर संयोग से port मिल भी जाए लेकिन वह BitTorrent नहीं बोलती, तो 10 लाख BitTorrent clients के connect करने की कोशिश से भी बहुत बड़ी समस्या होगी, यह कल्पना करना मुश्किल है
यह कुछ वैसा ही है जैसा Cloudflare के 1.1.1.1 IP address लेने पर हुआ था। activate होते ही उन्होंने भारी traffic देखा, क्योंकि बहुत से लोग scripts में उस address की ओर point कर रहे थे
मेरा पहला विचार यह था कि कितने BitTorrent clients के पास vulnerable parsing code होगा
क्या कोई malicious व्यक्ति domain register करके clients को infect कर सकता है?
मूल रूप से structure यह है कि tracker को HTTP call भेजी जाती है और response लिया जाता है। तुरंत जो बात दिमाग में आती है, वह गलत bencode लौटाकर किसी beginner द्वारा लिखे client में memory exhaustion पैदा करना है। attack target के रूप में peer protocol और uTP जैसे variants कहीं ज़्यादा दिलचस्प हैं, और उसके लिए tracker host करने की ज़रूरत भी नहीं है। tracker या DHT से peer IP लेकर connect करें और फिर जो attack करना हो, करें
आसान है। domain रूस, चीन, ईरान जैसे देशों में register करो, और website Alibaba पर चलाओ
उन्हें कहो कि legal waste paper रूस या चीन भेजकर देखें। यकीनन सब बढ़िया चलेगा
TOR वालों को भी इस खोज के बारे में बताना चाहिए। अब darknet बंद करके सब कुछ चीन में shift कर देना चाहिए
इसे किसी दूसरे public tracker पर forward क्यों नहीं किया जा सकता? तब कुछ host नहीं करना पड़ेगा, और legal letters मिलें तो कह सकते हैं कि public tracker वालों से बात करें
मैं lawyer नहीं हूं, लेकिन मेरी समझ के अनुसार अमेरिका में content-neutral tracker चलाना legal है
दूसरे jurisdictions में यह निश्चित रूप से अलग हो सकता है, VPS किसी और jurisdiction में हो सकता है, और .si TLD तो निश्चित रूप से अलग jurisdiction है
शायद और भी रहे होंगे। MPAA आदि द्वारा damages के लिए किए गए civil cases तो निश्चित रूप से ज़्यादा हैं। अमेरिका में proof देना थोड़ा ज़्यादा कठिन हो सकता है, लेकिन अगर कोई tracker ऐसा है जिसमें registered चीज़ों में से अधिकतर copyrighted content है, तो मुझे पूरा यकीन है कि अमेरिका में भी उसे बंद कराया जा सकता है
पिछले 20 साल में Slovenia में online life बिताने वाले लगभग हर व्यक्ति ने उसके बारे में सुना होगा या उसे इस्तेमाल किया होगा। और वह tracker legal notices की वजह से गायब भी नहीं हुआ था