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

discv5: collect more eclipse attack countermeasures #109

Open
FrankSzendzielarz opened this issue Aug 6, 2019 · 6 comments
Open

discv5: collect more eclipse attack countermeasures #109

FrankSzendzielarz opened this issue Aug 6, 2019 · 6 comments

Comments

@FrankSzendzielarz
Copy link
Member

FrankSzendzielarz commented Aug 6, 2019

The eclipse attack texts deletes the previous information and references to the "Bound-LogIDforPhyIDSrc" in this paper https://engineering.purdue.edu/~isl/TR-EE-07-13.pdf

Instead, the text now makes a general suggestion to limit /24 subnet IPs by bucket and table.

Both approaches have their limitations. In the former case, it is difficult to establish what the correct weighting of per-learned-from-source should be, and with the latter I feel a determined attacker may still be able to take advantage of delays in the node verification schedule to propagate junk around a target and with self-propagation.

I would prefer if the implementation recommendation was more agnostic about how these attacks should be mitigated, while proposing multiple strategies and referring to the papers.

@fjl fjl changed the title Eclipse attack texts discv5: collect more eclipse attack countermeasures Aug 8, 2019
@fjl
Copy link
Collaborator

fjl commented Feb 10, 2020

One countermeasure often recommended in literature is proof-of-work. We have a separate issue for that: #122.

@fjl
Copy link
Collaborator

fjl commented Feb 10, 2020

Just found another very interesting approach, described in this paper (also see slides for an overview.

The idea is simple: during lookup activity, track node ID distribution. Since node IDs are uniformly distributed across the entire ID number space, any deviations from the regular distribution are malicious and those nodes should be ignored.

Found this while browsing gtk-gnutella source code.

@fjl
Copy link
Collaborator

fjl commented Oct 7, 2020

I still want to add the above thing to the spec and try it out in implementation.

@contrun
Copy link

contrun commented Nov 20, 2023

Just found another very interesting approach, described in this paper (also see slides for an overview.

The idea is simple: during lookup activity, track node ID distribution. Since node IDs are uniformly distributed across the entire ID number space, any deviations from the regular distribution are malicious and those nodes should be ignored.

Found this while browsing gtk-gnutella source code.

I don't think this countermeasure is effective in discv5. This countermeasure is needed because attackers can choose whatever node ID closer to the target in the DHT network like emule, while in discv5 the node ID is actually a hash digest. The attacker has no way to effectively choose node ID closer to the targets.

@kdeme
Copy link

kdeme commented Nov 20, 2023

The attacker has no way to effectively choose node ID closer to the targets.

While more costly, the attacker can still "mine" for those node IDs.

@contrun
Copy link

contrun commented Nov 20, 2023

The attacker has no way to effectively choose node ID closer to the targets.

While more costly, the attacker can still "mine" for those node IDs.

Fair point.

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

No branches or pull requests

5 participants
@fjl @kdeme @contrun @FrankSzendzielarz and others