1 điểm bởi GN⁺ 2025-06-18 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong khi tìm nguyên nhân tải Linux ISO chậm, tác giả phát hiện nhiều tracker BitTorrent đã biến mất và thử nghiệm xem có bao nhiêu client quay lại nếu đăng ký lại tên miền tracker đã chết
  • Mục tiêu là udp://open.demonii.si:1337/announce; tác giả mua tên miền .si trên Dynadot, trỏ về VPS rồi chạy opentracker trên cổng 1337
  • Ngay cả trước khi bật tracker, các yêu cầu đã đổ dồn vào cổng UDP 1337; sau khoảng 1 giờ, quan sát được khoảng 1,73 triệu torrent3,15 triệu peer
  • Thống kê gồm peers 3.155.701, seeds 1.342.504, completed 244.224, UDP overall 58.843.612..., cho thấy các URL tracker cũ vẫn còn trong cấu hình của rất nhiều client
  • Chưa rõ việc chỉ vận hành hạ tầng tracker, không quảng cáo hay cung cấp file .torrent, có bị xem là xúi giục vi phạm bản quyền hay không; nhưng người thử nghiệm, lưu tâm đến dấu vết thanh toán bằng thẻ tín dụng, đã tắt VPS và xóa tên miền

Thử nghiệm đăng ký tên miền tracker đã chết

  • Trong tab Trackers của qBittorrent, tác giả phát hiện nhiều tracker ở trạng thái host down hoặc là tên miền không còn được dùng
  • Trong BitTorrent, tracker là thành phần cốt lõi giúp cho biết các peer khác đang tham gia torrent
  • Cấu trúc này để lại một điểm tập trung trong giao thức BitTorrent
    • Nếu tracker không được duy trì hoặc ngoại tuyến, sẽ khó tìm peer qua đường đó
  • Có phương án thay thế là Mainline DHT, nhưng cách này cũng có hạn chế
    • Phụ thuộc vào bootstrap node
    • Dễ bị Sybil attack
    • Với torrent mà người thử nghiệm đang tải, DHT cũng không tìm được peer

Khôi phục open.demonii.si và kết quả quan sát

  • Tác giả đăng ký tên miền udp://open.demonii.si:1337/announce vốn đang không được sử dụng
    • Tên miền được mua tại Dynadot
    • Chuẩn bị VPS và ánh xạ tên miền tới VPS
  • Sử dụng opentracker làm phần mềm tracker
    • Trên Ubuntu 24.04, cài gcc-14, g++-14, build-essential, zlib1g-dev
    • Build libowfat trước, rồi build opentracker
    • Chạy opentracker -p 1337 -P 1337 bằng systemd unit
  • Ngay cả trước khi khởi động opentracker, đã có lượng lớn lưu lượng đi vào cổng UDP 1337
  • Sau khoảng 1 giờ, thống kê tại http://open.demonii.si:1337/stats?mode=everything xác nhận quy mô kết nối lớn
    • torrents: count_mutex 1.735.538, count_iterator 1.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

Rủi ro pháp lý và kết thúc thử nghiệm

  • Khía cạnh pháp lý không rõ ràng
    • Trong các vụ như The Pirate Bay, việc hiển thị phim phổ biến, bán quảng cáo, cung cấp file .torrent... được xem là bằng chứng về sự xúi giục (inducement) vi phạm bản quyền
    • Việc chỉ vận hành hạ tầng tracker không quảng cáo có cấu thành xúi giục hay không vẫn là vấn đề khó chứng minh hơn
    • Cả torrent được phân phối tự do lẫn torrent có bản quyền đều có thể dùng tracker này
  • Việc thanh toán tên miền bằng thẻ tín dụng khiến người thử nghiệm thấy lo ngại, nên đã tắt VPS và xóa tên miền
    • Sau thử nghiệm, tên miền open.demonii.si lại trở về trạng thái có thể đăng ký

