RFC 9505

A Survey of Worldwide Censorship Techniques

๐Ÿ“… published November 2023, from ietf

A Survey of Worldwide Censorship Techniques โœจ

  • Stream: Internet Research Task Force (IRTF) ๐ŸŒˆ
  • Request for Comments: 9505
  • Category: Informational
  • ISSN: 2070-1721
  • Date: November 2023
  • Authors: J. L. Hall (Internet Society), M. D. Aaron (CU Boulder), A. Andersdotter, B. Jones, N. Feamster (U Chicago), M. Knodel (Center for Democracy & Technology) ๐Ÿ‘‘
  • Obsoletes / Updates: Nothing is listed in the title block for either one ๐Ÿงš

Abstract ๐Ÿ’…

Okay bestie, this doc is all about the technical tricks that governments and other regimes around the world use to block or slow down Internet traffic ๐Ÿ˜ญ. The whole point is to help designers, implementers, and users of Internet protocols understand which properties get exploited and which mechanisms get used to censor what people can access. It doesn't give any advice on individual protocol considerations. It's purely informational, a reference you can lean on ๐Ÿ“š. It was made by the Privacy Enhancement and Assessment Research Group (PEARG) in the IRTF ๐Ÿฆ‹.

Status of This Memo ๐ŸŽ€

This is not an Internet Standards Track specification. It's published for informational purposes, so it's not a standard, just really good research ๐Ÿค“.

The IRTF publishes the results of Internet-related research and development work, and those results might not be suitable for deployment ๐Ÿ™ˆ. This RFC represents the consensus of the Privacy Enhancements and Assessments Research Group of the IRTF. Documents approved for publication by the IRSG are not candidates for any level of Internet Standard. See Section 2 of RFC 7841 for the details ๐Ÿ’œ.

If you want the current status, any errata, or a way to send feedback, check out https://www.rfc-editor.org/info/rfc9505 ๐Ÿ”—.

Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved ๐Ÿฆ‹.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date this document was published. Please read these carefully, because they spell out your rights and restrictions for this document ๐Ÿ“œ.

Table of Contents ๐Ÿ—บ๏ธ

   1.  Introduction
   2.  Terminology
   3.  Technical Prescription
   4.  Technical Identification
     4.1.  Points of Control
     4.2.  Application Layer
       4.2.1.  HTTP Request Header Identification
       4.2.2.  HTTP Response Header Identification
       4.2.3.  Transport Layer Security (TLS)
       4.2.4.  Instrumenting Content Distributors
       4.2.5.  DPI Identification
     4.3.  Transport Layer
       4.3.1.  Shallow Packet Inspection and Transport Header
               Identification
       4.3.2.  Protocol Identification
     4.4.  Residual Censorship
   5.  Technical Interference
     5.1.  Application Layer
       5.1.1.  DNS Interference
     5.2.  Transport Layer
       5.2.1.  Performance Degradation
       5.2.2.  Packet Dropping
       5.2.3.  RST Packet Injection
     5.3.  Routing Layer
       5.3.1.  Network Disconnection
       5.3.2.  Adversarial Route Announcement
     5.4.  Multi-layer and Non-layer
       5.4.1.  Distributed Denial of Service (DDoS)
       5.4.2.  Censorship in Depth
   6.  Non-technical Interference
     6.1.  Manual Filtering
     6.2.  Self-Censorship
     6.3.  Server Takedown
     6.4.  Notice and Takedown
     6.5.  Domain Name Seizures
   7.  Future Work
   8.  IANA Considerations
   9.  Security Considerations
   10. Informative References
   Acknowledgments
   Authors' Addresses

1. Introduction โœจ

Censorship is when an entity in a position of power, like a government, an organization, or an individual, suppresses communication it considers objectionable, harmful, sensitive, or inconvenient [WP-Def-2020]. Censors who do this have to go through legal, martial, or other means, but this document focuses mostly on the technical mechanisms used to pull off network censorship ๐Ÿ’ป๐Ÿ”’.

This document describes the technical mechanisms that censorship regimes around the world use to block or impair Internet traffic. If you want the bigger-picture version, where blocking and filtering are discussed in terms of what they mean for Internet architecture instead of end-user access to content and services, see [RFC7754] ๐Ÿ›๏ธ. There's also a growing field of academic study on censorship circumvention (see the review article of [Tschantz-2016]), and this document wants to bring those results to protocol designers and implementers ๐Ÿง ๐Ÿ’–.

Censorship circumvention also affects how much a censorship measure costs to implement, so we include notes on trade-offs related to those costs alongside each technical method below ๐Ÿ’ธ.

This document has been through a lot of discussion and review in the IRTF Privacy Enhancement and Assessment Research Group (PEARG), and it represents that group's consensus ๐Ÿซถ. It is not an IETF product and it is not a standard ๐Ÿ™…โ€โ™€๏ธ.

2. Terminology ๐Ÿ“–

There are three elements of Internet censorship: prescription, identification, and interference. This document has three major sections, one for each of those elements ๐ŸŽ€. Prescription is how censors decide what types of material to censor, like labeling pornographic websites as undesirable. Identification is how censors pick out specific traffic or traffic identifiers to block or impair. For example, deciding that webpages with "sex" in an HTTP header, or that accept traffic through the URL "www.sex.example", are likely to be undesirable is identification ๐Ÿ‘€. Interference is where censors step in and stop people from reaching censored material, by blocking access or slowing down the connection. Think of a technical solution that can spot HTTP headers or URLs and makes them wholly or partially inaccessible ๐Ÿšซ.

3. Technical Prescription ๐Ÿง

Prescription is the process of figuring out what censors would like to block [Glanville-2008]. Censors usually gather information "to block" into blocklists, which are databases of image hashes [ekr-2021], or they use real-time heuristic assessment of content [Ding-1999]. Some national networks are designed so they naturally serve as points of control [Leyba-2019]. There are also signs that online censors use probabilistic machine learning techniques [Tang-2016]. Honestly, web crawling and machine learning are a hot research area for finding content that's considered morally or commercially harmful to companies or consumers in some places [SIDN-2020] ๐Ÿค–๐Ÿ”ฅ.

There are usually a few types of blocklist elements: keyword, domain name, protocol, or IP address ๐Ÿ—‚๏ธ. Keyword and domain name blocking happen at the application level, like with HTTP. Protocol blocking often uses deep packet inspection (DPI) to spot a forbidden protocol. IP blocking tends to use IP addresses in IPv4/IPv6 headers ๐Ÿ•ต๏ธโ€โ™€๏ธ. Some censors also use certain keywords to enable more aggressive blocklists [Rambert-2021], or to be more permissive with content [Knockel-2021] ๐ŸŒ€.

Blocklists get built in different ways. Censors can buy "content control" software from private industry, which lets them filter broad categories they want blocked, like gambling or pornography [Knight-2005]. In these cases, the private services try to categorize every semi-questionable website so they can do meta-tag blocking. They also tune their real-time content heuristic systems to map assessments onto categories of objectionable content ๐Ÿ’….

Countries that care a lot about keeping specific political control usually have ministries or organizations that maintain blocklists. Examples include the Ministry of Industry and Information Technology in China, the Ministry of Culture and Islamic Guidance in Iran, and the organizations in France that handle copyright law [HADOPI], plus the consumer protection law organizations across the EU [Reda-2017] ๐Ÿ‡ช๐Ÿ‡บโœจ.

Content-layer filtering of images and video means institutions or organizations have to store hashes of the images or videos to be blocked in databases. Then content sent, received, or stored through centralized content applications and services can be compared against those hashes, with some degree of tolerance [ekr-2021] ๐Ÿ–ผ๏ธ๐Ÿ’œ.

4. Technical Identification โœจ

Okay so the Internet doesn't just get censored in one spot, bestie. Censorship can happen literally everywhere in the network topology ๐Ÿฆ‹ It can live in the network itself (like the local loop or backhaul), on the services side (web hosts, cloud providers, CDNs), in the ancillary services crew (DNS or certificate authorities), or on the end-client side, like your phone, laptop, or desktop, or any software running on them ๐Ÿ’ป The big thing is that censors need software or hardware to intercept the stuff they care about. Here are the main points of control they can use, and this list isn't the whole list ๐Ÿ‘€

4.1. Points of Control โœจ

Internet censorship takes place in all parts of the network topology. It may be implemented in the network itself (e.g., local loop or backhaul), on the services side of communication (e.g., web hosts, cloud providers, or content delivery networks), in the ancillary services ecosystem (e.g., domain name system (DNS) or certificate authorities (CAs)), or on the end-client side (e.g., in an end-user device, such as a smartphone, laptop, or desktop, or software executed on such devices). An important aspect of pervasive technical interception is the necessity to rely on software or hardware to intercept the content the censor is interested in. There are various logical and physical points of control that censors may use for interception mechanisms, including, though not limited to, the following:

Internet Backbone: Okay, the backbone is giving main character energy ๐ŸŒ If a censor controls parts of the Internet's infrastructure, like the international gateways into a region or Internet Exchange Points (IXPs), those choke points can be used to filter undesirable traffic going into and out of the region by packet sniffing and port mirroring. Censorship at gateways is most effective at controlling the flow of information between a region and the rest of the Internet, but it's ineffective at identifying content moving between users within a region, which would have to happen at exchange points or other network aggregation points. Some national network designs naturally serve as more effective choke points and points of control [Leyba-2019] ๐Ÿงš

Internet Service Providers (ISPs): ISPs are literally so exploited, ngl ๐Ÿ˜ญ They're really easy for a censor to list out, often falling under the jurisdictional or operational control of a censor in a totally undeniable way. Plus, an ISP can see the regional and international traffic of all their users ๐Ÿ‘€ The censor's filtration mechanisms can be placed on an ISP through governmental mandates, ownership, or voluntary/coercive influence.

Institutions: Schools, corporations, and internet cafes are giving gatekeeper vibes ๐ŸŽ€ Private institutions like these can use filtration mechanisms too. Sometimes that's at the request of a government censor, but it can also be done to hit institutional goals, like fostering a particular moral outlook on life in schoolchildren, independent of broader society or government goals.

Content Distribution Network (CDN): CDNs are so clever ๐ŸŒธ They try to collapse network topology so content sits closer to the service's users. That cuts content transmission latency and improves QoS. But the CDN's content servers, sitting "close" to the user in a network sense, can be seriously powerful points of control for censors, especially if where the CDN repositories live makes interference easier ๐Ÿ’…

