来源于:《Bots and Botnets: An Overview of Characteristics,Detection and Challenges》,2012 IEEE International Conference on Control System, Computing and Engineering, 23 - 25 Nov. 2012, Penang, Malaysia
一、Botnets的特性
1、僵尸网络生命周期和僵尸主控机活动
僵尸网络可以有不同的大小或结构,但是,一般来说,它们在生命周期中经历相同的阶段[4,5]。图1描述了僵尸网络生命周期的一般视图。僵尸网络生命周期和僵尸主控机活动。
1)感染和传播:僵尸网络的生命周期始于感染过程,在此过程中,僵尸主控机使用不同的方法和技术来感染新的目标(如电脑、移动设备),并将其转化为僵尸[6]。在垃圾邮件或即时消息、恶意的url、P2P文件共享网络甚至其他僵尸网络中,被感染的代码可以作为向量的样本,在目标设备中传播僵尸[5]。大多数僵尸的目标都是不受监控的计算机,比如高带宽连接、大学服务器和家用电脑。一般来说,僵尸主控机利用那些对网络安全知之甚少或缺乏知识的人来获取他们的设备,并在不被检测到的情况下让他们的僵尸存活很长一段时间[7]。
2)聚集:这是僵尸第一次连接到C&C服务器,向僵尸主控机显示它已经成功地建立了一个僵尸[8]。此外,这些机器人还会收到一些基本信息的更新,比如相关的C&C服务器的IP地址列表[9]。
3)命令和报告:在此阶段,僵尸监听C&C服务器,或定期与它们连接,以获得来自僵尸主控机botmaster的新命令。一个新的指令,当被僵尸检测到时,被当作一个命令。他们执行命令,结果报告给C&C服务器,然后僵尸等待新的命令[4,6]。
4)放弃:当一个僵尸不再可使用(例如它的带宽太低),或者botmaster决定这个特定的僵尸不再合适时,它可能会被botmaster抛弃。如果任何单个僵尸被禁用,僵尸网络仍然可用。当所有的僵尸被检测到或被抛弃,或者C&C服务器被检测和阻塞时,僵尸网络将被完全摧毁。
5)保护僵尸网络:保持整个僵尸网络安全的持续努力是僵尸网络生命周期中的重要问题之一。僵尸网络和僵尸具有动态和灵活的性质。他们不断被更新,而他们的后代代码每天都在变化。此外,botmasters总是尝试不同的技术来保护他们的僵尸不受现有的检测解决方案的影响[10]。
2、命令和控制(C&C)机制
命令和控制机制在僵尸、C&C服务器和botmaster之间创建一个接口,以便在它们之间传输数据。对于botmasters来说,在他们自己、C&C服务器和受感染的计算机之间建立一个万无一失的连接是至关重要的[3]。有三种类型的僵尸网络命令和控制架构——集中的、分散的和混合的——基于通信的实现方式[6]。图2说明了集中化和分散的C&C机制之间的区别。
1)集中的C&C:在集中指挥和控制方法中,僵尸被连接到中央C&C服务器获取命令和更新。根据设置,C&C服务器可能提供一些服务来注册可用的僵尸,这将使跟踪它们的活动成为可能。当然,一个botmaster必须连接到C&C服务器来控制僵尸并分发它的命令和任务,然而,集中的模型有一个失败的点,他们是最常见的僵尸网络因为他们用简单的步骤来创建和管理僵尸并且响应速度是快的[12]。集中化的C&C机制根据其用于建立连接的通信协议分为IRC和HTTP类型。
基于IRC的命令和控制机制:IRC或Internet中继聊天是计算机用户在实时模式下进行在线交流或聊天的一种系统。这种方法在第一代僵尸中使用,在这些僵尸中,botmasters使用IRC服务器和相关的通道来分发他们的命令[13]。每个僵尸连接到由botmaster选择的IRC服务器和通道,并等待命令。在此设置中,botmaster与所有连接的僵尸建立实时通信并控制它们。IRC僵尸遵循PUSH方法,这意味着当IRC僵尸连接到选定的通道时,它仍然处于连接模式[11]。
基于HTTP的命令和控制机制: HTTP命令和控制是一种新技术,它允许僵尸程序通过使用HTTP协议[13]来控制他们的僵尸。在此技术中,僵尸使用由botmaster定义的特定URL或IP地址,连接到特定的web服务器,该服务器扮演C&C服务器角色。与基于irc的僵尸使用的PUSH方法不同,HTTP僵尸采用了PULL方法。在连接到C&C服务器的第一次连接后,它们不会继续留在连接模式中。在PULL方法中,botmasters在某些web服务器上发布命令,而僵尸会定期访问这些web服务器以更新自己或获得新的命令。该过程以由botmaster[1,14]定义的规则间隔继续。
2)分散的C&C:分散指挥和控制架构基于点对点(P2P)网络模型。在这个模型中,一个被感染的计算机充当一个僵尸,同时作为一个C&C服务器[15]。事实上,在P2P僵尸网络中,每一个僵尸都扮演着服务器的角色,将命令发送给邻近的僵尸,而不是中央C&C服务器。botmaster向一个或多个僵尸发送命令,接收命令的僵尸将它们发送给其他僵尸。每个接收新命令的僵尸重复这个过程。与中央集权的僵尸网络;创建和管理P2P僵尸网络涉及复杂的程序,需要高水平的专业知识[6,14]。
3)混合C&C:如上所述,每一种C&C机制都有一套优点和缺点,对使用和管理的易用性以及检测和废弃的难度都有一定的限制。为了利用每个C&C模型的优点,采用不同的协议和体系结构来形成混合的方法。例如,HTTP2P botnets[15]与HTTP协议进行通信,以绕过P2P结构的防火墙,以消除中央C&C服务器的传统缺陷。混合方法并不局限于某些服务或体系结构的使用;实际上,botmasters可以使用任何适用的协议来实现这个模型。例如,AHP2P[16]是一种先进的混合P2P僵尸网络,它使用web2.0技术将其通信隐藏到社交网站中。
3、僵尸网络恶意活动
僵尸网络的大小从一个庞大的僵尸网络,有数千个僵尸(大型僵尸网络)到一个拥有数百个或更少数量的僵尸(小型僵尸网络)的小型僵尸网络。不管它们的大小如何,与它们的复杂性和目的有直接的联系,僵尸网络主要是在计算机网络中进行恶意活动[5]。它们不仅是对计算机网络和互联网的危险威胁,而且还涉及其他类型的威胁和攻击[17]。这些攻击的一些例子如下:
1)DDOS:这是通过发送大量的UDP数据包、ICMP请求或TCP同步洪水来实现的分布式拒绝服务或DOS攻击,它的目的是使用特定服务器的资源并迫使它们关闭。当botmasters控制僵尸网络时,他们可以通过在同一个僵尸网络中的被感染的计算机上发送一个特定的命令,来从数千个不同的地方执行这类攻击[3,12]。
2)垃圾邮件,垃圾邮件指的是不请自来的信息,有相同的内容,但被发送到不同的媒介,比如邮件,即时信使,博客或新闻小组的评论,[18]。基于卡巴斯基实验室报告[19],大约85%的垃圾邮件活动是由僵尸网络生成的。因此,僵尸网络可以被认为是收集受感染计算机的不同电子邮件地址、生成和发送垃圾邮件的主要平台。每个僵尸平均每秒发送三封垃圾邮件或假消息。因此,Koobface botnet[20]拥有290万台被感染的计算机,每秒可以产生超过800万条的假消息。
3)盗窃个人信息:虽然盗窃个人信息一直被认为是最值得注意的网络威胁之一,仅Zeus botnet感染了近350万台电脑,并试图窃取敏感信息[20]。botmaster使用botnet来盗取信息,并使用它们自身利益。他们可以为僵尸设置一个触发器,并让他们扫描那些重要信息输入的网站[17]。此外,其他应用程序,如按键记录器,通过机器人来传播,以获取诸如个人密码和网上银行等金融数据等重要信息[21]。
4)非法托管、出售或出租服务:拥有大型存储空间和高带宽连接的计算机或服务器可以成为僵尸主控器的目标,从而获得控制和用于文件共享和非法托管。在任何需要的时间内,僵尸网络程序和托管服务都可以用于恶意目的的销售或出租。这些服务的目的之一就是在他们的客户和执法部门之间设置更多的障碍和隔阂,[18,22]。
5)点击欺诈和广告软件:僵尸网络和其他网络威胁的主要区别之一是,僵尸网络可以通过点击欺诈来赚钱。Botmasters可以通过在网站上点击支付一小笔钱,或者每次点击广告就能赚到很多钱。弹出式广告也可以被僵尸下载、安装或显示,以迫使用户访问特定的网站[18]。
除了上面讨论的攻击,僵尸网络还可以用来传播不同类型的计算机威胁,如病毒、木马、后门、蠕虫等等。这意味着僵尸网络不仅是威胁,而且是其他恶意软件的传播平台。
二、僵尸网络检测
有几种方法和技术用于跟踪僵尸网络活动,并检测它们,例如基于签名的检测、honeypots、分析DNS流量和行为分析(如主动和被动):
1、基于签名的僵尸网络检测方法
签名是指入侵者对计算机系统的威胁的已知模式或特征。通过对这些模式或特征的分析和比较,可以将恶意行为与正常行为区分开来。一些研究提出了基于签名的僵尸网络检测方法[23,24]。但是,由于这种方法不能识别新的行为、模式或特征,所以很少使用签名来检测僵尸网络。该方法是基于对现有机器人的预定义特性的简单比较。因此,这种方法对检测知名机器人有好处,但对检测新零日机器人的意义不太大[3]。
2、蜜罐和蜜网
蜜罐是用来收集僵尸的信息和活动的工具,用来检测僵尸网络。这些信息可以用来更多地了解僵尸的行为或僵尸主控机的意图[25]。蜜罐有两种类型:低互动蜜罐和高互动蜜罐[26]。它们之间的主要区别是系统资源、服务和功能的访问权限级别[27]。低交互的蜜罐被部署在计算机和僵尸主控机之间有限的互动中。因此,它们可能不会完全被破坏,收集的信息可能不足以用于分析僵尸网络。为了提供更多的信息,高交互性的蜜罐模拟了真正的系统和服务,这使得botmasters有了更多的控制。虽然这种方法能够为僵尸网络的检测提供有用的信息,但是botmasters能够完全控制安装了高交互的蜜罐的计算机。此外,最近,botmasters使用了许多技术来检测和避开蜜罐[25,28]。
3、通过DNS流量监视检测
使用蜜罐提供了有用的僵尸网络流量,但它提供的关于DNS查询的信息较少。监视和分析僵尸产生的DNS流量及其与正常DNS查询的差异,已被用作检测僵尸网络的技术[9]。这些方法不再有效,因为新一代的僵尸网络已经被设计用来产生最少数量的DNS查询。此外,分析DNS流量的过程非常复杂[1,10]。最后,DNS分析技术无法提供关于僵尸网络传播的信息以及它们感染目标的方式[6]。
4、行为分析检测
为了提供一种分析和检测僵尸网络的有效方法,一些研究提出了行为分析。该方法查找网络流量中的异常模式,而不考虑传输信息的内容[29]。这种技术的主要优点之一是能够探测未知的僵尸网络威胁[30]。行为分析有以下几种形式:
1)攻击行为分析:在此方法中,攻击的特征和行为比其他问题(如僵尸的行为[6])更受关注。这种方法的主要缺点在于它只适用于僵尸网络已经传播、建立和攻击开始的情况下。此外,该方法采用了一种干扰正常通信的主动行为分析,这使得botmaster能够意识到观察和检测过程[28]。
2)操作行为分析:与上述方法不同,操作行为分析主要集中在僵尸的特性、C&C服务器和通信方法、botmaster行为和意图上。因此,许多关于僵尸网络检测的研究都采用了行为分析方法,通过收集特定时期的网络流量(即被动方法),并对其进行分析,以确定僵尸和僵尸网络活动的任何证据[6]。
三、目前的挑战和建议
本节讨论当前的僵尸网络检测需要解决的挑战。它还强调了一些主要问题,并提出了一些未来研究的建议。
1、一般的僵尸网络检测的挑战
僵尸网络有几个特点(例如由熟练的开发人员开发,动态特性和高灵活性),这使得它们难以分析和检测。它们发布得非常快,而botmasters总是尝试不同的技术来保护他们的僵尸[10]。
1)变化的技术和环境:正如McAfee研究实验室所指出的,在几乎所有的检测算法中,成功都是短暂的,因为botmasters不断改变他们的技术和操作环境。此外,McAfee研究实验室预测,网络社区将面临更广泛的分布式和更有弹性的僵尸网络,这很难被发现[33]。
建议:为了对未来的僵尸网络攻击做好准备,研究人员应该继续学习一些高级技术和基础设施(例如:云和移动),这些技术和基础设施可以被botmasters使用。因此,对僵尸网络的检测尤其是新一代的研究是一个有待进一步研究的领域。
2)小型和单僵尸检测:如Bailey等[6]所指出的,基于对僵尸网络机器人的合作行为的分析,设计了大量的当前僵尸网络检测方法。这些技术在大型僵尸网络检测中更有效,在僵尸网络中有大量的机器人(即被感染的目标),因此,对小型僵尸网络和单个僵尸的检测仍然可以被认为是一个挑战[11]。
建议:对僵尸网络活动的早期检测是一个重要的问题,因为它的进一步传播和损害可以得到响应和阻止[34]。因此,需要对单个僵尸和僵尸网络进行检测,以便在其生命周期的早期检测和防止僵尸网络。
3)僵尸网络响应、预防和缓解:据我们所知,目前关于僵尸网络的研究大多只在检测方面进行讨论。因此,应急、预防和缓解是进一步研究的开放领域。
建议:需要对僵尸网络感染和传播系统进行更多的研究,以设计预防和缓解方法。此外,任何其他方法,如检测单个僵尸,可以帮助在早期发现它们并快速响应它们。
2、基于http的僵尸网络检测挑战
Botmasters使用HTTP协议将他们的活动隐藏在正常的web流中,并且很容易避免像防火墙这样的当前检测方法。由于使用的HTTP服务范围很广,不像IRC和P2P那样,阻止这项服务是不容易的[13]。此外,该服务通常被互联网上的正常应用程序和服务使用,因此,对低错误率警报(例如假阴性和假阳性)的HTTP僵尸网络的检测已经成为一个值得注意的挑战[3]。
1)假警报率:基于HTTP bot周期性地连接到特定的命令和控制服务器以获取命令和更新(即拉式)的事实,设计了许多当前的检测方法[11,13]。正如在[1,14]中所观察到的,一些正常的应用程序和服务,如Gmail会话(定期检查新邮件)、自动更新器、基于HTTP的下载管理器、自刷新页面和一些浏览器的工具栏都可以生成相同的周期模式,并在检测结果中增加假正率。
建议:必须进行进一步的研究,以设计和提出新的滤波算法,以减少不必要和无用的数据,从而减少流量(在分析过程中)。此外,还需要新的分类算法来区分正常的web流与bot生成的流。对不同类型的僵尸网络特性的审查表明,基于http的僵尸网络有一组属性,它们很难被检测到。另一方面,针对基于http的僵尸网络的检测的研究数量相对于基于irc和P2P的僵尸网络的数量相对较低[1]。因此,在这方面还需要进一步的研究。
3、新的僵尸网络检测挑战。
云和移动基础设施最近成为僵尸网络活动的一个新平台。由于它们还没有得到充分的研究,因此需要进一步的研究来设计一种基于其特定特征的合适的检测方法。然而,云被云服务提供商动态监控和保护,与其他类型相比,僵尸网络更容易关闭[35]。另一方面,与计算机和计算机网络相比,移动设备没有得到适当的保护,其用户对安全更新的关注较少[12]。
1)特定的移动特性和资源限制:有一些特定的移动特性,与计算机相比有不同的移动安全管理特性,比如机动性,严格的个性化,不同类型的连接性,技术融合,以及各种能力[2]。除此之外,诸如CPU、内存和电池寿命等移动设备的资源限制,使得本文所讨论的现有僵尸网络检测解决方案难以实现[17]。
2)缺乏中央安全管理:除了上述特点之外,移动安全的主要挑战是缺乏中央安全管理,因为它可以跟踪和监控安全威胁,并相应地更新移动设备上的安全策略[36]。此外,如前所述,目前的检测方法主要依赖于分析同一僵尸网络中僵尸产生的异常或恶意活动的相似性。[6]。事实上,在移动设备上,没有集中的安全管理来记录和分析这些相似性。
本文概述了僵尸和僵尸网络的现状。与其他类型的恶意软件不同,僵尸网络是由熟练的僵尸控制主机精心组织和控制的。他们采用各种各样的策略来保证他们的僵尸安全并且尽可能的隐藏。因此,僵尸网络检测是网络安全管理的一大挑战。有几种方法和技术用于跟踪僵尸网络活动并检测它们。每种方法都有一些优点和缺点。此外,这些技术是基于计算机和计算机网络的规范设计的,可能不完全适用于新一代的僵尸网络。移动和云僵尸网络还没有得到充分的研究,因此需要进一步的研究来设计基于这些环境特征的合适的检测方法。