Caliga
February 9, 2021, 3:17pm
1
After raising an issue about Signal’s new proxy implementation designed to circumvent Iranian government’s censorship, @DuckSoft and @studentmain have been repeatedly dismissed by Signal and its co-founder Moxie. They have found that Signal’s simple TLS-in-TLS proxy is subject to simple active probes, and can be detected by conventional DPI systems.
opened 07:59AM - 09 Feb 21 UTC
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# A Joint Statement on Recen… t Events Between Signal and the Anti-Censorship Community
Sorry to bother you all, but in light of recent events that have happened between Signal and some of our anti-censorship community members, it is my belief that we, a community that's dedicated to censorship circumvention and Internet freedom, must come together. In case you didn't know, here's a quick recap.
After raising an issue about Signal's new proxy implementation designed to circumvent Iranian government's censorship, @ducksoft and @studentmain have been repeatedly dismissed by Signal and its co-founder Moxie. They have found that Signal's simple TLS-in-TLS proxy is subject to simple active probes, and can be detected by conventional DPI systems.
Our community have been silent for too long. We are the underdogs, doing the real work, and yet unappreciated by many people. Our opinions are underrepresented. That's what makes me believe that we must speak out this time, that we should release a joint statement, to condemn Signal's dismissive and irresponsible attitude to the anti-censorship community, and to call for our unity as a community and their immediate action on the matter.
## Timeline
1. 2021-02-05 01:30 I saw the Signal post from Hacker News and forwarded it to them, thinking they might be interested. @ducksoft immediately realized it's a simple TLS-in-TLS proxy without any authentication, which is vulnerable to active probing.
2. 2021-02-05 02:00 @ducksoft posted his doubts at https://github.com/signalapp/Signal-TLS-Proxy/issues/3. @studentmain wrote and tested a PoC, which was later added to the issue. A few hours later, they received a generic, dismissive reply from Moxie, only to inform them that they don't use issues for discussions like this, that the Signal forum should be used instead. Moxie closed the issue, then immediately disabled the repository's issues, rendering the issue page "404".
3. 2021-02-05 08:00 Frustrated by Signal's dismissive response, @ducksoft reposted at https://github.com/net4people/bbs/issues/60, receiving support from the community.
4. 2021-02-05 09:00 @ducksoft attempted to post at Signal community, getting banned immediately. Irritated, @ducksoft added a [meme](https://user-images.githubusercontent.com/7822648/106976107-c8ff6900-6792-11eb-80e5-6b5dd1d93625.png) in the net4people issue and called out Signal for an explanation.
5. 2021-02-06 12:00 @ducksoft sended a [pull request](https://github.com/signalapp/Signal-TLS-Proxy/pull/12) that adds the PoC to Signal TLS proxy's repository. It has since been deleted and both @ducksoft and @studentmain were banned by the Signal organization on GitHub in the afternoon. A [repost](https://github.com/signalapp/Signal-TLS-Proxy/pull/15) by @U-v-U was later closed and locked.
6. 2021-02-07 01:00 A reporter from BleepingComputer contacted @ducksoft and did an email interview.
7. 2021-02-07 06:00 Another researcher reported an issue with Signal's Android app on Signal community that could [expose users to censors](https://community.signalusers.org/t/traffic-not-routed-to-tls-proxies-can-expose-users-to-censors/27479).
8. 2021-02-07 17:00 The [news article](https://www.bleepingcomputer.com/news/security/signal-ignores-proxy-censorship-vulnerability-bans-researchers/) went live on BleepingComputer.
9. 2021-02-08 00:00 Moxie responded to the article on Twitter, calling it absurd.
10. 2021-02-08 02:00 In a phone call with BleepingComputer, Moxie made false accusations and baseless claims. BleepingComputer updated their article with Moxie's response.
11. 2021-02-08 Later in the afternoon: BleepingComputer removed the original article under pressure from Moxie, citing "conflicting information" they have received. The original article can still be found in [archive](https://web.archive.org/web/20210208015243/https://www.bleepingcomputer.com/news/security/signal-ignores-proxy-censorship-vulnerability-bans-researchers/).
## Our statement
### Who we are and what we stand for
We are a group of volunteers from around the world, working together for the same goal of helping with censorship circumvention. We believe everyone should have equal access to a free Internet.
[V2Fly](https://github.com/v2fly) maintains [V2Ray](https://github.com/v2fly/v2ray-core), a proxy and routing tool that helps people behind China's GFW and Iran's Internet firewall stay connected to the internet.
The [Qv2ray workgroup](https://github.com/Qv2ray) is a research group that focuses on the security of censorship circumvention tools. The workgroup has helped discovered several flaws in V2Ray that could lead to detection by adversaries. The workgroup also maintains [Qv2ray](https://github.com/Qv2ray/Qv2ray), a GUI frontend for V2Ray.
[Shadowsocks for Windows](https://github.com/shadowsocks/shadowsocks-windows) is a cross-platform Shadowsocks client implementation in C#. We are a part of the Shadowsocks organization.
### Why Signal should have listened to us
Signal might have their reputation rightfully earned with end-to-end encryption for all chats. But they are apparently no experts in the field of censorship circumvention.
With years of engineering experience fighting China's GFW, our community have the expertise in designing a proxy protocol that can circumvent firewalls and censors by keeping the traffic unidentifiable from normal Internet traffic.
### What Signal has done wrong
Signal's proxy implementation has several critical flaws.
* [It's leaky.](https://community.signalusers.org/t/traffic-not-routed-to-tls-proxies-can-expose-users-to-censors/27479) Signal's Android app leaks DNS queries when the built-in proxy is enabled.
* [It's prone to active probes.](https://github.com/net4people/bbs/issues/60) Without authentication mechanisms, the simple TLS-in-TLS proxy can be probed by sending 2 requests, one to Signal's server, one to a non-Signal server.
* It can be easily detected by conventional DPI systems. Signal's unique TLS fingerprint can be picked up due to the absence of ALPN. DPI systems are also able to detect traffic patterns of a TLS-in-TLS proxy.
And this is not the first time that Signal ignores researcher's findings and voices from the community.
* https://github.com/net4people/bbs/issues/60#issuecomment-773794570
Sergey Frolov shared his experience when reporting Signal Android app's TLS fingerprint issues. Multiple emails sent to Signal were all ignored. In the end they posted an issue in their repository and the issue has also been deleted.
* https://github.com/signalapp/libsignal-service-java/pull/21#issuecomment-269930947
A developer in the open source community contributed this PR for the Signal's repository. In the end he only got a response from Moxie asking the contributor to start from smaller bug fixes to "get a feel for the project". The reply from Moxie has gotten 45 downvotes from the community so far.
* https://drewdevault.com/2018/08/08/Signal.html
A former Wayland maintainer also shared his insight on Signal, over Moxie's hostility on the community and unwillingness of federation.
* https://twitter.com/moxie/status/1358928060809027587
* https://twitter.com/moxie/status/1358835853867425792
* https://twitter.com/moxie/status/1358823241238806528
* https://twitter.com/moxie/status/1358821482688700416
Since the takedown of the BleepingComputer article, Moxie has been claiming multiple times on Twitter, that a proxy is always identifiable, ignoring evidence suggested by anti-censorship researchers and our community members.
### What we ask Signal to do
We urge Signal to issue a statement that informs its users of potential risks caused by the flaws of its proxy implementation. Signal must stop advising people in Iran to use its fragile, temporary solution. Instead, Iranian people should seek for other well-established solutions, like the ones from our community.
On a community level, we ask all of us to stop attacking each other.
We ask our community members to stay united, while keeping the conversations civil. Do not initiate personal attacks. Do not make up or spread conspiracy theories. Support our findings and explain with facts, instead of forcing our mindset onto other people.
We ask Moxie to apologize for his dismissive response and baseless claims. Let the people who understand the subject speak. Stop making false claims when you are not at all familiar with the subject.
We ask Signal to stop treating the anti-censorship community like adversaries. We are not your enemy. Treat the community with respect, by taking issue reports from the community seriously, by responding to our inqueries instead of deliberately ignoring us. Together we can fight censors and help build a better Internet.
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQRNztFeNG4pI7kx1vcconVGvtuLAQUCYCJAjQAKCRAconVGvtuL
AQ98AQCKAPkcLKPuaQKCXlQxejr3mww7KaM+g0Kho17RQvQLXwD/ZROq0YuPEll9
jGlj3AfW9lK797p7AFuo1CXlRteFgwc=
=j1jf
-----END PGP SIGNATURE-----
https://www.bleepingcomputer.com/news/security/removal-notice-for-signal-article/
1 Like
Hmmm… Moxie’s posts seem to indicate that this isn’t a surprise and that this is all self evident. I have yet to see someone respond to that and explain why that is the wrong idea about this.
Personally Signal’s dependency on your cell number is already giving up your anonymity.
However, just trying to convince people to use something more secure is such a pain in the butt, that I can understand their reasoning for using it. Cryptography is incredibly complex and diifcult. Most of the reasons I’ve seen Moxie give for using the number makes sense.
I’m just glad I can roll my own secure chat services, and don’t have to hope Moxie’s pretty radical opinions don’t one day negatively affect Signal.
Caliga
February 9, 2021, 3:48pm
3
The way I understand this so far, is that it’s rather about lulling users in a false sense of security. (Meaning, Iranian dissidents might trust these proxies (full encryption!) without understanding how easy it is to probe that encrypted proxy to figure out what kind of business you’re doing when connecting to it).
I saw a side-argument on Twitter about how much messengers do or don’t inform their users that their Chinese Android on-screen-keyboard WILL spy on them.
Admittedly, similar problem. But will Signal always leak it?
epinez
February 9, 2021, 4:26pm
4
Yeah, you are right. Fortunately, username auth is on its way and there are already parts of it upstream! Shouldn’t take too long until finished.
I can understand that. However, I had the impression so far, the Signal devs just labeled their measurements as circumvention of blocking - so Signal works again. Not as something anonymous. I agree, that could lead to serious problems in some countries…
I am not aware of how the Deep Packet Inspection works in Iran. But we could ask Nokia or Siemens, they sold their interception system to the Iran over ten years ago. I think the answer to your question depends on how Signal adresses and transmits data to end devices. We would have to assume that this metadata can somehow be leaked.
Caliga
February 9, 2021, 5:03pm
5
No, I was not talking about DPI. If that would leak your phone number, it would mean the encryption is useless
I mean, can authorities probe “this phone number uses signal” just as easily as “this IP connected to a hidden Signal proxy”.
IOW, can you effectively turn off the disclosure of your phone number via Signal? E.g. not found via contact search, and not offering to start a chat to that number.
epinez
February 9, 2021, 5:14pm
6
Yeah you are right, I wanted to refer to general interception mechanisms in that sentence.
No that’s not possible.
I abandoned Signal long time ago, when I understood that they don’t care about decentralization and are creating another walled garden. By the way, where is the server source code with the latest updates?
https://matrix.org/blog/2020/01/02/on-privacy-versus-freedom
Good thing is that Purism chose Matrix for Librem 5 native communications.
3 Likes