【赛迪网-IT技术报道】2010年1月12日晨7时起,网络上开始陆续出现百度出现无法访问的情况反馈, 12时左右基本恢复正常;18时许百度发布官方版本公告;对事故原因说明为:“因www.baidu.com的域名在美国域名注册商处被非法篡改,导致全球多处用户不能正常访问百度。”黑客所使用的方式就是DNS劫持,那么什么叫DNS,什么又是DNS劫持呢,下面我们就来一一解析。
什么是DNS呢?
网络节点能够被寻址访问的原因,是由于网络节点拥有一个独立身份证,这是由网卡物理地址、IP地址和网络端口组成的一个地址体系。对于以TCP/IP为基础协议的Internet来说,必须找到访问对象的IP地址,才能进行访问,但由于IP地址难于记忆,也不够灵活,Internet规则的制定者发明了一套域名体系与其对应,这就是DNS(域名解析服务)的基础体系。这时用户无需记忆大量的IP地址数字(如202.108.22.5),而能通过域名访问丰富多彩的互联网内容(如www.baidu.com),这给用户带来了极大的方便,但也产生了相关的安全隐患。
方式一:利用DNS服务器进行DDOS攻击
正常的DNS服务器递归询问过程可能被利用成DDOS攻击的。假设攻击者已知被攻击机器的IP地址,然后攻击者使用该地址作为发送解析命令的源地址。这样当使用DNS服务器递归查询后,DNS服务器响应给最初用户,而这个用户正是被攻击者。那么如果攻击者控制了足够多的肉鸡,反复的进行如上操作,那么被攻击者就会受到来自于DNS服务器的响应信息DDOS攻击。下图为攻击原理:
a)攻击者发送控制信号给肉鸡群机器。
b)肉鸡群机器针对这个递归DNS不断的执行这条记录的查询。
c)本地的DNS服务器首先在它的本地表(或缓存)中进行查找“www.antiy.com”,如果找到将其返回客户端,如果没有发现,那么DNS服务器发送一个查询给根服务器,来查询“www.antiy.com”的IP地址。
d)根服务器收到讯息(信息)后会回应“www.antiy.com”顶级域(TLD)服务器的地址。
e)然后由本地的DNS服务器联系顶级域名(TLD)服务器来确定“www.antiy.com”的IP地址。
f)顶级域(TLD)服务器会回应针对“www.antiy.com”的名称的服务器地址。
g)本地DNS服务器联系得到的“www.antiy.com”的名称服务器来确定它的IP地址。
h)递归DNS获得了某域名的IP地址后,把所有信息都回复给源地址,而此时的源地址就是被攻击者的IP地址了。
如果攻击者拥有着足够多的肉鸡群,那么就可以使被攻击者的网络被拖垮至发生中断。利用DNS服务器攻击的重要挑战是,攻击者由于没有直接与被攻击主机进行通讯,隐匿了自己行踪,让受害者难以追查原始的攻击来。相对比较好的解决办法就是可取消DNS服务器中允许人人查询网址的递回(recursive)功能。
方式二:DNS缓存感染
攻击者使用DNS请求,将数据放入一个具有漏洞的的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给用户,从而把用户客户对正常域名的访问引导到入侵者所设置挂马、钓鱼等页面上,或者通过伪造的邮件和其他的server服务获取用户口令信息,导致客户遭遇进一步的侵害。
方式三:DNS信息劫持
原则上TCP/IP体系通过序列号等多种方式避免仿冒数据的插入,但入侵者如果通过监听客户端和DNS服务器的对话,就可以猜测服务器响应给客户端的DNS查询ID。每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。攻击者在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。假设当提交给某个域名服务器的域名解析请求的数据包被截获,然后按截获者的意图将一个虚假的IP地址作为应答信息返回给请求者。这时,原始请求者就会把这个虚假的IP地址作为它所要请求的域名而进行连接,显然它被欺骗到了别处而根本连接不上自己想要连接的那个域名。
方式四:DNS重定向
攻击者如果将DNS名称查询重定向到恶意DNS服务器。那么被劫持域名的解析就完全至于攻击者的控制之下。
方式五:ARP欺骗
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP 木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
ARP欺骗通常是在用户局网中,造成用户访问域名的错误指向,但在IDC机房被入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,而李代桃僵,以使访问导向错误指向的情况。
方式六:本机劫持
在计算机系统被木马或流氓软件感染后可能会出现部分域名的访问异常,如访问挂马或者钓鱼站点、无法访问等情况,本机劫持有hosts文件篡改、本机DNS劫持、SPI链注入、BHO插件等方式,虽然并非都通过DNS环节完成,但都会造成无法按照用户意愿获得正确的地址或者内容的后果。
与DNS相关的一些攻击案例
事件1:百度遇DDOS攻击事件
2006年09月12日17点30分,有北京、重庆等地的网友反映百度无法正常使用,出现“请求超时”(Request timed out)的信息。这次攻击造成了百度搜索服务在全国各地出现了近30分钟的故障。随后,百度技术部门的员工们快速反应,将问题解决并恢复百度服务。9月12日晚上11时37分,百度空间发表了针对不明攻击事件的声明。“今天下午,百度遭受有史以来最大规模的不明身份黑客攻击,导致百度搜索服务在全国各地出现了近30分钟的故障。”
事件2:新网DNS服务器遭到攻击
2006年09月22日,新网对外做出证实DNS服务器遭到大规模黑客攻击,从21日下午4点多开始持续到凌晨12点。尽管目前服务已经恢复正常,但是技术人员正在追踪攻击来源,并分析攻击技术手段。新网是国内最大域名服务商之一,黑客持续8小时的攻击,导致在新网注册30%的网站无法正常访问。其中包括天空软件、艾瑞视点、中国网库等知名网站。
事件3:暴风影音事件
2009年5月18日晚上22点左右,DNSPod主站及多个DNS服务器遭受超过10G流量的恶意攻击。耗尽了整个机房约三分之一的带宽资源,为了不影响机房其他用户,最终导致DNS服务器被迫离线。该事件关联导致了使用DNSPod进行解析的暴风影音程序频繁的发生域名重新申请,产生请求风暴,大量积累的不断访问申请导致各地电信网络负担成倍增加,网络出现堵塞。于2009年5月19日晚21时左右开始,江苏、安徽、广西、海南、甘肃、浙江六省陆续出现大规模网络故障,很多互联网用户出现访问互联网速度变慢或者无法访问网站等情况。在零点以前,部分地区运营商将暴风影音服务器IP加入DNS缓存或者禁止其域名解析,网络情况陆续开始恢复。
总之,DNS劫持并不是什么新鲜事物,也并非无法预防,百度被黑事件的发生再次揭示了全球DNS体系的脆弱性,并说明互联网厂商如果仅有针对自身信息系统的安全预案,就不足以快速应对全面而复杂的威胁。因此,互联网公司应准备两个以上的域名,一旦黑客进行DNS攻击,用户还可以访问另一个域名。第二,互联网应该对应急预案进行进一步修正,强化对域名服务商的协调流程。另外,域名注册商和代理机构近期可能成为集中攻击目标,需要加以防范。最后,国内有关机构之间应该快速建立与境外有关机构的协调和沟通,协助国内企业实现对此事件的快速及时的处理。