域名服务器缓存污染
網域伺服器快取污染(DNS cache pollution)或DNS污染,是指由于防火长城自动执行DNS劫持攻击导致DNS服务器缓存了错误记录的现象。而域名服务器缓存投毒(DNS cache poisoning)和DNS缓存投毒指由防火长城执行的DNS劫持攻击。污染一词可能取自域名系统域名解析之特性,若递归DNS解析器查询上游时收到错误回复,所有下游也会受影响。
缓存污染攻擊
DNS劫持是一类旁观者攻击,攻击者借由其在网络拓扑中的特殊位置,发送比真实的DNS回应更早到达攻击目标的伪造DNS回应。 一部連上了互聯網的電腦一般都會使用互聯網服務供應商提供的递归DNS服务器,這個服务器通常都會將部分客戶曾經請求過的域名暫存起來。快取污染攻擊就是針對這一特性,影響服务器的使用者或下游服務。
中国防火長城
在中國大陆,對所有经过防火長城(英語:Great Firewall,常用簡稱:GFW)的在UDP的53端口上的域名查询进行IDS入侵检测,一經發現與黑名單關鍵詞相匹配的域名查詢請求,會馬上伪装成目标解析服务器注入伪造的查詢结果。攻击仅出现在DNS查询之路由经过防火长城时[註 1]。伪造的查询结果中的IP地址不是一成不变的,在一段时间后会更新。[1][2]
对于TCP协议下的域名查询,防火长城可使用TCP重置攻击的方法进行干扰。
互联网服务提供商
中国大陆的互联网服务提供商经常劫持部分域名,转到自己指定的网站,以提供自己的广告,方式为劫持域名不存在时返回的NXDOMAIN记录(Non-existent domain)返回自己服务器的IP,从而跳转至自己的服务器上显示广告等内容。
2021年,香港於1月起無法訪問網站「香港編年史」,傳媒消息稱警方要求網絡供應商封鎖網站。[3][4]「香港編年史」於1月6日更改IP位址,但再次被封,共用同一IP的網站都無法訪問,包括麻醉科臨床藥理期刊(Journal of Anaesthesiology Clinical Pharmacology, JOACP)及美國機械人科技公司Apptronik。
应对
DNSSEC技术为DNS解析服务提供了解析数据验证机制,理论上可以有效抵御劫持。此外,DNSCrypt、DoT、DoH等方法通过将DNS请求封装于安全连接内,以保护DNS请求中的数据不被中间传输设备篡改。
注释
- 中国大陆用户查询当地的DNS服务器收到错误结果是缓存所致,其并没有直接受到防火长城的DNS劫持攻击。
参考文献
- Anonymous; Arian Akhavan Niaki; Nguyen Phong Hoang; Phillipa Gill; Amir Houmansadr. (PDF). 10th USENIX Workshop on Free and Open Communications on the Internet (FOCI 20). 2020-08-11.
While other countries tend to use NXDOMAIN or reserved IP address space, China’s use of a range of public IP addresses owned by a variety of organizations is notable.
- . 2009-11-27 [2011-02-06]. (原始内容存档于2020-12-14).
- . [2021-01-12]. (原始内容存档于2021-01-15).
- . [2021-01-12]. (原始内容存档于2021-01-12).
外部連結
- 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