Damian Johnson commited on 2017-02-27 20:53:28
Zeige 1 geänderte Dateien mit 168 Einfügungen und 1 Löschungen.
Nick has been leading discussions with core tor folks concerning some GSoC project ideas. Adding what they've come up with... https://storm.torproject.org/shared/Xh2gRt-Oy__EaM8_4DAIhrYFMXbOnC09AfLGbHx7TUG
... | ... |
@@ -395,7 +395,14 @@ meetings around the world.</li> |
395 | 395 |
|
396 | 396 |
<p> |
397 | 397 |
<b>Project Ideas:</b><br /> |
398 |
- <i><a href="#improveHiddenServices">Help improve Tor hidden services</a></i> |
|
398 |
+ <i><a href="#improveHiddenServices">Help improve Tor hidden services</a></i><br /> |
|
399 |
+ <i><a href="#torFuzzing">Fuzzing coverage of Tor</a></i><br /> |
|
400 |
+ <i><a href="#relayCryptoParallelism">Relay crypto parallelism</a></i><br /> |
|
401 |
+ <i><a href="#anonymousLocalCountStatistics">Anonymous local count statistics</a></i><br /> |
|
402 |
+ <i><a href="#improveSocks5Variant">Improved SOCKS5 variant</a></i><br /> |
|
403 |
+ <i><a href="#hiddenServiceCryptoParallelism">Hidden service crypto parallelism</a></i><br /> |
|
404 |
+ <i><a href="#supportAllDNS">Support all kinds of DNS in Tor</a></i><br /> |
|
405 |
+ <i><a href="#improveIpv6Support">Improve IPv6 support</a></i> |
|
399 | 406 |
</p> |
400 | 407 |
|
401 | 408 |
<a id="project-torbrowser"></a> |
... | ... |
@@ -835,6 +842,166 @@ ideas. |
835 | 842 |
</p> |
836 | 843 |
</li> |
837 | 844 |
|
845 |
+ <a id="torFuzzing"></a> |
|
846 |
+ <li> |
|
847 |
+ <b>Fuzzing coverage of Tor</b> |
|
848 |
+ <br> |
|
849 |
+ Likely Mentors: <i>Nick (nickm), ahf, teor</i> |
|
850 |
+ <br><br> |
|
851 |
+ <p> |
|
852 |
+Starting in 0.3.0.x, Tor supports a few fuzzing systems to check our |
|
853 |
+code for bugs. But as of now, we only support a few possible entry |
|
854 |
+points to Tor. It would be great to add fuzzing support for more of |
|
855 |
+our codebase -- ideally to include our whole network-facing interface. |
|
856 |
+That way, we could find more bugs in our code faster, and fix them |
|
857 |
+before they can get out of hand. |
|
858 |
+ </p> |
|
859 |
+ |
|
860 |
+ <p> |
|
861 |
+This won't be so easy, however: to fuzz effectively, we need to |
|
862 |
+refactor or mock the target function so that it doesn't change any |
|
863 |
+global state, or verify any signatures, or take too long to run. With |
|
864 |
+lots of our network code, that's not so easy. Make sure you |
|
865 |
+understand how our mocking system works, and what the challenges are, |
|
866 |
+before you apply for this one. |
|
867 |
+ </p> |
|
868 |
+ </li> |
|
869 |
+ |
|
870 |
+ <a id="relayCryptoParallelism"></a> |
|
871 |
+ <li> |
|
872 |
+ <b>Relay crypto parallelism</b> |
|
873 |
+ <br> |
|
874 |
+ Likely Mentors: <i>Isis, Nick (nickm)</i> |
|
875 |
+ <br><br> |
|
876 |
+ <p> |
|
877 |
+Tor relays spend a lot of time encrypting and decrypting relay |
|
878 |
+traffic, doing SHA1 and AES-CTR operations. But right now, all of |
|
879 |
+this is done in the main thread! It would be cool to split this |
|
880 |
+across multiple cores instead. |
|
881 |
+ </p> |
|
882 |
+ |
|
883 |
+ <p> |
|
884 |
+This won't be so easy though. The code today is written to expect |
|
885 |
+immediate results from its encryption operations, so you would need to |
|
886 |
+do some pretty tricky refactoring in order get performance and |
|
887 |
+correctness here. Make sure you understand how circuit crypto is |
|
888 |
+invoked today, and what the challenges are, before you apply for this |
|
889 |
+one. |
|
890 |
+ </p> |
|
891 |
+ |
|
892 |
+ <p> |
|
893 |
+For more information <a href="https://trac.torproject.org/projects/tor/ticket/1749">see its ticket</a>. |
|
894 |
+ </p> |
|
895 |
+ </li> |
|
896 |
+ |
|
897 |
+ <a id="anonymousLocalCountStatistics"></a> |
|
898 |
+ <li> |
|
899 |
+ <b>Anonymous local count statistics</b> |
|
900 |
+ <br> |
|
901 |
+ Likely Mentors: <i>Nick (nickm), teor</i> |
|
902 |
+ <br><br> |
|
903 |
+ <p> |
|
904 |
+There are some places in Tor where we count things (like distinct IPs) |
|
905 |
+to later report anonymized statistics. But if the local Tor instance |
|
906 |
+were compromised, this data would be exposed. There are statistical |
|
907 |
+methods which insteasd allow us to record this data in a way that's |
|
908 |
+already anonymous, before we ever summarize it. Interested? |
|
909 |
+ </p> |
|
910 |
+ |
|
911 |
+ <p> |
|
912 |
+For more information <a href="https://trac.torproject.org/projects/tor/ticket/7532">see its ticket</a>. |
|
913 |
+ </p> |
|
914 |
+ </li> |
|
915 |
+ |
|
916 |
+ <a id="improveSocks5Variant"></a> |
|
917 |
+ <li> |
|
918 |
+ <b>Improved SOCKS5 variant</b> |
|
919 |
+ <br> |
|
920 |
+ Likely Mentors: <i>Nick (nickm), David Goulet (dgoulet)</i> |
|
921 |
+ <br><br> |
|
922 |
+ <p> |
|
923 |
+In proposal 229, we describe a bunch of additional SOCKS extensions |
|
924 |
+that Tor-aware applications could use to get more fine-grained control |
|
925 |
+over how Tor handles their streams. It would be cool to implement |
|
926 |
+this! If there's time remaining, you might want to add support to one |
|
927 |
+or more applications. Or maybe to torsocks? |
|
928 |
+ </p> |
|
929 |
+ |
|
930 |
+ <p> |
|
931 |
+For more information <a href="https://trac.torproject.org/projects/tor/ticket/12456">see its ticket</a>. |
|
932 |
+ </p> |
|
933 |
+ </li> |
|
934 |
+ |
|
935 |
+ <a id="hiddenServiceCryptoParallelism"></a> |
|
936 |
+ <li> |
|
937 |
+ <b>Hidden service crypto parallelism</b> |
|
938 |
+ <br> |
|
939 |
+ Likely Mentors: <i>Nick (nickm), David Goulet (dgoulet)</i> |
|
940 |
+ <br><br> |
|
941 |
+ <p> |
|
942 |
+Hidden services, hidden service clients, hidden service directories, |
|
943 |
+and introduction points all need to do a few public-key operations as |
|
944 |
+they operate. But right now, these operations are all done on the |
|
945 |
+main thread. It would be good to have these run across multiple cores. |
|
946 |
+ </p> |
|
947 |
+ |
|
948 |
+ <p> |
|
949 |
+This could probably be done in a way similar to how we currently hand |
|
950 |
+circuit extension handshakes in onion.c and cpuworker.c, but we'd need |
|
951 |
+to extend the state machine for hidden services to add an additional |
|
952 |
+state. It could help hidden services operate much more efficiently. |
|
953 |
+ </p> |
|
954 |
+ |
|
955 |
+ <p> |
|
956 |
+For more information <a href="https://trac.torproject.org/projects/tor/ticket/13738">see its ticket</a>. |
|
957 |
+ </p> |
|
958 |
+ </li> |
|
959 |
+ |
|
960 |
+ <a id="supportAllDNS"></a> |
|
961 |
+ <li> |
|
962 |
+ <b>Support all kinds of DNS in Tor</b> |
|
963 |
+ <br> |
|
964 |
+ Likely Mentors: <i>Nick (nickm), George (asn)</i> |
|
965 |
+ <br><br> |
|
966 |
+ <p> |
|
967 |
+Right now Tor can query for the kind of DNS information you'd find in |
|
968 |
+A records, AAAA records, and PTR records. It would be neat to be able |
|
969 |
+to support more general DNS queries to allow things like MX loopups, |
|
970 |
+DNSSEC lookups, and so on. We have a design proposal (number 219) for |
|
971 |
+this, but it might need some clean-up. |
|
972 |
+ </p> |
|
973 |
+ |
|
974 |
+ <p> |
|
975 |
+For more information <a href="https://trac.torproject.org/projects/tor/ticket/7829">see its ticket</a>. |
|
976 |
+ </p> |
|
977 |
+ </li> |
|
978 |
+ |
|
979 |
+ <a id="improveIpv6Support"></a> |
|
980 |
+ <li> |
|
981 |
+ <b>Improve IPv6 support</b> |
|
982 |
+ <br> |
|
983 |
+ Likely Mentors: <i>ahf, teor</i> |
|
984 |
+ <br><br> |
|
985 |
+ <p> |
|
986 |
+Tor works over IPv6, but require some manual configuration. |
|
987 |
+Clients and relays could automatically detect IPv6 availability, |
|
988 |
+and configure themselves appropriately. Implementing a |
|
989 |
+"happy eyeballs"-like algorithm is a challenge in an anonymity |
|
990 |
+network: are you up for it? |
|
991 |
+ </p> |
|
992 |
+ |
|
993 |
+ <ul> |
|
994 |
+ <li><a href="https://trac.torproject.org/projects/tor/ticket/6939">Missing IPv6 ORPort reachability check</a></li> |
|
995 |
+ <li><a href="https://trac.torproject.org/projects/tor/ticket/4847">Bridges binding only to an IPv6 address doesn't work</a></li> |
|
996 |
+ <li><a href="https://trac.torproject.org/projects/tor/ticket/5940">Figure out own IPv6 address</a></li> |
|
997 |
+ <li><a href="https://trac.torproject.org/projects/tor/ticket/17011">Teach chutney to verify over IPv6</a></li> |
|
998 |
+ </ul> |
|
999 |
+ |
|
1000 |
+ <p> |
|
1001 |
+For more information <a href="https://trac.torproject.org/projects/tor/ticket/17811">see its ticket</a>. |
|
1002 |
+ </p> |
|
1003 |
+ </li> |
|
1004 |
+ |
|
838 | 1005 |
<a id="feedbackExtension"></a> |
839 | 1006 |
<li> |
840 | 1007 |
<b>Feedback Extension for Tor Browser</b> |
841 | 1008 |