109-no-sharing-ips.txt 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. Filename: 109-no-sharing-ips.txt
  2. Title: No more than one server per IP address.
  3. Version: $Revision$
  4. Last-Modified: $Date$
  5. Author: Kevin Bauer & Damon McCoy
  6. Created: 9-March-2007
  7. Status: Closed
  8. Implemented-In: 0.2.0.x
  9. Overview:
  10. This document describes a solution to a Sybil attack vulnerability in the
  11. directory servers. Currently, it is possible for a single IP address to
  12. host an arbitrarily high number of Tor routers. We propose that the
  13. directory servers limit the number of Tor routers that may be registered at
  14. a particular IP address to some small (fixed) number, perhaps just one Tor
  15. router per IP address.
  16. While Tor never uses more than one server from a given /16 in the same
  17. circuit, an attacker with multiple servers in the same place is still
  18. dangerous because he can get around the per-server bandwidth cap that is
  19. designed to prevent a single server from attracting too much of the overall
  20. traffic.
  21. Motivation:
  22. Since it is possible for an attacker to register an arbitrarily large
  23. number of Tor routers, it is possible for malicious parties to do this
  24. as part of a traffic analysis attack.
  25. Security implications:
  26. This countermeasure will increase the number of IP addresses that an
  27. attacker must control in order to carry out traffic analysis.
  28. Specification:
  29. For each IP address, each directory authority tracks the number of routers
  30. using that IP address, along with their total observed bandwidth. If there
  31. are more than MAX_SERVERS_PER_IP servers at some IP, the authority should
  32. "disable" all but MAX_SERVERS_PER_IP servers. When choosing which servers
  33. to disable, the authority should first disable non-Running servers in
  34. increasing order of observed bandwidth, and then should disable Running
  35. servers in increasing order of bandwidth.
  36. [[ We don't actually do this part here. -NM
  37. If the total observed
  38. bandwidth of the remaining non-"disabled" servers exceeds MAX_BW_PER_IP,
  39. the authority should "disable" some of the remaining servers until only one
  40. server remains, or until the remaining observed bandwidth of non-"disabled"
  41. servers is under MAX_BW_PER_IP.
  42. ]]
  43. Servers that are "disabled" MUST be marked as non-Valid and non-Running.
  44. MAX_SERVERS_PER_IP is 3.
  45. MAX_BW_PER_IP is 8 MB per s.
  46. Compatibility:
  47. Upon inspection of a directory server, we found that the following IP
  48. addresses have more than one Tor router:
  49. Scruples 68.5.113.81 ip68-5-113-81.oc.oc.cox.net 443
  50. WiseUp 68.5.113.81 ip68-5-113-81.oc.oc.cox.net 9001
  51. Unnamed 62.1.196.71 pc01-megabyte-net-arkadiou.megabyte.gr 9001
  52. Unnamed 62.1.196.71 pc01-megabyte-net-arkadiou.megabyte.gr 9001
  53. Unnamed 62.1.196.71 pc01-megabyte-net-arkadiou.megabyte.gr 9001
  54. aurel 85.180.62.138 e180062138.adsl.alicedsl.de 9001
  55. sokrates 85.180.62.138 e180062138.adsl.alicedsl.de 9001
  56. moria1 18.244.0.188 moria.mit.edu 9001
  57. peacetime 18.244.0.188 moria.mit.edu 9100
  58. There may exist compatibility issues with this proposed fix. Reasons why
  59. more than one server would share an IP address include:
  60. * Testing. moria1, moria2, peacetime, and other morias all run on one
  61. computer at MIT, because that way we get testing. Moria1 and moria2 are
  62. run by Roger, and peacetime is run by Nick.
  63. * NAT. If there are several servers but they port-forward through the same
  64. IP address, ... we can hope that the operators coordinate with each
  65. other. Also, we should recognize that while they help the network in
  66. terms of increased capacity, they don't help as much as they could in
  67. terms of location diversity. But our approach so far has been to take
  68. what we can get.
  69. * People who have more than 1.5MB/s and want to help out more. For
  70. example, for a while Tonga was offering 10MB/s and its Tor server
  71. would only make use of a bit of it. So Roger suggested that he run
  72. two Tor servers, to use more.
  73. [Note Roger's tweak to this behavior, in
  74. http://archives.seul.org/or/cvs/Oct-2007/msg00118.html]