研发组老李 发表于 2010-1-13 08:58

安天实验室:112百度域名劫持事件关联分析报告

2010年1月12日22点独家发布(1月13日凌晨4:00第2次更新)(1月13日14:07第3次更新)
目录




1、事件概述

发生时间

相关现象

事件的初步定性

2、DNS原理及域名的管理

什么是DNS

国际域名的管理体系

DNS解析的基本原理

3、DNS相关的安全威胁和案例

利用DNS服务器进行DDOS攻击

DNS缓存感染

DNS信息劫持

DNS重定向

ARP欺骗

本机劫持

与DNS相关的一些攻击案例

4、百度攻击事件分析

5、结论与建议

研发组老李 发表于 2010-1-13 09:10

1、 事件概述

发生时间
2010年1月12日晨7时起,网络上开始陆续出现百度出现无法访问的情况反馈, 12时左右基本恢复正常;18时许百度发布官方版本公告;对事故原因说明为:“因www.baidu.com的域名在美国域名注册商处被非法篡改,导致全球多处用户不能正常访问百度。”
相关现象
1、在整个事件期间百度顶级域名baidu.com及旗下全部二级域名访问都出现异常,在较长的时间全部被解析到位于荷兰的IP地址188.95.49.6。但通过IP入口(如http://202.108.22.5/),其他顶级域下的域名入口如baidu.hk等可以正常访问。
在访问百度过程中先后出现过不同现象:
   跳转至伊朗网军(IRANIAN CYBER ARMY)页面。
   跳转至雅虎错误页面。
不能正常访问等


跳转到雅虎错误页面:

2、在此期间查询baidu whois信息可以发现异常,并有被不止一次修改的迹象。

事件的初步定性
安天CERT在今早九时对事件作出定性,此事件为通过whois信息篡改实施的DNS劫持类攻击,并将有关初始分析报告和结论向关联CERT机构进行了提交。

研发组老李 发表于 2010-1-13 09:13

2、 DNS原理及域名的管理

什么是DNS
网络节点能够被寻址访问的原因,是由于网络节点拥有一个独立身份证,这是由网卡物理地址、IP地址和网络端口组成的一个地址体系。对于以TCP/IP为基础协议的Internet来说,必须找到访问对象的IP地址,才能进行访问,但由于IP地址难于记忆,也不够灵活,Internet规则的制定者发明了一套域名体系与其对应,这就是DNS(域名解析服务)的基础体系。这时用户无需记忆大量的IP地址数字(如202.108.22.5),而能通过域名访问丰富多彩的互联网内容(如www.baidu.com),这给用户带来了极大的方便,但也产生了相关的安全隐患。
国际域名的业务体系
域名体系管理是由ICANN组织进行的,其下有多家顶级域名注册商,而注册商下又可能有多级代理商。
DNS解析的基本原理

DNS服务的工作原理:

上图是用户访问一个域名后,通过本地DNS服务器发出递归查询请求的流程图,然而大多数DNS服务器都是可以处理递归查询,通过询问其他服务器和提供响应给发出请求的用户,进而利用递归式DNS来为客户端提供域名解析的答案。以下为它的执行流程:
a)        一个用户在浏览器中输入www.antiy.com。首先计算机询问它的本地DNS服务器,以确定www.antiy.com的IP地址。
b)        本地的DNS服务器首先在它的本地表(或缓存)中进行查找“www.antiy.com”,如果找到那么将其返回客户端,如果没有发现,那么DNS服务器发送一个查询给根服务器,来查询“www.antiy.com”的IP地址。
c)        根服务器收到信息后会回应“www.antiy.com”顶级域(TLD)服务器的地址。
d)        然后由本地的DNS服务器联系顶级域名(TLD)服务器来确定“www.antiy.com”的IP地址。
e)        顶级域(TLD)服务器会回应针对“www.antiy.com”的名称的服务器地址。
f)        本地DNS服务器联系得到的“www.antiy.com”的名称服务器来确定它的IP地址。
g)        本地DNS服务器发送这个响应给最初的用户:www.antiy.com=222.171.15.74

研发组老李 发表于 2010-1-13 09:16

3、DNS相关的安全威胁和案例

利用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缓存或者禁止其域名解析,网络情况陆续开始恢复。

研发组老李 发表于 2010-1-13 09:20

4、百度攻击事件分析

百度被攻击前和攻击后的相关信息对比如下:

被攻击前被攻击后
Domain Name: BAIDU.COM
Registrar: REGISTER.COM, INC.
Whois Server: whois.register.com
Referral URL: http://www.register.com

Updated Date: 03-dec-2008
Creation Date: 11-oct-1999Expiration Date: 11-oct-2014   Domain Name: BAIDU.COM
Registrar: REGISTER.COM, INC.
Whois Server: whois.register.com
Referral URL: http://www.register.com

Updated Date: 12-jan-2010
Creation Date: 11-oct-1999
Expiration Date: 11-oct-2014

百度攻击事件前baidu.com最后修改的时间是2008年12月3号,到期日期是2014年8月11号。
百度攻击事件后修改的时间变为是2010年的1月12号。

    有关涉及到域名解析的whois信息在此过程中曾被进行多次修改,其中可证实的包括。

Name Server
Name Server: YNS1.YAHOO.COMName Server: YNS2.YAHOO.COM
Name Server: NS2303.HOSTGATOR.COMName Server: NS2304.HOSTGATOR.COM


