僵尸网络命令与控制信道的特征提取模型研究*

2013-06-08 10:06王海龙龚正虎
计算机工程与科学 2013年2期
关键词:僵尸命令特征提取

王海龙,唐 勇,龚正虎

(1.中国电子设备系统工程公司,北京 100039;2.国防科学技术大学计算机学院,湖南 长沙 410073)

1 引言

僵尸网络是攻击者(Botmaster)利用各种手段传播僵尸程序(Bot),将大量主机感染成僵尸主机(Zombie),并通过命令与控制C&C(Command and Control)信道操纵这些僵尸主机,实施分布式拒绝服务攻击、垃圾邮件发送以及敏感信息窃取等恶意行为的网络。它已经成为网络安全最严重的威胁之一,尤其对国内因特网用户造成了严重的危害。赛门铁克(Symantec)公司的监测数据表明[1,2.,平均每天活跃的僵尸主机数都有数万台之多,识别出的命令与控制服务器数也以较大的比例逐年递增,而中国大陆被僵尸网络控制的主机数占全世界总数的比例多次超过美国,早已经成为最大的僵尸网络受害国。僵尸网络已成为安全领域的研究和讨论热点。无论是学术界的ACM、USENIX 协会,工业界的微软、赛门铁克、诺顿等公司,还是政府部门的国防高级研究计划署(DARPA)、国土安全部(DHS)等机构,都积极加入到僵尸网络的研究中。

僵尸网络虽然是在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而成的一种新型攻击方式[3],但却与之有着明显的区别:攻击者和僵尸网络程序之间通过命令与控制信道构建了一对多的控制关系[4]。正是由于这种关系,僵尸网络比其他恶意程序具有更大的私密性、灵活性和高效性,不仅能够进行可控的主动传播、升级,而且能够从休眠状态迅速转变为活跃状态,发动各种危害性极大的攻击[5]。然而,安全管理员只要能够从命令与控制信道的交互信息中提取出相应特征,就可以帮助其识别并确定僵尸网络的存在,这为遏制上述恶意控制关系提供了有力保障。

命令与控制信道是攻击者创建的私有“频道”,僵尸程序从指定的“频道”内读取攻击者发送给它的攻击命令,然后执行并做出相应的行为。它是僵尸网络必不可少的组成部分,无论采用什么命令与控制协议(包括IRC、HTTP、P2P),都要经过网络传输,因此它便成为了最薄弱、最容易被发现的环节。与此同时,统计分析表明,命令与控制信道中攻击命令具有相对固定的格式和命令字的特点。近年来,攻击特征自动提取技术越来越成熟,并广泛应用于网络安全领域[6]。然而,现有的大部分特征提取技术都是针对蜜罐或蜜网获取的可疑网络流量,无法有效地检测出全部活跃的僵尸网络[3]。本文则是针对流经边缘网络的网络流量,在特征提取技术的基础上,利用上述命令与控制信道的特点,提出了一个特征提取模型。该模型不仅能够获取攻击者发送给僵尸程序的攻击命令,而且能够生成入侵检测规则,帮助入侵检测系统识别感染的僵尸主机。

本文第2节概述了命令与控制信道相关的研究情况,重点分析了常见僵尸网络攻击命令的特点;第3节针对这些特点,提出并介绍了命令与控制信道的特征提取模型;第4节通过实验验证了本模型的有效性;最后给出了相应结论和下一步研究内容。

2 相关工作

针对命令与控制信道,现有的研究主要包括以下三个方面:(1)设计反检测能力更强的命令与控制协议[7];(2)通过分析僵尸程序代码,获取命令与控制信道的确切结构,然后模拟成受控的僵尸程序,加入并跟踪指定僵尸网络[8];(3)通过检查命令与控制相关的网络流量属性或响应行为模式来识别僵尸网络的通信,进而确定受感染的僵尸主机[9,10]。本文是在上述研究的启发下,进一步探讨从命令与控制信道中提取僵尸网络通信特征的方法。

韩心慧等人[11]对攻击者向僵尸程序发出的攻击命令进行了持续监测,研究指出:根据目前大部分僵尸网络所实际执行的攻击命令情况,对僵尸网络的行为可以划分为扩散攻击行为、下载与更新行为、分布式拒绝服务攻击行为、窃取信息行为、架设服务器行为、僵尸程序登录与控制行为以及僵尸网络迁移行为等。表1分别列举了上述不同行为对应的常见命令格式和命令字。其中,前三类行为虽然对应的命令字不尽相同,但命令的具体功能相似,命令格式基本上相同;而后四类行为对应命令的具体功能往往比较繁复,导致不同的命令字具有不同的命令格式。以僵尸网络扩散攻击行为的命令格式为例,最先出现的点号称为命令前缀,“advscan”则为命令字,扩散攻击的命令参数一般包括所攻击的漏洞名(Exploit)、使用的线程数(Thread)、攻击持续时间(Time)等。不同的命令与控制协议也有着不同的命令格式,以僵尸程序登录与控制行为对应的命令格式为例,前者是基于IRC协议的僵尸网络使用的格式,而后者是基于HTTP 协议的僵尸网络使用的格式。当然,也有不带参数的简单命令。

Table 1 Common command formats and strings corresponding to different activities of botnet表1 僵尸网络不同行为对应的常见命令格式和命令字

通过对命令与控制信道的分析可以发现,僵尸程序执行的命令往往具有相对固定的格式和命令字,而且命令字长度都比较短。因此,只要使用合适的特征提取方法,就可以从命令与控制信道的交互信息中获取这些特殊的字符型特征。目前,常用的特征自动提取方法主要包括最长公共子串(LCS)提取[12]、负载出现频率分析[13]、网络协议的状态自动机[14]、多序列比对[15]等。其中,基于多序列比对(也称联配)的方法由于能够提取长度很短的特征片断,并且能够挖掘特征片断之间的距离限制关系,是目前特征提取准确性最高的方法之一[16]。本文采用该方法作为特征提取方法。

3 特征提取模型

在第2节的分析基础上,本文提出了一个僵尸网络命令与控制信道的特征提取模型,如图1 所示。该模型主要由五部分组成:前期过滤、协议分类、数据预处理、特征提取以及特征判定。其中,前三个部分尽量剔除掉和命令与控制信道无关的信息。这样,不仅能够提高特征提取的操作效率,而且能够减少噪声,提高提取的准确性。

3.1 前期过滤

前期过滤的目的是尽快且大量地减少跟僵尸网络命令与控制信道无关的流量数据。白名单列出了一些知名的或长期处于正常状态的服务器域名(例如eBay、Google、Yahoo 等)或IP 地址段。访问这些地址的流量都被认为是可信的,将被过滤掉。黑名单则列出了一些从事过恶意活动或为恶意活动提供过支持的服务器域名(例如被攻击者利用的IRC服务器等)或IP地址段。访问这些地址的流量很可能包含攻击命令,将被保留下来等待进一步处理。无论是白名单还是黑名单,都会根据公布的安全事件进行动态更新。

3.2 数据预处理

数据预处理是根据僵尸网络不同命令与控制协议的特点,分别对IRC、HTTP以及P2P三种流量数据进行深入过滤,进一步剔除无关的数据。本文模型采用的可疑数据判定规则主要包括一些先验知识和统计分析结果,这样可以提高处理效率。对于IRC 流量数据,可以在特定的端口号(例如6667、6668、7000 等)、昵 称(Nickname)的规律性[17]、传输层特征(例如每条流的平均报文数、每个报文的平均字节数等)等方面进行统计分析,获取可能具有攻击命令的数据。对于HTTP流量数据,可以根据周期性重连HTTP 服务器的频率排除正常用户的数据[18]。与前两者相比,判定P2P流量数据的难度是最大的,它需要对相同地址的ICMP、UDP 以及SMTP 的流量数据进行综合分析。如果在某一时间内,如果一个地址发出的不可达的ICMP 报文异常多,UDP 报文数量相对于TCP报文比率显著增大,SMTP的链接也增多,那么该地址对应的P2P 报文就很可能包含攻击命令[19]。当然,也可以根据特定的端口判定P2P 流量数据。

Figure 1 Signature generation model for botnet command and control channel图1 僵尸网络命令与控制信道的特征提取模型

虽然数据预处理能够通过过滤获得可疑的流量数据,但是其中仍存在着一定比例的正常数据。因此,需要特征提取和特征判定的进一步处理。

3.3 特征提取

特征提取的核心是多序列联配和噪声过滤。序列联配[20]是将两个或多个符号序列进行比较和对齐,从而尽可能准确地反映它们之间的相似或相异,获取有用的信息和知识,在生物信息学、序列聚类、文本分析、网络安全等领域都具有广泛应用。这里,多序列联配使用的是一种基于层次式带剪枝多序列比对算法——HP_MSA[16]。该算法的优点是特征提取准确性高。噪声过滤的目的是消除噪声对特性提取准确性的影响。本文采用的是文献[21]提出的自适应噪声消除算法。

3.4 特征判定

特征判定的作用有两个:(1)根据僵尸程序的响应信息,剔除那些是攻击命令可能性比较小的特征;(2)根据常见的命令格式,适当地调整特征,以增强特征的适用范围。研究发现,僵尸程序对攻击命令的响应一般有以下几种方式:(1)不对攻击命令做出回复;(2)不对攻击命令做出回复,但如果不满足命令要求,则会有错误信息返回;(3)直接回复攻击命令需求的内容信息,但信息中不包含对应的命令字;(4)直接回复攻击命令需求的内容信息,同时信息中包含对应的命令字。前两种方式通常是对应带有参数的命令,后两种则是对应不带参数的命令。基于上述发现给出如图2所示的特征判定具体流程。图2中“待定”是指需要对回复的信息进行深度分析,然后再判断特征是否可能为攻击命令。

Figure 2 Judgment flow of signature图2 特征判定流程

4 测试结果及分析

本文是根据背景流量数据和僵尸网络流量数据对提出的模型进行评估的,而且实现了一个僵尸网络实验平台,可以真实地生成各种僵尸主机之间通信的命令与控制流量。由于基于IRC 的僵尸网络仍然是因特网的主要威胁之一[1,2.,而且它的攻击命令具有代表性,所以实验中选取的是IRC 僵尸程序。图3给出了该实验平台的拓扑结构。其中,僵尸网络的命令与控制服务器是采用Unreal软件的IRC服务器。僵尸网络发起DDoS攻击的目标是Web服务器。此外,由于绝大多数僵尸网络使用动态DNS域名,该拓扑结构还要包括DNS服务器。同时,还模拟了骨干网和内部网络的层次结构。内部主机被感染成为IRC 僵尸主机,这些僵尸主机与IRC 命令与控制服务器连接,接收来自攻击者的命令,然后向受害主机发起恶意攻击。本实验在实验平台网络的边缘检测并且采集流量数据,采集到的流量数据经过过滤和预处理后送往数据处理中心进行下一步处理。

Figure 3 Botnet testbed图3 僵尸网络实验平台

本实验针对当前广泛传播的基于IRC 协议的僵尸程序(Agobot和SDBot),对其命令集合与运行过程进行了深入分析。在本实验平台中,使用了40台主机,其中27台安装了Windows XP系统,9台安装Windows 2000系统,4台安装Linux FC3系统。在实际采集过程中,受感染的僵尸主机数量为20台。实验中对每种僵尸程序分别进行了多次测试,并采集了僵尸主机与IRC 服务器之间的命令与控制流量(tcpdump格式)。表2为实验平台产生的僵尸网络命令与控制流量的统计数据。另外,使用某校园网的出口流量作为测试的背景流量(tcpdump格式),可以反映真实的网络规模和波动。该校园网拥有的计算机总数大约为2 300台。经过一周的采集得到的测试流量包括完成的报文和载荷。

Table 2 Traffic data of botnet command and control表2 僵尸网络命令与控制流量数据

根据本文提出的模型,对测试流量数据进行处理。图4展示了特征提取的一个操作实例。表3则列出了测试流量处理所得的特征结果。然后,把最终特征转化为入侵检测规则,并配置到实验平台内部网络的入侵检测系统Snort上。最后,Snort成功地检测出攻击者发送给僵尸主机的命令报文。

Table 3 Results of experimental test表3 实验测试结果

经过实验表明,本文提出的模型能够从IRC僵尸网络的命令与控制信道中准确提取出带有一定命令格式的特征。但是,对于极少数与攻击命令非常相似的特征,还需要做进一步的分析,如对命令回复报文进行深度的载荷分析等。另外,还需要收集更多的僵尸程序(比如基于HTTP、P2P 协议)来验证本文模型的有效性。

5 结束语

Figure 4 Instance of signature generation operation图4 特征提取的操作实例

本文对现有僵尸网络命令与控制信道中的攻击命令进行了分析,研究发现这些命令具有相对固定的格式和命令字特点。利用这一特点,针对边缘网络的进出流量,并结合现有的特征提取技术,本文提出了一个新型的特征提取模型。该模型具有较好的灵活性,能够集成多种僵尸网络可疑流量的判定方法以及特征提取技术。经过实验表明,该模型确实能够准确地获取当前流行的僵尸网络命令与控制信道中的攻击命令,对僵尸主机检测也有一定的帮助。下一步的工作是实现原型系统,并在真实的网络环境中运行和评估检测结果;同时,研究在命令与控制信道加密的情况下提取特征的方法。

[1]Marc F,Eric J,Mack T,et al.Symantec global internet security threat report:Trends for 2008(Volume XIV)[R].USA:Symantec Inc.,2009.

[2]Marc F,Dean T,Eric J,et al.Symantec global internet security threat report:Trends for 2009(Volume XV)[R].USA:Symantec Inc.,2010.

[3]Zhuge Jian-wei,Han Xin-hui,Zhou Yong-lin,et al.Research and development of botnets[J].Journal of Software,2008,19(3):702-715.(in Chinese)

[4]Rajab M,Zarfoss J,Monrose F,et al.A multi-faceted approach to understanding the Botnet phenomenon[C]∥Proc of the 6th ACM SIGCOMM Conference on Internet Measurement Conference(IMC'06),2006:41-52.

[5]Wang Hai-long,Gong Zheng-hu,Hou Jie.Overview of botnet detection[J].Journal of Computer Research and Development,2010,47(12):2037-2048.(in Chinese)

[6]Tang Yong,Lu Xi-cheng,Wang Yong-jun.Survey of automatic attack signature generation[J].Journal on Communications,2009,30(2):96-105.(in Chinese)

[7]Hund R,Hamann M,Holz T.Towards next-generation Botnets[C]∥Proc of the 4th European Conference on Computer Network Defence,2008:33-40.

[8]Holz T,Steiner M,Dahl F,et al.Measurements and mitigation of peer-to-peer-based Botnets:A case study on storm worm[C]∥Proc of the 1st USENIX Workshop on Large-Scale Exploits and Emergent Threats,2008:73-81.

[9]Gu Guo-fei,Zhang Jun-jie,Lee W.BotSniffer:Detecting Botnet command and control channels in network traffic[C]∥Proc of the 16th Annual Network and Distributed System Security Symposium,2008:193-210.

[10]Gu Guo-fei,Yegneswaran V,Porras P,et al.Active Botnet probing to identify obscure command and control channels[C]∥Proc of 2009Annual Computer Security Applications Conference,2009:241-253.

[11]Han Xin-hui,Guo Jin-peng,Zhou Yong-lin,et al.Investigation on the Botnets activities[J].Journal on Communications,2007,2.(12):167-172.(in Chinese)

[12]Wang K,Cretu G,Stolfo S J.Anomalous payload-based worm detection and signature generation[C]∥Proc of Recent Advances in Intrusion Detection,2003:227-246.

[13]Tang Y,Chen S.Defending against internet worms:A signature-based approach[C]∥Proc of the 24th Annual Conference IEEE INFOCOM,2005:1384-1394.

[14]Yegneswaran V,Giffin J T,Barford P,et al.An architecture for generating semantics-aware signature[C]∥Proc of the 14th USENIX Security Symposium,2005:97-112.

[15]Tang Y,Lu X,Xiao B.Generating simplified regular expression signatures for polymorphic worms[C]∥Proc of the 4th International Conference on Autonomic and Trusted Computing,2007:478-488.

[16]Tang Yong,Lu Xi-cheng,Hu Hua-ping,et al.Automatic generation of attack signatures based on multi-sequence alignment[J].Chinese Journal of Computers,2006,2.(9):1533-1541.(in Chinese)

[17]Wang Wei,Fang Bin-xing,Cui Xiang.IRC Botnet detection based on host behavior[J].Chinese Journal of Computers,2009,32(10):1980-1988.(in Chinese)

[18]Lee J S,Jeong H C,Park J H,et al.The activity analysis of malicious http-based botnets using degree of periodic repeatability[C]∥Proc of 2008International Conference on Security Technology,2008:83-86.

[19]Steggink M,Idziejczak I.Detection of peer-to-peer Botnets[D].Holland:University of Amsterdam,2008.

[20]Smith T,Waterman M.Identification of common molecular subsequences[J].Journal of Molecular Biology,1981,147(1):195-197.

[21]Tang Yong,Wei Shu-ning,Hu Hua-ping,et al.Noise-tolerant approach for automatically generating signatures of network attacks [J].Journal on Communications,2009,30(12):124-131.(in Chinese)

附中文参考文献:.

[3]诸葛建伟,韩心慧,周勇林,等.僵尸网络研究与进展[J].软件学报,2008,19(3):702-715.

[5]王海龙,龚正虎,侯婕.僵尸网络检测技术研究进展[J].计算机研究与发展,2010,47(12):2037-2048.

[6]唐勇,卢锡城,王勇军.攻击特征自动提取技术综述[J].通信学报,2009,30(2):96-105.

[11]韩心慧,郭晋鹏,周勇林,等.僵尸网络活动调查分析[J].通信学报,2007,2.(12):167-172.

[16]唐勇,卢锡城,胡华平,等.基于多序列联配的攻击特征自动提取技术研究[J].计算机学报,2006,2.(9):1533-1541.

[17]王威,方滨兴,崔翔.基于终端行为特征的IRC 僵尸网络检测[J].计算机学报,2009,32(10):1980-1988.

[21]唐勇,魏书宁,胡华平,等.抗噪的攻击特征自动提取方法[J].通信学报,2009,30(12):124-131.

猜你喜欢
僵尸命令特征提取
只听主人的命令
笔记本电脑“僵尸”
基于Daubechies(dbN)的飞行器音频特征提取
移防命令下达后
你愿意当吸血鬼还是僵尸?
Bagging RCSP脑电特征提取算法
这是人民的命令
App已死?80%的僵尸应用带来的困惑
“僵尸肉”横行谁之过
基于MED和循环域解调的多故障特征提取