- ผู้เขียนได้ครอบครองโดเมนของทอร์เรนต์แทร็กเกอร์ที่ตายไปแล้ว และเปิดให้บริการ opentracker ด้วยตนเอง
- เมื่่อฟื้นแทร็กเกอร์ขึ้นมา ก็มีการพยายามเชื่อมต่อเข้ามาโดยอัตโนมัติจาก ทอร์เรนต์ 1.7 ล้านรายการ และ เพียร์ 3.1 ล้านราย
- ในโปรโตคอล BitTorrent นั้น แทร็กเกอร์มีบทบาทแบบรวมศูนย์ และหากไม่มีแทร็กเกอร์ การแชร์ไฟล์จะทำได้ยาก
- แม้จะมี ทางเลือกแบบกระจายศูนย์ อย่าง Mainline DHT แต่ก็ยังมีข้อจำกัดและช่องโหว่อยู่
- สุดท้าย ผู้เขียนได้ ลบโดเมนและ VPS เนื่องจากความเสี่ยงทางกฎหมาย
ภาพรวม
- ผู้เขียนสังเกตว่าระหว่างดาวน์โหลดทอร์เรนต์ เช่น Linux ISO นั้น แทร็กเกอร์ส่วนใหญ่ตายไปแล้ว
- พบว่าโดเมนแทร็กเกอร์ที่ “ตายแล้ว” (
udp://open.demonii.si:1337/announce) ยังไม่มีการจดทะเบียน
- จึงซื้อโดเมนดังกล่าวและติดตั้ง opentracker บน VPS เพื่อทดลองเปิดใช้งานแทร็กเกอร์จริง
BitTorrent tracker คืออะไร
- แทร็กเกอร์ทำหน้าที่เป็น บริการส่วนกลาง ใน โปรโตคอล BitTorrent เพื่อช่วยให้เพียร์ (ผู้ใช้) เชื่อมต่อถึงกันได้
- หากแทร็กเกอร์ไม่ทำงาน ผู้ใช้จะไม่สามารถค้นหากันและกันได้ ทำให้การแชร์ไฟล์เป็นไปไม่ได้
- เมื่อแทร็กเกอร์ไม่ได้รับการดูแลต่อเนื่องหรือถูกกดดันทางกฎหมาย ผู้ใช้จะได้รับความไม่สะดวก
ทางเลือกแบบกระจายศูนย์ (DHT) และข้อจำกัด
- Mainline DHT รองรับการค้นหาเพียร์ด้วย เครือข่ายแบบกระจาย โดยไม่ต้องพึ่งแทร็กเกอร์
- DHT มีข้อจำกัด เช่น การพึ่งพา bootstrap node และความเปราะบางต่อ การโจมตีแบบ Sybil
- ในกรณีทอร์เรนต์ที่ผู้เขียนทดสอบ แม้แต่ใน DHT ก็ยังหาเพียร์ไม่พบ
ขั้นตอนการสร้างแทร็กเกอร์ด้วยตัวเอง
- หลังจากซื้อโดเมนแล้ว ผู้เขียนเชื่อมต่อโดเมนเข้ากับ VPS แบบไม่ระบุตัวตน
- ใช้ opentracker (ซอฟต์แวร์ทอร์เรนต์แทร็กเกอร์ที่นิยมใช้มากที่สุด) เพื่อสร้างเซิร์ฟเวอร์แทร็กเกอร์ได้อย่างรวดเร็ว
- หลังระบบเริ่มทำงาน ก็พบว่ามีทราฟฟิกจำนวนมากไหลเข้ามาทาง พอร์ต UDP 1337
- ภายในเวลาเพียงหนึ่งชั่วโมง สถิติแสดงว่ามีความพยายามเชื่อมต่อจาก ทอร์เรนต์ 1.73 ล้านรายการ และ เพียร์ 3.15 ล้านราย
สถิติของแทร็กเกอร์ (Stats)
- พบสถิติ ทอร์เรนต์ 1,735,538 รายการ, เพียร์ 3,155,701 ราย, ซีดเดอร์ 1,342,504 ราย (ผู้มีไฟล์ครบ), และการดาวน์โหลดเสร็จสิ้น 244,224 ครั้ง
- มีการรวบรวมข้อมูลคำขอหลายประเภท เช่น การเชื่อมต่อ TCP/UDP, announce, scrape เป็นต้น
- มีการวิเคราะห์สถิติการเชื่อมต่อและข้อผิดพลาดด้วย โดยพบข้อผิดพลาดพารามิเตอร์บางส่วน (
400 Invalid Parameter) และ 404 Not Found ในปริมาณเล็กน้อย
ประเด็นทางกฎหมาย
- การเผยแพร่เว็บไซต์สาธารณะ โปรโมตไฟล์
.torrent หรือหารายได้จากโฆษณา อาจกลายเป็นปัญหาทางกฎหมายในฐานะการเอื้อให้เกิดการละเมิดลิขสิทธิ์
- การเพียงแค่ ให้บริการโครงสร้างพื้นฐานของแทร็กเกอร์ อาจยังมีความรับผิดทางกฎหมายที่ไม่ชัดเจน แต่ประเด็นสำคัญอาจอยู่ที่การพิสูจน์ เจตนา
- ผู้เขียนตระหนักว่าแทร็กเกอร์นี้ถูกใช้ทั้งกับทอร์เรนต์ฟรีและทอร์เรนต์ที่มีลิขสิทธิ์
บทสรุปสุดท้าย
- เนื่องจากความกังวลด้านกฎหมายและการชำระเงินแบบใช้ชื่อจริง (เช่น การจ่ายด้วยบัตร) ผู้เขียนจึงรีบ ยกเลิก VPS และทิ้งโดเมน
- พร้อมระบุว่ายังมีโดเมนแทร็กเกอร์ที่ไม่ได้ใช้อีกจำนวนมาก ซึ่งผู้สนใจสามารถไปจดทะเบียนได้ง่าย
- มีการยกตัวอย่างโดเมนแทร็กเกอร์ที่เปิดให้จดทะเบียนได้สาธารณะ เช่น
open.demonii.si
ปิดท้าย
- บทความนี้ถ่ายทอดให้เห็นเชิงประจักษ์ถึง บทบาทและความเปราะบางของโครงสร้างพื้นฐานแทร็กเกอร์แบบรวมศูนย์ ในระบบนิเวศ BitTorrent รวมถึงข้อจำกัดของเทคโนโลยีแบบกระจายศูนย์
- การฟื้นโดเมนแทร็กเกอร์ที่ตายมานานให้กลับมาใช้งานได้อีกครั้ง แล้วมีเพียร์นับล้านพยายามเชื่อมต่อเข้ามาทันที เป็นสิ่งที่น่าประทับใจมาก
- พร้อมแบ่งปันข้อควรระวังเกี่ยวกับ ความเสี่ยงทางกฎหมาย ของการดูแลโครงสร้างพื้นฐานลักษณะนี้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ในกรณีนี้ไม่ได้เป็นการโฮสต์ tracker โดยตรง แต่แค่ดูการเชื่อมต่อที่เข้ามา จึงไม่น่ามีเหตุผลมากนักที่จะถือว่าผิดกฎหมาย แม้จะรัน tracker เอง ก็ไม่ง่ายที่จะพิสูจน์ว่าผิดกฎหมายจริง การโฮสต์อะไรอย่าง opentrackr ก็คล้ายกับการเปิดเสิร์ชเอนจิน ประเด็นสำคัญคือจะตอบสนองต่อคำขอลบตามกฎหมายอย่างไร ตัว tracker เองก็เป็นซอฟต์แวร์เซิร์ฟเวอร์ที่ค่อนข้างเรียบง่าย รู้สึกว่าแปลกถ้าสิ่งนี้จะกลายเป็นสิ่งผิดกฎหมาย
มี BitTorrent client หลากหลายตัว และจำนวนไม่น้อยเขียนด้วยภาษาที่ไม่ปลอดภัย เลยสงสัยว่า tracker ที่เป็นอันตรายจะสามารถโจมตี client บางตัวได้หรือไม่ ถ้าได้รับข้อมูลผิดปกติจาก tracker ก็นึกว่า client บางตัวอาจรับมือได้ไม่ดีและแสดงพฤติกรรมที่เปราะบาง
สุดท้ายแล้ว นี่หมายความว่าแค่จดทะเบียนโดเมนและเผยแพร่ DNS record บางรายการ ก็สามารถ DDoS IP ที่ต้องการได้เลย
มี master list ของ tracker ที่อัปเดตรายวันอยู่ที่นี่ ซึ่งอาจใช้สำหรับค้นหา tracker ที่ตายแล้วเพิ่มเติมได้
คำถามแรกของผมคือ ในบรรดา BitTorrent client ทั้งหมด มีสักกี่ตัวที่มีโค้ด parser ที่เปราะบาง ผมคิดว่าบางทีอาจมีคนจดทะเบียนโดเมนอย่างไม่หวังดีเพื่อแพร่เชื้อไปยัง client ได้
สถานการณ์นี้คล้ายกับตอนที่ Cloudflare ได้ IP address 1.1.1.1 ไป พอโดเมนเปิดใช้งาน ก็มีสคริปต์อัตโนมัติหรือบอตจำนวนมากยิงทราฟฟิกเข้าไปทางนั้น
ผมเคยทดลองรัน tracker ส่วนตัวแบบสั้น ๆ อยู่ช่วงหนึ่ง เป็นการใช้งานจริงเพียงไม่นาน และไม่ได้ลงลึกมากนักว่า tracker ทำงานอย่างไร (ลองขอรองรับ webtorrent ใน Aquatic tracker ที่เขียนด้วย Rust แล้วนำมาใช้ ลิงก์ Aquatic) เลยสงสัยว่า tracker ติดตามอะไรเป็นหลัก และสามารถรู้บางอย่างโดยตรงจากการแลกเปลี่ยนข้อมูลระหว่าง peer ได้หรือไม่ เดาว่ามันคงแค่จับคู่ให้ peer เจอกันโดยใช้เพียง hash หรือค่า magnet เท่านั้น magnet เองก็ดูไม่จำเป็นต้องมีข้อมูลระบุตัวตนเสมอไป (แม้หลาย magnet link จะมีคำอธิบายที่มนุษย์อ่านได้แนบมาด้วย) tracker อาจรับ hash แล้วลองดาวน์โหลดไฟล์นั้นเพื่อตรวจสอบเองก็ได้ แต่ถ้าไม่ดาวน์โหลดตรง ๆ ก็น่าจะยากที่จะรู้ว่าเป็นคอนเทนต์อะไรจริง ๆ เลยอยากรู้ว่าใน magnet link นั้น องค์ประกอบใดที่จำเป็นต่อการจับคู่ peer จริง ๆ และ tracker จะเพิกเฉยหรือบล็อกฟิลด์ที่มนุษย์อ่านได้เพื่อรักษาความเป็นกลางได้หรือไม่
ไปจดทะเบียนโดเมนในรัสเซีย จีน อิหร่าน ฯลฯ แล้วโฮสต์เว็บบน Alibaba ก็ได้ ต่อให้มีแรงกดดันทางกฎหมายจากสหรัฐฯ พอส่งไปถึงประเทศพวกนั้นก็แทบไร้ผลทันที ในทางปฏิบัติแทบจัดการทางกฎหมายไม่ได้เลย
ผมไม่ใช่ทนาย แต่เข้าใจว่าการรัน tracker ที่เป็นกลางต่อคอนเทนต์ในสหรัฐฯ นั้นถูกกฎหมาย อย่างไรก็ตาม ในประเทศอื่นอาจผิดกฎหมายชัดเจน และก็ขึ้นกับตำแหน่งของ VPS กับประเทศของ TLD (.si เป็นต้น) ด้วย
ถ้ามีคนกลับไปซื้อโดเมน suprnova (ที่ปิดไปตั้งแต่ปี 2004) ใหม่อีกครั้ง ก็สงสัยว่าถ้ายังมี seeder ที่ยังอยู่ จะสามารถต่อการดาวน์โหลดเก่า ๆ ได้หรือไม่ และถ้า torrent นั้นถูกสร้างขึ้นก่อนยุค DHT จะมีผลหรือไม่ด้วย อยากรู้ด้วยว่า DHT มีความสามารถเชิง “ประวัติศาสตร์” มากพอจะครอบคลุม torrent เก่า ๆ ด้วยหรือไม่