域名服務器緩存投毒(DNS cache poisoning),又名域名服務器緩存污染(DNS cache pollution),是指一些刻意製造或無意中製造出來的域名服務器封包,把域名指往不正確的IP位址。一般來說,外間在互聯網上一般都有可信賴的域名服務器,但為減免網絡上的交通,一般的域名都會把外間的域名服務器資料暫存起來,待下次有其他機器要求解析域名時,可以立即提供服務。一旦有關網域的局域域名服務器的緩存受到污染,就會把網域內的電腦導引往錯誤的服務器或伺服器的網址。
域名服務器緩存污染可能是透過域名服務器軟件上的設計錯誤而產生,但亦可能由別有用心者透過研究開放架構的域名服務器系統來利用當中的漏洞。
為防止局域的域名服務器緩存污染除了要定時更新服務器的軟件以外,可能還需要人手改動某些設定,以提高服務器對可疑的域名封包作出篩選[1]。
一个比较特别的例子是Google+的域名 plus.google.com 被污染到Google自己的服务器 74.125.127.102、74.125.155.102、 74.125.39.113 还有 209.85.229.138 上以封锁ip地址的形式进行封锁
IPv6隧道则会被污染到 1.1.1.1 和 255.255.255.255
域名服務器緩存污染可能是透過域名服務器軟件上的設計錯誤而產生,但亦可能由別有用心者透過研究開放架構的域名服務器系統來利用當中的漏洞。
為防止局域的域名服務器緩存污染除了要定時更新服務器的軟件以外,可能還需要人手改動某些設定,以提高服務器對可疑的域名封包作出篩選[1]。
目录 |
緩存污染攻擊
一般來說,一部連上了互聯網的電腦都會使用互聯網服務供應商提供的域名服務器。這個服務器一般只會為供應商的客戶來服務,通常都會儲蓄起部分客戶曾經請求過的域名的緩存。緩存污染攻擊就是針對這一種服務器,以影響服務器的用戶或下游服務。中国防火長城
在中國大陆,對於所有经过防火長城的在UDP的53端口上的域名查询进行IDS入侵检测,一經發現與黑名單關鍵詞相匹配的域名查詢請求,其會馬上伪装成目标域名的解析服务器给查询者返回虚假结果。由于通常的域名查询没有任何认证机制,而且域名查詢通常基于的UDP協議是无连接不可靠的协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。[2]- 对于不了解相关知识的网民来说也就是,由于系统默认使用的ISP提供的域名查詢服務器查询国外的权威服务器时即被防火長城被污染,使其缓存受到污染,因而默认情况下查询ISP的服务器就会获得虚假IP地址;而用户直接查询境外域名查詢服務器(比如 Google Public DNS)有可能會被防火長城污染,从而在没有任何防范机制的情况下仍然不能获得目標網站正确的IP地址。[2]
- 防火长城暂时未对TCP协议下的域名查询进行污染,故现在能通过强制使用TCP协议查询真实的IP地址:Windows下打开命令提示符, 输入nslookup -vc 要查询的域名 境外DNS服务器的IP地址(必须支持TCP协议查询,否则不会返回查询结果),回车後能返回正确的目标服务器IP地址。而现实的情况是,防火长城对於真 实的IP地址也可能会采取其它的手段进行封锁,故能否真正访问可能还需要其它翻墙的手段。
虚假IP地址
根据互联网上长期收集到的污染目标IP地址列表,防火长城会将黑名单内的域名污染到不限于以下列表的IP地址:[3]- 4.36.66.178
- 8.7.198.45
- 37.61.54.158
- 46.82.174.68
- 59.24.3.173
- 64.33.88.161
- 64.33.99.47
- 64.66.163.251
- 65.104.202.252
- 65.160.219.113
- 66.45.252.237
- 72.14.205.99
- 72.14.205.104
- 78.16.49.15
- 93.46.8.89
- 128.121.126.139
- 159.106.121.75
- 169.132.13.103
- 192.67.198.6
- 202.106.1.2
- 202.181.7.85
- 203.98.7.65
- 203.161.230.171
- 207.12.88.98
- 208.56.31.43
- 209.36.73.33
- 209.145.54.50
- 209.220.30.174
- 211.94.66.147
- 213.169.251.35
- 216.221.188.182
- 216.234.179.13
- 243.185.187.39
IPv6隧道则会被污染到 1.1.1.1 和 255.255.255.255
污染攻击大事记
- 2010年3月,当美国和智利的用户试图访问热门社交网站如facebook.com和youtube.com还有twitter.com等域 名,他们的域名查询请求转交给中国控制的DNS根镜像服务器处理,由于这些网站在中国被封锁,结果用户收到了错误的DNS解析信息,这意味着防火长城的 DNS域名污染域名劫持已影响国际互联网。
- 2010年4月8日,中国大陆一个小型ISP的错误路由数据,经过中国电信的二次传播,扩散到了整个国际互联网,波及到了AT&T、Level3、Deutsche Telekom、Qwest Communications和Telefonica等多个国家的大型ISP。
- 2012年11月9日下午3点半开始,防火长城对Google的泛域名 .google.com 进行了大面积的污染,所有以 .google.com 结尾的域名均遭到污染而解析错误不能正常访问,其中甚至包括不存在的域名,而Google为各国定制的域名也遭到不同程度的污染(因为Google通过使用CNAME记录来平衡访问的流量,CNAME记录大多亦为 .google.com 结尾),但Google拥有的其它域名如 .googleusercontent.com 等则不受影响。有网友推测这也许是自防火长城创建以来最大规模的污染事件,而Google被大面积阻碍连接则是因为中共正在召开的十八大 。
參見
參考資料
- ^ 1.0 1.1 如何防止 DNS 快取侵害. Microsoft 技術支援服務. 2007-02-28 [2008-08-21].
- ^ 2.0 2.1 深入了解GFW:DNS污染. 2009-11-27 [2011-02-06].
- ^ GFW DNS 污染 IP 列表. 2010-01-06.
外部連結
- 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
- Dnsstuff.com's DNS Vulnerability Check Test to see if you are Vulnerable
- Security-Database Tools Watch PorkBind Scanner for 13 DNS Flaws including the DNS Poisoning
- Movie explaining DNS Cache Poisioning