CAs for Public Key Infrastructures (PKIs): This one's a big deal ๐Ÿ’€ Authorities that issue cryptographically secured resources can be a significant point of control. CAs that issue certificates to domain holders for TLS/HTTPS (the Web PKI), or Regional or Local Internet Registries (RIRs or LIRs) that issue Route Origin Authorizations (ROAs) to BGP operators, can be forced to issue rogue certificates. That may allow compromise, meaning censorship software can do identification and interference where it couldn't before ๐Ÿ˜ฑ CAs may also be forced to revoke certificates. This may lead to adversarial traffic routing, TLS interception being allowed, or an otherwise rightful origin or destination point of traffic flows being unable to communicate in a secure way ๐Ÿซถ

Services: Services are basically the new focal point of the censorship drama ๐Ÿ”ฅ Application service providers can be pressured, coerced, or legally required to censor specific content or data flows. Service providers naturally want to maximize their potential customer base, and potential shutdowns or legal liability from censorship efforts may seem way less attractive than just excluding content, users, or uses of their service. Services have increasingly become focal points of censorship discussions, as well as discussions of moral imperatives to use censorship tools.

Content Sites: On the service side of communications, there are lots of platforms that publish user-generated content and require terms of service compliance with all content and user accounts, so they can avoid intermediary liability for the web hosts. Together, these policies, actions, and remedies are known as content moderation. Content moderation happens above the services or application layer, but these mechanisms are built to filter, sort, and block content and users, which makes them available to censors through direct pressure on the private entity ๐Ÿ“

Personal Devices: Devices are a whole mood ๐Ÿ“ฑ Censors can mandate that censorship software be installed at the device level. This has many disadvantages in terms of scalability, ease of circumvention, and operating system requirements. (Of course, if a personal device is treated with censorship software before sale and this software is difficult to reconfigure, this may work in favor of those seeking to control information, say, for children, students, customers, or employees ๐Ÿ™ˆ) The emergence of mobile devices has made these feasibility problems even worse. This software can also be mandated by institutional actors acting on non-governmentally mandated moral imperatives.

At all levels of the network hierarchy, the filtration mechanisms used to censor undesirable traffic are essentially the same. A censor either directly identifies undesirable content using the identifiers described below and then uses a blocking or shaping mechanism (such as the ones exemplified below to prevent or impair access), or it requests that an actor ancillary to the censor (such as a private entity) perform these functions. Identification of undesirable traffic can occur at the application, transport, or network layer of the IP stack. Censors often focus on web traffic, so the relevant protocols tend to get filtered in predictable ways (see Sections 4.2.1 and 4.2.2). For example, a subversive image might make it past a keyword filter. However, if the image is later deemed undesirable, a censor may then blocklist the provider site's IP address ๐Ÿšซ

4.2. Application Layer ๐ŸŽ€

The following subsections describe properties and trade-offs of common ways censors filter using application-layer information. Each subsection includes empirical examples describing these common behaviors for further reference ๐Ÿ“š


4.2.1. HTTP Request Header Identification ๐ŸŒˆ

An HTTP header contains a lot of useful information for traffic identification. Although "host" is the only required field in an HTTP request header (for HTTP/1.1 and later), an HTTP method field is necessary to do anything useful. So "method" and "host" are the two fields used most often for ubiquitous censorship ๐Ÿ‘‘ A censor can sniff traffic and identify a specific domain name (host), and usually a page name (for example, GET /page) as well. This identification technique is usually paired with transport header identification (see Section 4.3.1) for a more robust method ๐Ÿ’œ

Trade-offs: HTTP request header identification is a technically straightforward method that can be easily implemented at the backbone or ISP level. The hardware needed for this is cheap and easy to get, which makes it desirable when budget and scope are a concern ๐Ÿ“ HTTPS (Hypertext Transport Protocol Secure) encrypts the relevant request and response fields, so pairing with transport identification (see Section 4.3.1) is necessary for HTTPS filtering. However, some countermeasures can trivially defeat simple forms of HTTP request header identification. For example, two cooperating endpoints (an instrumented web server and client) could encrypt or otherwise obfuscate the "host" header in a request, potentially thwarting techniques that match against "host" header values ๐Ÿฆ‹

Empirical Examples: Studies exploring censorship mechanisms have found evidence of HTTP header and/or URL filtering in many countries, including Bangladesh, Bahrain, China, India, Iran, Malaysia, Pakistan, Russia, Saudi Arabia, South Korea, Thailand, and Turkey [Verkamp-2012] [Nabi-2013] [Aryan-2013]. Commercial technologies are often purchased by censors [Dalek-2013]. These commercial technologies use a combination of HTTP request header identification and transport header identification to filter specific URLs. Dalek et al. and Jones et al. identified the use of these products in the wild [Dalek-2013] [Jones-2014] ๐ŸŒธ


4.2.2. HTTP Response Header Identification ๐Ÿ’…

While HTTP request header identification relies on the information in the HTTP request from client to server, HTTP response header identification uses information the server sends back to the client to identify undesirable content ๐Ÿ”

Trade-offs: Just like HTTP request header identification, the techniques used to identify HTTP traffic are well-known, cheap, and relatively easy to implement. However, they're made useless by HTTPS, because HTTPS encrypts the response and its headers ๐Ÿ’€

The response fields are also less helpful for identifying content than request fields. "Server" could easily be identified using HTTP request header identification, and "Via" is rarely relevant ๐Ÿ™„ HTTP response censorship mechanisms normally let the first n packets through while the mirrored traffic is being processed. This may allow some content through, and the user may be able to detect that the censor is actively interfering with undesirable content ๐Ÿ‘€

Empirical Examples: In 2009, Jong Park et al. at the University of New Mexico demonstrated that the Great Firewall of China (GFW) has used this technique [Crandall-2010]. However, Jong Park et al. found that the GFW discontinued this practice during the course of the study. Due to the overlap between HTTP response filtering and keyword filtering (see Section 4.2.4), it is likely that most censors rely on keyword filtering over TCP streams instead of HTTP response filtering ๐Ÿงš


4.2.3. Transport Layer Security (TLS) ๐Ÿ”

Similar to HTTP, censors have deployed a variety of techniques for censoring TLS (and by extension HTTPS). Most of these techniques relate to the Server Name Indication (SNI) field, including censoring SNI, Encrypted SNI (ESNI), or omitted SNI ๐Ÿซฃ Censors can also censor HTTPS content via server certificates. Note that TLS 1.3 acts as a security component of QUIC โœจ

4.2.3.1. Server Name Indication (SNI) ๐ŸŒธ

okay bestie, so with encrypted TLS, one machine can host a bunch of "virtual servers" at the same network address ๐Ÿ โœจ. That means the client has to say which domain it wants in the ClientHello message, so the server knows which TLS certificate to send back. It does that with the SNI TLS extension [RFC6066] ๐Ÿ’…. The ClientHello is unencrypted for TCP-based TLS ๐Ÿซฃ. With QUIC it's encrypted, but that doesn't really keep it private, because the initial encryption keys are derived from a value that's visible on the wire ๐Ÿ˜ญ. SNI is usually sent in the clear, and so are the cert fields sent back in the response. That makes them super useful for censors and filtering software, which can use them to block, filter, or impair connections by dropping traffic to domains that match prohibited content. For example, bad.foo.example might get censored while good.foo.example doesn't ๐Ÿ’€ [Shbair-2015].

There's ongoing work in the TLS Working Group to encrypt SNI [RFC8744] [TLS-ESNI] ๐Ÿ”, and recent research shows promising results for using ESNI against SNI-based filtering in some countries [Chai-2019] ๐ŸŒˆ.

Domain fronting has been a popular way to dodge censors [Fifield-2015] ๐Ÿฆ‹. The trick is that apps put a different domain in the SNI extension than in the host header, and the host header is protected by HTTPS. The SNI shows an unblocked domain, and the blocked domain stays hidden inside the encrypted app header ๐Ÿซฅ. Some encrypted messaging services leaned on this to work in countries with SNI-based filtering. They hid their real domain names behind domains where blocking at the domain level would be undesirable ๐Ÿ™ˆ. However, the companies running those popular domains have since reconfigured their software to stop this practice, so that's a no-go now ๐Ÿšซ. It may be possible to get similar results with future options for encrypting SNI.

Trade-offs: some clients don't send the SNI extension, like clients that only support SSL and not TLS. That makes this method useless for them (see Section 4.2.3.3) ๐Ÿฅฒ. Also, this technique needs deep packet inspection (DPI), which can get really expensive in computing power and infrastructure. It's especially painful with QUIC, since DPI there needs key extraction and decryption of the ClientHello just to read the SNI ๐Ÿ’ธ. Messing up an SNI-based block can cause huge over-blocking, like when a second-level domain such as populardomain.example gets blocked by accident ๐Ÿ˜ฌ. With ESNI, the pressure to censor can shift to other points of intervention, like content and application providers ๐Ÿ”„.

Empirical Examples: there are lots of security firms that sell SNI-based filtering products [Trustwave-2015] [Sophos-2023] [Shbair-2015] ๐Ÿ›ก๏ธ. China, Egypt, Iran, Qatar, South Korea, Turkey, Turkmenistan, and the United Arab Emirates all do widespread SNI filtering or blocking [OONI-2018] [OONI-2019] [NA-SK-2019] [CitizenLab-2018] [Gatlan-2019] [Chai-2019] [Grover-2019] [Singh-2019] ๐Ÿ—บ๏ธ. SNI blocking against QUIC traffic was first spotted in Russia in March 2022 [Elmenhorst-2022] ๐Ÿ‘€.

4.2.3.2. Encrypted SNI (ESNI) ๐Ÿง

Since SNI leaks data, the natural fix is to encrypt it, which is coming in TLS 1.3 with Encrypted Client Hello (ECH) โœจ. Until then, the ESNI extension can stop the leak by encrypting only the SNI field ๐Ÿ”’. Unfortunately, censors can target connections that use the ESNI extension specifically. That guarantees over-blocking for the censor, but it can still be worth the cost if ESNI isn't widely deployed in their country yet ๐Ÿ˜ค. ECH is the emerging standard for protecting the entire TLS ClientHello, but it isn't widely deployed yet ๐ŸŒฑ.

Trade-offs: censoring ESNI costs a censor way more than censoring SNI, since the censor can't aim at specific domains anymore and over-blocking is guaranteed ๐Ÿ’ฐ. In these cases, the censor uses that over-blocking to scare people off ESNI entirely ๐Ÿซ .

Empirical Examples: in 2020, China started censoring all uses of ESNI [Bock-2020b], even for totally innocent connections ๐Ÿ˜ญ. China's ESNI censorship works differently from how it censors SNI-based connections, which suggests new middleboxes were deployed just to target ESNI connections ๐Ÿ•ต๏ธโ€โ™€๏ธ.

4.2.3.3. Omitted SNI ๐Ÿซฅ

Researchers have seen some clients leave out the SNI extension entirely. That limits what a censor can see ๐Ÿ‘€. Like with ESNI, censors can choose to block connections that omit the SNI, though this also risks over-blocking ๐Ÿ™ƒ.

