[tor-project] Anti-censorship team meeting notes, 2024-05-09

Hey everyone!

Here are our meeting logs:
http://meetbot.debian.net/tor-meeting/2024/tor-meeting.2024-05-09-16.00.html

And our meeting pad:

Anti-censorship work meeting pad

···

--------------------------------
Anti-censorship
--------------------------------

Next meeting: Thursday, May 16 16:00 UTC
Facilitator: onyinyang
^^^(See Facilitator Queue at tail)

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

This week's Facilitator: shelikhoo

== Goal of this meeting ==

Weekly check-in about the status of anti-censorship work at Tor.
Coordinate collaboration between people/teams on anti-censorship at the Tor Project and Tor community.

== Links to Useful documents ==
* Our anti-censorship roadmap:
* Roadmap:https://gitlab.torproject.org/groups/tpo/anti-censorship/-/boards
* The anti-censorship team's wiki page:
* https://gitlab.torproject.org/tpo/anti-censorship/team/-/wikis/home
* Past meeting notes can be found at:
* The tor-project Archives
* Tickets that need reviews: from sponsors, we are working on:
* All needs review tickets:
* Merge requests · Anti-censorship · GitLab
* Sponsor 96 <-- meskio, shell, onyinyang, cohosh
* https://gitlab.torproject.org/groups/tpo/-/milestones/24
* Sponsor 150 <-- meskio working on it
* Issues · Anti-censorship · GitLab

== Announcements ==

 \* No meeting May 23, we are at the tormeeting

== Discussion ==

 \* should we start assigning/distributing webtunnel bridges in the settings pool?
     \* https://gitlab.torproject.org/tpo/web/community/-/issues/348#note_3026653
     \* we agree it makes sense to start collecting bridges in the settings pool
     \* meskio will configure rdsys to so after deploying the persistency for bridges in rdsys
 \* Reports that our CDN 77 front domains are blocked in Russia?
     \* https://gitlab.torproject.org/tpo/applications/tor-browser/-/blob/tor-browser-115.11.0esr-13.5-1/browser/app/profile/000-tor-browser.js#L110
     \* we&#39;ll keep an eye to see if there is some confirmation of the block and start looking for alternatives

== Actions ==

== Interesting links ==

 \* https://petsymposium.org/popets/2024/popets-2024-0027.php
     \* Communication Breakdown: Modularizing Application Tunneling for Signaling Around Censorship
     \* &quot;The Raceboat framework simplifies using signaling channels for low\-bandwidth and/or latency\-tolerant tasks like bridge distribution and authentication\. \.\.\. We also have a suite of non\-decomposed channels that have been wrapped to support the Raceboat channel APIs\. These include wrappers around several higher\-bandwidth direct channels \(Obfs, Snowflake, and Balboa\)\.\.\.&quot;
     \* \(NB the demonstration application is using Obfs and Snowflake as a rendezvous channel, not providing a rendezvous channel for them\.\)
     \* https://github.com/tst-race/raceboat-pets2024 \(currently empty\)

== Reading group ==
* We will discuss "Communication Breakdown: Modularizing Application Tunneling for Signaling Around Censorship" on May 30
* PoPETs Proceedings — Communication Breakdown: Modularizing Application Tunneling for Signaling Around Censorship
* Questions to ask and goals to have:
* What aspects of the paper are questionable?
* Are there immediate actions we can take based on this work?
* Are there long-term actions we can take based on this work?
* Is there future work that we want to call out in hopes that others will pick it up?

== Updates ==
Name:
This week:
- What you worked on this week.
Next week:
- What you are planning to work on next week.
Help with:
- Something you need help with.

