域名服务器缓存污染

3/3/2017来源:C/C++教程人气:2211

                              域名服务器缓存污染

维基百科,自由的百科全书 (重定向自DNS污染)

域名服务器缓存污染可能是因为域名服务器软件的设计错误而产生,但亦可能由别有用心者透过研究开放架构的域名服务器系统来利用当中的漏洞。域名服务器缓存污染(DNS cache pollution),又称域名服务器缓存投毒(DNS cache poisoning),是指一些刻意制造或无意中制造出来的域名服务器封包,把域名指往不正确的ip地址。一般来说,在互联网上都有可信赖的域名服务器,但为减低网络上的流量压力,一般的域名服务器都会把从上游的域名服务器获得的解析记录暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有关域名的局域域名服务器的缓存受到污染,就会把域名内的电脑导引往错误的服务器或服务器的网址。

透过变更Windows 2003的某些域名封包设定,可以摒除有可疑的封包。[1]

为防止局域的域名服务器缓存污染除了要定时更新服务器的软件以外,可能还需要人手变更某些设定,以控制服务器对可疑的域名封包作出筛选。[1]

目录

  [隐藏]  1缓存污染攻击 1.1中国防火长城 1.1.1IPv4环境1.1.2IPv6环境1.1.3污染攻击大事记 1.2ISP域名劫持

缓存污染攻击[编辑]

一般来说,一部连上了互联网的电脑都会使用互联网服务供应商提供的域名服务器。这个服务器一般只会服务供应商的客户,通常都会将部分客户曾经请求过的域名暂存起来,这种服务器被称为非权威服务器,其应答称非权威应答。缓存污染攻击就是针对这一种服务器,以影响服务器的使用者或下游服务。

中国防火长城[编辑]

在中国大陆,对所有经过防火长城的在UDP的53端口上的域名查询进行IDS入侵检测,一经发现与黑名单关键词相匹配的域名查询请求,会马上伪装成目标域名的解析服务器返回虚假的查询结果。由于通常的域名查询没有任何认证机制,而且域名查询通常基于无连接不可靠的UDP协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。[2]

对于不了解相关知识的网民来说,由于系统默认使用的ISP提供的域名查询服务器查询国外的权威服务器时即被防火长城污染,进而使其缓存受到污染,因此默认情况下查询ISP的服务器就会获得虚假IP地址;而用户直接查询境外域名查询服务器(比如 Google Public DNS)时有可能会直接被防火长城污染,从而在没有任何防范机制的情况下仍然不能获得目标网站正确的IP地址。[2] 因为TCP连接的机制可靠,防火长城理论上未对TCP协议下的域名查询进行污染,故现在能透过强制使用TCP协议查询真实的IP地址。而现实的情况是,防火长城对于真实的IP地址也可能会采取其它的手段进行封锁,或者对查询行为使用连接重置的方法进行拦截,故能否真正访问可能还需要其它翻墙的手段。 根据互联网上长期收集到的污染目标的虚假IP地址列表,防火长城会将黑名单内的域名重新导向至不限于以下列表的IP地址:[3]

IPv4环境[编辑]

4.36.66.1788.7.198.4523.89.5.6037.61.54.15846.82.174.6849.2.123.5654.76.135.159.24.3.17364.33.88.16164.33.99.4764.66.163.25165.104.202.25265.160.219.11366.45.252.23772.14.205.9972.14.205.10477.4.7.9278.16.49.1593.46.8.89118.5.49.6128.121.126.139159.106.121.75169.132.13.103185.85.13.155188.5.4.96189.163.17.5192.67.198.6197.4.4.12202.106.1.2202.181.7.85203.98.7.65203.161.230.171207.12.88.98208.56.31.43209.36.73.33209.145.54.50209.220.30.174211.94.66.147213.169.251.35216.221.188.182216.234.179.13243.185.187.39249.129.46.48253.157.14.165

一个比较特别的例子是 Google+ 的域名 plus.google.com 被重新导向至Google自己的服务器以封锁IP地址的形式进行封锁:

74.125.31.11374.125.39.10274.125.39.11374.125.127.10274.125.130.4774.125.155.102209.85.229.138210.242.125.20