Trade-offs: censoring every connection that omits the SNI field is guaranteed to over-block, though connections that omit the SNI field should be relatively rare in the wild ๐ŸŒฟ.

Empirical Examples: researchers have seen censors in Russia blocking connections that omit the SNI field in the past [Bock-2020b] ๐Ÿ‡ท๐Ÿ‡บ.

4.2.3.4. Server Response Certificate ๐Ÿ“œ

During the TLS handshake, after the ClientHello, the server responds with the TLS certificate. That certificate also contains the domain the client is trying to reach, which gives censors yet another way to censor ๐Ÿซฃ. This technique won't work in TLS 1.3, because the certificate will be encrypted ๐Ÿ”.

Trade-offs: censoring based on the server certificate needs DPI techniques that are more computationally expensive than other methods ๐Ÿงฎ. Plus, the certificate shows up later in the TLS handshake than the SNI field does, so the censor has to track the connection for longer ๐Ÿ˜ฉ.

Empirical Examples: researchers have seen the Reliance Jio ISP in India using certificate response fields to censor connections [Satija-2021] ๐Ÿ‡ฎ๐Ÿ‡ณ.

4.2.4. Instrumenting Content Distributors ๐ŸŽ€

Lots of governments pressure content providers to censor themselves, or they set up the legal framework that pushes content distributors to follow the content restriction preferences of outside agents [Boyle-1997] ๐Ÿ›๏ธ. Because this censorship can reach so far, we define "content distributor" as any service that gives users some kind of utility, from websites to storage to locally installed programs ๐Ÿ“ฆโœจ.

A popular way to instrument content distributors is keyword identification, which detects restricted terms on their platforms ๐Ÿ”. Governments may provide the terms on these keyword lists. Otherwise, the content provider may be expected to come up with their own list ๐Ÿ“.

A growing method is hash matching, which detects and takes action against images and videos that are known to be restricted, whether by governments, institutions, organizations, or the distributor itself [ekr-2021] ๐Ÿ–ผ๏ธ.

Another method is requiring a distributor to disassociate from certain categories of users. See also Section 6.4 ๐Ÿšซ.

Trade-offs: by instrumenting content distributors to find restricted content or content providers, the censor gets new information, but it costs them political capital with the companies they force or encourage to take part ๐Ÿช™. For example, the censor can learn what encrypted traffic is about by coercing websites to spot restricted content ๐Ÿ‘๏ธ. Making content distributors regulate users, categories of users, content, and content providers can push users and content providers into self-censorship, which is another win for censors (see Section 6.2) ๐Ÿค. How good or bad these trade-offs are depends a lot on the content provider and the help being asked for. A typical worry is that the targeted keywords or user categories are too broad, risk being applied too broadly, or aren't backed by a robust enough legal process before they're mandatorily applied (see page 8 of [EC-2012]) โš–๏ธ.

Empirical Examples: researchers have found keyword identification by content providers on everything from instant messaging apps [Senft-2013] to search engines [Rushe-2014] [Cheng-2010] [Whittaker-2013] [BBC-2013] [Condliffe-2013] ๐Ÿ’ฌ. To show how common this is, let's look at search engine censorship ๐Ÿ”Ž.

Search engine censorship is a clear example of keyword identification by content providers, and it can be regional or worldwide ๐ŸŒ. It's sometimes voluntary, but it's usually based on the laws and regulations of the country where the search engine operates ๐Ÿ“œ. The keyword blocklists are most likely maintained by the search engine provider. China is known to require search engine providers to "voluntarily" maintain search term blocklists so they can get and keep an Internet Content Provider (ICP) license [Cheng-2010] ๐Ÿ‡จ๐Ÿ‡ณ. It's pretty clear each provider maintains its own list, based on the slight differences in the searches that get intercepted [Zhu-2011] [Whittaker-2013] ๐Ÿง. The United Kingdom has been pushing search engines to self-censor by threatening litigation if they don't do it themselves. Google and Microsoft agreed to block more than 100,000 queries in the U.K. to help combat abuse [BBC-2013] [Condliffe-2013] ๐Ÿ‡ฌ๐Ÿ‡ง. European Union law, as well as United States law, requires search engine results to be modified in response to copyright, trademark, data protection, or defamation concerns [EC-2012] โš–๏ธ.

Depending on the output, search engine keyword identification can be easy or hard to detect. In some cases, specialized or blank results give a trivial way to enumerate the blocked terms, but more subtle censorship is tough to spot ๐Ÿ•ต๏ธ. In February 2015, Microsoft's search engine, Bing, was accused of censoring Chinese content outside of China [Rushe-2014], because Bing returned different results for censored terms in Chinese and English ๐Ÿ˜ณ. However, it's possible that censorship of China, the largest base of Chinese search users, biased Bing's results so the more popular results in China (the uncensored ones) were also more popular for Chinese speakers outside of China ๐Ÿค”.

Disassociation by content distributors from certain categories of users has happened in Spain, for instance, because of the conflict between the Catalan independence movement and the Spanish legal presumption of a unitary state [Lomas-2019] ๐Ÿ‡ช๐Ÿ‡ธ. E-sport event organizers have also cut ties with top players who shared political opinions about the 2019 Hong Kong protests [Victor-2019] ๐ŸŽฎ. See also Section 5.3.1 ๐Ÿ’œ.

4.2.5. DPI Identification ๐Ÿ”

Okay bestie, so DPI (deep packet inspection) technically means any packet analysis that goes beyond IP addresses and port numbers. It only became computationally feasible as a censorship tool pretty recently [Wagner-2009] ๐Ÿ˜ญ. Unlike the other techniques, DPI reassembles network flows so it can look at the application "data" section, not just the headers. That's why it's so often used for keyword identification ๐Ÿ‘€. DPI is also next level because it can use extra packet and flow characteristics, like packet sizes and timings, to figure out what content it's looking at โœจ. To avoid big QoS impacts, DPI usually analyzes a copy of the data while the original packets keep getting routed ๐Ÿงš. Typically the traffic gets split with a mirror switch or fiber splitter, then analyzed on a cluster of machines running Intrusion Detection Systems (IDSs) that are configured for censorship ๐Ÿ’….

Trade-offs: DPI is one of the most expensive identification mechanisms and can have a large QoS impact [Porter-2005] ๐Ÿ’ธ. When it's used as a keyword filter for TCP flows, DPI systems can also cause major over-blocking problems ๐Ÿ™ˆ. Like the other techniques, DPI is less useful against encrypted data. BUT it can still pick up unencrypted bits of an encrypted flow, like the Server Name Indication (SNI) that gets sent in the clear for TLS, or metadata about the flow, like packet sizes (video and text flows look different, iykyk) ๐ŸŽ€. See Section 4.2.3.1 for more information about SNI-based filtration mechanisms.

Other stuff can be inferred by comparing certain unencrypted elements exchanged during TLS handshakes to similar data points from known sources. This is called "TLS fingerprinting", and it lets a censor make a probabilistic guess about a party's operating system, browser, or application ๐Ÿ•ต๏ธโ€โ™€๏ธ. It works by comparing the specific combos of TLS version, ciphersuites, compression options, etc., sent in the ClientHello message to similar signatures found in unencrypted traffic [Husak-2016]. Lowkey spooky, but iconic ๐Ÿฆ‹.

Despite all of this, DPI is the most powerful identification method and it's widely used in practice ๐Ÿ‘‘. The Great Firewall of China (GFW), the largest censorship system in the world, uses DPI to identify restricted content over HTTP and DNS. It then injects TCP RSTs and bad DNS responses into connections, respectively [Crandall-2010] [Clayton-2006] [Anonymous-2014]. Not okay, but very well engineered ๐Ÿ’€.

Empirical Examples: Several studies have found evidence of censors using DPI to censor content and tools ๐ŸŒธ. Clayton et al., Crandal et al., Anonymous, and Khattak et al. all explored the GFW [Crandall-2010] [Clayton-2006] [Anonymous-2014]. Khattak et al. even probed the firewall to figure out implementation details, like how much state it stores ๐Ÿ”Ž [Khattak-2013]. The Tor project claims that China, Iran, Ethiopia, and others must have used DPI to block the obfs2 protocol [Wilde-2012]. Malaysia has been accused of using targeted DPI, paired with DDoS, to identify and then attack pro-opposition material [Wagstaff-2013]. It also seems likely that organizations that aren't so worried about blocking content in real time could use DPI to sort and categorically search gathered traffic, using technologies like high-speed packet processing [Hepting-2011] ๐Ÿ“.


4.3. Transport Layer ๐Ÿšš

4.3.1. Shallow Packet Inspection and Transport Header Identification

Of all the shallow packet inspection methods, transport header identification is the most pervasive, reliable, and predictable type of identification ๐Ÿ’–. Transport headers hold a few invaluable pieces of info that must be transparent for traffic to be routed successfully: destination and source IP address and port. The destination and source IP are doubly useful! Not only do they let a censor block unwanted content through IP blocklisting, they also let a censor identify the IP of the user making the request and the IP address of the destination being visited. In most cases, that can be used to infer the domain being visited [Patil-2019] ๐Ÿ•ต๏ธโ€โ™€๏ธ. The port is useful for allowlisting certain applications ๐ŸŒˆ.

By combining the IP address, port, and protocol info found in the transport header, shallow packet inspection can be used by a censor to identify specific TCP or UDP endpoints ๐ŸŽฏ. UDP endpoint blocking has been observed in the context of QUIC blocking [Elmenhorst-2021].

Trade-offs: Header identification is popular because it's simple, available, and robust ๐Ÿซถ.

Header identification is trivial to implement in some routers, but it's difficult to implement at scale in backbone or ISP routers. That's why it's typically implemented with DPI ๐Ÿง . Blocklisting an IP is equivalent to installing a specific route on a router, like a /32 route for IPv4 addresses or a /128 route for IPv6 addresses. The catch? Due to limited flow table space, this can't scale beyond a few thousand IPs at most ๐Ÿ˜ฌ. IP blocking is also pretty crude. It often leads to over-blocking, and it can't deal with services like Content Distribution Networks (CDNs) that host content at hundreds or thousands of IP addresses. Despite these limitations, IP blocking is extremely effective, because the user needs to proxy their traffic through another destination to get around this type of identification ๐Ÿ”ฅ. On top of that, IP blocking is effective against all protocols above IP, e.g., TCP and QUIC.

