骑猪兜风

网络环境知识:DNS污染和DNS劫持之间的区别

骑猪兜风 2016-10-22 13:17:58    201679 次浏览

首先我们说一下“墙:防火长城”,它是由 互联网科学家(比如:方滨兴)、工作人员、五毛、分布式超级计算机、三大运营商组成的。

我们可以看到,墙并不是一个独立的单独存在的一个组织,而是由国内各领域的互联网重要结构组成的。

互联网科学家:专门研究如何低成本高效率的更有效的过滤审核。 工作人员:一些非机器替代的人工操作,比如人工审核。 五毛:五毛。 分布式超级计算机:要知道每一秒经过大陆各国际出口经过的流量是非常庞大的,需要很多超级计算机进行运算过滤。 三大运营商:这个是最重要的组成部分,没有运营商的支持,墙就是个屁。大陆各国际出口都是三大运营商建立和控制的,如果他们不点头,墙又如何在“大门口”(国际宽带出口处)建立“过滤审核检查站”,当然运营商也是国家控制的,所以还是一家人。

所以,墙就相当于在 大陆的各个国际宽带出口处建立的 过滤审核检查站。

还有我发现一个很有趣的事情,很多人以为只有中国和朝鲜存在墙,这很无知。

如果你把 屏蔽Google、Facebook、Youtube、Twitter的国家 就当作这个国家存在墙的话,那我无话可说。

墙或者说 互联网防火长城,是任何一个拥有互联网主权国家的必备组成。

我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致网民使用正常的上网设置无法通过域名解析出正确的IP地址。常用的手段有:DNS劫持和DNS污染

什么是DNS劫持

DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。

DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。

什么是DNS污染

DNS污染是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。

其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改, 通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。

DNS污染指的是用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。为了减免网络上的交通,一般的域名都会把外间的域名服务器数据暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有关网域的局域域名服务器的缓存受到污染,就会把网域内的电脑导引往错误的服务器或服务器的网址。

DNS受污染的途径主要要有两种:

① 是攻击者监测到DNS查询的请求报文时,伪装成DNS服务器向发出请求主机发送响应报文。

      因为DNS报文通常是无连接的UDP报文,没有确认机制,源主机不能识别出这个报文并非出自DNS服务器。攻击者       并不需要丢弃真正DNS服务器发回来的响应报文,因为DNS的机制会导致源主机只接受最先到达的响应报文(甚至       不管是谁发的)而忽略后继到达的其他报文。这样,源主机得到的就是攻击者伪造的域名解析结果。

② 是本地DNS服务器的缓存已受到污染,里面缓存的是错误的结果。      

DNS服务器通常将DNS查询的结果缓存在本地一段时间,这本意是为了减少重复DNS查询,从而降低DNS报文占用      的网络带宽。可如果某次DNS查询的结果受到污染,则后继一段时间内向该DNS服务器查询的结果都会受到污染。

污染攻击大事记

2010年3月,当美国和智利的用户试图访问热门社交网站如http://facebook.com和http://youtube.com还有http://twitter.com等域名,他们的域名查询请求转交给中国控制的DNS根镜像服务器处理,由于这些网站在中国被封锁,结果用户收到了错误的DNS解析信息,这意味着防火长城的DNS域名污染域名劫持已影响国际互联网。

2010年4月8日,中国大陆一个小型ISP的错误路由数据,经过中国电信的二次传播,扩散到了整个国际互联网,波及到了AT&T、Level3、Deutsche Telekom、Qwest Communications和Telefonica等多个国家的大型ISP。2012年11月9日下午3点半开始,防火长城对Google的泛域名 .http://google.com 进行了大面积的污染,所有以 .http://google.com 结尾的域名均遭到污染而解析错误不能正常访问,其中甚至包括不存在的域名,而Google为各国定制的域名也遭到不同程度的污染(因为Google通过使用CNAME记录来平衡访问的流量,CNAME记录大多亦为 .http://google.com 结尾),但Google拥有的其它域名如 .http://googleusercontent.com 等则不受影响。有网友推测这也许是自防火长城创建以来最大规模的污染事件,而Google被大面积阻碍连接则是因为18大 。

而DNS污染则是发生在用户请求的第一步上,直接从协议上对用户的DNS请求进行干扰。

DNS污染症状:目前一些被禁止访问的网站很多就是通过DNS污染来实现的,例如YouTube、Facebook等网站。

解决方法

对于DNS劫持,可以采用使用国外免费公用的DNS服务器解决。例如OpenDNS(208.67.222.222)或GoogleDNS(8.8.8.8)。

对于DNS污染,可以说,个人用户很难单单靠设置解决,通常可以使用VPN,SSH Socket代理或者域名远程解析的方法解决,但这大多需要购买付费的VPN或SSH等,也可以通过修改Hosts的方法,手动设置域名正确的IP地址。

HTTP劫持

HTTP劫持很容易理解,因为HTTP传输协议是明文的,并且网站服务器是在海外,要访问外国网站就要通过中国的国际宽带出口,出去与网站建立连接。

但是那G20期间因为戒严,所以加强了HTTP关键词审查,我的网站也是因为关键词的原因在经过出口的时候,被“检查站:墙”扫描到了违规关键词,于是掐断了TCP链接。

所以当时用户访问网站会遇到:链接已重置、该网站已永久移动到其他地址等等

解决方法

而HTTP劫持很容易解决,那就是加上SSL证书,网站链接全部内容加密,这样“检查站:墙”就无法解密数据分析关键词了。

但是这不是绝对能解决这个问题的,如果你的网站只是误杀或者违规擦边球,那还好,如果是大型网站,就会特殊对待了。

HTTPS在建立加密连接的时候,需要一次握手,也就是达成链接协议建立加密连接,但是这次握手是明文的(建立加密链接首先就是链接双方信任,比如网站的SSL证书是自己签的,或者SSL证书到期或伪造的,在访问这个网站的时候浏览器就会进行提示,表示此网站不安全啥的。)

握手是明文的就意味着,如果你的域名被重点关注,即使你加上了SSL证书,也会在首次握手的时候,被关键词匹配然后掐断链接。

还有一种方式,就是域名备案,使用国内服务器。这样用户在访问你的网站时,根本不需要经过墙,自然也没有了拦截。

网络环境知识:DNS污染和DNS劫持之间的区别

网络环境知识:DNS污染和DNS劫持之间的区别

总结

DNS劫持就是指用户访问一个被标记的地址时,DNS服务器故意将此地址指向一个错误的IP地址的行为。范例,网通、电信、铁通的某些用户有时候会发现自己打算访问一个地址,却被转向了各种推送广告等网站,这就是DNS劫持。

DNS污染,指的是用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。范例,访问Youtube、Facebook之类网站等出现的状况。

内容加载中