1 bình luận

 
GN⁺ 2025-06-18
Các ý kiến trên Hacker News
  • Nếu thực ra không host tracker mà chỉ xem các kết nối đi vào, thì tôi không hiểu tại sao việc đó lại phải là bất hợp pháp
    Ngay cả khi vận hành tracker, cũng khó nói bản thân tracker là bất hợp pháp. Host một thứ như opentrackr cũng giống như host một công cụ tìm kiếm; điểm mấu chốt nằm ở cách phản hồi các yêu cầu gỡ bỏ pháp lý và hạ tầng xung quanh tracker thể hiện ý định gì. Tracker là một phần mềm máy chủ điều phối khá đơn giản, nên nếu bản thân thứ này trở thành bất hợp pháp thì thật kỳ lạ

    • “Có hợp pháp không?” không phải là câu hỏi hữu ích lắm. Câu hỏi hay hơn là khả năng bị kiện cao đến đâu. Trong kiện tụng dân sự, bất kể thực tế có hợp pháp hay không, nếu bạn gây chú ý thì có thể bị luật sư quấy rầy
    • Nếu biết người khác đang phạm tội mà vẫn giúp, thường sẽ bị đối xử gần giống như chính mình trực tiếp phạm tội đó. Theo luật liên bang Mỹ có các điều khoản như 18 USC 2a https://www.law.cornell.edu/uscode/text/18/2
      Việc phần mềm đang chạy “đơn giản” không phải là biện hộ cho hành vi bất hợp pháp, chẳng hạn như giúp người khác phạm tội. Ở Mỹ có vài điều khoản miễn trừ trách nhiệm liên quan đến Internet/bản quyền có thể khiến việc đó không thành tội, nhưng có lẽ là không, và tôi không phải luật sư. Khi nghe câu “giúp ai đó phạm tội”, về cơ bản nên nghĩ rằng “bản thân việc đó có lẽ cũng là tội phạm”
    • Có lẽ vì ngành âm nhạc và điện ảnh ghét P2P nói chung? Vào những năm 2000, xu hướng P2P định trở thành web phân tán thế hệ tiếp theo gần như đã chết
      Có lẽ đã đến lúc nhìn lại. Rốt cuộc chỉ là vấn đề thực thi DRM như thế nào, và ngày nay cũng có nhiều cách xử lý licensing, nên có vẻ ngành công nghiệp không cần phải bận tâm đến mức đó
    • Tác giả bài gốc thực sự đã host tracker
      “Sau đó tôi khởi động tracker. Khoảng một giờ sau, nó vọt lên 1,7 triệu torrent khác nhau trên 3,1 triệu peer!”
    • Đây không phải tư vấn pháp lý, nhưng có thể hợp pháp hoặc bất hợp pháp
      Nếu không phản hồi yêu cầu gỡ bỏ thì có lẽ nghiêng về phía bất hợp pháp; nếu phản hồi yêu cầu gỡ bỏ bằng cách đưa hash vào blacklist thì phần lớn có khả năng ổn. Tất nhiên còn tùy khu vực pháp lý và việc ánh xạ hash với IP:PORT được xem là phân phối/tiếp tay/hay điều gì khác. Vụ TPB có thể là một ví dụ. Tôi biết một người từng vận hành một tracker khá lớn trong vài năm; khi có yêu cầu gỡ bỏ, người đó đưa hash tương ứng vào blacklist, và đến nay vẫn chưa có chuyện gì xảy ra
  • Vì client BitTorrent rất đa dạng và nhiều bản triển khai được viết bằng các ngôn ngữ không an toàn, tôi tự hỏi liệu có thể tấn công một số client thông qua tracker độc hại hay không
    Nếu tracker gửi dữ liệu sai định dạng, sẽ không ngạc nhiên nếu một số client hoạt động bất thường

    • Hầu hết client torrent mà mọi người dùng, nếu không phải tất cả, thực ra đều là lớp bọc quanh libtorrent, và libtorrent được kiểm thử tốt cũng như từng được audit
    • Tôi từng viết một client ở mức sở thích, và tôi nghĩ câu trả lời là có thể. Vì nó nhận input từ máy chủ không do mình kiểm soát, đồng thời cũng tương tác khá nhiều với hệ thống tệp
      Ngay cả với ngôn ngữ an toàn bộ nhớ cũng khó làm một client hoạt động đúng, nên triển khai chính xác bằng C hoặc C++ chắc chắn là khá khó
    • Transmission từng có lỗ hổng thực thi mã từ xa (CVE-2018-5702) cho phép kẻ tấn công thực thi lệnh tùy ý thông qua DNS rebinding. Lạm dụng tracker rõ ràng có thể là một vector tấn công thực tế
    • Dữ liệu được mã hóa bằng bencode, nên là định dạng theo byte. Các tracker độc hại đã biết thường chèn thứ gì đó, chẳng hạn như thêm payload nhắm vào hệ điều hành của client vào mọi tệp PDF đã biết
      API liên quan đến announce khá dễ triển khai, nhưng khó có thể khẳng định rằng nó đã được triển khai trong môi trường kiểm thử fuzzing. Ví dụ Transmission đã có nhiều lỗ hổng trong nhiều năm, còn các triển khai client khác thì tôi không rõ
    • Có thể, nhưng khả năng không cao. Giao thức tương đối đơn giản, và các client hiện có đã từng tiếp xúc với lượng input không đáng tin cậy khổng lồ
  • Trước đây tôi từng vận hành một tracker dùng riêng trong thời gian rất ngắn để thử khám phá việc cùng xem video qua P2P
    Chỉ ở mức đồ chơi nên tôi không tìm hiểu sâu tracker hoạt động thế nào, và tôi dùng tracker rust Aquatic. Khi tôi yêu cầu, họ còn tử tế bổ sung hỗ trợ webtorrent https://github.com/greatest-ape/aquatic
    Tracker có biết mình đang theo dõi thứ gì không? Có nỗ lực nào nhằm để tracker mai mối peer gặp nhau mà vẫn không biết nội dung không?
    Theo trực giác, có vẻ mọi người tìm peer dựa trên một hash/magnet nào đó, và chỉ riêng magnet là đủ, không cần chứa thông tin nhận dạng. Tất nhiên tôi biết nhiều liên kết magnet có phần mô tả mà con người đọc được. Tracker có thể tải hash này từ peer để lấy thông tin torrent, nhưng nếu không tự tải xuống thì có lẽ khó biết torrent là gì và bên trong có gì
    Tôi hiểu như vậy có đúng không? Trong magnet link, phần cốt lõi cho việc mai mối chiếm bao nhiêu? Tracker có thể phớt lờ các trường dễ đọc với con người hoặc chặn chúng ở giai đoạn tiếp nhận để tự che mắt mình không?

    • Tracker chỉ xử lý info hash của torrent. Không có tên, mô tả, hay danh sách nội dung gì cả
      Lấy phần mềm mà tác giả bài gốc chọn, opentracker, làm ví dụ: nó có thể chạy cả ở chế độ whitelist lẫn blacklist. Cái trước thì hiển nhiên, còn cái sau cho phép mọi hash ngoại trừ các hash nằm trong blacklist. Các tracker công khai như torrent.eu hay opentrackr.org luôn vận hành theo cách blacklist để bất kỳ ai cũng có thể tụ họp quanh gần như mọi nội dung
    • Tracker biết mình đang theo dõi thứ gì. Trước đây tôi vận hành một tracker cho chương trình TV, và nó theo dõi tỷ lệ upload/download của tất cả người dùng
  • Có một danh sách master các tracker được cập nhật hằng ngày ở đây, nên có vẻ có thể tìm thêm các tracker đã chết khác https://github.com/ngosang/trackerslist

  • Nói cách khác, chỉ với chi phí đăng ký một tên miền và công bố một bản ghi DNS cụ thể, bạn có thể DDoS một IP bất kỳ

    • Liệu nó có thật sự nghiêm trọng đến mức đó không?
      Các client BitTorrent mà tôi từng dùng hoạt động khá lịch sự, và với mỗi tracker không kết nối được thì chúng lùi lại ít nhất khoảng 60 giây. Ngay cả khi mua một tên miền tracker đã chết và trỏ nó tới IP của người khác, nếu dịch vụ đó không lắng nghe trên cổng mà client định kết nối, và dù cổng tình cờ khớp nhưng nó không nói giao thức BitTorrent, thì tôi khó hình dung việc 1 triệu client BitTorrent cố kết nối lại trở thành vấn đề quá lớn
    • Khoảng thời gian announce của client thông thường khá dài. Thường khoảng 30 phút. Dù vậy, với 3 triệu peer thì vẫn sẽ tạo ra một lượng traffic
    • Điều tai hại hơn là có thể chuyển tất cả các thông báo DMCA từ những chủ sở hữu quyền sở hữu trí tuệ hung hăng sang một địa chỉ IP gia đình. Dù việc vận hành tracker hợp pháp đến đâu, ISP cũng sẽ просто cắt tài khoản
    • Ý tác giả là về mặt lý thuyết có thể redirect toàn bộ traffic tới một IP tùy ý để DDoS à? Tôi chưa từng nghĩ đến, nhưng với 3 triệu peer thì đúng là đáng sợ
  • Khá giống lúc Cloudflare lấy địa chỉ IP 1.1.1.1. Ngay khi được kích hoạt, họ thấy lượng traffic khổng lồ, vì rất nhiều người đã trỏ địa chỉ đó trong script của mình

    • Họ lấy được địa chỉ đó bằng cách nào?
  • Điều đầu tiên tôi nghĩ đến là có bao nhiêu client BitTorrent có mã parsing dễ tổn thương
    Liệu một kẻ ác ý có thể đăng ký tên miền để lây nhiễm client không?

    • Tôi nhớ đến tiểu thuyết “Invisible Armies” của Jon Evans, và “bug”/backdoor trong phần mềm P2P. Tác giả của nó đã dùng thứ đó để chiếm quyền các máy
    • Tôi không nghĩ là có nhiều khả năng. Tracker chỉ là một phần rất nhỏ trong toàn bộ cấu trúc Bittorrent, và về cơ bản chỉ được dùng để client lấy danh sách peer
      Về cơ bản, đó là cấu trúc gửi một HTTP call tới tracker rồi nhận phản hồi. Điều nghĩ ra nhanh nhất là trả về bencode sai để gây cạn kiệt bộ nhớ trong các client do người mới viết. Về mục tiêu tấn công thì peer protocol và các biến thể như uTP thú vị hơn nhiều, và cũng không cần host tracker để làm việc đó. Chỉ cần lấy IP peer từ tracker hoặc DHT, kết nối rồi thực hiện cuộc tấn công mong muốn
    • utorrent v2.1 vẫn còn quá nhiều người dùng, và chắc chắn có thể bị khai thác
  • Đơn giản thôi. Đăng ký tên miền ở các nước như Nga, Trung Quốc, Iran, rồi chạy website trên Alibaba
    Cứ bảo họ thử gửi đống giấy lộn pháp lý sang Nga hoặc Trung Quốc xem. Chắc chắn sẽ suôn sẻ lắm

    • Đúng vậy. Cách giải quyết để vận hành hoạt động bất hợp pháp trên Internet chỉ là đăng ký tên miền ở “Nga, Trung Quốc, Iran hoặc nước tương tự”
      Cũng nên báo cho phía TOR về phát hiện này. Giờ có thể đóng darknet và chuyển tất cả sang Trung Quốc rồi
  • Không thể forward sang một tracker công khai khác sao? Như vậy không phải host gì cả, và nếu nhận thư pháp lý thì bảo họ nói chuyện với tracker công khai đó

    • Nhìn từ bên ngoài thì không phân biệt được, và cuối cùng vẫn sẽ bị kiện
  • Tôi không phải luật sư, nhưng theo hiểu biết của tôi, ở Mỹ việc vận hành một tracker trung lập về nội dung là hợp pháp
    Ở các khu vực pháp lý khác thì chắc chắn có thể không phải vậy, VPS cũng có thể nằm ở khu vực pháp lý khác, và TLD .si chắc chắn thuộc khu vực pháp lý khác

    • Tìm thử thì thấy ít nhất một tracker từng bị cơ quan thực thi pháp luật Mỹ đóng cửa. EliteTorrents [2005] https://www.latimes.com/archives/la-xpm-2005-may-26-fi-torre...
      Có lẽ còn nhiều trường hợp hơn. Các vụ dân sự do MPAA và những bên khác kiện đòi bồi thường thiệt hại thì chắc chắn nhiều hơn. Ở Mỹ có thể khó chứng minh hơn một chút, nhưng nếu một tracker có phần lớn nội dung được đăng ký là nội dung có bản quyền, tôi khá chắc nó cũng có thể bị đóng cửa ở Mỹ
    • VPS là cái được nhắc trong bài ở https://cockbox.org/, nơi này ghi là có trụ sở tại Moldova
    • Trước đây từng có một tracker công khai lớn chạy trên .si, và nó được dùng rộng rãi ở Slovenia, quê nhà của .si
      Hầu như bất kỳ ai sống online ở Slovenia trong 20 năm qua đều biết hoặc từng dùng nó. Và tracker đó cũng không biến mất vì thông báo pháp lý