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

3.1 Denial of Service by Malicious Initiator #130

Merged
merged 6 commits into from
Oct 4, 2024

Conversation

pavelkrolevets
Copy link
Contributor

Problem:
In InitInstance, any INIT message with a valid signature causes an entry to be added to the s.Instances array. If that array contains 1024 entries not older than 5 minutes, no new DKG can be initiated. Due to Signature verification allows arbitrary public key, anyone with network access can create valid INIT messages, easily denying service to the legitimate initiator.

Solution:

  1. increase instances to max 1024 * 100. This will increase hardware requirements but to not critical point as its quite low now.
  2. decrease rate limit to init/resign/reshare routes to 100.
  3. decrease time to live for instances to 1 minute, as this is more than enough to finish all phases of DKG ceremonies.

In this case, to ddos an attacker needs >= 1024 different IP addresses.

@pavelkrolevets pavelkrolevets changed the title Mitigate malicious initiator ddos 3.1 Denial of Service by Malicious Initiator Sep 30, 2024
@pavelkrolevets
Copy link
Contributor Author

integration tests are failing because of request limits reach. We need to update tests to run not more than 100 requests in a minute.

@MatusKysel MatusKysel merged commit 691df4f into unstable Oct 4, 2024
1 check passed
@pavelkrolevets pavelkrolevets deleted the malicious_initiator_ddos branch October 8, 2024 10:51
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

Successfully merging this pull request may close these issues.

2 participants