Port blocking is generally not very useful, because lots of types of content share the same port, and censored applications can just change their port ๐Ÿ™ƒ. For example, most HTTP traffic goes over port 80, so the censor can't tell restricted web content apart from allowed web content just by looking at the port. HTTPS goes over port 443, with similar consequences for the censor, except that only partial metadata may be available to them now ๐Ÿ”. Port allowlisting is occasionally used, where a censor limits communication to approved ports (such as 80 for HTTP traffic). It works best when combined with other identification mechanisms. For example, a censor could block the default HTTPS port (443), which forces most users to fall back to HTTP ๐Ÿงฉ. A counterexample is port 25 (SMTP). It has long been blocked on residential ISP networks to reduce the risk of email spam, but doing that also stops residential ISP customers from running their own email servers ๐Ÿ“ง.

4.3.2. Protocol Identification

Censors sometimes identify entire protocols to block, using a variety of traffic characteristics ๐Ÿ•ถ๏ธ. For example, Iran impairs the performance of HTTPS traffic (a protocol that prevents further analysis) to encourage users to switch to HTTP (a protocol they can analyze) [Aryan-2013]. A simple protocol identification would be to recognize all TCP traffic over port 443 as HTTPS. A more sophisticated analysis of the statistical properties of payload data and flow behavior would be more effective, though, even when port 443 isn't used [Hjelmvik-2010] [Sandvine-2015].

If censors can detect circumvention tools, they can block them. So censors like China are extremely interested in identifying the protocols used by censorship circumvention tools ๐Ÿฅท. In recent years this has turned into a competition between censors and circumvention tool developers ๐Ÿ. As part of that competition, China developed an extremely effective protocol identification technique that researchers call "active probing" or "active scanning" ๐Ÿงช.

In active probing, the censor figures out whether hosts are running a circumvention protocol by trying to start communicating using that protocol. If the host and the censor successfully negotiate a connection, then the censor conclusively knows the host is running a circumvention tool ๐Ÿ˜ฑ. China has used active scanning to great effect to block Tor [Winter-2012].

Trade-offs: Protocol identification only tells you about the way information is traveling, not the information itself ๐Ÿ“ฆ.

Protocol identification is useful for detecting and blocking circumvention tools (like Tor), or traffic that's difficult to analyze (like Voice over IP (VoIP) or SSL), because the censor can assume that this traffic should be blocked. However, this can lead to over-blocking when used with popular protocols ๐Ÿ™ˆ. These methods are expensive, both computationally and financially, since they use statistical analysis, and they can be ineffective because they're so imprecise ๐Ÿ’ธ.

Censors have also used protocol identification in an "allowlist" filtering capacity. For example, they only allow specific, pre-vetted protocols and block any unrecognized ones [Bock-2020] ๐Ÿ›‚. These protocol filtering approaches can also lead to over-blocking if the allowed lists are too small or incomplete, but they can be cheap to implement, since many standard "allowed" protocols are simple to identify (HTTP is a classic example) โœ….

Empirical Examples: Protocol identification can be easy to detect if it's conducted in real time and only one particular protocol is blocked ๐Ÿ‘€. Some types of protocol identification, like active scanning, are much harder to detect ๐Ÿซฅ. Iran has used protocol identification to identify and throttle Secure Shell (SSH) traffic, making it unusable [Van-der-Sar-2007]. China has used it to identify and block Tor relays [Winter-2012]. Protocol identification has also been used for traffic management. In the 2007 case, Comcast in the United States used RST injection (injecting a TCP RST packet into the stream) to interrupt BitTorrent traffic [Winter-2012] ๐Ÿšซ. In 2020, Iran deployed an allowlist protocol filter that only allowed three protocols (DNS, TLS, and HTTP) on specific ports, and it censored any connection it couldn't identify [Bock-2020]. In 2022, Russia seemed to have used protocol identification to block most HTTP/3 connections [Elmenhorst-2022] ๐Ÿฅ€.

4.4. Residual Censorship ๐ŸŽ€

Okay so residual censorship is the petty ex of censorship ๐Ÿ’€. A censor blocks your forbidden connection, and then it keeps messing with your later connections, even totally innocent ones [Bock-2021]. It can take lots of forms, and it often uses the technical interference methods from the next section ๐Ÿซถ.

The big question is what the censor keeps blocking after it first kicks in. An adversary has three common choices: a 2-tuple (client IP, server IP), a 3-tuple (client IP, server IP, server port), or a 4-tuple (client IP, client port, server IP, server port). Any future connection that matches whatever tuple the censor recorded gets disrupted [Bock-2021] ๐Ÿ˜ค.

Residual censorship can be super hard to spot, and it can really complicate censorship measurement ๐Ÿ˜ญ.

Trade-offs: The impact of residual censorship is to give users extra discouragement from trying to access forbidden content, though it is not clear how successful it is at doing that ๐Ÿ™ˆ.

Empirical Examples: China has used 3-tuple residual censorship alongside its HTTP censorship for years, and researchers have reported seeing similar residual censorship for HTTPS. China seems to use a mix of 3-tuple and 4-tuple residual censorship for its censorship of HTTPS with ESNI. Some censors that perform censorship via packet dropping often accidentally implement 4-tuple residual censorship, including Iran and Kazakhstan [Bock-2021] ๐ŸŒˆ.


5. Technical Interference ๐Ÿ’…

5.1. Application Layer ๐ŸŒธ

5.1.1. DNS Interference ๐Ÿงš

There are a variety of ways censors can block or filter access to content by altering DNS responses [AFNIC-2013] [ICANN-SSAC-2012], including blocking the response, replying with an error message, or responding with an incorrect address. Note that there are now encrypted transports for DNS queries, like DNS over HTTPS [RFC8484] and DNS over TLS [RFC7858], that can mitigate interference with DNS queries between the stub and the resolver ๐Ÿ”โœจ.

Responding to a DNS query with an incorrect address can be achieved with on-path interception, off-path cache poisoning, or lying by the name server ๐Ÿ‘€.

"DNS mangling" is a network-level technique of on-path interception where an incorrect IP address is returned in response to a DNS query for a censored destination. Some Chinese networks, for example, do this. (We are not aware of any other wide-scale uses of mangling.) On those Chinese networks, each DNS request in transit is examined (presumably by network inspection technologies such as DPI), and if it matches a censored domain, a false response is injected. End users can see this in action by simply sending DNS requests to any unused IP address in China (see example below). If it is not a censored name, there will be no response. If it is censored, a forged response will be returned. For example, using the command-line dig utility to query an unused IP address in China of 192.0.2.2 for the name "www.uncensored.example" compared with "www.censored.example" (censored at the time of writing), we get a forged IP address "198.51.100.0" as a response:

% dig +short +nodnssec @192.0.2.2 A www.uncensored.example
;; connection timed out; no servers could be reached

% dig +short +nodnssec @192.0.2.2 A www.censored.example
198.51.100.0

DNS cache poisoning happens off-path. It refers to a mechanism where a censor interferes with the response sent by an authoritative DNS name server to a recursive resolver by responding more quickly than the authoritative name server can, with an alternative IP address [Halley-2008] ๐Ÿƒโ€โ™€๏ธ๐Ÿ’จ. Cache poisoning occurs after the requested site's name servers resolve the request and attempt to forward the true IP back to the requesting device. On the return route, the resolved IP is recursively cached by each DNS server that initially forwarded the request. During this caching process, if an undesirable keyword is recognized, the resolved IP is "poisoned", and an alternative IP (or NXDOMAIN error) is returned more quickly than the upstream resolver can respond. That causes a forged IP address to be cached (and potentially recursively so). The alternative IPs usually direct to a nonsense domain or a warning page. Alternatively, Iranian censorship appears to prevent the communication en route, so a response is never sent at all [Aryan-2013] ๐Ÿšซ.

There are also cases of what is colloquially called "DNS lying," where a censor mandates that the DNS responses provided by an operator of a recursive resolver, such as an Internet Access Provider, be different from what an authoritative name server would provide [Bortzmeyer-2015] ๐Ÿคฅ.

Trade-offs: These forms of DNS interference require the censor to force a user to traverse a controlled DNS hierarchy (or an intervening network on which the censor serves as an active pervasive attacker [RFC7624] to rewrite DNS responses) for the mechanism to be effective. DNS interference can be circumvented by using alternative DNS resolvers (such as any of the public DNS resolvers) that may fall outside of the jurisdictional control of the censor, or by using Virtual Private Network (VPN) technology. DNS mangling and cache poisoning also imply returning an incorrect IP to those attempting to resolve a domain name, but in some cases the destination may be technically accessible. For example, over HTTP, the user may have another method of obtaining the IP address of the desired site, and may be able to access it if the site is configured to be the default server listening at this IP address. Target blocking has also been a problem, as occasionally users outside of the censor's region will be directed through DNS servers or DNS-rewriting network equipment controlled by a censor, causing the request to fail. The ease of circumvention paired with the large risk of content blocking and target blocking make DNS interference a partial, difficult, and less-than-ideal censorship mechanism ๐Ÿ˜ฌ.

Additionally, the above mechanisms rely on DNSSEC not being deployed, or on DNSSEC validation not being active on the client or recursive resolver. Neither of those is hard to imagine, given limited deployment of DNSSEC and limited client support for DNSSEC validation ๐Ÿฅฑ. Note that an adversary seeking to merely block resolution can serve a DNSSEC record that doesn't validate correctly, assuming of course that the client or recursive resolver validates ๐Ÿง.

Previously, techniques relied on DNS requests being passed in cleartext over port 53 [SSAC-109-2020]. With the deployment of encrypted DNS (e.g., DNS over HTTPS [RFC8484]), these requests are now increasingly passed on port 443 with other HTTPS traffic, or, in the case of DNS over TLS [RFC7858], they are no longer passed in the clear (see also Section 4.3.1) ๐Ÿ”’๐Ÿ’–.

Empirical Examples: DNS interference, when properly implemented, is easy to identify based on the shortcomings identified above. Turkey relied on DNS interference for its country-wide block of websites, including Twitter and YouTube, for almost a week in March of 2014. The ease of circumvention resulted in an increase in the popularity of Twitter until Turkish ISPs implemented an IP blocklist to achieve the governmental mandate [Zmijewski-2014]. Ultimately, Turkish ISPs started hijacking all requests to Google and Level 3's international DNS resolvers [Zmijewski-2014]. DNS interference, when incorrectly implemented, has resulted in some of the largest censorship disasters ๐Ÿ’€. In January 2014, China started directing all requests passing through the Great Fire Wall to a single domain, "dongtaiwang.com", due to an improperly configured DNS poisoning attempt. This incident is thought to be the largest Internet service outage in history [AFP-2014] [Anon-SIGCOMM12] ๐Ÿ˜ฑ. Countries such as China, Turkey, and the United States have discussed blocking entire Top-Level Domains (TLDs) as well [Albert-2011] ๐ŸŒ. DNS blocking is commonly deployed in European countries to deal with undesirable content, such as:

  • child abuse content (Norway, United Kingdom, Belgium, Denmark, Finland, France, Germany, Ireland, Italy, Malta, the Netherlands, Poland, Spain, and Sweden [Wright-2013] [Eneman-2010]),
  • online gambling (Belgium, Bulgaria, Czech Republic, Cyprus, Denmark, Estonia, France, Greece, Hungary, Italy, Latvia, Lithuania, Poland, Portugal, Romania, Slovakia, Slovenia, and Spain (see Section 6.3.2 of [EC-gambling-2012], [EC-gambling-2019])),
  • copyright infringement (all European Economic Area countries),
  • hate speech and extremism (France [Hertel-2015]), and
  • terrorism content (France [Hertel-2015]).

