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

Hey everyone!

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

And our meeting pad:

Anti-censorship work meeting pad

···

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

Next meeting: Thursday, September 19 16:00 UTC
Facilitator: meskio
^^^(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: onyinyang

== 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:Development · Boards · Anti-censorship · GitLab
* The anti-censorship team's wiki page:
* Home · Wiki · The Tor Project / Anti-censorship / Team · GitLab
* Past meeting notes can be found at:
* The tor-project Archives
* Tickets that need reviews: from projects, we are working on:
* All needs review tickets:
* Merge requests · Anti-censorship · GitLab
* Project 158 <-- meskio working on it
* Issues · Anti-censorship · GitLab

== Announcements ==

 \* https://bridges.torproject.org and moat are now served by rdsys

== Discussion ==

 \* shadow integration for snowflake catching some good stuff
     \* backwards compatibility break in snowflake\!381
         \* https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/381#note_3071161
     \* problem with pion/webrtc or pion/transport dependency upgrade in snowflake\!357
         \* https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/357#note_3076532
     \* do we want to create integration tests for other projects?
         \* yes\!\!\!

 \* https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/315#note_3055755
     \* A regression is required for snowflake with this UDP\-like transport mode merge request
         \* longer\-term goal is to retain backward compatibility, this MR is just meant to isolate the changes required to switch completely to the UDP\-like transport, without backward compatibility negotiation

 \* drop in unrestricted proxies
     \* https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40386
     \* not urgent, but something to invetigate early next week

== Actions ==

== Interesting links ==

 \* https://opencollective.com/censorship-circumvention/projects/snowflake-daily-operations/updates/2024-august-update
     \* &quot;??&quot; country snowflake users? https://lists.torproject.org/pipermail/anti-censorship-team/2024-September/000354.html
 \* https://mastodon.social/@tdp_org/113108525970163764
     \* &quot;We monitor traffic to www\.bbc\.co\.uk &amp; www\.bbc\.com per country &amp; got alerts that daily requests from Angola have dropped off loads recently\. \.\.\. Digging in to the logs, looks like they removed their Fortigates on 6th Sept\. which&#39;d been sending 343k req/day for www\.bbc\.co\.uk/, every single day\!&quot;
     \* &quot;I \[Neil Craig at BBC\] spoke to Fortinet about it once \(and asked them to change how the poller works \- it was originally doing plaintext http GET requests so I asked them to at least do HTTPS HEADs\) \- to their credit they made a real effort to help\.\.\.anyway, I forget how often they poll but IIRC it&#39;s something like every 5 or 10s so it doesn&#39;t actually take all that many firewalls to get to 343K\.&quot;
 \* https://github.com/c-skills/passport
     \* &quot;Forwarding TCP ports through Passkey \(https://fidoalliance.org/passkeys/) servers to bypass censorship\.&quot;
     \* &quot;A quite new chapter about Hybrid Transports allows to use QR codes with the authenticator \(in this case most likely your smart phone\) to authenticate against a service in that authenticator and client platform \(in this case most likely your browser\) open a tunnel to send PDUs back and forth in a similar way that they would travel via USB or NFC\.&quot;
 \* https://dpidetector.org/en/
     \* VPN protocols availability monitoring in Russia

== Reading group ==
* We will discuss "SpotProxy: Rediscovering the Cloud for Censorship Circumvention " on September 12
* https://www.cs-pk.com/sec24-spotproxy-final.pdf
* The Internet censorship bibliography
* 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-09-12
Last week:
- rebased wasm-bindgen fork onto v0.2.93
- followed up on some meek bridge handover tasks
- lots of reviews and gitlab todos
This week:
- take a look at WofWca's big changes to snowflake
- grant writing (for conjure)
- finish snowflake dependency upgrades that were causing problems
- take a look at snowflake web and webext translations and best practices
- 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

dcf: 2024-09-12
Last week:
- read about pion SetInterfaceFilter Use `SetInterfaceFilter` instead of `SetNAT1To1IPs` for `-outbound-address` (#40380) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- commented on STUN servers not supporting RFC 5780 NAT behavior testing Client's NAT checking is slow, so restricted proxies are almost unused (#40376) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- commented on snowflake proxy NAT type metrics Draft: feat(client): try restricted proxy if NAT unknown (!392) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- closed issue of stuck snowflake probetest Increase of "unknown" NAT assignments by probetest since 2021-10-25 (#40071) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- commented on storage.sync for snowflake WebExtension proxy consent Use storage.sync so that the consent can be saved in the syncable browser storage (#106) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab
Next week:
- archive snowflake webextension v0.9.0 (manifest V3)
- comment as requested on kcp v5.6.17 upgrade chore(deps): update module github.com/xtaci/kcp-go/v5 to v5.6.17 (!353) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- 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:
- tell me when to restart the brokers for Upgrade snowflake broker machine from Debian 10 (#40349) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

meskio: 2023-09-12
Last week:
- switch moat and https from BridgeDB to rdsys (rdsys#218)
- add ipversion subscription to rdsys (rdsys#221)
- recover gitlab gettor account (rdsys#189)
- improvements on error logs of the email distributor (rdsys!384)
- sanitize prometheus metrics (rdsys#227)
Next week:
- recover github gettor (rdsys#189)
- deploy bridgedb metrics producer (rdsys#218)

Shelikhoo: 2024-09-12
Last Week:
- snowflake broker update/reinstall:

- Unreliable+unordered WebRTC data channel transport for Snowflake rev2( Draft: Unreliable+unordered WebRTC data channel transport for Snowflake rev2 (!315) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab ) improvements
- Probetest Deployment 24-09-10 Probetest Deployment 24-09-10 (#40383) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- Merge request reviews
Next Week/TODO:
- Merge request reviews
- snowflake broker update/reinstall:
Upgrade snowflake broker machine from Debian 10 (#40349) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- Unreliable+unordered WebRTC data channel transport for Snowflake rev2( Draft: Unreliable+unordered WebRTC data channel transport for Snowflake rev2 (!315) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab ) improvements

onyinyang: 2023-09-12
Last week(s):
- finished up key rotation integration work
- started looking into troll-patrol integration for Lox bridge blockage detection
Next week:
- continue troll-patrol integration for Lox bridge blockage detection
- update lox protocols to return duplicate responses for an already seen request
- Work on outstanding milestone issues:
in particular: Increase the acceptable time for bridgeline failure (#69) · Issues · The Tor Project / Anti-censorship / lox · GitLab
- key rotation automation

     Later:
     pending decision on abandoning lox wasm in favour of some kind of FFI? https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43096):
         \- add pref to handle timing for pubkey checks in Tor browser
         \- add trusted invitation logic to tor browser integration:

- 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: 2024-09-12
Last weeks:
-
Next weeks:
- Update Snowflake to use latest pion upstream releases, waiting for WebRTC v4 beta.
- Test Snowflake fork with covert-dtls
- Condensing thesis into paper
Help with:
- Feedback on thesis

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

--
---
onyinyang

GPG Fingerprint 3CC3 F8CC E9D0 A92F A108 38EF 156A 6435 430C 2036