一个比较特别的例子是 YouTube 影片服务器的域名 r*.googlevideo.com 还拥有一份特别的投毒污染地址列表:

0.0.0.02.1.1.24.193.80.08.105.84.012.87.133.016.63.155.020.139.56.024.51.184.028.121.126.13928.13.216.046.20.126.25246.38.24.20961.54.28.666.206.11.19474.117.57.13889.31.55.106113.11.194.190118.5.49.6122.218.101.190123.50.49.171123.126.249.238125.230.148.48127.0.0.2173.201.216.6203.199.57.81208.109.138.55211.5.133.18211.8.69.27213.186.33.5216.139.213.144221.8.69.27243.185.187.3243.185.187.30

IPv6环境[编辑]

1.1.1.11.2.3.410.10.10.1020.20.20.20255.255.255.255 ::90xx:xxxx:0:010::222221:2::2101::12342001::2122001:DA8:112::21AE2003:FF:1:2:3:4:5FFF:xxxx2123::3E12200:2:253d:369e::200:2:4e10:310f::200:2:2e52:ae44::200:2:807:c62d::200:2:cb62:741::200:2:f3b9:bb27::200:2:5d2e:859::200:2:9f6a:794b::200:2:3b18:3ad::

污染攻击大事记[编辑]

2010年3月,当美国和智利的用户试图访问热门社交网站如facebook.com和youtube.com还有twitter.com等域名,他们的域名查询请求转交给中国控制的DNS根镜像服务器处理,由于这些网站在中国被封锁,结果用户收到了错误的DNS解析信息,这意味着防火长城的DNS域名污染域名劫持已影响国际互联网。 2010年4月8日,中国大陆一个小型ISP的错误路由数据,经过中国电信的二次传播,扩散到了整个国际互联网,波及到了AT&T、Level3、Deutsche Telekom、Qwest Communications和Telefónica等多个国家的大型ISP。 2012年11月9日下午3点半开始,防火长城对Google的泛域名 .google.com 进行了大面积的污染,所有以 .google.com 结尾的域名均遭到污染而解析错误不能正常访问,其中甚至包括不存在的域名,而Google为各国定制的域名也遭到不同程度的污染(因为Google通过使用CNAME记录来平衡访问的流量,CNAME记录大多亦为 .google.com 结尾),但Google拥有的其它域名如 .googleusercontent.com 等则不受影响。有网友推测这也许是自防火长城创建以来最大规模的污染事件,而Google被大面积阻碍连接则是因为中共正在召开的十八大。 2014年1月21日下午三点半,中国互联网顶级域名解析不正常,出错网站解析到的网址是65.49.2.178,这个IP位于美国加利福尼亚州费利蒙市Hurricane Electric公司,被Dynamic Internet Technology(即自由门的开发公司)租用于翻墙软件连接节点[4]。2015年1月2日起,污染方式升级,不再是解析到固定的无效IP,而是随机地指向境外的有效IP。刚开始只是对YouTube影片域名(*.googlevideo.com)进行处理,之后逐渐扩大到大多数被污染的域名。[5]这导致了境外服务器遭受来自中国的DDoS攻击,部分网站因此屏蔽中国IP。[6]2016年3月29日起,防火长城针对Google升级了污染方式。在一开始升级过后,所有包含google, Gmail等关键词的域名查询均被污染,导致很多用户一时间完全无法正常使用Gmail服务。之后,防火长城对规则进行了调整。其中,对于*.google.com域名污染主域名(google.com,不包括www)及部分服务域名(drive.google.com, plus.google.com等),而针对地区域名则选择性地污染泛域名(*.google.com.hk, *.google.co.kr, *.google.ru等),其他地区的域名则不受影响(*.google.us等)。[7]目前污染方式已恢复为解析到固定的无效IP,并且 twitter youtube google 等网站均使用泛解析方式域名污染。

ISP域名劫持[编辑]

中国电信在当用户输入错误或无法解释的网址时就会显示旗下互联星空114网站。此乃2007年劫持Bloglines时的画面。

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