近日有调查显示,僵尸网络的感染率预计将继续增长,且僵尸网络已成为攻击互联网的最新祸患,这也是对IT人员的最新的挑战。因为,如今每一个僵尸网络都似乎在用最高级的技术并且使用高质量的软件流程,挑衅着当前入侵检测系统(IPS)的防御策略。
因此,我们在这篇文章中先重点介绍一下僵尸网络和隐蔽软件的技术状况及其产业发展情况。
什么是僵尸网络
一个僵尸网络是一个被恶意软件控制的分布式计算机或者系统的集合。因此,这些计算机也经常被称作僵尸电脑。僵尸电脑由一个僵尸牧人(bot-herder)通过一台或者多台指挥与控制服务器控制或者指挥。最常见的情况是僵尸牧人使用指挥与控制服务器控制僵尸电脑,通过IRC(互联网中继聊天)或者P2P等网络通讯实施控制。僵尸电脑软件一般是通过恶意软件、蠕虫、木马程序或者其它后门渠道安装的。
各个机构报告的僵尸电脑规模与增长的统计数据有很大差别。据安全公司赛门铁克的“Threat Horizon Report”(威胁视野报告)称,每天能够检测到5.5万个新的僵尸网络节点。而《今日美国》报纸2008年的一篇报告称,平均每天连接到互联网的8亿台电脑中有40%的电脑是用来发送垃圾邮件、病毒和窃取敏感个人数据的僵尸电脑。《今日美国》还报道称,2008年的僵尸网络威胁比2007年增加了10倍。许多消息来源预测称,最著名的僵尸网络Storm、Kraken和Conficker已经感染了大量的计算机。这些数字包括Storm(风暴)感染了8.5万台计算机,Kraken感染了49.5万台计算机,Conficker感染了900万台计算机。
地下经济与僵尸网络的发展
同任何由金钱驱动的市场一样,僵尸网络开发者就像经营一个合法的生意那样工作:他们利用合作、贸易和开发流程以及质量等好处。最近,僵尸网络已经开始使用生命周期管理工具、同行审查、面向对象和模块化等通用的软件质量做法。僵尸网络开发者正在销售其软件和感染载体,提供说明书和技术支持,并且收集用户的反馈意见和要求。
在僵尸网络团体中,一致的经济目标是推动技术创新、合作和风险教育。在线易货贸易和市场网站已经开始为这种地下经济团体服务,向僵尸牧人提供更好的易货贸易和交易方式、在线技术支持以及租借和租赁等服务。这种合作已经催生了一个非常成熟的经济。这里可以销售和购买僵尸网络节点或者僵尸网络群。僵尸牧人在对一个实体展开攻击的时候会在这里寻求合作。僵尸网络可以被租借用于发送垃圾邮件。窃取的身份证和账户可以在这个地下市场的参与者之间交换和出售。
僵尸网络的生命周期
僵尸网络的生命周期一般包括四个阶段:传播、感染、指挥与控制和攻击,见图1。
图1 僵尸网络的生命周期(来源:英特尔公司,2009年)
传播阶段。在许多僵尸网络的传播阶段,僵尸电脑程序到处传播和感染系统。僵尸电脑能够通过各种手段传播,如垃圾邮件、网络蠕虫、以及在用户不知情的情况下通过网络下载恶意软件。由于传播阶段的目标主要是感染系统,僵尸牧人或者采取引诱用户安装恶意软件负载,或者通过应用程序或浏览器利用用户的系统中的安全漏洞传播恶意软件负载。
感染阶段。一旦安装到系统,这个恶意软件负载就使用各种技术感染机器和隐藏自己。僵尸电脑感染能力的进步包括隐藏感染的技术和通过攻击杀毒工具和安全服务延长感染寿命的技术等。杀毒工具和安全服务一般能够发现和清除这种感染。僵尸网络使用当前病毒使用的许多标准的恶意软件技术。多形性和“rootkitting”是两种最常用的技术。
·通过多形性,恶意软件每一次进行新的感染时都会改变代码,从而使杀毒软件产品很难检测到它。而且,僵尸网络的开发者目前还使用软件开发人员用来防止软件盗版和反向工程的增强代码的技术。这些技术包括代码迷惑、加密和进一步隐藏恶意代码真实性质的编码以及让杀毒软件厂商更难分析的编码。许多迹象表明,恶意软件和僵尸网络开发者正在开始研究高级的“rootkitting”技术,以便更深地隐藏恶意软件。
·通过利用“rootkitting”技术,也就是隐蔽地安装恶意软件的技术,每一次系统启动的时候这个名为“rootkit”的恶意软件都会启动。rootkit是很难发现的,因为这种恶意软件在电脑的操作系完全启动之前就启动了。rootkit技术的进步包括超劫持和基于虚拟化的rootkit以及发现和利用新目标以便注入固件和BIOS等代码。
虚拟机监视器(VMM)或者在一个操作系统下面运行的管理程序是僵尸网络和恶意软开发者控制计算机系统的一个非常有用的手段。超劫持包括安装一个能够完全控制这个系统的恶意管理程序。普通的安全措施很难对付这种管理程序,因为操作系统不知道这个机器已经被攻破了,杀毒软件和本地防火墙也不能发现它们。
僵尸网络开发者目前使用的另一个技术是主动攻击杀毒软件、本地防火墙以及入侵防御与检测软件(IPS/ IDS)和服务。僵尸网络攻击杀毒软件和防火墙软件使用的技术包括杀死安全软件流程或者阻止其更新能力等手段。下面是我们了解的僵尸网络封锁安全软件更新的两个例子:
·一个僵尸网络改变了被感染的系统的本地DNS设置以阻止杀毒软件访问其更新网站。
·僵尸网络主动检查安全软件连接其更新网站的企图并且封锁这个连接。
这些封锁安全软件更新的技术阻止安全软件获得其厂商提供的更新的恶意软件特征,或者阻止安全软件向中心厂商服务器报告异常情况和获得更新,从而阻止安全软件发布对抗僵尸网络的新版本程序。
僵尸网络开发者使用的另一种感染技术是把感染的时间定在安全软件实施恶意软件检测服务扫描的间隔时间里。僵尸电脑程序缓慢地感染一个系统不会引起入侵检测软件服务发出报警。
其它高级的僵尸电脑程序能够欺骗IDS/IPS系统和杀毒软件执行的本地和远程扫描。在这种情况下,这个僵尸网络的恶意软件会向进行扫描的杀毒软件展示虚假的内存镜像或者虚假的硬件镜像,或者这个软件通过丢弃数据包中断安全漏洞扫描,欺骗网络的响应或者重新定向来自安全漏洞扫描器的通讯。
指挥与控制。僵尸网络指挥与控制服务器使用若干协议中的一个协议进行通讯,目前最常用的一个协议是IRC。然而,最近开始出现一种使用增强的或者保护的协议的趋势。例如,Storm(风暴)僵尸网络使用加密的P2P协议(eDonkey/Overnet)。指挥与控制技术的进步对于僵尸牧人防止其僵尸网络被发现和关闭是非常重要的。要达到这个目的,僵尸网络已经开始利用在网络上常用的HTTP和P2P等协议,从而使僵尸网络更难发现。HTTP协议对于僵尸网络是特别有利的,因为目前来自系统的HTTP通讯量非常大并且具有多种类型的通讯。此外,僵尸网络软件还能够利用本地浏览器软件的许多功能和通讯栈,利用HTTP协议穿过防火墙的能力。其它即将出现的技术还包括使用VoiP、Web服务和HTTP通讯栈中的脚本等技术。另一个高级的技术是使用直接发送的方式,就是利用用户能够匿名发布信息的互联网论坛或者新闻组等网站传播僵尸网络软件。僵尸网络节点能够在这种网站上发布信息。僵尸牧人能够匿名地查看自己的节点发送的信息并且发布指令。然后,这个僵尸网络节点能够查询这个网站了解新的指令和进行其它基于消息的指挥与控制通讯。
现代僵尸网络发展的一个关键功能是在感染一个系统之后能够重新编程或者更新这个僵尸网络节点。这个指挥与控制指令可以让这个节点直接下载更新软件或者去一个被感染的具体网址下载这个更新软件。具有可重新编程能力的僵尸网络在这种地下经济中有很高的价值,因为这些僵尸网络能够随着发展而扩大以执行新的和高级的攻击和隐蔽的任务。
如上所述,隐蔽是僵尸网络技术的一个关键的功能。Kracken和Conficker僵尸网络都攻击和关闭安装在系统中的杀毒软件。其它僵尸网络故意通过客户化制定感染的时机和通讯的频繁程度以避开门限检测软件,防止本地的和网络的安全产品发现其踪迹。算法技术是下一种方式。僵尸网络开发者计划利用这种技术避开检测。这种技术包括使用隐蔽的通讯频道和基于速记式加密的信息,如模仿和嵌入内容(也就是嵌入在图像、流媒体、VoiP等内容中的消息)。
攻击阶段。僵尸网络生命周期的最后阶段是攻击阶段。在许多情况下,这种攻击只是简单地发送携带感染病毒的垃圾邮件。当攻击成功的时候,这个僵尸网络本身的规模将扩大。僵尸网络还经常用于发送垃圾邮件,作为实物交易和租借交易的一部分。这样,钓鱼攻击者、黑客、垃圾邮件制造者和病毒作者就能够利用僵尸网络销售信息和服务。僵尸网络还用来实施大规模拒绝服务攻击,攻击的目标包括政府和企业系统,甚至还攻击其它僵尸网络。一些新的僵尸网络能够升级到使用各种黑客工具和故障注入器等技术进一步攻击它们已经渗透进去的网络。例如,Asprox僵尸网络包含一种SQL注入攻击工具,另一种僵尸网络包括一个蛮力SSH攻击引擎。除了实施远程攻击之外,僵尸网络还能够实施持续的本地攻击,窃取被感染的系统及其用户的身份证和账户。