根据有关whois信息查询,百度的域名注册服务商是register.com,是一家顶级域名注册机构。
百度Whois 信息如下:

对whois.register.com 与www.register.com 的IP获取如下:
whois.register.com IP: 216.21.239.106
www.register.com   IP: 216.21.239.101
两台IP服务器位于同一个网段。

通过有关信息可以对有关网络传闻作出如下结论
1、      百度域名到期日为2014年10月14日,可以明确排除百度因域名未续费导致异常的传闻。
2、      百度域名异常期间,可以验证其主站及其他2级域名可以按照如下IP规则进行访问并获得正常搜索结果。

内容异常域名可以正常访问的IP地址
百度首页www.baidu.com http://202.108.22.5
百度新闻news.baidu.comhttp://61.135.163.87
百度贴吧tieba.baidu.comhttp://61.135.163.220
百度知道zhidao.baidu.comhttp://61.135.163.85
百度mp3mp3.baidu.comhttp://61.135.163.89
百度图片image.baidu.comhttp://61.135.163.93
百度视频video.baidu.comhttp://61.135.163.91

可以排除百度自身信息系统因遭遇故障导致问题的可能。
3、可以确认百度域名访问异常的核心原因是百度域名服务商register.com遭到攻击 ,导致其whois系统向全球DNS体系提供了错误的域名解析服务器导致。但攻击register.com的具体方法尚难推定。初步分析认为www.register.com有一定安全隐患,不能排除是攻击者入侵入口,并进一步攻击了whois.register.com的可能性。尽管whois.register.com采用的是SSL的加密交互方式,但SSL的脆弱性在过去1年内已经被很多公开资料所披露。有关攻击技巧的组合有可能严重威胁传统的域名注册机构、以及代理机构的安全。

因此我们通过两个图示完整解析域名有关机制和百度受到攻击的过程。

正常情况下的全球DNS体系、baidu和用户三者的关系图示
1、        百度公司通过域名注册机构(本事件中为register.com)成功申请域名,并发布原始Whois信息。Whois信息中包含了域名解析服务器。
2、        有关whois信息通过数据库发布到全球DNS网络中,baidu.com顶级域名下所有域名会被指向到百度的DNS体系查询。
3、        百度的DNS体系由DNS.baidu.com、NS2.baidu.com、NS3.baidu.com、NS4.baidu.com互为后备组成。
4、        相关DNS体系向全球域名网络提交有关站点的正确IP信息。
5、        用户访问时,向自身的DNS服务器查询baidu.com的IP地址,并走正常的缓存和逐级查询过程,获取baidu.com的正确IP,访问baidu的网络服务。

图一:攻击示意图
1、        攻击者入侵register有关站点。
2、        攻击者修改baidu.com有关whois信息,把baidu.com的域名解析服务修改成自身可控的DNS服务器。
3、        有关DNS服务器在收到查询时发布错误的IP地址,指向攻击者发布有关内容的服务器。
4、        用户此时通过域名方式无法访问正常的百度,之后只能访到攻击者预设的内容。
5、        百度此时除了协调register.com修改自己的whois信息外,没有其他可以使域名正常访问的方法。

研发组老李 发表于 2010-1-13 09:21

5、 结论与建议

本次事件再度揭示了全球DNS体系的脆弱性,并说明互联网厂商如果仅有针对自身信息系统的安全预案,不足以快速应对全面而复杂的威胁。
    安天从一个安全研究机构自身的角度回溯:在相关历史案例中whois信息更多与非法获取域名所有权的有关纠纷相关,但以此为入口对主流互联网厂商进行域名劫持攻击并不是十分常见,过去安全业界更多的关注根DNS的安全性以及局部的类似DNS缓存感染类的威胁,而对域名业务体系的安全性关注不够。而从现有效果来看,这无疑是具有全局威胁、难以响应防范的一种攻击,因为攻击点位于域名所有者可以控范围之外,而由于DNS体系的特点、DNS管理权利的不均衡、地区时间差、缺少理性沟通机制等诸多因素,都可能导致国内互联网站点在自身信息系统完全正常的情况下遭到“灭顶之灾”,而鞭长莫及。
    从2000年的YAHOO等大型站点遭遇DoS,随后带动TFN2K等攻击工具和方法泛滥等案例来看,每一次 “非典型攻击”都会成为一个恶性的示范样板,有关事件必然诱使DNS业务体系成为未来一阶段攻击的重灾区。
    因此我们建议:
1、针对网站运营者:原则上应为自身站点准备两套域名,且两个域名应该通过两个不同的服务商注册。
2、大型网站的应急预案应进一步修正有关处理流程,强化对域名服务商的协调流程。
3、域名注册商和代理机构近期可能成为集中攻击目标,需要加以防范。
4、国内有关机构应快速建立与境外有关机构的协调能力,协助国内企业实现对有关事件的快速交涉处理。

Missxl 发表于 2010-1-13 11:54

谢谢,学习了~

xiaoyaoren 发表于 2010-1-13 14:03

好长的内容,看的有点晕晕的

avast1 发表于 2010-1-13 22:08

看看{:1_255:}

liulu 发表于 2010-7-11 13:16

学习了额……
页: [1]
查看完整版本: 安天实验室:112百度域名劫持事件关联分析报告