5.2. Transport Layer ๐Ÿฆ‹

5.2.1. Performance Degradation ๐Ÿข

While other interference techniques outlined in this section mostly focus on blocking or preventing access to content, it can be an effective censorship strategy in some cases to not entirely block access to a given destination or service, but instead to degrade the performance of the relevant network connection. The resulting user experience for a site or service under performance degradation can be so bad that users opt for a different site, service, or method of communication, or they may not engage in communication at all if there are no alternatives ๐Ÿ˜ฉ. Traffic-shaping techniques that rate-limit the bandwidth available to certain types of traffic are one example of performance degradation ๐Ÿšฆ.

Trade-offs: While implementing a performance degradation will not always eliminate people's ability to access a desired resource, it may force them to use other means of communication where censorship (or surveillance) is more easily accomplished ๐Ÿ‘ป.

Empirical Examples: Iran has been known to shape the bandwidth available to HTTPS traffic to encourage unencrypted HTTP traffic [Aryan-2013] ๐Ÿซ .

5.2.2. Packet Dropping โœจ

okay so packet dropping is simple but lowkey iconic ๐Ÿ’…. The censor spots the undesirable traffic and just doesn't properly forward any packets it sees that are tied to that traffic, instead of following a normal routing protocol ๐Ÿ™…โ€โ™€๏ธ. This can be stacked with any of the mechanisms we already covered, as long as the censor knows the user has to route traffic through a controlled router ๐ŸŽฏ.

Trade-offs: packet dropping slays most when every packet passing through has transparent info linked to undesirable content, like a destination IP ๐Ÿ‘€. The downside is that the censor has to block all content from otherwise allowable IPs because of one sus subdomain ๐Ÿ˜ญ. Blogging services and GitHub repositories are perfect examples. China famously dropped all GitHub packets for three days because of a single repository hosting undesirable content [Anonymous-2013] ๐Ÿ’€. And inspecting every packet in almost real time makes packet dropping kinda challenging from a QoS perspective ๐Ÿฅฒ.

Empirical Examples: packet dropping is a super common form of technical interference, and it's easy to detect because of the unique timeout requests it leaves behind in its wake ๐Ÿ”. The Great Firewall of China has been observed using packet dropping as one of its primary technical censorship mechanisms [Ensafi-2013] ๐Ÿ‡จ๐Ÿ‡ณ. Iran has also used packet dropping as the mechanism for throttling SSH [Aryan-2013]. These are just two examples of a ubiquitous censorship practice ๐ŸŒ. Notably, packet dropping during the handshake or working connection is the only interference technique observed for QUIC traffic to date (e.g., in India, Iran, Russia, and Uganda [Elmenhorst-2021] [Elmenhorst-2022]) ๐Ÿฆ‹.

5.2.3. RST Packet Injection ๐Ÿ’ซ

Packet injection, generally, is a machine-in-the-middle (MITM) network interference technique that spoofs packets in an established traffic stream ๐Ÿ•ต๏ธโ€โ™€๏ธ. RST packets are normally used to let one side of a TCP connection know the other side has stopped sending information and that the receiver should close the connection ๐Ÿ‘‹. RST packet injection is a specific type of packet injection attack used to interrupt an established stream by sending RST packets to both sides of a TCP connection. Since each receiver thinks the other has dropped the connection, the session gets terminated ๐Ÿ’”.

QUIC is not vulnerable to these types of injection attacks once the connection has been set up ๐Ÿ›ก๏ธ. While QUIC implements a stateless reset mechanism, such a reset is only accepted by a peer if the packet ends in a previously issued (stateless reset) token, which is difficult to guess ๐Ÿ”. During the handshake, QUIC only provides effective protection against off-path attackers but is vulnerable to injection attacks by attackers that have parsed prior packets. (See [RFC9000] for more details.)

Trade-offs: although ineffective against non-TCP protocols (QUIC, IPsec), RST packet injection has a few advantages that make it extremely popular as a censorship technique ๐Ÿ”ฅ. It's an out-of-band interference mechanism, which avoids the QoS bottleneck you can hit with inline techniques like packet dropping ๐Ÿƒโ€โ™€๏ธ. This out-of-band property lets a censor inspect a copy of the information, usually mirrored by an optical splitter, making it an ideal pairing for DPI and protocol identification [Weaver-2009]. (This asynchronous version of a MITM is often called a machine-on-the-side (MOTS).) RST packet injection also only requires one of the two endpoints to accept the spoofed packet for the connection to be interrupted ๐ŸŽ€.

The difficult part is spoofing "enough" correct information to make one endpoint accept a RST packet as legitimate. This generally implies a correct IP, port, and TCP sequence number ๐Ÿงฉ. The sequence number is the hardest to get right, since [RFC9293] specifies that a RST packet should be in sequence to be accepted, although that RFC also recommends allowing in-window packets ๐Ÿค”. This in-window recommendation is a big deal. If it's implemented, it allows for successful Blind RST Injection attacks [Netsec-2011] ๐Ÿ˜ณ. When in-window sequencing is allowed, it's trivial to conduct a Blind RST Injection. While the term "blind" implies the censor doesn't know any sensitive sequencing info about the TCP stream they're injecting into, they can simply enumerate all ~70000 possible windows ๐Ÿ™ƒ. This is particularly useful for interrupting encrypted/obfuscated protocols such as SSH or Tor [Gilad]. Some censorship evasion systems work by trying to confuse the censor into tracking incorrect information, rendering their RST packet injection useless [Khattak-2013] [Wang-2017] [Li-2017] [Bock-2019] [Wang-2020] ๐Ÿฅท.

RST packet injection relies on a stateful network, making it useless against UDP connections ๐Ÿ™…. It's among the most popular censorship techniques used today, given its versatile nature and effectiveness against all types of TCP traffic ๐Ÿ‘‘. Recent research shows that a TCP RST packet injection attack can even work in the case of an off-path attacker [Cao-2016] ๐Ÿซฃ.

Empirical Examples: RST packet injection, as mentioned above, is most often paired with identification techniques that require splitting, such as DPI or protocol identification ๐Ÿ“ฆ. In 2007, Comcast was accused of using RST packet injection to interrupt traffic it identified as BitTorrent [Schoen-2007], which subsequently led to a US Federal Communications Commission ruling against Comcast [VonLohmann-2008] ๐Ÿ“œ. China has also been known to use RST packet injection for censorship purposes. This interference is especially evident in the interruption of encrypted/obfuscated protocols, such as those used by Tor [Winter-2012] ๐Ÿง….


5.3. Routing Layer ๐Ÿ—บ๏ธ

5.3.1. Network Disconnection ๐Ÿ“ด

While it's perhaps the crudest of all censorship techniques, there's no more effective way of making sure undesirable information isn't allowed to propagate on the web than shutting off the network ๐Ÿซฅ. The network can be logically cut off in a region when a censoring entity withdraws all of the Border Gateway Protocol (BGP) prefixes routing through the censor's country ๐Ÿšซ.

Trade-offs: the impact of a network disconnection in a region is huge and absolute. The censor pays for absolute control over digital information by losing the benefits a globally accessible Internet brings ๐Ÿ’ธ. Network disconnections are also politically expensive, since citizens accustomed to accessing Internet platforms and services see such disconnections as a loss of civil liberty ๐Ÿ˜ค. Network disconnection is rarely a long-term solution for any censor and is normally only used as a last resort in times of substantial civil unrest ๐Ÿซ .

Empirical Examples: network disconnections tend to only happen in times of substantial unrest, largely due to the huge social, political, and economic impact such a move has ๐Ÿ“‰. One of the first, highly covered occurrences was when the junta in Myanmar employed network disconnection to help junta forces quash a rebellion in 2007 [Dobie-2007]. China disconnected the network in the Xinjiang region during unrest in 2009 in an effort to prevent the protests from spreading to other regions [Heacock-2009]. The Arab Spring saw the most frequent usage of network disconnection, with events in Egypt and Libya in 2011 [Cowie-2011] and Syria in 2012 [Thomson-2012] ๐ŸŒ. Russia indicated that it would attempt to disconnect all Russian networks from the global Internet in April 2019 as part of a test of the nation's network independence. Reports also indicate that, as part of the test disconnect, Russian telecommunications firms must now route all traffic to state-operated monitoring points [Cimpanu-2019] ๐Ÿ‘€. India saw the largest number of Internet shutdowns per year in 2016 and 2017 [Dada-2017] ๐Ÿ‡ฎ๐Ÿ‡ณ.

5.3.2. Adversarial Route Announcement ๐Ÿ“ก

More fine-grained and potentially wide-spread censorship can be achieved with BGP hijacking, which adversarially re-routes BGP IP prefixes incorrectly within a region and beyond ๐ŸŽฏ. This restricts and effectively censors the correctly known location of information that flows into or out of a jurisdiction, and it will similarly prevent people from outside your jurisdiction from viewing content generated outside that jurisdiction as the adversarial route announcement propagates ๐Ÿšง. The first can be achieved by an adversarial BGP announcement of incorrect routes that are not intended to leak beyond a jurisdiction, whereas the latter attacks traffic by deliberately introducing bogus BGP announcements that reach the global Internet ๐Ÿ’ฅ.

Trade-offs: a global leak of a misrouted website can overwhelm an ISP if the website gets a lot of traffic ๐Ÿ˜ต. It is not a permanent solution, because incorrect BGP routes that leak globally can be fixed, but leaks within a jurisdiction can only be corrected by an ISP/IXP for local users ๐Ÿ› ๏ธ.

Empirical Examples: In 2008, Pakistan Telecom censored YouTube at the request of the Pakistan government by changing its BGP routes for the website. The new routes were announced to the ISP's upstream providers and beyond. The entire Internet began directing YouTube routes to Pakistan Telecom and continued doing so for many hours ๐Ÿ˜ฑ. In 2018, nearly all Google services and Google Cloud customers, like Spotify, all lost more than one hour of service after Google lost control of several million of its IP addresses. Those IP prefixes were being misdirected to China Telecom, a Chinese government-owned ISP [Google-2018], in a manner similar to the BGP hijacking of US government and military websites by China Telecom in 2010 ๐Ÿฅน. ISPs in both Russia (2022) and Myanmar (2021) have tried to hijack the same Twitter prefix more than once [Siddiqui-2022] ๐Ÿฆ.

5.4. Multi-layer and Non-layer ๐Ÿงฉ

5.4.1. Distributed Denial of Service (DDoS) ๐Ÿ’ฅ

Okay bestie, DDoS is the go-to move for "hacktivists" and sketchy hackers ๐Ÿ˜ญ, and censors have used it too, for all kinds of reasons ๐Ÿซ . There's a whole wild variety of DDoS attacks [Wikip-DoS] โœจ, but at a high level, two impacts usually show up. A flood attack makes the service unusable because all the resources are getting burned on flooding it ๐ŸŒŠ. A crash attack tries to crash the service so resources can be reallocated elsewhere without "releasing" the service ๐Ÿ’€.

Trade-offs: DDoS is super appealing when a censor wants to block all access (not just regional access) to undesirable content for a limited time โณ. Temporary is honestly the only uniquely good thing it has going for it as a censorship technique ๐Ÿ’…. Pulling off a successful DDoS against major targets is computationally expensive and usually means renting or owning a malicious distributed platform like a botnet ๐Ÿค–, and it's pretty imprecise too. DDoS is an incredibly crude censorship technique ๐Ÿ™ˆ. It seems to be mostly used as a quick, easy-to-access way to block undesirable content for a limited period.

Empirical Examples: In 2012, the U.K.'s signals intelligence organization, the Government Communications Headquarters (GCHQ), used DDoS to temporarily shut down Internet Relay Chat (IRC) chat rooms frequented by members of Anonymous. They used the Syn Flood DDoS method ๐Ÿ˜ณ. Syn Flood exploits the handshake used by TCP to overload the victim server with so many requests that legitimate traffic becomes slow or impossible [NBC-2014] [CERT-2000]. Dissenting opinion websites are frequently DDoS victims around politically sensitive events, like the DDoS in Burma [Villeneuve-2011] ๐ŸŽ€. Controlling parties in Russia [Kravtsova-2012], Zimbabwe [Orion-2013], and Malaysia [Muncaster-2013] have been accused of using DDoS to interrupt opposition support and access during elections ๐Ÿ—ณ๏ธ. And in 2015, China launched a DDoS attack using a true MITM system (dubbed "Great Cannon"), collocated with the Great Firewall. It could inject JavaScript code into web visits to a Chinese search engine, and it commandeered those user agents to send DDoS traffic to various sites [Marczak-2015]. The main character energy of that one is unmatched ๐Ÿ˜ญ๐Ÿ”ฅ.

5.4.2. Censorship in Depth ๐Ÿง…

Censors often stack multiple techniques together, which is called "censorship in depth" ๐Ÿง…. It can look like a bunch of different things. Some censors block the same content with multiple techniques at once, like blocking a domain by DNS, IP blocking, and HTTP all together ๐Ÿ”’. Some deploy parallel systems to make censorship more reliable, like using several different censorship systems to block the same domain ๐Ÿ›ก๏ธ. And others use complementary systems to limit evasion, like blocking unwanted protocols entirely so users have to fall back on other filtered protocols ๐Ÿšซ.

Trade-offs: Censorship in depth is attractive for censors to deploy, because it offers extra guarantees: even if someone evades one type of censorship, they may still get blocked by another ๐Ÿฅฒ. The main downside is the cost of the initial deployment, since the system has to deploy multiple censorship systems in tandem ๐Ÿ’ธ.

Empirical Examples: Censorship in depth is present in many large censoring nation states today ๐ŸŒ. Researchers have observed that China has deployed significant censorship in depth, often censoring the same resource across multiple protocols [Chai-2019] [Bock-2020b], or deploying additional censorship systems to censor the same content and protocol [Bock-2021b]. Iran has also deployed a complementary protocol filter to limit which protocols can be used on certain ports. That forces users to rely on protocols their censorship system can filter [Bock-2020] ๐Ÿ™ƒ.


6. Non-technical Interference ๐ŸŒธ

6.1. Manual Filtering ๐Ÿ—‚๏ธ

As the name implies, sometimes manual labor is the easiest way to figure out what to block ๐Ÿ‘€. Manual filtering is different from the common tactic of building up blocklists, because it doesn't necessarily target a specific IP or DNS. Instead, it removes or flags content. Automatic filtering is pretty imprecise, so manually sorting through content and flagging dissenting websites, blogs, articles, and other media for filtration can be super effective on its own ๐Ÿง. It can also be combined with other automated detection techniques, followed by an action that requires manual confirmation โœ…. This filtration can happen at the backbone or ISP level. China's army of monitors is a good example [BBC-2013b] ๐Ÿซก, but more commonly, manual filtering happens at an institutional level ๐Ÿข. ICPs, like Google or Weibo, need a business license to operate in China ๐Ÿ“œ. One of the prerequisites for that license is agreeing to sign a "voluntary pledge" known as the "Public Pledge on Self-discipline for the Chinese Internet Industry" โœ๏ธ. If an ICP fails to "energetically uphold" the pledged values, the Chinese government can hold it liable for the offending content [BBC-2013b] ๐Ÿ˜ฌ.

6.2. Self-Censorship ๐Ÿค

Self-censorship is hard to document, because it shows up mainly as a lack of undesirable content ๐Ÿ‘ป. Tools that encourage self-censorship may lead a prospective speaker to believe that speaking up increases the risk of unfavorable outcomes for them (technical monitoring, identification requirements, etc.) ๐Ÿ˜ฐ. Reporters Without Borders show off methods of imposing self-censorship in their annual World Press Freedom Index reports [RWB-2020] ๐Ÿ“ฐ.

6.3. Server Takedown ๐Ÿ–ฅ๏ธ

As mentioned in passing by [Murdoch-2008], servers have to have a physical location somewhere in the world ๐ŸŒ. If undesirable content is hosted in the censoring country, the servers can be physically seized. Or, if a server is virtualized in a cloud infrastructure where it may not have a fixed physical location, the hosting provider can be required to prevent access โ˜๏ธ.

6.4. Notice and Takedown ๐Ÿ“ฌ

In many countries, there are legal mechanisms where an individual or other content provider can issue a legal request to a content host that requires the host to take content down ๐Ÿ“จ. Examples include the systems companies like Google use to comply with "Right to be Forgotten" policies in the European Union [Google-RTBF], intermediary liability rules for electronic platform providers [EC-2012], or the copyright-oriented notice and takedown regime of the United States Digital Millennium Copyright Act (DMCA) Section 512 [DMLP-512] โš–๏ธ.

6.5. Domain Name Seizures ๐ŸŒ

Domain names are catalogued in name servers operated by legal entities called registries ๐Ÿ“š. These registries can be made to cede control over a domain name to someone other than the entity that registered it, through a legal procedure grounded in either private contracts or public law ๐Ÿงพ. Domain name seizure is increasingly used by both public authorities and private entities to deal with undesired content dissemination [ICANN-2012] [EFF-2017] ๐Ÿ’€.

7. Future Work ๐Ÿ”ฎ

In addition to establishing a thorough resource for describing censorship techniques, this document points out critical areas for future work ๐Ÿ’œ.

Taken as a whole, the apparent costs of implementing censorship techniques show we need better classification of censorship regimes as they evolve and mature ๐Ÿ“ˆ, and better specification of censorship circumvention techniques themselves ๐Ÿ› ๏ธ. Censor maturity refers to the technical maturity a censor needs to perform a specific censorship technique. Future work might classify techniques by how hard a censor has to work, including what infrastructure is required, to successfully censor content, users, or services ๐Ÿง .

On circumvention: the increase in protocols leveraging encryption is an effective countermeasure against some forms of censorship described in this document ๐Ÿ”. But thorough research on circumvention and encryption is left for another document ๐Ÿ“Ž. Also, the censorship circumvention community has developed an area of research on "pluggable transports." These collect, document, and make agile methods for obfuscating the on-path traffic of censorship circumvention tools, so it appears indistinguishable from other kinds of traffic [Tor-2019] ๐Ÿฆ‹. Those methods would benefit from future work in the Internet standards community, too ๐Ÿ™Œ.

Lastly, the empirical examples show that censorship techniques can evolve quickly, and experience shows this document can only be a point-in-time statement โฐ. Future work might extend this document with updates and new techniques described using a comparable methodology ๐ŸŒฑ.

8. IANA Considerations ๐Ÿฆ„

This document has no IANA actions โœจ.

9. Security Considerations ๐Ÿšจ

This document is a survey of existing literature on network censorship techniques. As such, it does not introduce any new security considerations to be taken into account beyond what is already discussed in each paper surveyed ๐Ÿ›ก๏ธ. Stay alert, these papers hold the real drama! ๐Ÿ˜ค

10. Informative References ๐Ÿ“š

[AFNIC-2013]
              AFNIC, "Report of the AFNIC Scientific Council:
              Consequences of DNS-based Internet filtering", January
              2013,
              <http://www.afnic.fr/medias/documents/conseilscientifique/
              SC-consequences-of-DNS-based-Internet-filtering.pdf>.

[AFP-2014] AFP, "China Has Massive Internet Breakdown Reportedly
              Caused By Their Own Censoring Tools", January 2014,
              <http://www.businessinsider.com/chinas-internet-breakdown-
              reportedly-caused-by-censoring-tools-2014-1>.

[Albert-2011]
              Albert, K., "DNS Tampering and the new ICANN gTLD Rules",
              June 2011, <https://opennet.net/blog/2011/06/dns-
              tampering-and-new-icann-gtld-rules>.

[Anon-SIGCOMM12]
              Anonymous, "The Collateral Damage of Internet Censorship
              by DNS Injection", July 2012,
              <http://www.sigcomm.org/sites/default/files/ccr/
              papers/2012/July/2317307-2317311.pdf>.

[Anonymous-2013]
              Anonymous, "GitHub blocked in China - how it happened, how
              to get around it, and where it will take us", January
              2013, <https://en.greatfire.org/blog/2013/jan/github-
              blocked-china-how-it-happened-how-get-around-it-and-where-
              it-will-take-us>.

[Anonymous-2014]
              Anonymous, "Towards a Comprehensive Picture of the Great
              Firewall's DNS Censorship", August 2014,
              <https://www.usenix.org/system/files/conference/foci14/
              foci14-anonymous.pdf>.

[Aryan-2013]
              Aryan, S., Aryan, H., and J. A. Halderman, "Internet
              Censorship in Iran: A First Look", 2012,
              <https://jhalderm.com/pub/papers/iran-foci13.pdf>.

[BBC-2013] BBC News, "Google and Microsoft agree steps to block abuse
              images", November 2013,
              <http://www.bbc.com/news/uk-24980765>.

[BBC-2013b]
              BBC, "China employs two million microblog monitors state
              media say", 2013,
              <https://www.bbc.com/news/world-asia-china-24396957>.

[Bock-2019]
              Bock, K., Hughey, G., Qiang, X., and D. Levin, "Geneva:
              Evolving Censorship Evasion Strategies",
              DOI 10.1145/3319535.3363189, November 2019,
              <https://geneva.cs.umd.edu/papers/geneva_ccs19.pdf>.
Okay bestie, here come the last of the sources, and yes, the citations stay exactly as written. ๐Ÿซถ๐Ÿ“š

okay the receipts keep coming ๐Ÿ“š๐Ÿ’… these are the sources, no cap

[Heacock-2009] Heacock, R., "China shuts down Internet in Xinjiang region after riots", OpenNet Initiative, July 2009, https://opennet.net/blog/2009/07/china-shuts-down-internet-xinjiang-region-after-riots.

[Hepting-2011] Wikipedia, "Hepting v. AT&T", September 2023, https://en.wikipedia.org/wiki/Hepting_v._AT%26T&oldid=1175143505.

[Hertel-2015] Hertel, O., "Comment les autoritรฉs peuvent bloquer un site Internet" [How authorities can block a website], March 2015, https://www.sciencesetavenir.fr/high-tech/comment-les-autorites-peuvent-bloquer-un-site-internet_35828.

[Hjelmvik-2010] Hjelmvik, E. and W. John, "Breaking and Improving Protocol Obfuscation", Technical Report No. 2010-05, ISSN 1652-926X, July 2010, https://www.iis.se/docs/hjelmvik_breaking.pdf.

[Husak-2016] Husรกk, M., ฤŒermรกk, M., Jirsรญk, T., and P. ฤŒeleda, "HTTPS traffic analysis and client identification using passive SSL/TLS fingerprinting", DOI 10.1186/s13635-016-0030-7, February 2016, https://link.springer.com/article/10.1186/s13635-016-0030-7.

[ICANN-2012] ICANN Security and Stability Advisory Committee, "Guidance for Preparing Domain Name Orders, Seizures & Takedowns", January 2012, https://www.icann.org/en/system/files/files/guidance-domain-seizures-07mar12-en.pdf.

[ICANN-SSAC-2012] ICANN Security and Stability Advisory Committee (SSAC), "SAC 056: SSAC Advisory on Impacts of Content Blocking via the Domain Name System", October 2012, https://www.icann.org/en/system/files/files/sac-056-en.pdf.

[Jones-2014] Jones, B., Lee, T-W., Feamster, N., and P. Gill, "Automated Detection and Fingerprinting of Censorship Block Pages", IMC '14: Proceedings of the 2014 Conference on Internet Measurement Conference, Pages 299-304, DOI 10.1145/2663716.2663722, November 2014, http://conferences2.sigcomm.org/imc/2014/papers/p299.pdf.

[Khattak-2013] Khattak, S., Javed, M., Anderson, P.D., and V. Paxson, "Towards Illuminating a Censorship Monitor's Model to Facilitate Evasion", August 2013, http://0b4af6cdc2f0c5998459-c0245c5c937c5dedcca3f1764ecc9b2f.r43.cf2.rackcdn.com/12389-foci13-khattak.pdf.

[Knight-2005] Knight, W., "Iranian net censorship powered by US technology", June 2005, https://www.newscientist.com/article/dn7589-iranian-net-censorship-powered-by-us-technology/.

[Knockel-2021] Knockel, J. and L. Ruan, "Measuring QQMail's automated email censorship in China", FOCI '21: Proceedings of the ACM SIGCOMM 2021 Workshop on Free and Open Communications on the Internet, Pages 8-15, DOI 10.1145/3473604.3474560, April 2021, https://dl.acm.org/doi/10.1145/3473604.3474560.

[Kravtsova-2012] Kravtsova, Y., "Cyberattacks Disrupt Opposition's Election", The Moscow Times, October 2012, http://www.themoscowtimes.com/news/article/cyberattacks-disrupt-oppositions-election/470119.html.

[Leyba-2019] Leyba, K., Edwards, B., Freeman, C., Crandall, J., and S. Forrest, "Borders and gateways: measuring and analyzing national as chokepoints", COMPASS '19: Proceedings of the 2nd ACM SIGCAS Conference on Computing and Sustainable Societies, pages 184-194, DOI 10.1145/3314344.3332502, July 2019, https://doi.org/10.1145/3314344.3332502.

[Li-2017] Li, F., Razaghpanah, A., Molavi Kakhki, A., Akhavan Niaki, A., Choffnes, D., Gill, P., and A. Mislove, "libโ€ขerate, (n): a library for exposing (traffic-classification) rules and avoiding them efficiently", DOI 10.1145/3131365.3131376, November 2017, https://david.choffnes.com/pubs/liberate-imc17.pdf.

[Lomas-2019] Lomas, N., "Github removes Tsunami Democrร tic's APK after a takedown order from Spain", October 2019, https://techcrunch.com/2019/10/30/github-removes-tsunami-democratics-apk-after-a-takedown-order-from-spain/.

[Marczak-2015] Marczak, B., Weaver, N., Dalek, J., Ensafi, R., Fifield, D., McKune, S., Rey, A., Scott-Railton, J., Deibert, R., and V. Paxson, "An Analysis of China's "Great Cannon"", August 2015, https://www.usenix.org/system/files/conference/foci15/foci15-paper-marczak.pdf.

[Muncaster-2013] Muncaster, P., "Malaysian election sparks web blocking/DDoS claims", The Register, May 2013, http://www.theregister.co.uk/2013/05/09/malaysia_fraud_elections_ddos_web_blocking/.

[Murdoch-2008] Murdoch, S. J. and R. Anderson, "Tools and Technology of Internet Filtering" in "Access Denied: The Practice and Policy of Global Internet Filtering", DOI 10.7551/mitpress/7617.003.0006, 2008, https://doi.org/10.7551/mitpress/7617.003.0006.

[NA-SK-2019] Morgus, R., Sherman, J., and S. Nam, "Analysis: South Korea's New Tool for Filtering Illegal Internet Content", March 2019, https://www.newamerica.org/cybersecurity-initiative/c2b/c2b-log/analysis-south-koreas-sni-monitoring/.

[Nabi-2013] Nabi, Z., "The Anatomy of Web Censorship in Pakistan", August 2013, http://0b4af6cdc2f0c5998459-c0245c5c937c5dedcca3f1764ecc9b2f.r43.cf2.rackcdn.com/12387-foci13-nabi.pdf.

[NBC-2014] NBC News, "Exclusive: Snowden Docs Show UK Spies Attacked Anonymous, Hackers", February 2014, http://www.nbcnews.com/feature/edward-snowden-interview/exclusive-snowden-docs-show-uk-spies-attacked-anonymous-hackers-n21361.

[Netsec-2011] n3t2.3c, "TCP-RST Injection", October 2011, https://nets.ec/TCP-RST_Injection.

[OONI-2018] Evdokimov, L., "Iran Protests: DPI blocking of Instagram (Part 2)", February 2018, https://ooni.org/post/2018-iran-protests-pt2/.

[OONI-2019] Singh, S., Filastรฒ, A., and M. Xynou, "China is now blocking all language editions of Wikipedia", May 2019, https://ooni.org/post/2019-china-wikipedia-blocking/.

[Orion-2013] Orion, E., "Zimbabwe election hit by hacking and DDoS attacks", Wayback Machine archive, August 2013, https://web.archive.org/web/20130825010947/http://www.theinquirer.net/inquirer/news/2287433/zimbabwe-election-hit-by-hacking-and-ddos-attacks.

[Patil-2019] Patil, S. and N. Borisov, "What can you learn from an IP?", Proceedings of the Applied Networking Research Workshop, Pages 45-51, DOI 10.1145/3340301.3341133, July 2019, https://irtf.org/anrw/2019/anrw2019-final44-acmpaginated.pdf.

[Porter-2005] Porter, T., "The Perils of Deep Packet Inspection", 2010, http://www.symantec.com/connect/articles/perils-deep-packet-inspection.

[Rambert-2021] Rampert, R., Weinberg, Z., Barradas, D., and N. Christin, "Chinese Wall or Swiss Cheese? Keyword filtering in the Great Firewall of China", DOI 10.1145/3442381.3450076, April 2021, https://www.andrew.cmu.edu/user/nicolasc/publications/Rambert-WWW21.pdf.

[Reda-2017] Reda, F., "New EU law prescribes website blocking in the name of "consumer protection"", November 2017, https://felixreda.eu/2017/11/eu-website-blocking/.

[RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) Extensions: Extension Definitions", RFC 6066, DOI 10.17487/RFC6066, January 2011, https://www.rfc-editor.org/info/rfc6066.

[RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T., Trammell, B., Huitema, C., and D. Borkmann, "Confidentiality in the Face of Pervasive Surveillance: A Threat Model and Problem Statement", RFC 7624, DOI 10.17487/RFC7624, August 2015, https://www.rfc-editor.org/info/rfc7624.

[RFC7754] Barnes, R., Cooper, A., Kolkman, O., Thaler, D., and E. Nordmark, "Technical Considerations for Internet Service Blocking and Filtering", RFC 7754, DOI 10.17487/RFC7754, March 2016, https://www.rfc-editor.org/info/rfc7754.

[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May 2016, https://www.rfc-editor.org/info/rfc7858.

[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, https://www.rfc-editor.org/info/rfc8484.

[RFC8744] Huitema, C., "Issues and Requirements for Server Name Identification (SNI) Encryption in TLS", RFC 8744, DOI 10.17487/RFC8744, July 2020, https://www.rfc-editor.org/info/rfc8744.

[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, https://www.rfc-editor.org/info/rfc9000.

[RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, https://www.rfc-editor.org/info/rfc9293.

[Rushe-2014] Rushe, D., "Bing censoring Chinese language search results for users in the US", The Guardian, February 2014, http://www.theguardian.com/technology/2014/feb/11/bing-censors-chinese-language-search-results.

[RWB-2020] Reporters Without Borders (RSF), "2020 World Press Freedom Index: 'Entering a decisive decade for journalism, exacerbated by coronavirus'", April 2020, https://rsf.org/en/2020-world-press-freedom-index-entering-decisive-decade-journalism-exacerbated-coronavirus.

[Sandvine-2015] Sandvine, "Internet Traffic Classification: A Sandvine Technology Showcase", 2015, https://www.researchgate.net/profile/Nirmala-Svsg/post/Anybody-working-on-Internet-traffic-classification/attachment/59d63a5779197b807799782d/AS%3A405810988503040%401473764287142/download/traffic-classification-identifying-and-measuring-internet-traffic.pdf.

Here's the rest of the reference list, all the way through Zmijewski-2014 ๐Ÿ“šโœจ

   [Satija-2021]
              Satija, S. and R. Chatterjee, "BlindTLS: Circumventing
              TLS-based HTTPS censorship", FOCI '21: Proceedings of the
              ACM SIGCOMM 2021 Workshop on Free and Open Communications
              on the Internet, Pages 43-49, DOI 10.1145/3473604.3474564,
              August 2021,
              <https://sambhav.info/files/blindtls-foci21.pdf>.

   [Schoen-2007]
              Schoen, S., "EFF tests agree with AP: Comcast is forging
              packets to interfere with user traffic", October 2007,
              <https://www.eff.org/deeplinks/2007/10/eff-tests-agree-ap-
              comcast-forging-packets-to-interfere>.

   [Senft-2013]
              , Crete-Nishihata, M., Dalek, J., Hardy, S., Hilts, A.,
              Kleemola, K., Ng, J., Poetranto, I., Senft, A., Sinpeng,
              A., Sonne, B., and G. Wiseman, "Asia Chats: Analyzing
              Information Controls and Privacy in Asian Messaging
              Applications", November 2013,
              <https://citizenlab.org/2013/11/asia-chats-analyzing-
              information-controls-privacy-asian-messaging-
              applications/>.

   [Shbair-2015]
              Shbair, W. M., Cholez, T., Goichot, A., and I. Chrisment,
              "Efficiently Bypassing SNI-based HTTPS Filtering", May
              2015, <https://hal.inria.fr/hal-01202712/document>.

   [Siddiqui-2022]
              Siddiqui, A., "Lesson Learned: Twitter Shored Up Its
              Routing Security", March 2022,
              <https://www.manrs.org/2022/03/lesson-learned-twitter-
              shored-up-its-routing-security/>.

   [SIDN-2020]
              Moura, G., "Detecting and Taking Down Fraudulent Webshops
              at the .nl ccTLD", February 2020,
              <https://labs.ripe.net/Members/giovane_moura/detecting-
              and-taking-down-fraudulent-webshops-at-a-cctld>.

   [Singh-2019]
              Singh, K., Grover, G., and V. Bansal, "How India Censors
              the Web", DOI 10.48550/arXiv.1912.08590, December 2019,
              <https://arxiv.org/abs/1912.08590>.

   [Sophos-2023]
              Sophos, "Sophos Firewall: Web filtering basics", 2023,
              <https://support.sophos.com/support/s/article/KB-
              000036518?language=en_US>.

   [SSAC-109-2020]
              ICANN Security and Stability Advisory Committee (SSAC),
              "SAC109: The Implications of DNS over HTTPS and DNS over
              TLS", March 2020,
              <https://www.icann.org/en/system/files/files/sac-
              109-en.pdf>.

   [Tang-2016]
              Tang, C., "In-depth analysis of the Great Firewall of
              China", December 2016,
              <https://www.cs.tufts.edu/comp/116/archive/fall2016/
              ctang.pdf>.

   [Thomson-2012]
              Thomson, I., "Syria cuts off internet and mobile
              communication", The Register, November 2012,
              <http://www.theregister.co.uk/2012/11/29/
              syria_internet_blackout/>.

   [TLS-ESNI] Rescorla, E., Oku, K., Sullivan, N., and C. A. Wood, "TLS
              Encrypted Client Hello", Work in Progress, Internet-Draft,
              draft-ietf-tls-esni-17, 9 October 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-tls-
              esni-17>.

   [Tor-2019] Tor, "Tor: Pluggable Transports", 2019,
              <https://2019.www.torproject.org/docs/pluggable-
              transports.html.en>.

   [Trustwave-2015]
              Trustwave, "Filter : SNI extension feature and HTTPS
              blocking", 2015,
              <https://www3.trustwave.com/software/8e6/hlp/r3000/
              files/1system_filter.html>.

   [Tschantz-2016]
              Tschantz, M., Afroz, S., Anonymous, and V. Paxson, "SoK:
              Towards Grounding Censorship Circumvention in Empiricism",
              DOI 10.1109/SP.2016.59, May 2016,
              <https://oaklandsok.github.io/papers/tschantz2016.pdf>.

   [Van-der-Sar-2007]
              Van der Sar, E., "How To Bypass Comcast's BitTorrent
              Throttling", October 2012, <https://torrentfreak.com/how-
              to-bypass-comcast-bittorrent-throttling-071021>.

   [Verkamp-2012]
              Verkamp, J. P. and M. Gupta, "Inferring Mechanics of Web
              Censorship Around the World", August 2012,
              <https://www.usenix.org/system/files/conference/foci12/
              foci12-final1.pdf>.

   [Victor-2019]
              Victor, D., "Blizzard Sets Off Backlash for Penalizing
              Hearthstone Gamer in Hong Kong", The New York Times,
              October 2019,
              <https://www.nytimes.com/2019/10/09/world/asia/blizzard-
              hearthstone-hong-kong.html>.

   [Villeneuve-2011]
              Villeneuve, N. and M. Crete-Nishihata, "Open Access:
              Chapter 8, Control and Resistance, Attacks on Burmese
              Opposition Media", January 2011,
              <http://access.opennet.net/wp-content/uploads/2011/12/
              accesscontested-chapter-08.pdf>.

   [VonLohmann-2008]
              VonLohmann, F., "FCC Rules Against Comcast for BitTorrent
              Blocking", August 2008,
              <https://www.eff.org/deeplinks/2008/08/fcc-rules-against-
              comcast-bit-torrent-blocking>.

   [Wagner-2009]
              Wagner, B., "Deep Packet Inspection and Internet
              Censorship: International Convergence on an 'Integrated
              Technology of Control'", Global Voices Advocacy, 2009,
              <http://advocacy.globalvoicesonline.org/wp-
              content/uploads/2009/06/deeppacketinspectionandinternet-
              censorship2.pdf>.

   [Wagstaff-2013]
              Wagstaff, J., "In Malaysia, online election battles take a
              nasty turn", NBC News, May 2013,
              <https://www.nbcnews.com/tech/tech-news/malaysia-online-
              election-battles-take-nasty-turn-flna6c9783842>.

   [Wang-2017]
              Wang, Z., Cao, Y., Qian, Z., Song, C., and S.V.
              Krishnamurthy, "Your State is Not Mine: A Closer Look at
              Evading Stateful Internet Censorship",
              DOI 10.1145/3131365.3131374, November 2017,
              <https://www.cs.ucr.edu/~zhiyunq/pub/
              imc17_censorship_tcp.pdf>.

   [Wang-2020]
              Wang, Z., Zhu, S., Cao, Y., Qian, Z., Song, C.,
              Krishnamurthy, S.V., Chan, K.S., and T.D. Braun, "SYMTCP:
              Eluding Stateful Deep Packet Inspection with Automated
              Discrepancy Discovery", DOI 10.14722/ndss.2020.24083,
              February 2020,
              <https://www.cs.ucr.edu/~zhiyunq/pub/ndss20_symtcp.pdf>.

   [Weaver-2009]
              Weaver, N., Sommer, R., and V. Paxson, "Detecting Forged
              TCP Reset Packets", September 2009,
              <http://www.icir.org/vern/papers/reset-
              injection.ndss09.pdf>.

   [Whittaker-2013]
              Whittaker, Z., "1,168 keywords Skype uses to censor,
              monitor its Chinese users", March 2013,
              <http://www.zdnet.com/1168-keywords-skype-uses-to-censor-
              monitor-its-chinese-users-7000012328/>.

   [Wikip-DoS]
              Wikipedia, "Denial-of-service attack", March 2016,
              <https://en.wikipedia.org/w/index.php?title=Denial-of-
              service_attack&oldid=710558258>.

   [Wilde-2012]
              Wilde, T., "Knock Knock Knockin' on Bridges Doors", The
              Tor Project, July 2012, <https://blog.torproject.org/blog/
              knock-knock-knockin-bridges-doors>.

   [Winter-2012]
              Winter, P. and S. Lindskog, "How China Is Blocking Tor",
              April 2012, <http://arxiv.org/pdf/1204.0447v1.pdf>.

   [WP-Def-2020]
              Wikipedia, "Censorship", March 2020,
              <https://en.wikipedia.org/w/
              index.php?title=Censorship&oldid=943938595>.

   [Wright-2013]
              Wright, J. and Y. Breindl, "Internet filtering trends in
              liberal democracies: French and German regulatory
              debates", DOI 10.14763/2013.2.122, April 2013,
              <https://policyreview.info/articles/analysis/internet-
              filtering-trends-liberal-democracies-french-and-german-
              regulatory-debates>.

   [Zhu-2011] Zhu, T., Bronk, C., and D.S. Wallach, "An Analysis of
              Chinese Search Engine Filtering",
              DOI 10.48550/arXiv.1107.3794, July 2011,
              <http://arxiv.org/ftp/arxiv/papers/1107/1107.3794.pdf>.

   [Zmijewski-2014]
              Zmijewski, E., "Turkish Internet Censorship Takes a New
              Turn", Wayback Machine archive, March 2014,
              <http://web.archive.org/web/20200726222723/
              https://blogs.oracle.com/internetintelligence/turkish-
              internet-censorship-takes-a-new-turn>.

Acknowledgments ๐Ÿซถ

Big thank-yous to David Belson, Stรฉphane Bortzmeyer, Vinicius Fortuna, Gurshabad Grover, Andrew McConachie, Martin Nilsson, Michael Richardson, Patrick Vacek, and Chris Wood. These folks helped this document along with their discussions and input, and they're literally the reason it's as good as it is ๐Ÿ’œ

Coauthor Hall did some of the work on this document before he joined the Internet Society ๐ŸŽ€ The affiliation listed in this document is only there for identification purposes.


Authors' Addresses ๐Ÿ“ฎ

Joseph Lorenzo Hall ๐ŸŒธ Internet Society Email: hall@isoc.org

Michael D. Aaron ๐Ÿฆ‹ CU Boulder Email: michael.drew.aaron@gmail.com

Amelia Andersdotter ๐Ÿงš Email: amelia.ietf@andersdotter.cc

Ben Jones ๐Ÿ“ Email: ben.jones.irtf@gmail.com

Nick Feamster ๐Ÿ’… U Chicago Email: feamster@uchicago.edu

Mallory Knodel ๐Ÿ‘‘ Center for Democracy & Technology Email: mknodel@cdt.org

And that's the whole RFC, bestie! ๐ŸŒˆโœจ Thank you for reading all the way to the end ๐Ÿฅน๐Ÿ’–

๐Ÿ“ฆ where this page comes from