域名服务器缓存污染

網域伺服器快取污染（）、DNS污染或DNS劫持，是一种破坏域名系统查询解析的行为，通常由计算机程序自动执行，从而导致DNS服务器缓存错误记录，又称域名服务器缓存投毒（DNS cache poisoning）和DNS缓存投毒。污染一词可能取自域名系统域名解析之特性，若递归DNS解析器查询上游时收到错误回复，所有下游也会受影响。

这些篡改可能是出于恶意目的，例如网络钓鱼；也可能是出于互联网服务提供商（ISP）的自身目的，例如防火长城以及公共或路由器提供的DNS服务提供商将用户的网络流量引导至ISP自己的web服务器，以便投放广告、收集统计数据或实现ISP的其他目的；还可能是DNS服务提供商为了阻止对特定域名的访问而采取的一种审查形式。

 缓存污染攻擊 

DNS劫持是一类旁观者攻击，攻击者借由其在网络拓扑中的特殊位置，发送比真实的DNS回应更早到达攻击目标的伪造DNS回应。
一部連上了互聯網的電腦一般都會使用互聯網服務供應商提供的递归DNS服务器，這個服务器通常都會將部分客戶曾經請求過的域名暫存起來。快取污染攻擊就是針對這一特性，影響服务器的使用者或下游服務。

 中国防火長城 
防火长城向查询zh.wikipedia.org的DNS请求注入伪造回复（使用dig测试）|thumb
在中國大陆，對所有经过防火長城（英語：Great Firewall，常用簡稱：GFW）的在UDP的53端口上的域名查询进行IDS入侵检测，一經發現與黑名單關鍵詞相匹配的域名查詢請求，會馬上伪装成目标解析服务器注入伪造的查詢结果。攻击仅出现在DNS查询之路由经过防火长城时。伪造的查询结果中的IP地址不是一成不变的，在一段时间后会更新。

对于TCP协议下的域名查询，防火长城可使用TCP重置攻击的方法进行干扰。

 流氓DNS服务器 

流氓DNS服务器将用户期望访问的网站域名（例如搜索引擎、银行、经纪公司等）解析为包含非预期内容，甚至是恶意网站的IP地址。大多数用户依赖于由其互联网服务提供商自动分配的 DNS 服务器。路由器分配的DNS服务器也可以通过远程利用路由器固件中的漏洞来更改。当用户尝试访问网站时，他们会被重定向到一个虚假网站。这种攻击被称为域名劫持。如果他们被重定向到的网站是一个恶意网站，伪装成合法网站，目的是欺诈性地获取敏感信息，则称为网络钓鱼。

 互联网服务提供商 
中国大陆的互联网服务提供商经常劫持部分域名，转到自己指定的网站，以提供自己的广告，方式为劫持域名不存在时返回的NXDOMAIN记录（Non-existent domain）返回自己服务器的IP，从而跳转至自己的服务器上显示广告等内容。

2021年，香港於1月起無法訪問網站「香港編年史」，傳媒消息稱警方要求網絡供應商封鎖網站。「香港編年史」於1月6日更改IP位址，但再次被封，共用同一IP的網站都無法訪問，包括麻醉科臨床藥理期刊（Journal of Anaesthesiology Clinical Pharmacology, JOACP）及美國機械人科技公司Apptronik。

 应对 

Hosts文件可用于在本地处理域名和IP的转换，不必请求DNS解析器，也就不会被中间设备劫持。

DNSSEC技术为DNS解析服务提供了解析数据验证机制，理论上可以有效抵御劫持。此外，DNSCrypt、DoT、DoH等方法通过将DNS请求封装于安全连接内，以保护DNS请求中的数据不被中间传输设备篡改。

 注释 

 参考文献 

 參見 
 名称服务器
 根域名伺服器
 DNSSEC
 金盾工程
 防火長城

 外部連結 

 BIND 9 DNS Cache Poisoning - Discovered by Amit Klein (Trusteer)
 Predictable transaction IDs in Microsoft DNS server allow cache poisoning
 SANS DNS cache poisoning update
 DNS Threats & Weaknesses: research and presentations
 Blocking Unwanted Domain Names Creative Usage of the Hosts File
 Security-Database Tools Watch PorkBind Scanner for 13 DNS Flaws including the DNS Poisoning
 Movie explaining DNS Cache Poisioning

Category:网络安全
緩存污染
Category:保全漏洞