Hello George, hello all,
Thank you very much for the provided pointers. Great to hear progress is being made on the Onion Services DoS matter. Two follow-up questions:
1) Will the DoS subsystem overhaul also affect guard-centric DoS countermeasures? Or will it exclusively focus on DoS protection specific to Onion Services? If guard-centric countermeasures are also being updated, is there a document to see what is about to change?
2) The linked bug ticket [1] under your first bullet point does not mention the origin of the concrete threshold values (DoSCircuitCreationRate, etc.). Could you share any insight on how these DoS threshold values are determined? Are they inferred from experiments?
Thank you.
Kind regards Lennart Oldenburg
[1] https://trac.torproject.org/projects/tor/ticket/24902
On 13/04/2020 23.50, George Kadianakis wrote:
Lennart Oldenburg lennart.oldenburg@esat.kuleuven.be writes:
Hi all,
We are investigating how Tor protects itself against Denial-of-Service (DoS) attacks. So far, it has been difficult to find a comprehensive top-level design document for the DoS subsystem (e.g., a torspec or proposal) that reflects the decisions that lead to the subsystem in its current form.
Specifically, we are looking at the DoS mitigation subsystem code for entry guards at src/core/or/dos.{h,c} [1]. We are trying to understand the chosen countermeasures and how the default and current consensus values came to be, e.g., the decision to limit to 3 circuits per second after the initial burst.
- Could you kindly point us in the right direction if any such document
exists?
- If it does not exist, would you mind briefly explaining how the DoS
threshold values (such as DoSCircuitCreationMinConnections, DoSCircuitCreationRate, DoSCircuitCreationBurst, and DoSConnectionMaxConcurrentCount) were chosen?
Hello there,
first of all let me say that the DoS subsystem of Tor is under active development, so things are subject to change and mutate towards various directions (e.g. https://lists.torproject.org/pipermail/tor-dev/2020-April/014215.html).
However, since you are asking for resources on the currently existing DoS subsystem here is some things you can look at:
Resources on general Tor rate limiting: https://trac.torproject.org/projects/tor/ticket/24902 https://lists.torproject.org/pipermail/tor-relays/2018-January/014357.html
The proposal for the HS DoS subsystem: https://github.com/torproject/torspec/blob/master/proposals/305-establish-in...
More information on HS DoS subsystem: https://lists.torproject.org/pipermail/tor-dev/2019-April/013790.html https://lists.torproject.org/pipermail/tor-dev/2019-May/013837.html https://lists.torproject.org/pipermail/tor-dev/2019-July/013923.html
Good luck with your research and please let us know if you reach the point where you can break or fix things! :)
Cheers!