Opened 8 days ago

Last modified 7 days ago

#2754 new defect

Privacy Issue with i2psnark DHT: you can crawl the hashtable to find out what people are sharing

Reported by: MichaelPalin Owned by: zzz
Priority: minor Milestone: undecided
Component: apps/i2psnark Version: 0.9.46
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

The i2psnark DHT maps info hashes to the addresses of users sharing the torrent.

This means you can easily survey the network to find out what people are sharing: just setup a node and listen for DHT messages containing info hashes, and then connect to the nodes sharing those hashes and download the torrent meta data (and/or the actual content).

I was able to prove this can be done by running a modified i2psnark Java client. I collected about 18600 torrent descriptions from the DHT before I became bored with the project.

This issue could be avoided by using a hash derived from the info hash as the key in the DHT, rather than the info hash itself. Then an attacker could collect only the derived hashes, which gives him no way to obtain the torrent meta data or content.

Subtickets

#2756: Privacy Issue with i2psnark DHTclosedzzz

Change History (2)

comment:1 Changed 8 days ago by zzz

This is by design. The I2P bittorrent DHT (documented here http://i2p-projekt.i2p/en/docs/applications/bittorrent ) is compatible with the standard clearnet bittorrent DHT BEP 5 http://www.bittorrent.org/beps/bep_0005.html and can be scraped in the same manner. Also, there's a limited number of well-known trackers and opentrackers in the network, at least some of them support bittorrent scrape or could be web scraped anyway.

Any change would not be backwards-compatible and would need to be coordinated with Vuze and BiglyBT.

Your suggestion is a good one and perhaps we should have adopted it at the beginning but it would be a real mess to try to do it now.

comment:2 Changed 7 days ago by diehard

Add a subticket #2756 (Privacy Issue with i2psnark DHT).

Note: See TracTickets for help on using tickets.