McAfee技术产品经理 李明
什么是僵尸网络
僵尸网络(botnet)有两个前提,首先僵尸网络客户端必须能够在黑客不必登录操作系统的前提下仍可执行黑客指定的操作;其次,僵尸网络客户端们必须能够协同实现某一目标,而这一协同仅需要黑客的最小参与甚至零参与。满足以上两个条件的计算机集合成为僵尸网络。
典型的僵尸网络一般包含一个bot服务器和多个bot客户端。僵尸网络的控制者称为botherder(herder即牧人之意)Bot服务器和客户端之间通过一个远程命令和控制服务器(C&C server)使用IRC通道进行通信。
僵尸网络是当前发起DDoS攻击的主力军,同时也是垃圾邮件重要的源头。以典型的DDoS攻击为例,第一步,新的僵尸网络客户端加入预设的IRC通道并监听命令;第二步,botherder发送命令信息到IRC服务器;第三步,所有僵尸网络客户端通过IRC通道获取该命令;第四步,所有僵尸网络客户端对指定目标执行DDoS攻击;第五步,僵尸网络客户端报告执行的结果。从上述步骤不难看出为何僵尸网络成为黑客的最爱:他可以完全隐藏在所有的攻击行为之后,发起攻击的计算机和控制服务器都不是他自己的计算机,他只需注意使用混淆方式或加密方式通过IRC通道发送命令即可。事后也可简单通过切断和IRC服务器之间的连接并抹去痕迹即可置身事外,而从遭受攻击的一方反向追踪到黑客则极为困难而且线索随时可能中断难以继续。
以美国和韩国部分网站在今年7月遭受的大规模DDoS攻击为例,攻击者即是利用僵尸网络发起攻击,并在僵尸网络客户端进行设置,在攻击结束后自行销毁客户端的程序。这类攻击方式手法隐蔽、效果突出、代价低廉,已经成为互联网的主要威胁之一,也是安全管理所需要重点了解和防御的黑客手段。
僵尸网络的演变
僵尸(bot,即Robot的简写)其实最早出现是作为一个管理辅助工具,并没有恶意目的。首先在1988年IRC得以发明;1989年Greg Lindah写了第一个IRC bot用于在管理员下线时和其他IRC用户交互;1999年出现了第一个利用IRC 服务器进行远程控制的蠕虫Pretty Park,该蠕虫堪称僵尸网络技术的奠基者,它包含的一些功能即使在现在仍在广泛使用。例如:获取主机信息、搜索用户名密码等敏感信息、自我更新、上传下载文件、重定向通信、发起拒绝服务攻击等等。2000年GT Bot出现,包含了端口扫描、泛洪攻击和复制自身的功能;2002年SD Bot出现标志着技术发展的另一个重要里程碑,它用尽各种方法进行攻击,包括Netbios、RPC等等服务也包括各种后门,一旦攻击成功即开始下载SD Bot,它之后的bot程序继承了这一“优点”,每一个都集成了之前所有的传播方式,每一个都是各种攻击手段的集大成者。2002年的另一个bot程序Agobot则带来了另一重要改进:模块化设计,第一个模块仅包含简单的IRC bot程序,第二个模块关闭防毒软件进程,第三个模块阻止用户访问某些Web站点(防毒软件网站),每一个模块在执行完本身功能之后即可下载下一个模块,这一设计使得bot程序的变种很快就数以千计地出现;2003的Spybot的意图非常明显,就是窃取敏感信息以用于进一步目的(如获取利益)。至此僵尸网络的主要技术已经成熟,新的僵尸程序即利用这些前辈的成果进一步结合其目的,将最新的漏洞、P2P、网站挂马等技术或途径作为其传播手段,将最新的加密或混淆技术用于其命令通道,从而为攻击者作伥。
僵尸网络的数量变化趋势
在2009年第一季度,McAfee Lab检测到全球将近有 1200 万个新 IP 地址是以“僵尸计算机”(受垃圾邮件制造者或其他人控制的计算机)的形式存在的。与 2008 年第四季度相比,这一数字已显著增加,增幅接近 50%。2008 年第三季度新增的僵尸计算机数量就已创下历史记录,但仍比2009年第一季度少 100 万台。
在2009第一季度以及2008年后下半年两个季度里,受黑客控制的僵尸计算机数量一直居高不下,僵尸网络的前十名国家中,美、德、韩、英、西和金砖四国也是榜上的常客。
僵尸网络的防御
McAfee Lab的研究人员对于僵尸网络进行长期的检测和研究得出结论,无论是早期的各种bot客户端,还是最新的利用挂马等手段进行传播的新型僵尸网络,要实现对于僵尸网络的全面防御,一般而言,必须结合网络和主机的不同防护手段,从而实现分层的防御,以斩断僵尸网络的黑手。
在主机(桌面机)层面,需要安装包含多种防御手段的安全客户端,一般而言出于避免成为僵尸网络客户端的目的,该桌面机的客户端应包括如下功能:防火墙(阻断扫描和未授权连接)、主机入侵防御(阻断利用漏洞的网络攻击)、防毒程序(清除后门等病毒程序)、防间谍软件和恶意软件(清除各种spyware和malware)以及良好的补丁管理习惯或系统。
现实中实现桌面安全客户端的主要难点在于较大的系统开销,由于引入了多重安全功能,企业用户往往会选择一个以上厂商的安全产品,这通常会带来可能的冲突、较大的系统资源占用和复杂的管理方式,同时不同安全厂商的产品之间可能存在技术空隙,这也可能会造成蠕虫客户端的乘虚而入。桌面安全防护的另一个不足之处在于难以改变用户的行为,用户可能会有意或无意地禁用或旁路某些安全模块,或者访问某些恶意网站(如挂马网站),僵尸网络客户端从而可以从容地下载到桌面机上,通过先行下载的无害模块或难以检测的模块(Rootkit)关闭桌面安全客户端,然后继续下载其功能模块执行各种功能。
当然,如果不采用多种功能的桌面安全客户端,也可通过瘦客户端或者限制桌面用户权限等其他方式应对僵尸网络攻击,但是这种管理方式对于IT管理人员的要求较高,同时也会影响内部人员的工作效率,这种方式并不适用于每个企业。
这就需要通过网络安全技术切断僵尸网络通向企业网络的传播途径。以近期最危险的僵尸网络程序之一Torpig为例,该僵尸网络程序的目的就是窃取身份认证信息、信用卡、银行账号和支付宝账户等。典型的Torpig感染方式如下图所示:
步骤1:桌面机客户访问某一Web服务器,该Web服务器由于存在漏洞,被Torpig感染;
步骤2:Torpig通过iframe方式修改用户的浏览器访问;
步骤3:重定向之后,桌面机客户的Web访问指向了Mebroot下载服务器;
步骤4:Mebroot下载服务器将Mebroot、注入DLL等下载到桌面机,该桌面机成为僵尸网络客户端;
步骤5:每两小时,该僵尸网络客户端和Mebroot C&C服务器联系;
步骤6:Torpig DLL注入到IE、Firefox等浏览器中,Outlook邮件客户端,Skype和即时通讯软件中;
步骤7:每20分钟,将窃取的身份认证信息、信用卡、银行账号和支付宝账户上传到Torpig C&C服务器上;
步骤8:Torpig C&C服务器下发包含银行域名、新的C&C服务器300个域名等信息的配置文件;
步骤9:僵尸网络客户端访问注入服务器;
步骤10:注入服务器发送钓鱼HTML文件到僵尸网络客户端。
值得注意的是,除了已知的各种技术,Torpig僵尸网络使用了一些新的技术,使得防范和反向追踪变得更为困难,如Mebroot下载服务器的路过式(Drive-by)感染,还有域名流动技术以随时变更C&C服务器。
要切断Torpig的传播,一种方法就是切断其与Torpig C&C服务器的联系,但是由于其域名流动技术使得该操作变得异常困难。加州大学圣巴巴拉分校(UCSB)的研究小组表现出了相当的耐心的才能。发现Torpig僵尸网络在确定攻击目标时使用的算法,提前计算出了Torpig将很快检查的域名,并特意在名声不好的域名提供商那里购买了这些域名。从而顺利地“接管”了一个庞大的Torpig僵尸网络长达10天。但是僵尸网络控制者查觉后,使用了新版的Torpig,改变了僵尸网络选择域名的算法,这一方法已经不再奏效。另外,这种预测并接管的方法过于复杂并且相对而言比较被动,并不适合企业使用。
McAfee Lab的研究人员通过在McAfee 入侵防护系统中加入各种新的安全技术,从而实现了对于僵尸网络的全面网络防护,下图给出了该系统防护Torpig的方式:
对应于前述Torpig僵尸网络的感染途径,该系统可以起到以下作用。
步骤1:属于正常的Web访问,无需阻断;
步骤2:通过McAfee 入侵防护系统的漏洞保护功能,阻断Torpig通过iframe方式修改用户的浏览器;
步骤3:仍属于正常的Web访问,无需阻断;
步骤4:通过McAfee 入侵防护系统的Artemis云安全技术,检测并阻断服务器下发的Rootkit和恶件,避免该桌面机成为僵尸网络客户端;
步骤5:属于IRC通信,无需阻断;
步骤6:通过McAfee 入侵防护系统的Artemis云安全技术,检测并阻断服务器下发的Torpig DLL,避免浏览器注入等攻击;
步骤7:通过McAfee 入侵防护系统的行为检测技术,检测并阻断每20分钟的上传窃取信息到 Torpig C&C服务器上;
步骤8:通过McAfee 入侵防护系统的行为检测技术,检测并阻断Torpig C&C服务器下发的配置文件;
步骤9:属于正常的Web访问,无需阻断;
步骤10:文件传输,无需阻断。
通过这一方式,McAfee Lab研究人员成功地切断了Torpig僵尸网络的关键传播途径,即服务器端发起对客户端的攻击、服务器端下发Rootkit和恶件以及僵尸网络客户端和C&C服务器的信息传输,从而实现了在网络层对于Torpig等僵尸网络的防护。
为了进一步验证该技术对于僵尸网络的防护效果,McAfee Lab的研究人员和某运营商合作,在其某一网络的出口部署了McAfee入侵防护系统,部署伊始发现该网络中存在大量的僵尸网络,如下图所示:
研究人员随即启用了入侵防护系统的阻断功能,一段时间后,该网络中的僵尸网络数量明显下降,结果如下图所示:
这充分表明了这一技术可以成功地抵御僵尸网络的威胁。
总结
通过上述的例子,我们可以知道僵尸网络绝非无药可解的顽疾。应对这一威胁,需要同时从网络和主机两个层面着手,而网络和主机所需采用的产品或技术必须能够覆盖僵尸网络攻击和传播的每一途径,这样既可免受僵尸网络之害,创造良好的内部网络环境,并为净化互联网安全做出一份贡献。
用户评论