Security: rate-limit outbound messages, Credit: Equilibrium #2153
Closed
3 tasks
Labels
A-network
Area: Network protocol updates or fixes
C-security
Category: Security issues
I-remote-node-overload
Zebra can overload other nodes on the network
I-unbounded-growth
Zebra keeps using resources, without any limit
S-blocked
Status: Blocked on other tasks
S-needs-investigation
Status: Needs further investigation
TODO before starting
Find good rate-limits, and work out if the rates should be fixed or dynamic.
Motivation
Zebra's message handling code is complex, so it might be possible for it to get stuck in a request-response loop. To limit the impact of these loops, we should rate-limit Zebra's outbound messages to each peer.
A similar issue was reported by Niklas Long of Equilibrium.
Analysis
There are some tricky engineering tradeoffs here:
So we need to find good rate-limits, and work out if the rates should be fixed or dynamic.
Suggested Solution
Client
's outbound message queueAlternatives
We could restrict rate-limiting to identical messages. We'd need to store message contents, hashes, or types.
We could also rate limit inbound messages - they're currently limited via load-shedding.
We could make rate limits dynamic.
We could use different rate-limits for different message types, or for requests and responses.
The text was updated successfully, but these errors were encountered: