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

Network stack reset can be used as a system-scale DoS vector #47

Open
hlef opened this issue Oct 28, 2024 · 0 comments
Open

Network stack reset can be used as a system-scale DoS vector #47

hlef opened this issue Oct 28, 2024 · 0 comments
Labels
good first issue Good for newcomers

Comments

@hlef
Copy link
Collaborator

hlef commented Oct 28, 2024

Assuming a remote attacker that can trigger a fault in the network stack at will, they can force the network stack reset to run continuously.

In such a case, the attacker can both prevent the network stack from functioning properly (since it is continuously resetting), as well as the whole system since the reset is resource intensive, leading to other compartments showing higher operation latency, potentially the device running out of battery, etc.

To prevent the reset from being used as a vector for system-wide DoS, we may want to add a mechanism to the reset that detects consecutive resets and throttles the reset rate harmoniously, e.g., first fault triggers an instant reset, second fault wait 500ms before initiating the reset, third reset wait 1s, fourth reset wait 2s, etc. until a threshold where we always wait, e.g., 20s before initiating a reset. We could keep a timestamp to reset that value if the resets are far apart.

Note that adding this shouldn't be hard at all. It would be nice to expose this policy to end-users through configuration.

@hlef hlef added the good first issue Good for newcomers label Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant