-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Examining How the Great Firewall Discovers Hidden Circumvention Servers (IMC 2015) #208
Comments
Here's a summary of the paper, in advance of the reading group discussion. Examining How the Great Firewall Discovers Hidden Circumvention Servers This paper from 2015 takes a look at active probing done by the Great Firewall to discover obfuscated proxy servers. Active probing is where the censor looks at what servers clients connect to, then makes its own connections to those same servers to see how they respond. If a server responds in a way characteristic of a proxy server, then the censor can block its IP address. This research study set out to study active probing of obfs2, obfs3, and plain Tor TLS without pluggable transports ("vanilla Tor"). In the course of events, they also incidentally discovered and documented active probes for SoftEther VPN and App Engine–based domain fronting proxies. The authors ran multiple experiments that uncover different aspects of active probing:
In the Shadow experiment, the vanilla bridges were consistently blocked (except for brief intervals of accessibility every 25 hours), but the obfs2 and obfs3 bridges were not blocked. The fact that obfs2 and obfs3 were not blocked is strange, since other experiments showed that the GFW had the ability, at the time, to send obfs2 and obfs3 probes. The Sybil experiment showed that bridges were usually probed within 1 second of the triggering connection, then probed again 12 hours later. A complete TCP handshake was required to trigger active probes, but the detection system did not robustly reassemble TCP streams. Some of the probes showed inconsistencies at the application layer: the Tor probes used an old version of the Tor protocol; obfs3 probes were distinguishable from mainline obfsproxy in the way the implemented random padding; and HTTP and TLS features in the AppSpot probes did not match their claimed Chromium User-Agent. Collectively, the experiments found 16,083 unique source IP addresses for active probes. Most of them appeared only once. Virtually all prober IP addresses were in Chinese networks. Reverse port scans to the source IP addresses of active probes always showed the addresses as completely unresponsive while probes were being sent—but often, later, those addresses would begin responding to port scans, revealing no common pattern of open ports or TCP/IP characteristics. But the packets sent by probers did have similar TCP/IP characteristics, despite the diversity of source IP addresses, and other evidence, like consistent TCP initial sequence number and TCP timestamp sequences, strongly indicated that the probes had a centralized or common origin. |
We'll start the reading group tomorrow at 13:00 UTC here: https://meet.jit.si/moderated/a47502eba43419adf342da21f02ef7c1aed6503295770f39f2dfcfd50df23e32 I will try to get the stream started up about 20 minutes early, to give time for participants to debug any technical issues. You may feel free to join with whatever pseudonym you like. I don't know whether the Jitsi link above will be accessible to everyone; this is an experiment, and if needed we can make adjustments for any future sessions. In case of a total technical catastrophe, in the worst case I'll record a video and post it later. |
(have a self-hosted jitsi server behind CDN, and it will hard to use more than four devices on line together (for bandwidth))
Feb 26, 2023 03:11:55 wkrp ***@***.***>:
… We'll start the reading group tomorrow at 13:00 UTC[https://www.timeanddate.com/countdown/generic?iso=20230226T130000&p0=1440] here:
https://meet.jit.si/moderated/a47502eba43419adf342da21f02ef7c1aed6503295770f39f2dfcfd50df23e32
I will try to get the stream started up about 20 minutes early, to give time for participants to debug any technical issues. You may feel free to join with whatever pseudonym you like. I don't know whether the Jitsi link above will be accessible to everyone; this is an experiment, and if needed we can make adjustments for any future sessions. In case of a total technical catastrophe, in the worst case I'll record a video and post it later.
—
Reply to this email directly, view it on GitHub[#208 (comment)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AKGBAYAI6YC6TZECGMKHWB3WZJKPVANCNFSM6AAAAAAUY4OYOI].
You are receiving this because you are subscribed to this thread.[Tracking image][https://github.com/notifications/beacon/AKGBAYGHW6KMUICZI6RHF43WZJKPVA5CNFSM6AAAAAAUY4OYOKWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSWEPC2I.gif]
|
Here is a video recording of the reading group. The audio is a little choppy due to a technical problem. There are captions if anything is difficult to understand. These are the links that are referred to in the video:
Some questions came up that I didn't immediately have the answers to. If I get the answers, I'll post them in this issue.
|
|
Are there plans for another paper? |
In 2020 there was "How China Detects and Blocks Shadowsocks" that used similar methodology. An early report from that project is in thread #22. Other than that I'm not aware of any ongoing projects on active probing. If it's something you're interested in doing, I'd say the field is open. Personally I would like to see deeper counterprobing experiments with finer granularity: scanning back at least once per minute to find out how quickly active probing IPs become responsive after sending their probes, and an attempt to detect shared TCP ISN or TCP timestamp sequences across multiple probe targets. Although the zeitgeist has changed somewhat since the wider adoption of probe-resistant protocols. A recent paper on obfs4 bridge detection, "Detecting Tor Bridge from Sampled Traffic in Backbone Networks", has what is perhaps a nod to active probing. Their obfs4 detection technique has high recall but low precision; i.e. few false negatives but high false positives: too many false positives to be useful as a blocking rule directly. The authors state the need for a "secondary detection mechanism" to make the detection practical; in other protocols this could be active probing, but obfs4 is deliberately probing resistant.
|
The posts under the reading group label have so far simply been posted summaries of new research papers. I want to try something different. Let's read an old, significant paper, and then discuss it in a voice/video chat. By this, I hope to promote a better common understanding of censorship research.
The time:
Sunday, 2023-02-26 13:00–14:00 UTC
This is morning in the Americas, daytime in Europe and Africa, and evening in Asia and Oceania.
The paper:
"Examining How the Great Firewall Discovers Hidden Circumvention Servers", 2015
PDF, project web page
This was an early, detailed look at active probing by the Great Firewall using a variety of protocols. It followed "How the Great Firewall of China is Blocking Tor" (2012), which focused on Tor, and preceded "How China Detects and Blocks Shadowsocks" (2020), on Shadowsocks.
I don't yet know how the discussion will be set up. We'll use some kind of video conference system. I'll post connection information closer to the date. I will try to make sure there is a video afterward for anyone who cannot attend.
This is an experiment. If it goes well, I would like to schedule a series of readings and discussions.
The text was updated successfully, but these errors were encountered: