TODO.external 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. $Id$
  2. Legend:
  3. SPEC!! - Not specified
  4. SPEC - Spec not finalized
  5. N - nick claims
  6. R - arma claims
  7. P - phobos claims
  8. S - Steven claims
  9. E - Matt claims
  10. M - Mike claims
  11. J - Jeff claims
  12. I - ioerror claims
  13. W - weasel claims
  14. K - Karsten claims
  15. C - coderman claims
  16. - Not done
  17. * Top priority
  18. . Partially done
  19. o Done
  20. d Deferrable
  21. D Deferred
  22. X Abandoned
  23. =======================================================================
  24. External constraints:
  25. For June/July:
  26. NR - Work more on Paul's NRL research problem.
  27. For March 22:
  28. I * Email auto-responder
  29. * How do we better support users with limited email
  30. bandwidth? Multi-part download? Teach them how to reconnect
  31. their gmail? Does downloading your gmail work when your network
  32. keeps dying?
  33. K - Metrics.
  34. - With Mike's help, use Torflow to start doing monthly rudimentary
  35. performance evaluations:
  36. - Circuit throughput and latency
  37. - Measure via Broadband and dialup
  38. - Publish a report addressing key long-term metrics questions:
  39. - What metrics should we present?
  40. - What data are available for these metrics?
  41. - What data are missing, and can collect them safely? Can we
  42. publish them safely?
  43. - What systems are available to present this data?
  44. E - Vidalia improvements
  45. - Put out a Vidalia release with the new features in it.
  46. - Vidalia displays by-country user summary for bridge operators
  47. ? - write a help page for vidalia, "what is this"
  48. M - Torbutton development
  49. - Put out a Torbutton release with the new features in it.
  50. C - Transparent interception of connections on Windows
  51. - Write a summary (with links) of current progress and current
  52. limitations.
  53. S - Continue analyzing "traces" left on host machine by use of
  54. Tor Browser, especially once we have our new launcher and have moved
  55. to FF3. Write a summary of current progress, and what remains. Try
  56. to solve some of the low-hanging fruit.
  57. I d Get a relay operator mailing list going, with a plan and supporting
  58. scripts and so on.
  59. For mid August:
  60. Section 0, items that didn't make it into the original roadmap:
  61. 0.1, installers and packaging
  62. C . i18n for the msi bundle files
  63. P . more consistent TBB builds
  64. IC- get a buildbot up again. Have Linux and BSD build machines.
  65. (Windows would be nice but realistically will come later.)
  66. E - Get Tor to work properly on the iPhone.
  67. 3.1, performance work. [Section numbers in here are from performance.pdf]
  68. - High-priority items from performance.pdf
  69. RS - 1.2, new circuit window sizes. make the default package window lower.
  70. R+ - 2.1, squeeze loud circuits
  71. - Evaluate the code to see what stats we can keep about circuit use.
  72. - Write proposals for various meddling. Look at the research papers
  73. that Juliusz pointed us to. Ask our systems friends. Plan to put
  74. a lot of the parameters in the consensus, so we can tune it with
  75. short turnaround times.
  76. E+ - 2.5, Change Vidalia's default exit policy to not click "other
  77. protocols". Or choose not to. Think this through first.
  78. R+ - 2.6, Tell users not to file-share.
  79. - Put statement on the Tor front page
  80. - Put statement on the download pages too
  81. - And the FAQ
  82. - 3.1.2, Tor weather
  83. I - Implement time-to-notification (immediate, a day, a week)
  84. R - Link to it from the Tor relay page
  85. R - and the torrc.sample
  86. SM - 4.1, balance traffic better
  87. - Steven and Mike should decide if we should do Steven's plan
  88. (rejigger the bandwidth numbers at the authorities based on
  89. Steven's algorithm), or Mike's plan (relay scanning to identify
  90. the unbalanced relays and fix them on the fly), or both.
  91. - Figure out how to actually modify bandwidths in the consensus. We
  92. may need to change the consensus voting algorithm to decide what
  93. bandwidth to advertise based on something other than median:
  94. if 7 authorities provide bandwidths, and 2 are doing scanning,
  95. then the 5 that aren't scanning will outvote any changes. Should
  96. all 7 scan? Should only some vote? Extra points if it doesn't
  97. change all the numbers every new consensus, so consensus diffing
  98. is still practical.
  99. ? - 4.5, Older entry guards are overloaded
  100. - Pick a conservative timeout like a month, and implement.
  101. M - 5.2, better timeouts for giving up on circuits/streams
  102. - clients gather data about circuit timeouts, and then abandon
  103. circuits that take more than a std dev above that.
  104. 4.1, IOCP / libevent / windows / tor
  105. N - get it working for nick
  106. N - put out a release so other people can start testing it.
  107. N - both the libevent buffer abstraction, and the
  108. tor-uses-libevent-buffer-abstraction. Unless we think that's
  109. unreachable for this milestone?
  110. 4.2.1, risks from becoming a relay
  111. S - Have a clear plan for how users who become relays will be safe,
  112. and be confident that we can build this plan.
  113. - evaluate all the various attacks that are made possible by relaying.
  114. specifically, see "relaying-traffic attacks" in 6.6.
  115. - identify and evaluate ways to make them not a big deal
  116. - setting a low RelayBandwidth
  117. - Nick Hopper's FC08 paper suggesting that we should do a modified
  118. round-robin so we leak less about other circuits
  119. - instructing clients to disable pings in their firewall, etc
  120. - pick the promising ones, improve them so they're even better, and
  121. spec them out so we know how to build them and how much effort is
  122. involved in building them.
  123. 4.5, clients download less directory info
  124. N * deploy proposal 158.
  125. N - decide whether to do proposal 140. if so, construct an implementation
  126. plan for how we'll do it. if not, explain why not.
  127. 5.1, Normalize TLS fingerprint
  128. N o write a draft list of possible attacks for this section, with
  129. estimates about difficulty of attack, difficulty of solution, etc
  130. N - revisit the list and revise our plans as needed
  131. NR- put up a blog post about the two contradictory conclusions: we can
  132. discuss the theory of arms races, and our quandry, without revealing
  133. any specific vulnerabilities. (or decide not to put up a blog post,
  134. and explain why not.)
  135. 5.5, email autoresponder
  136. I . maintenance and keeping it running
  137. 5.7.2, metrics
  138. XXX.
  139. 6.2, Vidalia work
  140. E - add breakpad support or similar for windows debugging
  141. E o let vidalia change languages without needing a restart
  142. E - Implement the status warning event interface started for the
  143. phase one deliverables.
  144. E - Work with Steve Tyree on building a Vidalia plugin API to enable
  145. building Herdict and TBB plugins.
  146. 6.3, Node scanning
  147. M - Steps toward automation
  148. - Set up email list for results
  149. - Map failure types to potential BadExit lines
  150. M - Improve the ability of SoaT to mimic various real web browsers
  151. - randomizing user agents and locale strings
  152. - caching, XMLHTTPRequest, form posting, content sniffing
  153. - Investigate ideas like running Chrome/xulrunner in parallel
  154. M - Other protocols
  155. - SSH, IMAPS, POPS, SMTPS
  156. M - Add ability to geolocalize exit selection based on scanner location
  157. - Use this to rescan dynamic urls filtered by the URL filter
  158. 6.4, Torbutton development
  159. M - Resolve extension conflicts and other high priority bugs
  160. M - Fix or hack around ugly firefox bugs, especially Timezone issue.
  161. Definitely leaning towards "hack around" unless we see some
  162. level of love from Mozilla.
  163. M - Vidalia New Nym Integration
  164. - Implement for Torbutton to pick up on Vidalia's NEWNYM and clear
  165. cookies based on FoeBud's source
  166. - Do this in such a way that we could adapt polipo to purge cache
  167. if we were so inclined
  168. M - Write up a summary of our options for dealing with the google
  169. you-must-solve-a-captcha-to-search problem, and pick one as our
  170. favorite option.
  171. 6.6, Evaluate new anonymity attacks
  172. S - relaying-traffic attacks
  173. - original murdoch-danezis attack
  174. - nick hopper's latency measurement attack
  175. - columbia bandwidth measurement attack
  176. - christian grothoff's long-circuit attack
  177. S - client attacks
  178. - website fingerprinting
  179. 7.1, Tor VM Research, analysis, and prototyping
  180. C . Get a working package out, meaning other people are testing it.
  181. 7.2, Tor Browser Bundle
  182. I - Port to one of OS X or Linux, and start the port to the other.
  183. I . Make it the recommended Tor download on Windows
  184. I - Make sure it's easy to un-brand TBB in case Firefox asks us to
  185. I - Evaluate CCC's Freedom Stick