cecylia (cohosh): 2024-05-09
Last week:
- Updated dependencies for various projects
- Shadow simulations
- GitHub - cohosh/ptnettools: Extension of tornettools for running Shadow experiments with pluggable transports
- Lox-wasm integration test fixups
- Opened an issue about Lox blockage migration
This week:
- upload new snowflake-webext version 0.8.2 to both Firefox and Chrome web stores
- make changes to Lox encrypted bridge table
- Simplify BridgeLine struct and make it variable length (!147) · Merge requests · The Tor Project / Anti-censorship / lox · GitLab
- follow up on reported SQS errors
- update wasm-bindgen fork to fix some bugs and hopefully upstream changes
- create a Lox test environment and instructions for the browser team
- Spoof a lox authority for testing (#42503) · Issues · The Tor Project / Applications / Tor Browser · GitLab
Needs help with:

dcf: 2024-05-09
Last week:
- allocated new VPS for snowflake broker Upgrade snowflake broker machine from Debian 10 (#40349) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- archived snowflake-webext 0.8.1 Snowflake WebExtension 0.8.1 : The Tor Project : Free Download, Borrow, and Streaming : Internet Archive
- posted questions about periodic(?) changes in the estimated number of users of the snowflake-01 bridge Drop in users of snowflake-01 2024-03–2024-04 (#40355) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
Next week:
- open issue to have snowflake-client log whenever KCPInErrors is nonzero Deploy snowflake-server for QueuePacketConn buffer reuse fix (#40260) (#40262) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- parent: Improve bug discovery process (#40267) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- open issue to disable /debug endpoint on snowflake broker
- move snowflake-02 to new VM
Help with:

meskio: 2023-05-09
Last week:
- test email distributor in rdsys (rdsys#186)
- extract safelog and prometheus ronded metrics from snowflake into ptutil (snowflake#40354)
- look into renovate errors in rdsys, but still not clue (rdsys!305)
- update and merge the bridge distribution documentation in rdsys (rdsys!295)
Next week:
- improve privacy on rdsys metrics reusing snowflake techniques (rdsys#203)
- produce the same metrics of BridgeDB in rdsys (rdsys#188)

Shelikhoo: 2024-05-09
Last Week:
- [Merge Request Waiting] Add Container Image Mirroring from Tor Gitlab to Docker Hub(Add Container Image Mirroring from Tor Gitlab to Docker Hub (!280) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
- [Merge Request Merged] Fix ipv6 connectivity with restricted address support(Fix ipv6 connectivity with restricted address support (!22) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / WebTunnel · GitLab)
- [Issue] Design a new Constructor Design for Snowflake (Design a new Constructor Design for Snowflake (#40359) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
- [Dev] Snowflake Performance Improvement
- Upgrade snowflake broker machine from Debian 10 Upgrade snowflake broker machine from Debian 10 (#40349) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- Merge request reviews
- Merge request reviews
Next Week/TODO:
- Revise Snowflake Performance Improvement MR(cont.)
- Merge request reviews

onyinyang: 2023-05-02
Last week(s):
- Responding to pre-existing MR reviews and other notifications/questions in gitlab

 This week:
     \- attempt hyper upgrade and tokio upgrade
 Probably next week and beyond:
     \- preparing for upcoming panel \(maybe\)
     \- implement some preliminary user feedback mechanism to identify bridge blocking based on Vecna&#39;s work
     \- improve metrics collection/think about how to show Lox is working/valuable
     \- sketch out Lox blog post/usage notes for forum

 \(long term things were discussed at the meeting\!\): https://pad.riseup.net/p/tor-ac-community-azaleas-room-keep
     \- brainstorming grouping strategies for Lox buckets \(of bridges\) and gathering context on how types of bridges are distributed/use in practice
         Question: What makes a bridge usable for a given user, and how can we encode that to best ensure we&#39;re getting the most appropriate resources to people?
             1\. Are there some obvious grouping strategies that we can already consider?
                 e\.g\., by PT, by bandwidth \(lower bandwidth bridges sacrificed to open\-invitation buckets?\), by locale \(to be matched with a requesting user&#39;s geoip or something?\)
             2\. Does it make sense to group 3 bridges/bucket, so trusted users have access to 3 bridges \(and untrusted users have access to 1\)? More? Less?

theodorsm: 2023-04-25
Last weeks:
- Extended Pion dtls library to support hooking of client hellos, server hellos and certificate request (PR: Add handshake hooking capabilities by theodorsm · Pull Request #631 · pion/dtls · GitHub). Fingerprint generation of firefox and chrome + mimicking using the client hello hook have been moved to its own repo: GitHub - theodorsm/covert-dtls: Fingerprint-resistance module for pion/dtls.
- Analyzed the snowflake captures done in "Snowflake Anonymous Network Traffic Identification" paper: no handshakes found, so not relevant for me
- Verified the consistency of the fingerprint generation
Next weeks:
- Add hook to pion/webrtc so it can be used in snowflake.
- Test and validate mimicked client hello with snowflake.
- Add randomized fingerprint
Help with:

Facilitator Queue:
onyinyang meskio shelikhoo
1. First available staff in the Facilitator Queue will be the facilitator for the meeting
2. After facilitating the meeting, the facilitator will be moved to the tail of the queue