16:00:44 #startmeeting tor anti-censorship meeting 16:00:44 Meeting started Thu Dec 19 16:00:44 2024 UTC. The chair is meskio. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:44 Useful Commands: #action #agreed #help #info #idea #link #topic. 16:00:48 hello everybody!!! 16:00:50 o/ 16:00:52 hi! 16:00:54 here is our meeting pad: https://pad.riseup.net/p/r.9574e996bb9c0266213d38b91b56c469 16:00:56 ask me in private to give you the link of the pad to be able to edit it if you don't have it 16:00:58 I'll wait few minutes for everybody to add you've been working on and put items on the agenda 16:01:04 hihi 16:01:34 hi 16:01:42 hi~hi~ 16:02:26 hi 16:02:36 👋 16:02:48 while we wait for everybody to fill up their work and the agenda 16:03:08 for the next two weeks we have a break 16:03:17 there will not be meetings until January 9th 16:03:23 and most of us will be AFK 16:03:57 I might look into irc once in a while just in case something is burning 16:04:12 but we'll have a well deserved end of the year break 16:04:25 it was an eventful year and everybody did an amazing work, thank you 16:04:49 hehe! thanks everyone!!! 16:05:32 should we move to the discussion? 16:05:41 I kept from last week the point about azure 16:06:35 we've updated circumvention settings to don't point into azure for snowflake and instead use ampcache 16:06:59 and I sent a merge request to tor-browser to use CDN77 meek bridge as builtin bridge 16:07:05 but with the wrong bridge, sorry 16:07:11 cohosh will fix it 16:07:44 no worries :) 16:07:49 I kept the azure meek bridge there as it might be useful as long as it works, some places might dare more to block azure than CDN77 I think 16:08:16 but happy to be convinced otherwise 16:08:29 have you had any difficulty changing the origin for Azure Edgio CDN profiles? 16:08:40 Or have you not actually had to change the origin? 16:08:44 we don't have access to our azure portal for some time now :) 16:08:48 we're locked out afaik 16:08:56 amp does not work in China, so if it is the default setting, we might need to have some fallback 16:08:58 :( 16:09:14 we also can't necessarily afford to make a new azure account 16:09:16 cohosh: ok, so then you haven't made any origin changes 16:09:18 cdn77 is much cheaper 16:09:25 i think we will just abandon azure for now 16:10:03 shelikhoo: yes my change was adding ampcache for china together with CDN77 domainfront, should we use sqs in china? 16:10:13 in the later discussion point, we are encountering problems after changing the origin for an edgio cdn profile: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40427#note_3142268 16:10:23 I think sqs would work in China, I can add it to test 16:10:37 I think sqs would work in China, I can add it to testing target 16:10:44 oh good idea 16:10:56 we haven't gotten anywhere close to our aws limits yet 16:11:12 shelikhoo: good, I'll make the change 16:11:22 yes! 16:11:25 for now just for china, I'll leave the others as they are 16:11:29 shelikhoo: as a snowflake domain fallback, maybe add cdn77 - tiktok domains? 16:12:03 I don't know for sure but tiktok app is not working for Chinese users 16:12:27 There is a domestic version douyin to work with censorship better 16:12:36 I am not sure if it would work 16:12:41 hm, i thought it was censored, but not blocked. 16:12:56 we could try... 16:14:06 we are kind of jumping into the next topic 16:14:25 we are using phpmyadmin.net for everything in azure 16:14:43 and Russia is already using that name to block hetzner IP range if you visit it 16:14:48 maybe we should diversify 16:15:07 there is a post in the forum with proposals of alternatives: https://forum.torproject.org/t/tor-and-hetzner-block-in-russia/16134/3 16:15:17 and tiktok has a bunch of things there 16:15:57 AFAIK we are using phpmyadmin.net in: snowflake, moat and meek 16:18:15 there is also a list in this confidential issue that was about vantage point tests: https://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/132#note_3031622 16:19:43 so maybe something that needs some work to test in our vantage points and decide in different names 16:19:56 one of them, cdn.zk.mk 16:20:00 we've been using for snowflake 16:20:01 I think we have got a lot of domains, and we could either handpick one, or just let client try them all and remember the last working one 16:20:26 I could try to add domain fronting testing into vantage points 16:21:29 snowflake's multiple front support has been very useful when faced with these decisions 16:21:49 but as we've seen with phpmyadmin, it's noisy and might cause other problems 16:22:25 vantage point testing sounds like a good idea 16:22:46 I agree 16:22:48 https://www.wappalyzer.com/technologies/cdn/cdn77/ < phpmyadmin.net is cdn77 top #4 website based on traffic (according to wappalyzer) 16:23:50 we can keep the status quo for during the break and work on the vantage point testing after to decide in other names 16:24:27 shelikhoo: can you open an issue for the vantage point testing so we don't forget about it? 16:24:42 Yes! I will do that after meeting 16:24:47 thanks 16:25:37 should we move on to the next topic? 16:25:51 dcf1: did you want to brainstorm some solutions to the azure origin issues? 16:26:00 no, I have a specific question 16:26:00 or discuss it in the meeting more? 16:26:23 one possible cause of the problem could be the azure cdn sending the wrong sni to the origin 16:26:54 so what I propose is to sample the SNIs that are reaching the new broker, and see if snowflake-broker.bamsoftware.com is among them 16:27:16 I found a tshark command that prints out the SNI and nothing else 16:27:19 tshark -i eth0 -f 'dst port 443' -Y 'ssl.handshake.extension.type == "server_name"' -T fields -e tls.handshake.extensions_server_name 16:27:35 https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40427#note_3142268 16:27:53 so I'm looking for a sanity check or risk assessment that this is an okay thing to do 16:28:26 if snowflake-broker.bamsoftware.com SNI is reaching the broker, we can work around it by changing the DNS record for snowflake-broker.bamsoftware.com to point to the new broker, and start getting TLS certs for that name 16:28:47 the tshark command sounds okay to me 16:28:48 if snowflake-broker.bamsoftware.com SNI is *not* hitting the new broker, then I don't have any other ideas 16:30:42 I think running the command is fine. 16:30:43 if it is, then we have 2 action items. I have to change the DNS record, and shelikhoo will need to make a change on the broker to let it generate certs for that name too 16:31:23 Yes. I can do that after dns name is adjusted, or we could just copy the certificate for testing 16:31:41 So that the dns change can be done independently of acme setup 16:31:57 ok, I will run the tshark command and report on #40427 16:32:29 nice 16:32:29 Instead of dcf1 and me trying to reduce down time by waiting for each other 16:33:04 And find a common time to do these two actions in a short interval 16:34:02 well the way nginx server_name is set up on the snowflake broker is slightly weird (tpo/anti-censorship/pluggable-transports/snowflake#40430) so shelikhoo I might need to you make the config change on te server since you know how it works 16:34:52 I assume it is as easy as making a third copy of the config file 16:35:38 yes, just duplicate the config file is fine. I think it would be easier to just copy the certificate to the new broker, and I can compete the rest of setup 16:35:48 sounds good 16:36:14 oh, I have access to the old broker as well 16:36:20 yes 16:36:24 I can compete the entire thing! 16:36:32 :) 16:36:44 and then request dns change to see the result 16:36:48 ^~^ 16:37:33 over 16:37:34 nice, we have a plan 16:38:22 the last discussion topic is: covert-dtls and a test plan? 16:38:38 I have fixed most of the comments 16:38:52 yea I see discussion and code review in https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/448, 16:38:59 Need to rebase off main and fix some merge conflicts 16:39:15 but it seems like we might be getting ahead of ourselves, 16:39:27 it might be better to make a test release and ask some people on NTC or similar to try it 16:39:54 I think it would be a mistake to merge before doing that 16:40:16 ^ nina13[m] could help w/ a post in russian on NTC 16:40:24 Sounds good, testing is def. needed 16:40:27 a past example that cohosh did was https://archive.org/details/snowflake-ru_snowflake_fix-20211208-ae7cc478fd34 16:40:40 https://archive.org/details/tor-browser-11.5a13-snowflake-dtlslib-20220712-9d73998bca39 16:40:48 I guess we could produce a snowflake client binary and give instructions on how to replace it in TB 16:41:05 TB is not using lyrebird for snowflake yet, isn't it? 16:41:17 https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40014#note_2765254 16:41:19 Would be valuable to test the proxy also 16:41:35 the snowflake censorship in russia, if I recall correctly, has stopped already 16:41:57 if that is true, then I don't think we could ask someone to test it anymore 16:42:00 shelikhoo: ah, so you're saying that any test might be inconclusive? 16:42:51 you mean the most recent partial blocking, right? 16:43:11 yes... 16:43:13 the situation I hope to avoid is that we commit to merging and then something goes wrong with applying it in practice, something that could have been revealed by earlier user testing 16:43:37 I think testing would be mostly valuable from a stability point of view. Will an unsupported feature be chosen etc 16:43:51 we probably don't need to test it against an active dtls fingerprinting attack for this purpose 16:44:08 yes, then it is probably fine 16:44:18 we just need to make sure there is no regression 16:44:32 theodorsm: for the proxy I run a couple of proxies I could replace them with your patches and see if traffic goes down or something, but I will not have visibility if there is a specific country affected 16:45:33 woud be nice to include country stadistics in the prometheus exporter of the proxy 16:45:51 (or are there already? never used them) 16:45:53 meskio: Perfect! Thank you ^^ Testing should be done with both covertdtls-config set to mimic and randomize 16:46:25 theodorsm: cool, I'll launch it in the comming days and see what happens 16:46:49 That is, either mimic or randomize at a time 16:46:53 :) 16:47:06 I can do one of each :D 16:49:08 on the client testing who can produce binaries and instructions on how to run it? 16:49:58 or even source code, depends on how many users you want 16:50:22 I don't know how to distribute the binaries to users, but I can assist writing instructions 16:50:29 if there's a reliable git branch and instructions how to clone it 16:51:41 yes maybe just instructions on how to compile it and replace it in TB will be enough, ntcparty people are fairly tech savy 16:51:48 theodorsm: if you write up instructions on the MR, we can give feedback and then take ggus and nina13[m] up on their offer to help translate it and post it 16:52:07 cool, we have a plan here 16:52:12 will be happy to help 16:52:15 Nice, will do 16:52:30 ok, thanks, that's what I was looking for, keep the big picture in sight while looking at the details of code review 16:53:00 https://ntc.party/t/testing-invitation-for-tor-browser-with-supportedgroups-patch-countermeasure-in-snowflake-to-evade-censorship-observed-in-russia/2837 from 2022 16:53:54 anything more on this topic or other discussion topics? 16:54:03 eof from me 16:54:10 theodorsm: i can help produce a tor browser build patch and tor browser binary too 16:54:38 cohosh: cool! We'll discuss it in the MR 16:54:45 sounds good :) 16:55:31 nice that one of the interesting links is a paper on discovering domain fronts, very on topic today 16:55:45 maybe something for a reading group to see if we can learn something from it? 16:56:07 I don't know, I found it randomly, I forget what I was looking for 16:56:21 :D 16:56:23 heh good find 16:56:44 it might not bring anything new, but still produce an interesting discussion 16:56:57 the second one is on the same topic I guess, because the first one cites it and says "in concurrent work" etc. 16:58:12 nice 16:58:53 how do you feel about discussing it january 16? the second week after the break 16:59:21 I think it is a good time 16:59:41 I think it is a good time for me 16:59:57 sure 17:00:23 dcf1 will not take it into you if is a bad paper :P 17:00:42 I guess we are done for today 17:01:01 #endmeeting