[tor-project] Anti-censorship meeting notes, 3 Oct 2019

Philipp Winter phw at torproject.org
Thu Oct 3 17:56:06 UTC 2019

Here's our meeting log:


And here's our meeting pad:

Anti-censorship work meeting pad

Next meeting: Thursday October 3rd 17:00 UTC

Weekly meetings, every Thursday at 17:00 UTC, in #tor-meeting at OFTC (channel is logged while meetings are in progress).

== Goal of this meeting ==

Weekly checkin about the status of anti-censorship work at Tor.
Coordinate collaboration between people/teams on anti-censorship at Tor.

== Links to Useful documents ==

    * Our anti-censorship roadmap: https://dip.torproject.org/torproject/anti-censorship/roadmap/boards
        * Our roadmap consists of a subset of trac tickets.
    * The anti-censorship team's wiki page: https://trac.torproject.org/projects/tor/wiki/org/teams/AntiCensorshipTeam
    * GetTor's roadmap: https://dip.torproject.org/torproject/anti-censorship/gettor/boards
    * Tickets that need reviews: https://trac.torproject.org/projects/tor/query?status=needs_review&component=%5eCircumvention&col=id&col=summary&col=component&col=owner&col=type&col=priority&col=milestone&col=reviewer&order=priority
    * Projects from sponsors we are working on:
        * https://trac.torproject.org/projects/tor/wiki/org/sponsors/Sponsor30
        * https://trac.torproject.org/projects/tor/wiki/org/sponsors/Sponsor28

---    3rd October 2019 ---

== Announcements ==

    * Looks like our new default bridge (just started shipping in the new Tor Browser alpha) is already blocked by the GFW
        * Do we know whether it happened before or after the release? Before = source code inspection (and they know about the moved tor-browser-build.git repo); after could be source code inspection or package inspection or black-box testing.
            * Unfortunately not; I only tested it just now
                * Add the date and time you tested to MetricsTimeline, if you would.
                    * I will!
    * Also most of our new bridgeDB bridges seem to be blocked: https://trac.torproject.org/projects/tor/raw-attachment/ticket/31701/obfs4-reachability-2019-10-03.pdf
    * Tor Browser files are appearing now at https://archive.org/details/@gettor for gettor purposes.
        * And also at https://drive.google.com/drive/folders/13CADQTsCwrGsIID09YQbNz2DfRMUoxUU

