安全科普
“僵尸”集群施暴网络 黑客军团扫荡互联网
2004年底,集中控制的、规模达到近十万个节点的计算机群的黑客被发现。网络僵尸由此诞生。
2004年底,CNCERT/CC在处理一起网络安全事件的过程中,发现一个被黑客集中控制的、规模达到近十万个节点的计算机群。由于对网络和大批用户构成严重的安全威胁,从而受到国家有关部门的关注。
2005年初,通过与有关部门的通力合作,一举消除了这个危害。但这种网络攻击方式开始引起全球的关注。国外称之为BotNet。在我国,则称之为僵尸网络。
实际上,前几年我国就出现僵尸网络。2003年3月8日,在我国首先发现的口令蠕虫(国外称之为“Deloader”或“Deloder”)就可视为僵尸网络。它的一个特点是:被它感染的计算机会主动和境外的13个IRC服务器建立连接。
显然,释放蠕虫的人是要让蠕虫程序自动“汇报”,使其能够掌握蠕虫感染的具体情况,并进一步通过这些IRC服务器,向感染口令蠕虫的计算机发送指令。
这个现象改变了传统蠕虫不能“回收”的属性,也就是说,蠕虫的释放者不再像以前那样,并不掌握蠕虫代码成功入侵了哪些计算机,也不能从释放蠕虫或者病毒的行为中给自己带来直接的利益。
相反,现在的攻击者不但可以“回收”蠕虫蔓延的成果,还可以集中对感染蠕虫的计算机进行远程控制。CNCERT/CC在当时就分析,这可能会成为一种趋势。从CNCERT/CC已掌握的4万多个IP被口令蠕虫入侵一事看,僵尸网络的发展规模正在壮大。
由于该蠕虫很快被发现,并被成功遏制,反而使人们没有意识到这样一种网络攻击的危害。
类似地,2004年也出现过其他用来构建僵尸网络的蠕虫或病毒,国内的安全企业也仅仅从用户端反病毒的角度来研究的。
直到2005年,现实中的安全事件才使我们意识到需要重新研究僵尸网络的危害和应对措施。
网络成傀儡
对于僵尸网络,攻击者是通过各种方式扩大被植入僵尸程序的计算机规模的,其中利用蠕虫蔓延是一个重要手段。从2001年红色代码蠕虫之后,对各种恶意代码的综合利用就已成为趋势。
攻击者在利用别的蠕虫或者恶意代码所形成的入侵基础上,进一步扩充僵尸计算机群,甚至进行半自动或手动扫描。
对于传统的蠕虫,我们非常关注其蔓延速度,以及在蔓延过程中对网络造成的影响。但是目标是构建僵尸计算机群的蠕虫攻击,攻击者可以慢慢扩张,而不易引起人们的注意。
攻击者并不直接对僵尸计算机进行控制,而是通过控制服务器。这些控制服务器经常是互联网上的一些公共服务器。这样做的好处是,既可以隐蔽自己,又可以利用公共服务器更加充足的资源。
控制服务器是整个僵尸网络的指挥中心,用于接收僵尸程序的连接,以及向所有僵尸计算机发送指令。控制服务器通常采用公共的协议和服务器,例如IRC。利用IRC构建僵尸网络是当前最主要的形式之一。
僵尸程序会自动连接到预定的IRC服务器中,加入特定的聊天频道。攻击者同样加入到这些频道中。攻击者发出的特定聊天指令,会被所有加入到这个聊天频道的僵尸计算机接收,并且被解释成特定的指令。这种方式,和当初MUD游戏中外挂机器人的原理是一样的。
控制服务器可以是一个,也可以是多个。
后患无穷
僵尸网络不同于病毒、网络仿冒(Phishing)、拒绝服务攻击等特定的安全事件,它是攻击者手中的一个攻击平台。攻击者利用这个平台,给个人或者整个网络带来各种危害。但是,在静态的情况下,具体的危害具有未知性和灵活性。
利用僵尸网络展开的攻击,可以导致整个基础信息网络的瘫痪,也可以导致大量机密或者个人隐私泄漏,还可以用来从事网络欺诈等其他违法犯罪活动。
对于僵尸网络,可能被用于的攻击行为简单说明如下。
建立攻击环境
攻击者可以向每个僵尸计算机中传送新的程序,也可以从这些计算机中窃取文件。有了这个功能,攻击者可以利用的这些计算机,建立各种新的攻击环境。
例如,攻击者可以直接从这些计算机中窃取机密文件,也可以在这些计算机中植入窃听程序,专门记录这些计算机用户的银行账号或网络账号等。
依仗蠕虫威力
从2001年后半年以来,对蠕虫的研究一直是一个热点。蠕虫最大的威胁在于:快速蔓延产生的数据流量,可以导致大面积的网络拥塞,甚至瘫痪。
对蠕虫的研究表明,影响一个蠕虫破坏效果的一个重要因素是释放蠕虫的初始节点的规模和分布。
在特定情况下,僵尸网络可以被用于这种攻击,向大量的计算机发送蠕虫代码,然后让这些计算机同时运行蠕虫程序。这种做法将大大增强非常快速发起攻击的蠕虫的破坏性,给保持国家基础信息网络的工作带来更加严峻的挑战。
发起DDoS攻击
使用僵尸网络发动DDoS攻击是当前的一个重要威胁。
比如,攻击者可以给所有的僵尸计算机发送指令,让他们在特定的时间内连续访问特定的网络目标,从而达到DDoS的目的。又如,攻击者可以设定访问指令的重复次数、包长等。
由于僵尸网络可以形成庞大的攻击规模,且利用其进行DDoS攻击可以做到更好的同步,还可以完全使用正常的访问指令等等。所以,由僵尸网络导致的DDoS将比传统模式引发的DDoS危害更大,防范更难。
发送垃圾邮件
利用僵尸网络可以大量发送垃圾邮件,发送者可以完全隐藏自己的IP信息。据CERT和MessageLab统计,僵尸网络是DDoS和发送垃圾邮件的主要手段之一。
窃取用户数据
攻击者可以从被植入僵尸程序的计算机中窃取数据文件,或者窃取用户的身份数据,或者其他隐私或机密。
盗用资源
攻击者利用被控制的计算机从事各种需要耗费网络资源的活动,降低网络性能。
例如,为了谋取经济利益,攻击者在僵尸计算机中植入广告软件,不断访问特定的网址;或者利用僵尸计算机下载各种大型数据资料等。
从事违法行为
攻击者利用僵尸计算机发起其他攻击破坏甚至违法犯罪行为,以隐藏自己。
存储违法数据
利用僵尸计算机存放各种违法数据文件,建立共享网络,传播违法数据。
可以看出,无论是对整个网络还是对用户自身,僵尸网络都可能造成严重的危害。
安全思变
僵尸网络给网络安全保障带来重要的启发。僵尸网络并不是刚刚出现的威胁,但是,为什么现在才引起足够的重视呢?一个重要的原因是,我们对当前出现的安全事件的认识需要改变。
认识要变
如今的网络安全攻击事件呈现两个重要特点:一是有组织、有计划的攻击行为逐渐增多,二是攻击者的动机开始更多地转向获取经济利益或其他利益。
有组织的攻击,不仅指攻击者的组织计划性,也包括攻击手段的组织计划性。
例如,2004年,一些黑客组织为了大量控制用户计算机,建立了大量包含恶意代码的网站,并且用各种办法诱使用户访问这些网站。当用户访问这些网站时,这些恶意代码会利用IE漏洞在访问者的计算机中植入窃听程序等恶意代码。
又比如,近期经常有民间黑客群体呼吁网民于特定时间攻击特定目标。僵尸网络则是攻击手段组织化的典型代表。攻击者有组织地利用互联网中的资源,为各种攻击行为构建攻击基础。
以前的很多网络攻击事件,是出于攻击者的技术好奇或者炫耀心理。但是现在,越来越多的攻击行为是为了获得某种利益。这种变化直接改变了很多安全事件的特点,也是促使各种攻击变得有组织有计划的一个重要因素。
在传统的网络安全事件中,这些情况是不存在的。以前,攻击者很难掌握大量的“跳板”机,而传统的病毒、蠕虫等恶意代码只能对他人造成破坏,而无法给攻击者自己带来什么利益。
因此,很长时间以来,我们习惯于从被攻击对象的终端来解决问题。因为一个事件和另一个事件之间除了技术以外,基本上被有什么关联性。
现在情况完全不同了,如果依然只看到终端的问题,则无法真正有效地对抗有组织的攻击行为。僵尸网络就是一个典型的例子。
过去的两年中,我们看到的只是一些用户被植入了恶意代码,我们所做的只是帮助用户去清除这些恶意代码。我们的精力只是放在一个攻击体系的末端,而忽视了攻击体系的躯干。这让我们忽略了对整个事件危害的认识,也忽略了寻找更加有效的从整体上应对这种有组织的网络安全事件的方法。
研究要深入
互联网本身是强壮的,但是并不意味着互联网就不可以被攻击瘫痪。在2001年红色代码/尼姆达出现之前,人们很难想像如此发达的互联网,还能够被小小的蠕虫所阻塞。
如今,互联网无可置疑地已经开始变成一个国家信息基础设施了,越来越多的基础应用开始依赖互联网,整个社会受互联网的影响越来越大。这是一个很严肃的问题。
原来从学术领域比较随意地发展起来的互联网,符合学术工作者的口味,就好像一个大实验室,开放、活跃,不断冒出新的火花。但是现在,当互联网作为国家信息基础设施来运转的时候,整个社会怎能承受破坏者对互联网的攻击所造成的危害呢?
保护国家关键信息基础设施是现在国际上很多人在关注的一个课题。僵尸网络的发展,无疑对这个课题是一个大的冲击。如果不能得到有效的遏制僵尸网络,没有有效的应对措施,互联网的脆弱性就会充分地表现出来。
思路要变
对僵尸网络来说,如何发现(用户、网络管理员、IRC管理员等)僵尸网络自身、如何阻止攻击者利用僵尸网络进行更大的危害活动、如何追踪僵尸网络的控制者,都还是需要认真研究的问题。国际上也开始有不少相关的论述。本文不展开详细讨论,仅根据过去的一些实践,提出一些简单的思考。
2003年,口令蠕虫之所以很快被消灭掉,首先是因为其蔓延活动造成了网络异常,进而很快被发现,然后通过针对蠕虫的遏制手段,有效地将蠕虫的蔓延途径切断,致使蠕虫无法进一步大规模蔓延。
之后,经过分析发现,已经被蠕虫入侵的计算机企图连接IRC服务器,于是通过各互联网运营商的合作,紧急切断了国外这些IRC服务器和中国网络的联系,使得被这些计算机不会被攻击者所控制。
这个经验有值得参考的地方。虽然更加有计划的攻击者会小心控制,避免僵尸网络在构建的过程中导致网络异常而被发现,但是一旦发现僵尸网络之后,切断僵尸计算机和控制服务器之间的连接,依然是一个可以参考的做法。
如果一时无法切断攻击者的控制渠道,或者就算是切断了控制,还是担心攻击者已在很多计算机中留下其他后门,都需要尽快为用户提供发现和清除僵尸程序的手段。通过快捷的途径让更多的用户关注特定的事件(对于重要用户,更是应该直接通知),提供专门的工具让用户做自我检查,以清除本机的隐患。
目前,各种攻击手段都在相互组合。网络安全领域传统的很多概念和做法,其实都受到重大挑战。僵尸网络就是一个例子。对僵尸网络的应对,需要从总体上进行考虑,通过多方合作,来解决问题。
相关链接
网络僵尸是怎么一回事儿?
简单地说,本文所说的僵尸网络指的是攻击者利用互联网秘密建立的、可以进行集中控制的计算机群。
僵尸网络的组成,通常包括被植入“僵尸”程序(Bot)的计算机群(Zombie Servers,本文将之称为僵尸计算机)、一个或多个控制服务器(通常借用互联网中的公共服务器)、控制者的控制终端(攻击者对整个僵尸网络发出指令的地方)等。
也有人把“僵尸”程序归结为木马程序(Trojan)的一种。不过,和传统的木马程序相比,“僵尸”程序的一个重要特点是它们会主动向外建立连接,而不是像传统木马那样,守护在特定的端口处,等待控制端的连接。
对于这个特点,一方面,使得防火墙无法根据端口发现和阻拦其活动,另一方面也使得攻击者通过蠕虫等各种手段,大量入侵网络中的计算机,并进行“回收”控制。
3个月“俘虏”1.3万台计算机
7月12日,来自McAfee公司的报告称,4月至6月,网络僵尸计算机(Zombie)的数量增长到了1.3万,这一数字比前三个月增长了4倍。McAfee预计,63%的计算机曾经被僵尸网络利用过。
2004年,计算机安全专家将僵尸网络列为是对个人用户及企业威胁不断增长的一种安全危害。这种程序通过聊天室、文件共享网络感染存在漏洞的计算机。它们经常难以被发现,能够远程控制被害人的计算机,然后组成僵尸网络对其他计算机与网站发动攻击,发送垃圾邮件或者窃取数据。和大部分的蠕虫及病毒一样,僵尸网络程序的主要攻击对象是那些安装了Windows操作系统的机器。
广大用户对这些程序的抱怨已引起立法者的重视。美国联邦贸易委员会等机构最近敦促互联网服务商们,对僵尸网络的策动者予以制裁。
但是,McAfee却对与这些程序的“顽强”战斗表示悲观。
和去年同期相比,今年第二季度发现的计算机安全漏洞的数量上升了5%,超过了1000个。这一不断上升的趋势推动了僵尸网络的普及速度。
“僵尸网络”是这样破壳而出的
很多很多人问我,为什么叫僵尸网络?
我自己是从2004年11月注意到BotNet、Zombie这些词的。
在当时,差不多同时发生了两件事:一件是我们正在处理的一起拒绝服务攻击事件(就是后来发现10万规模僵尸网络的事件),另一件是中日韩应急组织正在协商进行的应急演练。后来我们确信这个攻击事件就是使用了Botnet来发动攻击的,而中日韩应急演练的具体内容一开始就包括这方面内容。
随着处理攻击事件的深入,我们越来越觉得此事非同小可,不再是一个普通的拒绝服务攻击。
实际上,在一开始决定处理这件DoS时,就没把它当成一个一般事件。因为一般性DoS事件,不是通过我们这种工作方式就能进行实质性改善,而成本投入却很大。
不过,让我决定投入力量处置这个事件的初始原因并非Botnet,而是2004年国庆以后出现的网络敲诈传言。我们给上级部门写了报告,但是似乎没有引起足够的重视,而这件攻击事件似乎与此有关。
12月,大致情况已经摸清了。我们该做的和能做的也已经做完了。虽然定位是在唐山的一位攻击者,但是我们无权继续调查下去,我们利用其他技术手段发现了大量有价值的数据。
大约是12月30日吧,做非正式汇报。2005年1月4日正式报告。
元旦期间,我一直在考虑这个报告的事情。Botnet是不是该有个名字啊。“机器人网络”虽然不好,大家完全会想到别的地方去,“傀儡网络”、 “木偶网络”考虑得多一点,后者太中性了,前者比较好。
不过,当初用金山词霸查Zombie这个词的意思是“蛇神、巫毒崇拜”的意思,感觉有点儿邪。突然一刹那,脑子里浮现出香港电影里那些僵尸,那些被神秘力量驱赶的傀儡。“僵尸网络”?嗯,这个名字更好些,既表明这是坏东西,又和傀儡的本意相关。
1月4日上午,内部例会上,建议用“僵尸网络”这个名字,大家没有异议。下午做了“僵尸网络的威胁与对策”报告。
前几天,发现一个非常有趣儿的事情:
偶然的机会在电视上看一个英文电影的片断,听见演员说“Zombie”这个词,字幕上出现的是“僵尸”这个词。难道Zombie有僵尸的意思?翻看家里的一本比较好的英文字典,发现果然如此,这个词有个意思是“非常或加勒比海地区一些部落宣称的还魂尸,或者被巫术控制的行尸”。
刚才又发现更好笑的事:再查金山词霸,发现类似的意思也有啊。原来当初没有仔细查,只是使用自动取词或者只是看金山词霸中简明英汉词典收录的词义!(文/杜跃进)
注:我们说的僵尸网络,国外也叫Zombie army
/upload/p1_km31S4.jpg