摘 要:Botnet(僵尸网络),是20世纪90年代末兴起的危害互联网的产物,近年来已形成重大安全威胁之一。首先介绍了僵尸网络的概念,使得读者了解什么是僵尸网络。从概念出发,分析了僵尸网络的工作过程以及分类及危害。从而涉及到如何防御僵尸网络。综合以上几点,得出结论,如今的僵尸网络日益隐蔽,并可成为扩大犯罪组织的一个平台,它通过大量的恶意软件在其中协调。随着新安全技术的兴起,IT管理人员可从新一代的防御体系中获益。
关键词:僵尸网路;DDoS攻击;防御
中***分类号:TP
文献标识码:A
文章编号:1672-3198(2010)05-0287-02
Botnet(僵尸网络),是20世纪90年代末兴起的危害互联网的产物,近年来已形成重大安全威胁之一。指的是由一批受恶意软件感染的计算机组成的网络,它允许网络罪犯在用户不知情的情况下,远程控制这些受感染机器。被感染的计算机受控于僵尸网络的控制中心,而控制中心一般通过IRC(因特网中继聊天)频道、网页连接或者其他一切可用的联网方式与受控计算机连接。僵尸网络制造者通过僵尸网络实施DDoS攻击、窃取机密信息、发送垃圾邮件、网络钓鱼、搜索引擎作弊、广告点击欺诈以及传播恶意软件和广告软件等方式以达到盈利的目的。
僵尸网络,首先是一个可控制的网络,这个网络并不是指物理意义上具有拓扑结构的网络,它具有一定的分布性,随着bot程序的不断传播而不断有新位置的僵尸计算机添加到这个网络中来。
其次,这个网络是采用了一定的恶意传播手段形成的,例如主动漏洞攻击,邮件病毒等各种病毒与蠕虫的传播手段,都可以用来进行Botnet的传播,从这个意义上讲,恶意程序bot也是一种病毒或蠕虫。
最后一点,也是Botnet的最主要的特点,就是可以一对多地执行相同的恶意行为,比如可以同时对某目标网站进行分布式拒绝服务(DDos)攻击,同时发送大量的垃圾邮件等,而正是这种一对多的控制关系,使得攻击者能够以极低的代价高效地控制大量的资源为其服务,这也是Botnet攻击模式近年来受到黑客青睐的根本原因。在执行恶意行为的时候,Botnet充当了一个攻击平台的角色,这也就使得Botnet不同于简单的病毒和蠕虫,也与通常意义的木马有所不同。
1 Botnet的工作过程
Botnet的工作过程包括传播、加入和控制三个阶段。
1.1 传播过程
一个Botnet首先需要的是具有一定规模的被控计算机,而这个规模是逐渐地随着采用某种或某几种传播手段的bot程序的扩散而形成的,在这个传播过程中有如下几种手段:
(1)主动攻击漏洞。其原理是通过攻击系统所存在的漏洞获得访问权,并在Shellcode执行bot程序注入代码,将被攻击系统感染成为僵尸主机。属于此类的最基本的感染途径是攻击者手动地利用一系列黑客工具和脚本进行攻击,获得权限后***bot程序执行。攻击者还会将僵尸程序和蠕虫技术进行结合,从而使bot程序能够进行自动传播,著名的bot样本AgoBot,就是实现了将bot程序的自动传播。
(2)邮件病毒。bot程序还会通过发送大量的邮件病毒传播自身,通常表现为在邮件附件中携带僵尸程序以及在邮件内容中包含***执行bot程序的链接,并通过一系列社会工程学的技巧诱使接收者执行附件或点击链接,或是通过利用邮件客户端的漏洞自动执行,从而使得接收者主机被感染成为僵尸主机。
(3)即时通信软件。利用即时通信软件向好友列表发送执行僵尸程序的链接,并通过社会工程学技巧诱骗其点击,从而进行感染,如2005年年初爆发的MSN性感鸡(Worm.MSNLoveme)采用的就是这种方式。
(4)恶意网站脚本。攻击者在提供Web服务的网站中在HTML页面上绑定恶意的脚本,当访问者访问这些网站时就会执行恶意脚本,使得bot程序***到主机上,并被自动执行。
(5)特洛伊木马。伪装成有用的软件,在网站、FTP 服务器、P2P 网络中提供,诱骗用户***并执行。
通过以上几种传播手段可以看出,在Botnet的形成中传播方式与蠕虫和病毒以及功能复杂的间谍软件很相近。
1.2 加入阶段
每一个被感染主机都会随着隐藏在自身上的bot程序的发作而加入到Botnet中去,加入的方式根据控制方式和通信协议的不同而有所不同。在基于IRC协议的Botnet中,感染bot程序的主机会登录到指定的服务器和频道中去,在登录成功后,在频道中等待控制者发来的恶意指令。
1.3 控制阶段
攻击者通过中心服务器发送预先定义好的控制指令,让被感染主机执行恶意行为,如发起DDos攻击、窃取主机敏感信息、更新升级恶意程序等。
2 Botnet的分类
Botnet根据分类标准的不同,可以有许多种分类。
2.1 按bot程序的种类分类
(1)Agobot/Phatbot/Forbot/XtremBot。这可能是最出名的僵尸工具。防病毒厂商Spphos列出了超过500种已知的不同版本的Agobot(Sophos 病毒分析),这个数目也在稳步增长。僵尸工具本身使用跨平台的C++写成。Agobot 最新可获得的版本代码清晰并且有很好的抽象设计,以模块化的方式组合,添加命令或者其他漏洞的扫描器及攻击功能非常简单,并提供像文件和进程隐藏的Rootkit能力在攻陷主机中隐藏自己。在获取该样本后对它进行逆向工程是比较困难的,因为它包含了监测调试器(Softice 和O11Dbg)和虚拟机(VMware和Virtual PC)的功能。
(2)SDBot/RBot/UrBot/SpyBot/。这个家族的恶意软件目前是最活跃的bot程序软件,SDBot 由C语言写成。它提供了和Agobot 一样的功能特征,但是命令集没那么大,实现也没那么复杂。它是基于IRC协议的一类bot程序。
(3)GT-Bots。GT-Bots是基于当前比较流行的IRC客户端程序mIRC编写的,GT是(Global Threat)的缩写。这类僵尸工具用脚本和其他二进制文件开启一个mIRC聊天客户端, 但会隐藏原mIRC窗口。通过执行mIRC 脚本连接到指定的服务器频道上,等待恶意命令。这类bot程序由于捆绑了mIRC程序,所以体积会比较大,往往会大于1MB。
2.2 按Botnet的控制方式分类
(1)IRC。
Botnet是指控制和通信方式为利用IRC协议的Botnet,形成这类Botnet的主要bot程序有spybot、GTbot和SDbot,目前绝大多数Botnet属于这一类别。
(2)AOL Botnet与IRC。
Bot类似,AOL为美国***提供的一种即时通信服务,这类Botnet是依托这种即时通信服务形成的网络而建立的,被感染主机登录到固定的服务器上接收控制命令。AIM-Canbot和Fizzer就采用了AOL Instant Messager实现对Bot的控制。
(3)P2P。
Botnet。这类Botnet中使用的bot程序本身包含了P2P的客户端,可以连入采用了Gnutella技术(一种开放源码的文件共享技术)的服务器,利用WASTE文件共享协议进行相互通信。由于这种协议分布式地进行连接,就使得每一个僵尸主机可以很方便地找到其他的僵尸主机并进行通信,而当有一些bot被查杀时,并不会影响到Botnet的生存,所以这类的Botnet具有不存在单点失效但实现相对复杂的特点。Agobot和Phatbot采用了P2P的方式。
3 Botnet的危害
Botnet构成了一个攻击平台,利用这个平台可以有效地发起各种各样的攻击行为,可以导致整个基础信息网络或者重要应用系统瘫痪,也可以导致大量机密或个人隐私泄漏,还可以用来从事网络欺诈等其他违法犯罪活动。下面是已经发现的利用Botnet发动的攻击行为。随着将来出现各种新的攻击类型,Botnet还可能被用来发起新的未知攻击。
(1)拒绝服务攻击。使用Botnet发动DDos攻击是当前最主要的威胁之一,攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。由于Botnet可以形成庞大规模,而且利用其进行DDos攻击可以做到更好地同步,所以在控制指令时,能够使得DDos的危害更大,防范更难。
(2)发送垃圾邮件。一些bots会设立sockv4、v5,这样就可以利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息。
(3)窃取秘密。Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等。同时bot程序能够使用sniffer观测感兴趣的网络数据,从而获得网络流量中的秘密。
(4)滥用资源。攻击者利用Botnet从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响,甚至带来经济损失。例如:种植广告软件,点击指定的网站;利用僵尸主机的资源存储大型数据和违法数据等,利用僵尸主机搭建假冒的银行网站从事网络钓鱼的非法活动。
可以看出,Botnet无论是对整个网络还是对用户自身,都造成了比较严重的危害,我们要采取有效的方法减少Botnet的危害。
4 僵尸网络的防御
每周平均新增数十万台任人遥控的僵尸电脑,任凭远端主机指挥,进行各种不法活动。多数时候,僵尸电脑的根本不晓得自己已被选中,任人摆布。
如果一台计算机受到了一个僵尸网络的DoS攻击,几乎没有什么选择。一般来说,僵尸网络在地理上是分布式的,我们难于确定其攻击计算机的模式。
被动的操作系统指纹识别可以确认源自僵尸网络的攻击,网络管理员可以配置防火墙设备,使用被动的操作系统指纹识别所获得的信息,对僵尸网络采取行动。最佳的防御措施是利用安装有专用硬件的入侵防御系统。
一些僵尸网络使用免费的DNS托管服务将一个子域指向一个窝藏“肉鸡”的IRC服务器。虽然这些免费的DNS服务自身并不发动攻击,但却提供了参考点。清除这些服务可以破坏整个僵尸网络。近来,有些公司想方设法清除这些域的子域。僵尸社团将这种路由称之为“空路由”,因为DNS托管服务通常将攻击性的子域重新定向到一个不可访问的IP地址上。
前述的僵尸服务器结构有着固有的漏洞和问题。例如,如果发现了一个拥有僵尸网络通道的服务器,也会暴露其它的所有服务器和其它僵尸。如果一个僵尸网络服务器缺乏冗余性,断开服务器将导致整个僵尸网络崩溃。然而,IRC服务器软件包括了一些掩饰其它服务器和僵尸的特性,所以发现一个通道未必会导致僵尸网络的消亡。
基于主机的技术使用启发式手段来确认绕过传统的反病毒机制的僵尸行为。而基于网络的方法逐渐使用上述技术来关闭僵尸网络赖以生存的服务器,如“空路由”的DNS项目,或者完全关闭IRC服务器。
但是,新一代的僵尸网络几乎完全都是P2P的,将命令和控制嵌入到僵尸网络中,通过动态更新和变化,僵尸网络可以避免单个点的失效问题。间谍软件可以将所有可疑的口令用一种公钥“硬编码”到僵尸软件中。只能通过僵尸控制者所掌握的私钥,才能读取僵尸网络所捕获的数据。
必须指出,新一代僵尸网络能够检测可以分析其工作方式的企***,并对其作出响应。如大型的僵尸网络在检测到自己正在被分析研究时,甚至可以将研究者从网络中断开。所以单位需要专业的僵尸网络解决
5 结语
如今的僵尸网络日益隐蔽,并可成为扩大犯罪组织的一个平台,它通过大量的恶意软件在其中协调。随着新安全技术的兴起,IT管理人员可从新一代的防御体系中获益。