> For the complete documentation index, see [llms.txt](https://sliu583.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sliu583.gitbook.io/blog/networking/index/cs-268-adv-network/ethics/the-collateral-damage-of-internet-censorship-by-dns-injection.md).

# The collateral damage of internet censorship by DNS injection

### Summary

* Great Firewall of China injects DNS responses to restrict access to domain names&#x20;
* This affects traffic originating outside China&#x20;
  * 26.4% of open resolvers affected&#x20;
  * .de is the most affected TLD (70% of open resolvers in kr)&#x20;
* Explain how, where, and why this happens&#x20;
* Present several possible solutions&#x20;
* Restricting access to computers outside China&#x20;

<figure><img src="/files/6WUPPzNVdcGZco0GmUXk" alt=""><figcaption><p>DNS Explain </p></figcaption></figure>

<figure><img src="/files/Puk7bhp3illUPmUaw3Kw" alt=""><figcaption><p>DNS Injection</p></figcaption></figure>

* DNS injection&#x20;
  * Affects both inbound and outbound queries&#x20;
  * Typically does not suppress "correct" response, wins the race to respond&#x20;
  * Query to Chinese AS --> respond a different IP address \[injected responses]&#x20;

### Methodology

* HoneyQueries: detect autonomous system paths to whom see DNS injection
  * DNS query to sensitive domains, sent to unresponsive IP&#x20;
  * Assumptions: all observed DNS responses are from DNS injectors&#x20;
  * Sent from a single vantage point (AS 40676)
  * 14 million IPs that cover /24 subnets
  * Paths spread to discover all injecting autonomous systems&#x20;
  * Record IPs in responses: lemon IPs&#x20;
  * ![](/files/JhOzbvWd7dIL35PSWKPU)
  * ![](/files/8DgEdowqC8sLZQpuBoFp)
* TraceQueries: identify location of injectors on affected paths
  * ![](/files/GxepgiGKcyKupZjBq6QN)
  * ![](/files/Efx9FSNc4UqchErAt6hC)
  * ![](/files/SlcMy8LIuHS7c7ohmxC3)
    * TCP-based queries will not be injected against&#x20;
* StepNXQueries: measure collateral damage of DNS injection&#x20;
  * ![](/files/ovUPInh8nLF31Errjy76)
  * Who's affected&#x20;
    * ![](/files/rTknWppgZTq7Ov6LiX0p)
    * This is surprising!&#x20;
    * Whose resolvers?&#x20;
      * ![](/files/2gaomJDnFDJpO5dzqhLl)
  * Details&#x20;
    * ![](/files/03glBHSSHJUsS3oQtWiF)
    * ![](/files/1IhltezahYekRLVIdjYu)
* Solutions&#x20;
  * DNS injectors could filter out transit queries&#x20;
  * Autonomous systems could avoid transit through injecting neighbors&#x20;
    * Particularly, TLD operators could monitoring peering paths&#x20;
  * Security extensions for DNS (DNSSEC) prevent injection&#x20;
    * DNSSEC has signed responses&#x20;
    * Resolvers would reject injected responses, accept slower ones from authoritative servers
    * .de and .kr both support DNSSEC&#x20;
* Conclusion
  * ![](/files/eDFy2IPIh0UNdQo8YFic)
