- 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.sitrê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 torrent và 3,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
Trackerscủ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/announcevố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 1337bằng systemd unit
- Trên Ubuntu 24.04, cài
- 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=everythingxác nhận quy mô kết nối lớn- 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:
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
- 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
- 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.silại trở về trạng thái có thể đăng ký
- Sau thử nghiệm, tên miền
1 bình luận
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ạ
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ẽ đã đế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 đó
“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!”
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
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ó
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õ
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?
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
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ỳ
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
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
Đ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?
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
Đơ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
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 đó
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
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ỹ
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ý