Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anonimity, are there enough peers? #3067

Closed
pimlie opened this issue Aug 26, 2017 · 16 comments
Closed

Anonimity, are there enough peers? #3067

pimlie opened this issue Aug 26, 2017 · 16 comments

Comments

@pimlie
Copy link

pimlie commented Aug 26, 2017

In the past it has been mentioned (eg #1816) that one of the reason the anonymity of tribler is unavailable or slow is because there are not enough peers and the university would provide more peers to boost the network. So how many peers are there, are there enough to stay relatively anonymous?

E.g. how vulnerable is the anonymity in tribler to eg law firms setting up a lot of peers / exit nodes themselves? Afaik for the TOR network this is often regarded as one possible way to try to determine what is sent through the network. Some even believe a lot or TOR exit nodes are or have been provided by state agencies just to do this. E.g. is there any monitoring in place for a sudden surge of exit nodes and is it possible to block certain exit nodes from the tribler network?

Also now that downloading is illegal in the Netherlands and the burden of proof is reversed (as in the 'owner' of the exit node's ip address is guilty unless you can proof it was not you), how long will the university be providing peers for the tribler network?

@qstokkink
Copy link
Contributor

I can answer a part of your questions.

A few weeks ago I performed a measurement on the Tribler network health and found that we still have (at least) thousands of peers around the globe. This provides sufficient protection within the limits of the TOR protocol.

However, as you mentioned, a downside of the TOR protocol is that it is vulnerable to correlation attacks. This is something we can partially solve by providing full end-to-end encryption using a hidden services set-up. But this requires that both peers are part of the Tribler network (which would be great, but is unlikely).
The other option on the table is to use mixnet functionality (which adds artificial latency), but this comes at the cost of download speed (which most people already think is too slow).

Long story short: our implementation can protect you from individuals and ordinary companies trying to monitor you, but not from parties who control the entire network (governments, intelligence agencies, etc.)

@pimlie
Copy link
Author

pimlie commented Aug 26, 2017

@qstokkink but I guess not all of those thousands of peers are exit nodes (for torrents not on the tribler network) and just run as 'entry guards'? As by default the allow exit node option is unticked in the settings. Or do I misunderstand how it works?

@qstokkink
Copy link
Contributor

@pimlie correct, most of these will be relays. I don't actually have a recent measurement specifically for exit nodes, but I'm guessing its in the range of a few dozen (don't quote me on this).

@pimlie
Copy link
Author

pimlie commented Aug 28, 2017

@qstokkink arent the exit nodes a 'weak' link in the tribler network with regards to anonimity? Again, maybe I dont understand fully how it works, but if you host an exit node you can easily monitor/log all incoming/outgoing traffic. As the outgoing traffic is just normal p2p, I would guess you could easily correlate incoming tribler traffic with outgoing p2p traffic by e.g. selectively permitting the incoming tribler traffic?

@qstokkink
Copy link
Contributor

@pimlie Thankfully it's not quite that easy. You would need to (D)DOS a suspected source of the data and see if it affects your outgoing data as an exit node (even then you are not 100% sure, as you might be relaying someone else's data)

So you would need multiple measurements to affirm that someone is indeed the source of the data going through your exit node, as we don't send your naked peer info to other clients (it is anonymized). To combat this sampling we periodically throw away circuits and load balance over multiple circuits at once.

In short, to actually perform such an attack you (a) already need a suspect beforehand which just so happens to use your exit node, (b) perform multiple measurements and (c) do them fast before the circuit drops. So yes, if you are big and powerful enough you may be able to pull this off (but it is still unlikely).

@pimlie
Copy link
Author

pimlie commented Aug 28, 2017

@qstokkink ah ok, I guess the exit node is not one of the hop's? So if you choose 1 hop its: you -> hop 1 -> exit node -> non-tribler clients?

If so, how does a hop know where to find an exit node?

@qstokkink
Copy link
Contributor

@pimlie That would actually be two hops. One hop means you directly communicate with an exit node (in Tribler). The exit node cannot see the difference between you being the 2nd hop in the circuit or the originator however (or the 5th hop for that matter).
It might actually be a very good idea to set the default protection to 2 hops instead of 1 now that I think about it. Right now exit nodes can assume they are talking with the source of the circuit, because this is the default behavior.

The way the circuit is extended is called telescoping. This uses the dht of the next node in the circuit to discover relay/exit candidates in the overlay network to set up the next hop after this node in the circuit. If you want to know more about the telescoping system you can reference the original Tor paper by R. Dingledine.

@pimlie
Copy link
Author

pimlie commented Aug 28, 2017

@qstokkink that was indeed an issue I was thinking about when using only 1 hop.

Although I understand (and mostly agree) why it will be hard for persons and/or companies to track what you do, I think it would be interesting to have a bit more insight in who owns the Tribler exit nodes (something like http://torstatus.blutmagie.de/ would be nice).

The main reason for this is what I slightly mentioned above, from a legal point of view the owner of an ip address is responsible for all traffic originating from it. A private organisation that has been given legal investigative powers and wants to catch (or at least scare away) downloaders of certain torrents through Tribler could just setup a butt load of exit nodes (cheap amazon instances) and start 'threatening' all the owners of the first-level nodes they see. From a legal point of view they dont (have to) care about whether the download really originated from that peer as that peer is as much as responsible as the originating. So as mentioned above, it could probably be interesting to know if there is a sudden increase in exit nodes and whether they can be trusted or not.

The same 'legal attack' could actually also apply to the Tribler network itself if such an organisation would host their own channel with copyright protected content (at least in countries where incitement is not illegal). But probably a bit less realistic.

Btw, thanks for taking the time to answer my questions. Just trying to get a better understanding of how everything works 👍

@qstokkink
Copy link
Contributor

@pimlie We did actually have something like this in the past, but after the server went down a few times we stopped reviving it, see #1567. The code is still there though, so we should be able to get it operational again somewhat quickly.

Also, I think we should be extremely careful about publishing a list of exit nodes. This can quickly turn into a hit list for honest exit nodes. Basically pushining the good guys. But I see your point.

Finally, I don't mind answering questions. I think its a good idea for people to critically reflect on the software they use, especially when it concerns their privacy. A conversation like this one is also a great way to share information with the people that did not dare to ask these questions themselves .

@pimlie
Copy link
Author

pimlie commented Aug 29, 2017

@qstokkink have you done any (preemptive) legal research in the implication of running a tribler peer and/or an exit node? Besides copyrighted content Tribler could be used for a lot more sharing of potentially legally contested materials. Could maybe be an interesting research subject for a law student?

@qstokkink
Copy link
Contributor

@pimlie most of us don't concern ourselves with the legal stuff (we just slave away at features and fixes). All of those responsibilities fall upon our one-man-legal-team @synctext (he is a very busy man, as you can probably imagine).

@qstokkink
Copy link
Contributor

We now have a live overview of the currently online peers: http://statistics.tribler.org/ .

@synctext
Copy link
Member

synctext commented Oct 7, 2017

good stuff! Please add a intro to clarify, like:

this is a network crawl. As a peer-to-peer network you need to know who else is running Tribler. We hide what you do and where you are by adding Tor-like tunnels on top of this basic overlay network. We are experimenting with stronger protection, stealth capability https://thehackernews.com/2015/02/android-encryption-tool.html this will take years to become ready.

@xoriole
Copy link
Contributor

xoriole commented Oct 9, 2017

@synctext updated :)

@synctext
Copy link
Member

synctext commented Oct 9, 2017

http://statistics.tribler.org/
Why are there 500-ish peers in AllChannels and 800-ish running Tribler?

@qstokkink
Copy link
Contributor

@synctext The way these statistics are generated is by looking at the communities advertised by a peer through the Discovery community. This has a hard cap of 20 communities. This means that users with +- 15 stars will randomly not advertise themselves as being part of the AllChannel community.
Additionally, you may have peers which run only the TunnelCommunity and not the AllChannel community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants