RFC 7754
Technical Considerations for Internet Service Blocking and Filtering
Part 1 of 8 π more parts are coming, bestie, so stay tuned!
RFC 7754: Technical Considerations for Internet Service Blocking and Filtering β¨
okay so this one is RFC 7754 π , and its title is Technical Considerations for Internet Service Blocking and Filtering. It was published in March 2016 by the Internet Architecture Board (IAB), so it's an IAB document π¦. The authors are R. Barnes, A. Cooper, O. Kolkman, D. Thaler, and E. Nordmark, all iconic π. Its category is Informational, and its ISSN is 2070-1721. The title block doesn't list anything this RFC obsoletes or updates, so it's a standalone vibe πΈ.
Abstract
the Internet is built to be an open communications medium π. that openness is literally one of the biggest reasons the Internet keeps innovating, but it also means some communications can be seen as undesirable by certain parties π¬. so as the Internet grew, so did the mechanisms for limiting how far and how hard abusive or objectionable communications can spread π‘οΈ. lately there's been a big push toward "blocking" and "filtering," which is the active prevention of those communications β¨.
this document looks at several technical approaches to blocking and filtering and checks how well each one lines up with the overall Internet architecture π. when it's possible, the approach that fits the architecture best is to tell endpoints about potentially undesirable services, so the communicants can avoid abusive or objectionable communications on their own π«Ά. the doc also points out that some filtering and blocking approaches can cause unintended consequences for third parties π, and it talks about the limits of how well the various approaches actually work π.
Status of This Memo
this document is not an Internet Standards Track specification π ββοΈ. it's just published for informational purposes π.
this document is a product of the Internet Architecture Board (IAB), and it holds information the IAB decided was valuable enough to keep on the permanent record π. it represents the consensus of the IAB β¨. documents the IAB approves for publication aren't a candidate for any level of Internet Standard, so no standard-level status for this one, periodt π . see Section 2 of RFC 5741 for more on that.
info about this document's current status, any errata, and how to give feedback can be found at http://www.rfc-editor.org/info/rfc7754 π.
Copyright Notice
Copyright (c) 2016 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 (http://trustee.ietf.org/license-info), as they were in effect on the publication date β. please read those carefully, because they describe your rights and restrictions for this document π.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Filtering Examples . . . . . . . . . . . . . . . . . . . . . 5
3. Characteristics of Blocking Systems . . . . . . . . . . . . . 7
3.1. The Party Who Sets Blocking Policies . . . . . . . . . . 8
3.2. Purposes of Blocking . . . . . . . . . . . . . . . . . . 8
3.2.1. Blacklist vs. Whitelist Model . . . . . . . . . . . . 9
3.3. Intended Targets of Blocking . . . . . . . . . . . . . . 9
3.4. Components Used for Blocking . . . . . . . . . . . . . . 10
4. Evaluation of Blocking Design Patterns . . . . . . . . . . . 11
4.1. Criteria for Evaluation . . . . . . . . . . . . . . . . . 11
4.1.1. Scope: What set of hosts and users are affected? . . 12
4.1.2. Granularity: How specific is the blocking? Will
blocking one service also block others? . . . . . . . 12
4.1.3. Efficacy: How easy is it for a resource or service to
avoid being blocked? . . . . . . . . . . . . . . . . 13
4.1.4. Security: How does the blocking impact existing trust
infrastructures? . . . . . . . . . . . . . . . . . . 14
4.2. Network-Based Blocking . . . . . . . . . . . . . . . . . 15
4.2.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.2. Granularity . . . . . . . . . . . . . . . . . . . . . 17
4.2.3. Efficacy and Security . . . . . . . . . . . . . . . . 17
4.2.4. Summary . . . . . . . . . . . . . . . . . . . . . . . 20
4.3. Rendezvous-Based Blocking . . . . . . . . . . . . . . . . 20
4.3.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3.2. Granularity . . . . . . . . . . . . . . . . . . . . . 21
4.3.3. Efficacy . . . . . . . . . . . . . . . . . . . . . . 21
4.3.4. Security and Other Implications . . . . . . . . . . . 22
4.3.5. Examples . . . . . . . . . . . . . . . . . . . . . . 22
4.3.6. Summary . . . . . . . . . . . . . . . . . . . . . . . 23
4.4. Endpoint-Based Blocking . . . . . . . . . . . . . . . . . 24
4.4.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4.2. Granularity . . . . . . . . . . . . . . . . . . . . . 24
4.4.3. Efficacy . . . . . . . . . . . . . . . . . . . . . . 25
4.4.4. Security . . . . . . . . . . . . . . . . . . . . . . 25
4.4.5. Server Endpoints . . . . . . . . . . . . . . . . . . 25
4.4.6. Summary . . . . . . . . . . . . . . . . . . . . . . . 26
5. Security Considerations . . . . . . . . . . . . . . . . . . . 26
6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 27
7. Informative References . . . . . . . . . . . . . . . . . . . 28
IAB Members at the Time of Approval . . . . . . . . . . . . . . . 32
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 33
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33
1. Introduction π§
okay so the original design goal of the Internet was to let hosts talk to each other π. but once that goal was met and people actually started using it to communicate, it became clear that some hosts were doing communications that certain parties saw as undesirable π. the most famous early example is the Morris worm [Morris], which used the Internet to infect many hosts in 1988 π. as the Internet grew into a rich communications medium, so did the ways of restricting communications seen as undesirable πΈ. those range from acceptable use policies enforced through informal channels all the way to technical blocking mechanisms βοΈ.
the ways people try to restrict or deny access to Internet resources and services have changed a lot over time π¦. as noted in [RFC4084], some Internet service providers filter traffic to limit which applications their customers can use and which traffic they allow on their networks πΆ. those restrictions are often put in place with customer consent, and the customers can be enterprises or individuals π«Ά. however, governments, service providers, and enterprises are increasingly trying to block or filter access to certain content, traffic, or services without the knowledge or agreement of the affected users π. when those organizations don't directly control the networks themselves, they commonly try to use intermediary systems to carry out the blocking or filtering π΅οΈββοΈ.
blocking and filtering are super contentious in a lot of cases π₯, but the desire to restrict communications or access to content will likely keep existing π .
the difference between "blocking" and "filtering" is really just a matter of scale and perspective β¨. "blocking" often means preventing access to resources in the aggregate, while "filtering" means preventing access to specific resources within an aggregate π. both can happen at the level of "services" (web hosting or video streaming, for example) or at the level of particular "content" π. for the analysis in this document, the distinction between blocking and filtering doesn't create meaningfully different conclusions π. so for the rest of the doc, we treat the terms as generally equivalent and applicable to restrictions on both content and services π«Ά.
this document wants to clarify the technical implications and trade-offs of various blocking strategies π, and to identify where different strategies have the potential to cause harmful side effects ("collateral damage") for Internet users and the overall Internet architecture π. this analysis is limited to technical blocking mechanisms π οΈ. the scope of the blocking analyzed here is limited to intentional blocking, not accidental blocking caused by misconfiguration or as an unintentional side effect of something else π ββοΈ.
filtering can be considered legal, illegal, ethical, or unethical depending on where it happens, when it happens, and who's doing it βοΈ. this document is for people who are filtering, or thinking about filtering, and who want to understand what their decisions mean for the Internet architecture and the trade-offs that come with each type of filtering strategy π. it does not give formulas for making those trade-offs, since filtering decisions probably need context-specific details π§. whether particular forms of filtering are lawful in particular jurisdictions raises complicated legal questions that are outside the scope of this document βοΈ. for similar reasons, questions about the ethics of particular forms of filtering are also out of scope π« .
2. Filtering Examples β¨
okay so blocking systems have been glowing up right alongside the Internet itself π looking back, there have been a bunch of these systems, set up by different people for different reasons π¦
Firewalls: firewalls are everywhere in today's Internet [RFC2979] π₯ they can live on end hosts (under user or admin control) or sit in the network, usually at network boundaries πΈ the Internet Security Glossary [RFC4949] has a fancy extended definition, but honestly most people just think of a firewall as "something that blocks unwanted traffic" π (see [RFC4948] for a whole discussion on the many types of unwanted traffic). there are lots of firewall flavors, but a few specific types are worth knowing about π
- Stateless Packet Filtering: stateless packet filters block based on content-neutral rules, like blocking all inbound connections or outbound connections on certain ports, protocols, or network-layer addresses π§ for example, blocking outbound connections to port 25.
- Stateful Packet Filtering: more advanced setups need to keep state so they can enforce flow-based policies, like blocking inbound traffic for flows that haven't been established β¨
- Deep Packet Inspection: the even fancier setups do deep packet inspection and filter or block based on the content being carried π lots of firewalls also include web filtering capabilities (see below) π
Web Filtering: HTTP and HTTPS are super common targets for blocking and filtering, usually aimed at specific URIs π some enterprises use HTTP blocking to keep out non-work-appropriate websites, and several nations make their ISPs filter HTTP and HTTPS to block content they consider illegal π HTTPS is a real challenge for these systems, because the URI in an HTTPS request rides inside the encrypted channel π so to block content delivered over HTTPS, filtering systems have to either block based on network- and transport-layer headers (IP address and/or port), or obtain a trust anchor certificate that endpoints trust and basically act as a man in the middle π these filtering systems often show up as "portals" or "enterprise proxies" that present their own dynamically generated HTTPS certificates π«Ά (See further discussion in Section 5.)
Spam Filtering: spam filtering is one of the oldest forms of content filtering, no cap π spam filters judge messages using a variety of criteria and information sources to decide whether a message is spam β for example, DNS Blacklists use the reverse DNS to flag whether an IP address is a known spam source [RFC5782] π spam filters can live on user devices (like in a mail client), be run by a mail domain on behalf of its users, or be outsourced to a third party acting as an intermediate MX proxy π¦
Domain Name Seizure: there are a bunch of ways to block or modify resolution of a domain name πΈ one approach is using ICANN's Uniform Dispute Resolution Policy (URDP) to deal with fraudulent use of a name β¨ other authorities may require domains to be blocked within their jurisdictions π there's been a lot of research on the value and efficacy of these seizures [Takedown08] [BlackLists14] π₯
The exact method of seizing domain names varies from place to place π§ one approach in use is having queries redirected so they resolve to IP addresses of the authority that hosts info about the seizure π how well a seizure works also depends on the method. sometimes the person whose name got seized just switches to a new name π other times the block only works within a region, or only when specific name service infrastructure is used π
Seizures can also have overbroad effects π access to content gets blocked not just within the seizing jurisdiction, but globally, even when it's totally legal somewhere else [RojaDirecta]. when domain redirection happens at intermediate resolvers instead of at authoritative servers, it directly contradicts the end-to-end assumptions in the DNS security architecture [RFC4033], and can potentially cause validation failures by validating end-nodes π«
Safe Browsing: modern web browsers have some built-in measures to keep users away from malicious websites π‘οΈ for instance, before loading a URI, current versions of Google Chrome and Firefox use the Google Safe Browsing service to figure out whether a given URI is safe to load [SafeBrowsing] π the DNS can also store third party information that marks domains as safe or unsafe [RFC5782] β¨
Manipulation of routing and addressing data: governments have recently gotten involved in managing IP addressing and routing information so they can keep control over a specific set of DNS servers π as part of an internationally coordinated response to the DNSChanger malware, a Dutch court ordered the RIPE NCC to freeze the accounts of several resource holders, which limited those holders' ability to use certain address blocks [GhostClickRIPE] (also see Section 4.3) π± this has raised concerns that the number resource certification system and related secure routing technologies developed by the IETF's SIDR working group could be subject to government manipulation too [RFC6480], potentially to deny targeted networks access to the Internet π
Ingress filtering: network service providers use ingress filtering [RFC2827] [RFC3704] to prevent source address spoofing, which gets used as part of other attacks π‘οΈ
Data loss prevention (DLP): enterprises and other networks worry about confidential information leaking, whether by accident or on purpose π some of the tools for this are similar to the main subject of this document, blocking and filtering π in particular, enterprise proxies might be part of a DLP solution π
3. Characteristics of Blocking Systems β¨
at a generic level, blocking systems can be characterized by four attributes: the party who sets the blocking policy, the purpose of the blocking, the intended target of the blocking, and the Internet component(s) used as the basis of the blocking system π¦
3.1. The Party Who Sets Blocking Policies
parties that institute blocking policies include governments, courts, enterprises, network operators, reputation trackers, application providers, and individual end users π a government might make laws based on cultural norms and/or its elected mandate β enterprises might use cultural, industry, or legal norms to guide their policies πΌ
there can be several steps of translation and transformation from the original intended purpose π first to laws, then to (government) regulation, followed by high-level policies at, e.g., network operators, and from those policies to filtering architecture and implementation π§ each of those steps is a potential source of unintended consequences, as discussed in this document π¬
sometimes the entity that sets the policy is the same entity that enforces it π for example, a network operator might install a firewall in its own networking equipment, or a web application provider might block responses between its web server and certain clients π₯
other times the policy-setting entity is different from the enforcing entity π«Ά the policy might be imposed on the enforcer, like with blocking initiated by governments, or the enforcer might choose to use policy set by others, like a reputation system used by a spam filter or a safe browsing service π because a policy might be enforced by others, it's best if it can be expressed in a form that's independent of the enforcing technology π
3.2. Purposes of Blocking
there are a bunch of motivations to filter π
- Preventing or responding to security threats. network operators, enterprises, application providers, and end users often block communications believed to be tied to security threats or network attacks π‘οΈ
- Restricting objectionable content or services. certain communications may be seen as undesirable, harmful, or illegal by particular governments, enterprises, or users π€ governments may want to block communications deemed defamation, hate speech, obscenity, intellectual property infringement, or otherwise objectionable π enterprises may want to keep employees from accessing content that isn't deemed work appropriate πΌ parents may restrict their children from accessing content or services aimed at adults π§Έ
- Restricting access based on business arrangements. some networks are designed to only provide access to certain content or services ("walled gardens") π° or to only provide limited access until end users pay for full Internet services (captive portals provided by hotspot operators, for example) πΈ
3.2.1. Blacklist vs. Whitelist Model
the purpose of the blocking often dictates whether the system runs on a blacklist model, where communications are allowed by default but a subset gets blocked, or a whitelist model, where communications are blocked by default with only a subset allowed π¦ captive portals, walled gardens, and sandboxes used for security or network endpoint assessment usually use a whitelist model, since the scope of allowed communications is narrow πΈ blocking for other purposes often uses a blacklist model, since only individual content or traffic is meant to be blocked β¨
3.3. Intended Targets of Blocking
blocking systems are set up to target particular content, services, endpoints, or some combination of these π― for example, a "content" filtering system used by an enterprise might block access to specific URIs whose content the enterprise deems inappropriate for the workplace π that's different from a "service" filtering system that blocks all web traffic (maybe as part of a parental control system on an end-user device) π§ and also different from an "endpoint" filtering system, where a web application blocks traffic from specific endpoints suspected of malicious activity π₯
as discussed in Section 4, the design of a blocking system may affect content, services, or endpoints other than the intended targets π± for example, when the domain name seizures described above are meant to address specific web pages tied to illegal activity, removing the domains from use also affects every service made available by the hosts associated with those names, including mail and web services that may be totally unrelated to the illegal activity π depending on where the block is imposed within the DNS hierarchy, entirely unrelated organizations may be impacted π§οΈ
3.4. Components Used for Blocking
okay bestie, let's talk about the three big pieces that make an internet service actually happen π§π
- Endpoints: π the actual content of the service is usually an application-layer protocol running between two or more Internet hosts. Lots of protocols have exactly two endpoints, a client and a server.
- Network services: πΈ the endpoints talk to each other through a bunch of IP networks, and those networks use routing protocols to figure out how to get packets from one endpoint to the other.
- Rendezvous services: π¦ service endpoints usually get identified by names that are way more "human-friendly" than IP addresses (nobody wants to type 192.0.2.1 π). Rendezvous services let one endpoint figure out how to contact another one based on that identifier. The domain name system is the classic example, and Distributed Hash Tables (DHTs) have also been used as rendezvous services β¨
Let's use an example, okay? π Say an HTTP transaction is fetching <http://example.com/index.html>. The client endpoint is an end host running a browser. The client uses the DNS as a rendezvous service when it does a AAAA query to get the IP address for the server name "example.com" π Then the client sets up a connection to the server and sends the actual HTTP request. After that, the server endpoint responds to the request. Slay π
Another example: in SIP, the two endpoints talking are IP phones, and the rendezvous service is provided by an application-layer SIP proxy plus the DNS ππ«Ά
So, blocking access to Internet content, services, or endpoints is done by controlling one or more of these components that are involved in delivering the communication π« In the HTTP example above, there are a bunch of ways the successful completion of that request could get stopped:
- [Endpoint] Preventing the client from making the request π ββοΈ
- [Endpoint] Preventing the server from responding to the request π
- [Endpoint] Preventing the client from making the DNS request needed to resolve example.com π
- [Network] Preventing the request from reaching the server
- [Network] Preventing the response from reaching the client
- [Network] Preventing the client from reaching the DNS servers
- [Network] Preventing the DNS responses from reaching the client
- [Rendezvous] Preventing the DNS servers from giving the client the correct IP address of the server π§©
Here's the thing though: people who want to block communications usually only have access to one or two of these components, so their options are pretty limited π₯Ί End users and application providers can usually only control their own software and hardware, which means they're stuck with endpoint-based filtering. Some network operators offer filtering services that customers can switch on individually, so end users might have network-based filtering available to them too π Network operators can control their own networks and the rendezvous services they provide infrastructure support for (like DNS resolvers), or ones they might have access to (like SIP proxies), but usually not endpoints π Enterprises usually have access to their own networks and endpoints for filtering, so that's their lane πΌ And governments might make arrangements with the operators or owners of any of the three components that exist within their jurisdictions to do filtering ποΈ
Next up, we look at blocking systems built on each of the three patterns (network services, rendezvous services, and endpoints) and check out their technical and architectural implications π The analysis tries to stay as agnostic as possible about who sets the blocking policy (government, end user, network operator, application provider, or enterprise). But the way a particular blocking pattern gets used can still differ depending on who wants the block π€ For example, a network-based firewall that an ISP offers for parental control, which parents can choose to turn on, will probably work differently from one that every ISP in a jurisdiction is required to run by the local government π Same component (network) underneath, though, so the basis is the same π«Ά
4. Evaluation of Blocking Design Patterns β¨
4.1. Criteria for Evaluation π
Okay so to evaluate the technical implications of each blocking design pattern, we compare them on four criteria: scope, granularity, efficacy, and security π₯
4.1.1. Scope: What set of hosts and users are affected? π
The Internet is made of lots of distinct autonomous networks and applications, which means a blocking system's impact only stays inside a defined topological scope πΈοΈ For example, blocking within an access network only affects a well-defined set of users (namely, the people connected to that access network). Blocking done by an application provider, though, can affect users across the entire Internet π
Blocking systems are generally seen as less objectionable when their impact is as narrow as possible while still working, and as long as the impact stays within the administrative realm of whoever set the policy π As mentioned before, enterprise blocking systems are super common and will generally affect enterprise users π’ But design flaws can make the effects of blocking overbroad π¬ For example, at least one service provider blocking content because of a regulation ended up blocking content for downstream service providers. It filtered routes to particular systems and didn't pass the original information along to downstream service providers in other jurisdictions [IN-OM-filtering]. Other service providers have accidentally leaked such black hole routes beyond the jurisdiction [NW08]. A lot of work has gone into BGP security to prevent these kinds of attacks, but deployment of those systems is lagging behind π’
4.1.2. Granularity: How specific is the blocking? Will blocking one service also block others? π―
Okay, Internet applications are built from a bunch of loosely coupled components, aka "layers" π§ Different layers serve different purposes and rely on or offer different functions, like routing, transport, and naming (see [RFC1122], especially Section 1.1.3). These functions get developed independently and are almost always operated by different parties π€ For example, in lots of networks, physical and link-layer connectivity is provided by an "access provider," IP routing is handled by an "Internet service provider," and application-layer services come from totally separate entities (like web servers) π Upper-layer protocols and applications rely on combinations of lower-layer functions to work. Functionality at higher layers tends to be more specialized, so lots of different specialized applications can use the same generic underlying network functions β¨
Because of this structure, actions taken at one layer can affect functionality or applications at other layers π΅βπ« For example, manipulating routing or naming functions to restrict access to a narrow set of resources via specific applications will likely affect every application that depends on those functions π Just like with the scope criteria, blocking systems are generally seen as less objectionable when they're highly granular and don't cause collateral damage to content or services unrelated to the target of the blocking [RFC4924] π
Even within the application layer, granularity can vary depending on how targeted the blocking system is designed to be πΉ Blocking all traffic for a particular application protocol is less granular than blocking only the traffic tied to a subset of application instances that use that protocol π§ Sophisticated heuristics that look at application protocol info, lower-layer protocols, payload signatures, source and destination addresses, inter-packet timing, packet sizes, and other characteristics are sometimes used to narrow down the subset of traffic to block π¬
4.1.3. Efficacy: How easy is it for a resource or service to avoid being blocked? β¨
Okay bestie, efficacy is the big one π . Blocking something might work for a hot second, but the real question is whether it's easy to dodge. A one-and-done policy usually doesn't last (see [CleanFeed] and [BlackLists14]) π. Experience shows blacklists need constant babysitting: you keep adding new entries for unwanted traffic and deleting entries once the bad content is gone π§Ή. It can also be really hard to tell when it's safe to unblock. If a host got hijacked and used to launch attacks, it's not obvious when that site has actually been fixed π€.
Blacklist-style blocking also struggles because Internet resources are so distributed and mobile π. A service blocked in one jurisdiction can get moved or re-instantiated in another (see, for example, [Malicious-Resolution]) π¦. Services that depend on blocked resources can be reconfigured to use unblocked ones super fast β‘. If a website can't use a domain name or a set of IP addresses, it can move its content to another domain name or network, or use alternate syntaxes to write the same resource name (see the discussion of false negatives in [RFC6943]) π.
Then there's "snowshoe spamming" βοΈ: a spam originator uses addresses across tons of different networks as sources. It's already common for spam to be spread across lots of resources and jurisdictions so spam blocking doesn't work well π¨.
Whether you're dealing with blacklist or whitelist systems, users and apps can still try to dodge the filters π΅οΈββοΈ.
Users can switch protocols or change their traffic patterns to get around filters π. Sometimes apps move their traffic to port 80 or 443 when other ports are blocked π. Or services get tunneled inside other services, proxied by a helpful outside host (like an anonymous redirector), or just run on an alternate port (like 8080 instead of 80 for HTTP) πͺ. Another trick is changing how the service behaves so it uses a dynamic port negotiation phase and isn't stuck on one constant port π.
Here's a fun one about HTTP: a big reason people wanted HTTP/2 to be encrypted by default was that unencrypted HTTP 1.1 traffic was sometimes blocked or improperly processed π€. When users or apps shift to encrypted HTTP, they slip past filters that depend on the HTTP plaintext payload π.
If voice calls based on SIP [RFC3261] get blocked, people will probably switch to apps that use proprietary protocols so they can still talk to each other π.
Some filtering systems only recognize IPv4 traffic, so shifting to IPv6 can help users evade them π§. Using IPv6 with header options, stacking multiple layers of tunnels, or using encrypted tunnels also makes it harder for blocking systems to find transport ports inside packets, which makes port-based blocking way trickier π. So yeah, distribution and mobility can hamper blocking efforts in a bunch of different ways π.
4.1.4. Security: How does the blocking impact existing trust infrastructures? π
Modern security mechanisms rely on trusted hosts talking over a secure channel with no middleman interfering π‘οΈ. Protocols like Transport Layer Security (TLS) [RFC5246] and IPsec [RFC4301] are built so each endpoint knows who the other endpoint(s) is, and only the endpoints of the communication can access the secured contents π. Like, when you connect to your bank's website, TLS makes sure your banking info goes to the bank and nobody else, so it stays confidential in transit π¦π.
Some blocking strategies need intermediaries to insert themselves into the end-to-end path, and that can break the security properties of Internet protocols [RFC4924] π¬. When that happens, it can be really hard or impossible for endpoints to tell attackers apart from "authorized" parties doing the blocking π». For example, an enterprise firewall administrator could end up accessing users' personal bank accounts when people on the enterprise network connect to bank websites π±.
Bestie, this one is serious. Breaking the trust between endpoints is a real privacy and security risk, not a small inconvenience π¨
Finally, you have to evaluate whether a blocking mechanism can be used by an end user to efficiently locate blocked resources, which can then be reached through other mechanisms that get around the block π. For example, Clayton [CleanFeed] showed how special treatment in one blocking system could be detected by end users to efficiently locate illegal websites. That was super counterproductive to the policy goal of the blocking mechanism π.
4.2. Network-Based Blocking π°οΈ
Being able to block access to resources without the consent or cooperation of either endpoint is viewed as a desirable feature by some people who deploy blocking systems π. Systems with this property are often implemented using intermediary devices in the network, like firewalls or filtering systems π§±. These systems inspect traffic as it passes through the network, decide based on the characteristics or content of a communication whether it should be blocked, and then block or allow it as desired βοΈ. For example, web filtering devices usually inspect HTTP requests to determine the URI being requested, compare that URI to a list of blacklisted or whitelisted URIs, and allow the request to proceed only if policy permits it π. Firewalls do a similar job for other classes of traffic besides HTTP π₯. Some blocking systems focus on specific application-layer traffic, while others, like router Access Control Lists (ACLs), filter traffic based on lower-layer criteria (transport protocol and source or destination addresses or ports) π§©.
Intermediary systems used for blocking are often not far from the edge of the network π. Lots of enterprise networks operate firewalls that block certain websites, and so do some residential ISPs π . Sometimes this filtering happens with the consent or cooperation of the affected endpoints. PCs in an enterprise might be configured to trust an enterprise proxy, a residential ISP might offer a "safe browsing" service, or mail clients might authorize mail servers on the local network to filter spam on their behalf π¬. These cases share some properties with the "Endpoint-Based Blocking" scenarios discussed in Section 4.4 below, since the endpoint has made an informed decision to let the intermediary block on its behalf, so it's unlikely to try to circumvent the blocking π€. From an architectural perspective, though, they can still create many of the same problems as network-based filtering conducted without consent π« .
4.2.1. Scope π―
In the case of government-initiated blocking, network operators subject to a specific jurisdiction may be required to block or filter ποΈ. So laws can be structured to result in blocking by putting obligations on network operators in a jurisdiction, either through direct government action or by letting private actors demand blocking (for example, through lawsuits) βοΈ.
Regardless of who owns a blocking policy, enforcement can be done using Stateless Packet Filtering, Stateful Packet Filtering, or Deep Packet Inspection, as defined in Section 2 π. Stateless Packet Filtering has granularity issues (discussed in Section 4.2.2), while network-based Stateful Packet Filtering and Deep Packet Inspection approaches often run into technical issues that limit how viable they are in practice π΅βπ«. A lot of these issues come down to the fact that an intermediary needs access to a sufficient amount of traffic to make its blocking calls π.
For residential or consumer networks with lots of egress points, the first step is simply getting access to the constituent packets πͺ. The Internet is designed to deliver packets independently from source to destination, not to any particular point along the way π¦. So the sequence of packets from the sender can only be reliably reconstructed at the intended receiver π§©. On top of that, inter-network routing is often asymmetric, and for sufficiently complex local networks, intra-network traffic flows can be asymmetric as well [asymmetry] π. That means packets in the reverse direction use a different set of paths than the forward direction π.
This asymmetry means an intermediary in a network with many egress points may, depending on topology and configuration, see only one half of a given communication, which can limit the scope of what it can filter π. For example, a filter aimed at requests destined for particular URIs can't make accurate blocking decisions based on the URI if it's only in the data path for HTTP responses and not requests, since the URI isn't included in the responses π ββοΈ. Asymmetry may be surmountable with a filtering system that has enough distributed, interconnected filtering nodes that can coordinate information about flows belonging to the same communication or transaction. But depending on the size of the network, that can get seriously complex π§ . Routing can sometimes be forced to be symmetric within a given network using routing configuration, NAT, or Layer 2 mechanisms (for example, MPLS), but these are frequently brittle, complex, and costly, and can sometimes reduce network performance compared to asymmetric routing π’. Enterprise networks may be less susceptible to these problems if they route all traffic through a small number of egress points π’.
4.2.2. Granularity π¬
Once an intermediary in a network has access to traffic, it has to identify which packets need filtering π―. That decision is usually based on some combination of information at the network layer (for example, IP addresses), transport layer (ports), or application layer (URIs or other content) π§. Deep Packet Inspection type blocking based on application-layer attributes can be more granular and less likely to cause collateral damage than blocking all traffic associated with a particular address, which can hit unrelated occupants of the same address π₯. But more narrowly focused targeting may be more complex, less efficient, or easier to circumvent than filtering that sweeps more broadly, so folks who want to block have to balance these attributes against each other when choosing a blocking system βοΈπ.
4.2.3. Efficacy and Security β¨
Okay so no matter which layer the blocking happens at π§, it may be open to circumvention, especially when the endpoints never agreed to the blocking π. The two endpoints can literally hide attributes from the middle person at any layer by encrypting stuff (more on that below π). IP addresses must stay visible even when packets are protected with IPsec πΈ, but blocking by IP address can be trivial to dodge π. A filtered site can switch to a new IP in a few quick steps: change one DNS record, set up the new address on its server, or move its services to the new address [BT-TPB] π¦.
Indeed, Poort, et al. [Poort] found that "any behavioural change in response to blocking access to The Pirate Bay has had no lasting net impact on the overall number of downloaders from illegal sources, as new consumers have started downloading from illegal sources and people learn to circumvent the blocking while new illegal sources may be launched, causing file sharing to increase again", and that these results "are in line with a tendency found in the literature that any effects of legal action against file sharing often fade out after a period of typically six months." π The vibes are very "it always comes back" π .
If application content is encrypted with a security protocol such as IPsec or TLS, then the intermediary will need to decrypt the packets to examine the content, or resort to statistical methods to guess what the content is π€. Security protocols are generally designed to provide end-to-end security (i.e., to prevent intermediaries from examining content), so the intermediary would need to masquerade as one of the endpoints. That means breaking the authentication in the security protocol π¬, reducing the security of the users and services affected, and interfering with legitimate private communication. Besides, various techniques that use public databases with whitelisted keys (e.g., DANE [RFC6698]) let users detect these sort of intermediaries π΅οΈββοΈ. Those users are then likely to act as if the service is blocked π ββοΈ.
If the intermediary is unable to decrypt the security protocol, then its blocking decisions for secure sessions can only be based on unprotected attributes, such as IP addresses, protocol IDs, port numbers, packet sizes, and packet timing π¦. Some blocking systems today still try to block based on these attributes, for example by blocking TLS traffic to known proxies that could be used to tunnel through the blocking system π§.
However, as the Telex project [Telex] recently demonstrated, if an endpoint cooperates with a relay in the network (e.g., a Telex station), it can create a TLS tunnel that is indistinguishable from legitimate traffic π€―. For example, if an ISP used by a banking web site were to operate a Telex station at one of its routers, then a blocking system would be unable to tell legitimate encrypted banking traffic apart from Telex-tunneled traffic (potentially carrying content that would have been filtered) π¦.
Thus, in principle in a blacklist system it is impossible to block tunneled traffic through an intermediary device without blocking all secure traffic from that system. (The only limitation in practice is the requirement for special software on the client.) Those who require that secure traffic be blocked from such sites risk blocking content that would be valuable to their users, perhaps impeding substantial economic activity πΈ. Conversely, those who are hosting a myriad of content have an incentive to see that law abiding content does not end up being blocked π«Ά.
Governments and network operators should, however, take care not to encourage the use of insecure communications in the naming of security, as doing so will invariably expose their users to the various attacks that the security protocols were put in place to prevent π¨. Like, the whole point of security protocols is to stop exactly that, so please don't π.
Some operators may assume that only blocking access to resources available via unsecure channels is sufficient for their purposes. In other words, the size of the user base that is willing to use secure tunnels and/or special software to circumvent the blocking is low enough to make blocking via intermediaries worthwhile π§. Under that assumption, one might decide there is no need to control secure traffic, and so network-based blocking looks like an attractive option π―.
However, the longer such blocking systems are in place, the more likely it is that efficient and easy-to-use tunneling tools will become available π. The proliferation of the Tor network, for example, and its increasingly sophisticated blocking-avoidance techniques show that there is energy behind this trend [Tor] π§ . Thus, network-based blocking becomes less effective over time π.
Network-based blocking is a key contributor to the arms race that has led to the development of such tools, and the result is unnecessary layers of complexity in the Internet π΅βπ«. Before content-based blocking became common, the next best option for network operators was port blocking. Its widespread use drove more applications and services to use ports (80 and 443 most commonly) that are unlikely to be blocked π. In turn, network operators shifted to finer-grained content blocking over port 80, content providers shifted to encrypted channels, and operators began trying to identify those channels (although doing so can be resource-prohibitive, especially if tunnel endpoints begin to change frequently) π. Because the premise of network-based blocking is that endpoints have incentives to circumvent it, this cat-and-mouse game is an inevitable by-product of this form of blocking π±.
One reason above all stands as an enormous challenge to network-based blocking: the Internet was designed on the premise that people will want to connect and communicate π. IP will run on anything up to and including carrier pigeons [RFC1149] π¦. It often runs atop TLS, and it has been made to run on other protocols that themselves run atop IP π§. Because of this fundamental layering approach, nearly any authorized avenue of communication can be used as a transport. This same "problem" lets communications succeed in the most challenging of environments π.
4.2.4. Summary π
In sum, network-based blocking is only effective in a fairly constrained set of circumstances π. First, the traffic needs to flow through the network in such a way that the intermediary device has access to any communications it intends to block. Second, the blocking system needs an out-of-band mechanism to mitigate the risk of secure protocols being used to avoid blocking (e.g., human analysts identifying IP addresses of tunnel endpoints) π. If the network is sufficiently complex, or the risk of tunneling is too high, then network-based blocking is unlikely to be effective. In any case, this type of blocking drives the development of increasingly complex layers of circumvention π. Network-based blocking can be done without the cooperation of either endpoint to a communication, but it has the serious drawback of breaking end-to-end security assurances in some cases π. The fact that network-based blocking is premised on this lack of cooperation results in arms races that increase the complexity of both application design and network design π₯΄.
4.3. Rendezvous-Based Blocking π
Internet applications often require or rely on support from common, global rendezvous services, including the DNS, certificate authorities, search engines, WHOIS databases, and Internet Route Registries πΊοΈ. These services control or register the structure and availability of Internet applications by providing data elements that are used by application code. Some applications also have their own specialized rendezvous services. For example, to establish an end-to-end SIP call, the end-nodes (terminals) rely on presence and session information supplied by SIP servers π.
Global rendezvous services are made up of generic technical databases intended to record certain facts about the network ποΈ. The DNS, for example, stores information about which servers provide services for a given name, and the Resource Public Key Infrastructure (RPKI) stores information about which organizations have been allocated IP addresses πͺͺ. To offer specialized Internet services and applications, different people rely on these generic records in different ways. So the effects of changes to the databases can be much more difficult to predict than, say, the effect of shutting down a web server (which has the specific purpose of serving web content) π€·ββοΈ.
Although rendezvous services are discussed as a single category, the precise characteristics and implications of blocking each kind of rendezvous service are slightly different. This section gives examples to highlight these differences β¨.
4.3.1. Scope π―
In the case of government-initiated blocking, the operators of servers used to provide rendezvous service that are subject to a specific jurisdiction may be required to block or filter. So it is possible for laws to be structured to result in blocking, by imposing obligations on the operators of rendezvous services within a jurisdiction, either via direct government action or by allowing private actors to demand blocking (e.g., through lawsuits) βοΈ.
The scope of blocking conducted by others will depend on which servers they can access. For example, network operators and enterprises may be capable of conducting blocking using their own DNS resolvers or application proxies within their networks, but not authoritative servers controlled by others π’.
However, if a service is hosted and operated within a jurisdiction where it is considered legitimate, then blocking access at a global rendezvous service (e.g., one within a jurisdiction where it is considered illegitimate) might deny services in jurisdictions where they are considered legitimate π. This type of collateral damage is lessened when blocking is done at a local rendezvous server that only has local impact, rather than at a global rendezvous server with global impact π±.
4.3.2. Granularity π¬
Blocking at a global rendezvous service can be overbroad if the resources blocked support multiple services, since blocking one service can cause collateral damage to legitimate uses of other services π₯. For example, a given address or domain name might host both legitimate services and services that some would desire to block π§Ί.
4.3.3. Efficacy πββοΈ
The distributed nature of the Internet limits the efficacy of blocking based on rendezvous services π. If the Internet community realizes that a blocking decision has been made and wishes to counter it, then local networks can "patch" the authoritative data that a global rendezvous service provides to avoid the blocking. (Although the development of DNSSEC and the RPKI is causing this to change by requiring updates to be authorized π.) In the DNS case, registrants whose names get blocked can relocate their resources to different names π .
Endpoints can also choose not to use a particular rendezvous service πββοΈ. They might switch to a competitor or use an alternate mechanism (for example, IP literals in URIs to circumvent DNS filtering) π¦.
4.3.4. Security and Other Implications β¨
Okay bestie, blocking global rendezvous services comes with a whole pile of side effects π that can make the Internet less stable, less accessible, and less usable. Infrastructure-based blocking can wreck trust in the general Internet and push people toward parallel or "underground" infrastructures, which causes forms of Internet fragmentation, for example π. This risk gets even spicier as security stuff like DNSSEC and RPKI "hardens" the authoritative data π that existing infrastructure services hand out, and that includes blocked names or routes π. People trying to get around the blocks might end up using less-secure but unblocked parallel services π. For the DNS side, RFC 2826 [RFC2826] goes deeper, and so does the advisory [SAC-056] from ICANN's Security and Stability Advisory Committee (SSAC), plus the Internet Society's whitepaper on DNS filtering [ISOCFiltering]. But these worries apply to other global Internet resources too π.
4.3.5. Examples π
Here are a few specific examples for routing, DNS, and WHOIS services π§. They show that these rendezvous services are often treated as a global commons, and that jurisdiction-specific legal and ethical reasons for blocking can cause collateral effects in other jurisdictions. They can also be circumvented thanks to the distributed nature of the Internet π¦.
In 2008, Pakistan Telecom tried to block YouTube inside Pakistan by announcing bogus routes for YouTube address space to peers in Pakistan π¬. The route leak escaped the Pakistani ISP's scope, so YouTube was temporarily denied service globally π. Things were back up in roughly two hours, though, because network operators around the world reconfigured their routers to ignore the bogus routes [RenesysPK]. In the context of SIDR and secure routing, a similar reconfiguration could theoretically happen if a resource certificate were revoked to block routing to a given network π₯.
In the DNS realm, one recent case of U.S. law enforcement seizing domain names involved RojaDirecta, a Spanish web site π€―. Even though several of the affected domain names belonged to Spanish organizations, they were blocked by the U.S. government because certain servers were operated in the United States πΊπΈ.
Government officials required the operators of the parent zones of a target name (e.g., "com" for "example.com") to point queries for that name at a set of U.S.-government-operated name servers ποΈ. Users of other services, like email, under a target name would then be unable to find the servers providing services for that name, so they'd lose access to those services π.
Similar workarounds to the ones used in the Pakistan Telecom case are also available in the DNS case π οΈ. If a domain name is blocked by changing authoritative records, network operators can restore service by extending TTLs on cached pre-blocking records in recursive resolvers, or by statically configuring resolvers to return unblocked results for the affected name. However, depending on the availability of valid signature data, these workarounds will not work with DNSSEC-signed data π.
The action of the Dutch authorities against the RIPE NCC, where RIPE was ordered to freeze the accounts of Internet resource holders, is of a similar character π€. By controlling the account holders' WHOIS information, this limited the ability of the ISPs in question to manage their Internet resources. This one is a little different, though, because it doesn't immediately hit the ISPs' ability to provide connectivity. ISPs use and trust the WHOIS databases to build route filters or to get troubleshooting info, but using them for those purposes is voluntary π§. So seizing things like this may not have any immediate effect on network connectivity, but it can still dent overall trust in the common infrastructure π. It's similar to the other examples because action in one jurisdiction can have broader effects, and because the global system may push networks to build their own autonomous solutions π±.
4.3.6. Summary π
In summary, rendezvous-based blocking can sometimes stop a target service right away by pulling out some of the resources it depends on π§¨. But those actions can cause harmful side effects because Internet resources are global, and lots of application-layer services rely on generic, global databases for rendezvous π€. Internet resources can quickly shift between network locations, names, and addresses, and networks are autonomous, so the effects of rendezvous-based blocking can be negated on short order in some cases π. For some applications, rendezvous services are optional to use, not mandatory π«Ά. Hence, they're only effective when the endpoint or the endpoint's network chooses to use them. They can be routed around by not using the rendezvous service or by migrating to an alternative one π¦. To adapt a quote by John Gilmore: "The Internet treats blocking as damage and routes around it" π.
4.4. Endpoint-Based Blocking πΈ
Internet users and their devices are constantly making decisions about whether to engage in particular Internet communications π€. Users decide whether to click links in suspect emails, browsers warn about sites with suspicious traits, and spam filters check whether senders and messages are legit π΅οΈ. If the hardware and software making these decisions can be told not to engage in certain communications, those communications are effectively blocked, because they never happen π ββοΈ.
Several systems today advise user systems about which communications they should engage in π£. As discussed above, several modern browsers consult "Safe Browsing" services before loading a website to figure out whether it could be harmful π‘οΈ. Spam filtering is one of the oldest types of filtering on the Internet π¬. Modern filtering systems typically use one or more "reputation" or "blacklist" databases to decide whether a message or sender should be blocked π«. These systems typically have a property where many filtering systems (browsers, Mail Transfer Agents (MTAs)) share a single reputation service π€. Even the absence of provisioned PTR records for an IP address may result in email messages not being accepted π.
4.4.1. Scope π―
In an endpoint-based blocking system, blocking actions are performed autonomously, by individual endpoints or their delegates π§. The effects of blocking are usually local in scope, which keeps the splash small for other users and other, legitimate services π«§.
4.4.2. Granularity π
Endpoint-based blocking avoids some of the limitations of rendezvous-based blocking πͺ. Rendezvous-based blocking can only see and affect the rendezvous service at hand (like DNS name resolution), but endpoint-based blocking can potentially see into the entire application, across all layers and transactions π. That visibility can give endpoint-based systems a much richer set of info for making narrow blocking decisions π―. Support for narrow granularity still depends on how the application protocol client and server are designed, though π§©. A typical endpoint-based firewall application may have less ability to make fine-grained decisions than an application that does its own blocking (see [RFC7288] for further discussion) π.
4.4.3. Efficacy π¦
Endpoint-based blocking deals well with mobile adversaries π₯·. If a blocked service relocates resources or uses different resources, a rendezvous- or network-based approach may not be able to affect the new resources (at least not immediately) π΅. A network-based blocking system may not even be able to tell whether the new resources are being used, if the previously blocked service uses secure protocols π. Endpoint-based systems, by contrast, can detect when a blocked service's resources have changed (thanks to their full visibility into transactions) and adjust blocking as quickly as new blocking data can be sent out through a reputation system β‘.
The primary challenge for endpoint-based blocking is that it requires the cooperation of endpoints π€². Where that cooperation is willing, it's a fairly low barrier, requiring only reconfiguration or a software update β . Where cooperation is unwilling, enforcing it across large numbers of endpoints can be challenging π©. That challenge gets worse when the endpoints are a diverse set of static, mobile, or visiting endpoints π. If cooperation can be achieved, though, endpoint-based blocking can be much more effective than other approaches, because it is so coherent with the Internet's architectural principles π.
4.4.4. Security π
Endpoint-based blocking is performed at one end of an Internet communication, so it avoids the problems related to end-to-end security mechanisms that network-based blocking runs into. It also avoids the challenges to global trust infrastructures that rendezvous-based blocking creates π.
4.4.5. Server Endpoints π₯οΈ
So far the focus has been on the consuming side of the end-to-end communication, mostly the client side of a client-server connection π©βπ». But similar considerations apply to the content-producing side too, whether that endpoint is a server in a client-server connection or a peer in a peer-to-peer connection π€.
For blocking web content, narrow targeting can be achieved through whitelisting methods like password authentication, where passwords are available only to authorized clients ποΈ. For example, a web site might only make adult content available to users who provide credit card information, which is assumed to be a proxy for age π³.
The fact that content-producing endpoints often don't take it upon themselves to block particular forms of content in response to requests from governments or other parties can sometimes motivate those parties to block things elsewhere within the Internet π€.
If a service is to be blocked, the best way of doing that is to disable the service at the server endpoint π.
4.4.6. Summary π
Out of the three design patterns, endpoint-based blocking is the least likely to cause collateral damage to Internet services or to the overall Internet architecture π. Endpoint-based blocking systems can potentially see into all layers involved in a communication. That allows blocking to be narrowly targeted and can minimize unintended consequences π. Adversary mobility can be accounted for as soon as reputation systems are updated with new adversary information β‘. One potential drawback is that it requires the endpoint's cooperation. So implementing blocking at an endpoint when it is not in the endpoint's interest is difficult to accomplish, because the endpoint's user can disable the blocking or switch to a different endpoint ππ .
5. Security Considerations πβ¨
Okay bestie, this is the big scary one π. The main security worry with Internet service blocking is what it does to the end-to-end security model that a lot of Internet security protocols rely on. When blocking is enforced by an intermediary for a given communication, the blocking system may need access to confidentiality-protected data so it can make its blocking decisions. Getting that access often means the blocking system has to defeat the authentication mechanisms built into security protocols. Yikes π
For example, some enterprise firewalls dynamically create TLS certificates under a trust anchor that the endpoints being blocked already recognize π. Those certificates let the firewall authenticate as any website, so it can act as a man-in-the-middle on TLS connections passing through it. It's giving external attacker using compromised certificates to intercept TLS connections, and that is not the vibe π¨.
Modifications like these literally make the firewall itself an attack surface. If an attacker gains control of the firewall or compromises the key pair the firewall uses to sign certificates, they get access to the unencrypted data of all current and recorded TLS sessions for all users behind that firewall, and users can't detect it π. And it gets worse: if the compromised key pairs can be extracted from the firewall, every user who relies on that public key is vulnerable, not just the people behind the firewall π©.
We also have to consider that a legitimate administrator of such a firewall could access privacy-sensitive info, like the bank accounts or health records of users who reach secure sites through the firewall π«£. These privacy considerations are a big reason people legitimately use secure end-to-end protocols, and those protocols often make it difficult to enforce granular blocking policies π«Ά.
When blocking systems can't inspect and surgically block secure protocols, it's so tempting to just block the whole protocol π¬. Like, a web blocking system that can't inspect HTTPS connections might simply block any attempted HTTPS connection. But Internet security protocols are commonly used for critical services like online commerce and banking, so blocking them would block access to those services too, or worse, force them to be conducted over insecure communication π.
Security protocols can, of course, also be used as mechanisms for blocking services π§. For example, if a blocking system can insert invalid credentials for one party in an authentication protocol, the other end will typically terminate the connection because of the authentication failure. Still, it's typically way simpler to just block secure protocols than to exploit them for service blocking π .
6. Conclusion π
Filtering is going to keep happening on the Internet, periodt π . Our conclusion is that, whenever possible, filtering should be done on the endpoint π. Cooperative endpoints are the most likely to have enough contextual knowledge to effectively target blocking, so that kind of blocking keeps unintended consequences to a minimum β¨. It's realistic to expect that at times filtering won't be done on the endpoints. In those cases, promptly informing the endpoint that blocking has occurred gives the transparency needed to redress any errors, especially as they relate to collateral damage from errant filters π¦.
Blacklist approaches are often a total "cat and mouse" game π, where the people with the content keep moving it around to dodge blocking. Or the content may even be naturally mirrored or cached at other legitimate sites, like the Internet Archive Wayback Machine [Wayback]. At the same time, whitelists carry similar risks, because sites that had "acceptable" content can become targets for "unacceptable content," and perfectly inoffensive, maybe useful or productive content gets unnecessarily blocked π.
From a technical perspective, there are no perfect or even good solutions -- there is only least bad π. On that front, we posit that a hybrid approach combining endpoint-based filtering with network filtering may prove least damaging π. An endpoint may choose to take part in a filtering regime in exchange for the network providing broader unfiltered access π.
Finally, we note that where filtering is happening to address content that's generally agreed to be inappropriate or illegal, strong cooperation among service providers and governments may provide additional means to identify both the victims and the perpetrators through non-filtering mechanisms π§, like partnerships with the finance industry to identify and limit illegal transactions π.
7. Informative References π
Okay bestie, here's the reading list. It's long, but every single link is a whole vibe π
- [asymmetry] John, W., Dusi, M., and K. Claffy, "Estimating routing symmetry on single links by passive flow measurements", Proceedings of the 6th International Wireless Communications and Mobile Computing Conference, IWCMC '10, DOI 10.1145/1815396.1815506, 2010,
http://www.caida.org/publications/papers/2010/estimating_routing_symmetry/estimating_routing_symmetry.pdf. π¦ - [BlackLists14] Chachra, N., McCoy, D., Savage, S., and G. Voelker, "Empirically Characterizing Domain Abuse and the Revenue Impact of Blacklisting", Workshop on the Economics of Information Security 2014,
http://www.econinfosec.org/archive/weis2014/papers/Chachra-WEIS2014.pdf. πΈ - [BT-TPB] Meyer, D., "BT blocks The Pirate Bay", June 2012,
http://www.zdnet.com/bt-blocks-the-pirate-bay-4010026434/. π΄ββ οΈ - [CleanFeed] Clayton, R., "Failures in a Hybrid Content Blocking System", Fifth Privacy Enhancing Technologies Workshop, PET 2005, DOI 10.1007/11767831_6, 2005,
http://www.cl.cam.ac.uk/~rnc1/cleanfeed.pdf. π§Ό - [GhostClickRIPE] RIPE NCC, "RIPE NCC Blocks Registration in RIPE Registry Following Order from Dutch Police", 2012,
http://www.ripe.net/internet-coordination/news/about-ripe-ncc-and-ripe/ripe-ncc-blocks-registration-in-ripe-registry-following-order-from-dutch-police. π - [IN-OM-filtering] Citizen Lab, "Routing Gone Wild: Documenting upstream filtering in Oman via India", July 2012,
https://citizenlab.org/2012/07/routing-gone-wild/. π - [ISOCFiltering] Internet Society, "DNS: Finding Solutions to Illegal On-line Activities", 2012,
http://www.internetsociety.org/what-we-do/issues/dns/finding-solutions-illegal-line-activities. π - [Malicious-Resolution] Dagon, D., Provos, N., Lee, C., and W. Lee, "Corrupted DNS Resolution Paths: The Rise of a Malicious Resolution Authority", 2008,
http://www.citi.umich.edu/u/provos/papers/ndss08_dns.pdf. π - [Morris] Kehoe, B., "The Robert Morris Internet Worm", 1992,
http://groups.csail.mit.edu/mac/classes/6.805/articles/morris-worm.html. π - [NW08] Marsan, C., "YouTube/Pakistan incident: Could something similar whack your site?", Network World, March 2008,
http://www.networkworld.com/article/2284273/software/youtube-pakistan-incident--could-something-similar-whack-your-site-.html. π - [Poort] Poort, J., Leenheer, J., van der Ham, J., and C. Dumitru, "Baywatch: Two approaches to measure the effects of blocking access to The Pirate Bay", Telecommunications Policy 38:383-392, DOI 10.1016/j.telpol.2013.12.008, 2014,
http://staff.science.uva.nl/~vdham/research/publications/1401-Baywatch.pdf. π - [RenesysPK] Brown, M., "Pakistan hijacks YouTube", February 2008,
http://research.dyn.com/2008/02/pakistan-hijacks-youtube-1/. π¬ - [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, DOI 10.17487/RFC1122, October 1989,
http://www.rfc-editor.org/info/rfc1122. π§± - [RFC1149] Waitzman, D., "Standard for the transmission of IP datagrams on avian carriers", RFC 1149, DOI 10.17487/RFC1149, April 1990,
http://www.rfc-editor.org/info/rfc1149. π¦ - [RFC2826] Internet Architecture Board, "IAB Technical Comment on the Unique DNS Root", RFC 2826, DOI 10.17487/RFC2826, May 2000,
http://www.rfc-editor.org/info/rfc2826. π³ - [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, May 2000,
http://www.rfc-editor.org/info/rfc2827. π‘οΈ - [RFC2979] Freed, N., "Behavior of and Requirements for Internet Firewalls", RFC 2979, DOI 10.17487/RFC2979, October 2000,
http://www.rfc-editor.org/info/rfc2979. π₯ - [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, DOI 10.17487/RFC3261, June 2002,
http://www.rfc-editor.org/info/rfc3261. π - [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March 2004,
http://www.rfc-editor.org/info/rfc3704. π - [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10.17487/RFC4033, March 2005,
http://www.rfc-editor.org/info/rfc4033. π - [RFC4084] Klensin, J., "Terminology for Describing Internet Connectivity", BCP 104, RFC 4084, DOI 10.17487/RFC4084, May 2005,
http://www.rfc-editor.org/info/rfc4084. π - [RFC4301] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, December 2005,
http://www.rfc-editor.org/info/rfc4301. π° - [RFC4924] Aboba, B., Ed. and E. Davies, "Reflections on Internet Transparency", RFC 4924, DOI 10.17487/RFC4924, July 2007,
http://www.rfc-editor.org/info/rfc4924. πͺ - [RFC4948] Andersson, L., Davies, E., and L. Zhang, "Report from the IAB workshop on Unwanted Traffic March 9-10, 2006", RFC 4948, DOI 10.17487/RFC4948, August 2007,
http://www.rfc-editor.org/info/rfc4948. ποΈ - [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007,
http://www.rfc-editor.org/info/rfc4949. π - [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, August 2008,
http://www.rfc-editor.org/info/rfc5246. π - [RFC5782] Levine, J., "DNS Blacklists and Whitelists", RFC 5782, DOI 10.17487/RFC5782, February 2010,
http://www.rfc-editor.org/info/rfc5782. π - [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, February 2012,
http://www.rfc-editor.org/info/rfc6480. πΊοΈ - [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 2012,
http://www.rfc-editor.org/info/rfc6698. π - [RFC6943] Thaler, D., Ed., "Issues in Identifier Comparison for Security Purposes", RFC 6943, DOI 10.17487/RFC6943, May 2013,
http://www.rfc-editor.org/info/rfc6943. π - [RFC7288] Thaler, D., "Reflections on Host Firewalls", RFC 7288, DOI 10.17487/RFC7288, June 2014,
http://www.rfc-editor.org/info/rfc7288. π§± - [RojaDirecta] Masnick, M., "Homeland Security Seizes Spanish Domain Name That Had Already Been Declared Legal", 2011,
http://www.techdirt.com/articles/20110201/10252412910/homeland-security-seizes-spanish-domain-name-that-had-already-been-declared-legal.shtml. πͺπΈ - [SAC-056] ICANN SSAC, "SSAC Advisory on Impacts of Content Blocking via the Domain Name System", October 2012,
http://www.icann.org/en/groups/ssac/documents/sac-056-en.pdf. π£ - [SafeBrowsing] Google, "Safe Browsing API", 2012,
https://developers.google.com/safe-browsing/. β οΈ - [Takedown08] Moore, T. and R. Clayton, "The Impact of Incentives on Notice and Take-down", Workshop on the Economics of Information Security 2008,
http://www.econinfosec.org/archive/weis2008/papers/MooreImpact.pdf. πͺ§ - [Telex] Wustrow, E., Wolchok, S., Goldberg, I., and J. Halderman, "Telex: Anticensorship in the Network Infrastructure",
https://telex.cc/. π¦ - [Tor] "Tor Project: Anonymity Online",
https://www.torproject.org/. π§ - [Wayback] "Internet Archive: Wayback Machine",
http://archive.org/web/. β³
IAB Members at the Time of Approval π§βπ»
Here's the squad that signed off on this one, no cap π
- Jari Arkko
- Mary Barnes
- Marc Blanchet
- Ralph Droms
- Ted Hardie
- Joe Hildebrand
- Russ Housley
- Erik Nordmark
- Robert Sparks
- Andrew Sullivan
- Dave Thaler
- Brian Trammell
- Suzanne Woolf
Acknowledgments π«Ά
Huge thank-yous to the many reviewers who gave helpful comments, especially Bill Herrin, Eliot Lear, Patrik Faltstrom, Pekka Savola, and Russ White. NLnet Labs also gets a shoutout, since it's where Olaf Kolkman worked during most of this document's development πΈ
Authors' Addresses π
Meet the authors, bestie π
Richard Barnes
Richard Barnes
Mozilla
Suite 300
650 Castro Street
Mountain View, CA 94041
United States
Email: rlb@ipv.sx
Alissa Cooper
Alissa Cooper
Cisco
707 Tasman Drive
Milpitas, CA 95035
United States
Email: alcoop@cisco.com
Olaf Kolkman
Olaf Kolkman
Internet Society
Email: kolkman@isoc.org
Dave Thaler
Dave Thaler
Microsoft
One Microsoft Way
Redmond, WA 98052
United States
Email: dthaler@microsoft.com
Erik Nordmark
Erik Nordmark
Arista
Email: nordmark@arista.com
π¦ where this page comes from
- ietf: rfc7754 2016-03
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms