Ethical, Scale, and Continuity Concerns for Censorship Measurement
Total Page:16
File Type:pdf, Size:1020Kb
Ethical, Scale, and Continuity Concerns for Censorship Measurement Roya Ensafi CensoredPlanet.com 1 In my lab, we... develop frameworks to detect network interference, apply these frameworks to understand the behavior of network intermediaries, and use this understanding to defend against interference by building tools that safeguard users. 2 My Group Draws on Diverse Intellectual Methods Networking & Building tools for adversarial measurements Measurement Systems Creating scalable, efficient, and usable tools Analyzing attacks and adversaries, and Security creating defenses to protect users Social & Understanding ethics/impact of research, and Political collaborating with domain experts, NGOs, etc. 3 Reports suggest Internet censorship practices are diverse in their methods, targets, timing, differing by regions, as well as across time. 4 Reports suggest Internet censorship practices are diverse in their methods, targets, timing, differing by regions, as well as across time. Russia attempts to block millions of IP Iraq govt downs Internet in response to addresses in battle against Telegram massive anti-corruption protests, July, app 2018 From Internet Intelligence Map 5 Internet Censorship: A Simplified View DNS query Resolver cnn.com HTTP requests (opt) TLS handshake TCP handshake Company ISP ISP User IP routing Server Techniques for disruptions: - Internet shutdown - IP address blacklisting - RST injection - SNI blocking - HTTP keyword filtering 6 Why Measure Internet Censorship? ● What is censored, when, for which users, by who ● Advocacy and Transparency are important - Inform users about what they are missing user - Help diplomats and others who make policy decisions ● What technical mechanisms and tools (DPIs) are used ? - Can help to improve defense technology - GFW can cause harm → Great Cannon [*] ● Why and how this blocking affects societies Site [*] Analysis of China’s “Great Cannon” by Marczak, Weaver, Dalek, Ensafi, Fifield, McKune, Rey, Scott-Railton, Deibert, and Paxson (In: USENIX FOCI’15) 7 How To Measure Internet Censorship? PROBLEM: - How can we detect whether pairs of hosts around the world can talk to each other? user ? Site 8 How To Measure Internet Censorship? PROBLEM: - How can we detect whether pairs of hosts around the world can talk to each other? user STATE OF THE ART: - Deploy hardware or software at hosts ? (RIPE Atlas, OONI probes) - Ask people on the ground, or use VPNs, or research networks (PlanetLab) THREE KEY CHALLENGES: Site Coverage, ethics, and continuity 9 OONI: Open Observatory of Network Interference OONI network: - Volunteer can install OONI Probe on iOS, Android, Linux & MacOS (web UI) user INTERPRET the DATA: - If Control != Experiment → Possible censorship - Confirm a case of censorship when ? they have detected a block page. [*] Control Key Challenges for Longitudinal Measurement: - Ethics, coverage, and continuity Site [*] from OONI overview slides 10 OONI: Ethical, Coverage and Continuity Challenges EFFORT 1: detailed and honest consent form - They explicitly say: “Anyone monitoring your internet activity (e.g. ISP) will know that you are running OONI Probe.” 11 OONI: Ethical, Coverage and Continuity Challenges EFFORT 1: detailed and honest consent form EFFORT 2: established close relationships with locals and civil society 12 OONI: Ethical, Coverage and Continuity Challenges EFFORT 3: Keep the community of volunteer involved EFFORT 4: Dedicated Focus and Open Source Pledge EFFORT 5: Greate Funders including Open Technology Fund (OTF), M-lab, FREE PRESS,... https://api.ooni.io/stats 13 Thinking Like an “Attacker”… These machines blindly follow Internet protocol rules such as Thinking Like an Attacker... TCP/IP. How can we leverage standard protocol behaviors to detect whether two distant hosts can communicate? 140 million public live IPv4 addresses 14 Measuring Internet Censorship Globally… Remotely! PROBLEM: - How can we detect whether pairs of hosts around the world can talk to each other from somewhere else in the world user ? - Can we identify intermediary machines that arguably constitute “infrastructure” to reduce risk for volunteers? Site 15 Spooky Scan Spooky Scan uses TCP/IP side channels to detect whether a user and a site can communicate (and in which direction packets are blocked) user ? Goal: Detect blocking from off-path ? * TCP Idle Scan Antirez, (Bugtraq 1998) * Detecting Intentional Packet Drops on the Internet via TCP/IP Side Channels Site Roya Ensafi, Knockel, Alexander, and Crandall (PAM ’14) * Idle Port Scanning and Non-interference Analysis of Network Protocol Stacks Using Model Checking 16 Roya Ensafi, Park, Kapur, and Crandall (Usenix Security 2010) Augur Augur Augur is a follow up system that uses the same TCP/IP side channels to detect blocking from off-path. user ? Goal: Scalable, ethical, and statistically robust ? system to continuously detect blocking. Site * Augur: Internet-Wide Detection of Connectivity Disruption P. Pearce*, R. Ensafi*, F. Li, N. Feamster, V. Paxson (* joint first authors) 17 TCP/IP TCP Handshake: SYN-ACK RST SYN [IP ID:X] Port status is open/closed SYN/ACK [IP ID: Y] ACK [IP ID:X+1] SYN SYN/ACK SYN/ACK SYN/ACK Port status is open 18 Spooky Scan Requirements “User” (Reflector) Site Must maintain a Open port and global value for IP ID retransmitting SYN-ACKs Measurement Machine Must be able to spoof packets 19 Spooky Scan Reflector IP ID Measurement Reflector machine Site 20 Spooky Scan No direction blocked 1 SYN/ACK Reflector IP ID: 7000 Measurement Reflector machine Site 21 Spooky Scan No direction blocked 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 Measurement Reflector machine Site 22 Spooky Scan No direction blocked 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 Measurement Reflector machine 3 Spoofed SYN [src: Reflector IP] Site 23 Spooky Scan No direction blocked 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 Measurement Reflector machine 3 Spoofed SYN [src: Reflector IP] SYN/ACK 4 Site 24 Spooky Scan No direction blocked 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 7001 Measurement Reflector machine 3 Spoofed SYN [src: Reflector IP] SYN/ACK 4 5 RST [IP ID: 7001] Site 25 6 SYN/ACK Spooky Scan 7 RST [IP ID: 7002] No direction blocked 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 7001 7002 Measurement Reflector machine 3 Spoofed SYN [src: Reflector IP] SYN/ACK 4 5 RST [IP ID: 7001] Site 26 Probe [IP ID: 7003] 6 SYN/ACK Spooky Scan 7 RST [IP ID: 7002] No direction blocked 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 7001 7002 Measurement Reflector 7003 machine 3 Spoofed SYN [src: Reflector IP] SYN/ACK 4 5 RST [IP ID: 7001] Site 27 Probe [IP ID: 7002] 5 SYN/ACK Spooky Scan 6 RST [IP ID: 7001] Site-to-Reflector 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 Blocked 7001 7002 Measurement Reflector machine 3 Spoofed SYN [src: ClientIP] SYN/ACK 4 Site 28 6 SYN/ACK Spooky Scan 7 RST [IP ID: 7002] Reflector-to-Site 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 Blocked 7001 7002 Measurement machine 3 5 RST Spoofed SYN [src: ClientIP] SYN/ACK 4 Site 29 Probe [IP ID: 7004] 6 SYN/ACK Spooky Scan 7 RST [IP ID: 7002] Reflector-to-Site 1 SYN/ACK Reflector IP ID: 2 RST [IP ID: 7000] 7000 Blocked 7001 7002 Measurement 7003 machine 7004 3 5 RST Spoofed SYN [src: ClientIP] SYN/ACK 4 Site 30 Spooky Scan Site-to-Reflector No Direction Reflector-to-Site Blocked Blocked Blocked IP ID1 = 1 IP ID1 = 2 IP ID1 = 2 IP ID2 = 1 IP ID2 = 1 IP ID2 = 2 31 Coping with Reflector IP ID Noise Amplifying the signal Reflector Effect of sending N spoofed SYNs: Site-to-Reflector Blocked No Direction Blocked Reflector-to-Site Blocked IP ID1 = (1 + noise) IP ID1 = (1 + N + noise) IP ID1 = (1 + N + noise) IP ID2 = noise IP ID2 = noise IP ID2 = (1 + N + noise) 32 Coping with Reflector IP ID Noise Amplifying the signal Reflector Effect of sending N spoofed SYNs: Site-to-Reflector Blocked No Direction Blocked Reflector-to-Site Blocked IP ID1 = (1 + noise) IP ID1 = (1 + N + noise) IP ID1 = (1 + N + noise) IP ID2 = noise IP ID2 = noise IP ID2 = (1 + N + noise) Repeating the experiment To eliminate the effects of packet loss, sudden bursts of packets, ... 33 Augur Framework All responsive IPs Reflector selection User input Target Reflector Detection countries Characterization 34 Augur Framework All responsive IPs Reflector selection User input Target Reflector Detection countries Characterization Site Site address characterization 35 Augur Framework All responsive IPs Reflector selection User input Target Reflector Detection countries Characterization Probing Site Site address Scheduler characterization 36 Augur Framework All responsive System output IPs Reflector selection Detection/ User input Ref-to-Site Validation blocking — OR — Target Reflector Detection Site-to-Ref blocking countries Characterization Probing — OR — No blocking — OR — Site Error Site address Scheduler characterization 37 THREE KEY CHALLENGES: Coverage, ethics, and continuity Coverage Scanning IPv4 on port 80: - 22.7 million potential reflectors! Compare: 10,000 in prior work (RIPE Atlas) Challenge: Need global vantage points from which to measure 38 Reflector IP ID: Ethics 1000 1001 1002 Reflector SYN/ACK 4 Challenge: Probing 5 RST banned sites from [IP ID: 1001] users’ machines creates risk Site 39 THREE KEY CHALLENGES: Coverage, ethics, and continuity Ethics Use only infrastructure devices to source probes Internet Challenge: Probing User banned sites from users’ machines Global IP ID 22.7 million 236 countries (and creates