== Discussion ==

    * What research questions can we think of that we should pitch to students?
        * Study BridgeDB crawling by setting up a variety of bridges (use tor's BridgeDistribution option) and check if they end up getting blocked.
            * Understand how and whether benign third parties are using/scraping Tor bridges. Research project sketch here: https://bugs.torproject.org/30636#comment:33
        * Measure reachability of our snowflake broker (and bridge?)
        * Reverse-engineer/study a DPI system https://github.com/net4people/bbs/issues/15
        * Understand what's happening with reported Shadowsocks blocking in China since mid September. Active probing? Large-scale flow analysis?
        * Understand the WebRTC fingerprint of pion-webrtc, in the style of https://trac.torproject.org/projects/tor/wiki/doc/Snowflake/Fingerprinting.
        * Evaluate effectiveness of obfs4's simplistic "slap some padding onto application data" approach
            * How does sharknado's packet-burst-breaking approach compare?
        * What is the the "right" packet sending schedule (assuming no restrictions on efficiency)? Where a schedule is an algorithm that outputs a sequence like "wait 50 ms, send 200 bytes, wait 4100 ms, send 1460 bytes, ..." Start by proposing a strawman schedule to give us something to work with. Ideally I would like to see an adversarial analysis: let one team develop a scheduler (using their own collected traffic), and a different team evaluate it (using their own collected traffic).

    * torproject.org mirrors - what is the right strategy for accepting them? (conversation will continue in a ticket)

== Actions ==


== Interesting links ==


== Updates ==


    This week:
        - What you worked on this week.
    Next week:
        - What you are planning to work on next week (related to anti-censorship work).
    Help with:
         - Something you may need help with.

hiro: (2019-09-09)(gettor days are Thursday - snippets https://dip.torproject.org/snippets)

- gettor was down due to a VM reboot. Phw added a systemd script to reboot the service.
- add archive.org
- add gdrive
- edit ansible scripts
- edit scripts to upload files to various distribution endpoints

    Next week
        - reach out to irl about sending gettor stats to metrics
        - include reviews from code and website changes
        - review specs: are specs up-to-date? should we change something in the specs?
        - review docs: write documentation for web site and ansible playbooks.

    Help with:
        - probably more reviews.

hiro: (2019-09-02)(gettor days are Thursday - snippets https://dip.torproject.org/snippets)

    - Coded ansible recipes for gettor so that the service can be easily maintained by more people: https://dip.torproject.org/torproject/anti-censorship/gettor-project/gettor-ansible
    - Fixing some issues about git history taking too much space quota on gitlab and github

    Next week
        - use archive.org as new distribution endpoint: upload files to archive.org
        - reach out to irl about sending gettor stats to metrics
        - review specs: are specs up-to-date? should we change something in the specs?
        - review docs: write documentation for web site and ansible playbooks.

    Help with:
        - waiting to be told that's fine to upload files to archive.org? Can we start?
        - review new website. New website should be reviewed. https://dip.torproject.org/torproject/anti-censorship/gettor-project/gettor-web

  This week (2019-10-03):
        * Created missing tickets for sponsor 30 tasks
        * Took 10 random bridges from all three BridgeDB pools and sent them to cohosh for testing
        * More work on obfs4 improvements
            * Made obfs4 save client state (i.e., random value), and derive probability distributions from it
        * Interacted with new obfs4 bridge operators
        * Finished updating BridgeDB's requirements.txt and documented a process for keeping it up-to-date.
        * Wrote monthly anti-censorship team report.
        * Filed and implemented https://bugs.torproject.org/31903 to request new BridgeDB translations
        * Implemented first version of BridgeDB language switcher: https://bugs.torproject.org/26543
        * Updated existing BridgeDB metrics files to match our updated metrics spec.
  Next week:
        * Finish prototype for obfs4 flow obfuscator
            * Figure out plan for how to reduce per-packet entropy
  Help with:

Gaba: (updated October 3rd)
   Last week ():
            * sponsor 30 coordination
    This week (planned):
            * sponsor 30 triage of tickets
            * sponsor 30 meeting

    Last week:
        - Worked on #28930
    This week:
        - Finished refactoring parts of #28930. Trying to figure out if we should begin the discussion on how PT's can report back on bootstrap info.
        - Continued to work on a tool to convert Trac tickets into Gitlab tickets.

cecylia (cohosh): last updated 2019-10-03
Last week:
    - grant outline for meeting and set up gitlab repo for it
    - started new obfs4 tests
    - displayed preliminary results for obfs4: https://trac.torproject.org/projects/tor/attachment/ticket/31701/obfs4-reachability-2019-10-03.pdf
    - made major changes and squashed commits for sequencing layer (#29206)
    - helped sah with #31794
    - started work on #31384
    - so many reviews: #31391, #31685, #31537, #31780, #29484, #31794
    - merged #31830, #31843
    - talked with serna about #25598
This week:
    - make a patch for the proxy---broker communication (#29207)
    - more and better tests for #29206 (also related to #29259)
    - snowflake dogfood and think about how to address bad snowflake health
    - refactor proxy-pair state machine (#31310)
    - finish up #31384
    - clear out any other september backlog
    - grant writing
Help with:
    - review of #28942 and #29206 from dcf
    - feedback on whether the direction in #31384 is reasonable

    week of 09/19 (planned):
        - reviews
        - sponsor31 planning
        - coding style discussion
        - comment on draft network team review guidelines
        - #30984
    week of 09/19 (actual):
        - reviews
        - sponsor31 planning
        - talking with people about proposed network team review processes
    week of 09/26 (planned):
        - reviews
        - sponsor31 doc coordination
        - checking in on Season of Docs work
        - #30984

arlolra: 2019-09-26
    Last week:
        - mia
    Next week:
        - add a build step / documentation for code reuse in cupcake
        - pick up another ticket (looking at #31497, #31685, #31537, #31765, #31028, #31310)
    Help with:
        - review of #31391

dcf: 2019-10-03
    Last week:
        - posted Turbo Tunnel candidate protocol evaluation https://github.com/net4people/bbs/issues/14
        - posted summary of FOCI paper on meek traffic analysis https://github.com/net4people/bbs/issues/13
        - filed tickets for Golang security upgrade (#31889, #31890)
    Next week:
        - catch up on Snowflake tickets
            - review #29206 (sequencing protocol for Snowflake)
            - review #29206 (pion WebRTC)
        - archive test pion builds from #28942
        - migrate Snowflake broker to a datacenter with IPv6 (#29258)
    Help with:
        - Need BridgeDB and meek-azure to redeploy meek-server for #31890

More information about the tor-project mailing list