Open corverroos opened 2 years ago
Note that one way to attack peers is to send future duties over libp2p protocols. We drop expired duties, but we do not have a "max future duty" limit or logic yet. So this could be used to spam and overload memory.
Problem to be solved
Charon nodes in a cluster communicate via libp2p. There are multiple libp2p protocols inside charon (dkg/qbft/ping/parsigex). A Byzantine node can DDoS other nodes by spamming them with valid (or invalid) connections and messages, causing OOM and or CPU problems.
DDoS can happen on the following resources:
This is however a common problem, so there might be existing solutions to the problem.
Proposed solution
connmgr.ConnManager
to limit connectionsnetwork.ResourceManager
to limit memory, streams, connections, and file descriptorsWrite a document with findings and recommendations.
Out of Scope
Nothing needs to be implemented yet.