APP下载

基于多维流量特征的IRC僵尸网络频道检测

2013-10-29闫健恩袁春阳许海燕张兆心

通信学报 2013年10期
关键词:数据流僵尸频道

闫健恩,袁春阳,许海燕,张兆心

(1. 哈尔滨工业大学 计算机科学与技术学院,黑龙江 哈尔滨 150001;2. 国家计算机网络应急技术处理协调中心,北京 100029)

1 引言

僵尸网络(Botnet)是从传统恶意代码形态的基础上进化的,并通过相互融合发展而成为目前最为复杂的攻击方式之一[1]。僵尸网络作为一种新型的攻击方式,给互联网的安全造成了严重威胁和巨大损失。CNCERT 2012年11月监测报告指出,我国有165万余个 IP 地址对应的主机被木马或僵尸程序控制[2]。

从拓扑结构上看,基于IRC协议的僵尸网络是一种集中式僵尸网络[3]。虽然分布式僵尸网络比较流行,但IRC 僵尸网络由于实现简单、操控性灵活,目前在互联网上仍然活跃。如何准确检测僵尸网络及其控制通信信道,是一个很大的挑战。僵尸网络检测技术从数据来源可分为基于网络流量数据和其他系统信息数据(如DNS日志数据、入侵检测记录数据等);从异常模式分析可分为基于内容特征分析(如通信端口、特殊二进制代码等)和基于行为特征分析(如网络行为特征或流量行为特征)。在分析和检测研究中,最早开展跟踪研究工作的团队是德国蜜网项目组,他们对近100个Botnet活动进行了跟踪和分析。此外,FEDYNYSHYN等[4]使用不同的分类算法,分析了正常网络流量和僵尸网络流量在发送和接收数据数量上的差异,结合域名和IP地址,实现了僵尸网络的检测,但其只分析了流量数量单一的特征,具有一定的缺陷。文献[5]分析僵尸网络发起攻击时的异常TCP流量,以此进行僵尸网络检测,不过,此方法对非TCP流量的攻击或者非攻击活动的僵尸网络检测无效。另外,文献[6]中使用恶意URL黑名单,分析了僵尸网络使用域名的特性,从而实现了对僵尸网络活动的追踪,并对可疑 URL进行判别。文献[7]利用僵尸网络客户端定期持续向控制者主动进行连接的特性,借助正常目的地址白名单,检测僵尸网络。还有 LU等[8]使用隐式马尔可夫链模型对僵尸网络的流量进行分析和检测。文献[9]中对僵尸网络的整体情况和目前的检测技术进行了较全面的介绍。文献[10]介绍了基于智能手机短信技术构建新型移动互联网僵尸网络。

基于流量特征的检测适应于大规模数据量的情况,不进行数据内容分析,相对执行效率较高,能够满足实时分析的需求。不过,以往流量技术检测僵尸网络的方法中,关注的只是数据流的部分或局部时段属性特征,从而不能全面刻画僵尸网络数据流的特点,故本文从多种僵尸网络频道数据流的特征出发,考虑不同周期内数据流的特点,从而实现了对僵尸网络频道的检测。

2 僵尸网络频道流量特征

由于正常的网络活动可以看成是没有主观控制意识的随机活动,而IRC僵尸网络的活动具有人为控制的特点,因而从网络数据流量角度看,正常的网络流量随机性较强,即使有突发流量变化,也不会出现规律性的周期变化。而僵尸网络的数据流量由于人为主观控制的原因,具有周期性和规律性特点,下面分析一下僵尸网络流量的特征。

1) 聚类和相似性特征

同一频道中的不同客户端的流量存在聚类性质和相似性。文献[11]中,作者把同一频道内的正常主机和同一频道内的僵尸主机的数据流进行分析得到:同一僵尸频道内的僵尸主机与服务器之间形成的数据流具有很明显的聚类和相似性特征,而同一正常频道内的正常主机与服务器之间的数据流差距较大,不具有聚类和相似性特征。产生这种特征原因是:处于同一个频道的僵尸主机只能被动地接收来自服务器端的命令,执行相应的操作并返回操作结果,因此,同一频道上的所有僵尸主机在与服务器交互组成的数据流之间具有聚类和相似性特征;并且不同僵尸频道上的客户端数据流之间不存在聚类和相似性特征。对于正常的频道内的客户端数据流,由于客户端交互内容的随意性,因此不存在聚类和相似性特征。

2) 命令反应时间特征

僵尸程序内置的命令执行功能可以完成控制者通过服务器推送过来的命令,在较短的固定时间周期内向服务器返回回馈信息,而正常的IRC用户聊天,由于用户随机的思考时间和消息输入时间,则会存在数据之间不固定的时间间隔,它与僵尸程序的反应时间的特征差距很大。例如,正常IRC聊天过程中,用户在登录过程中需要人工输入用户名和密码,在选择频道时也会需要一定时间,而僵尸程序中已经内置登录过程中的一切信息,完成登录频道的时间仅需十几到几十毫秒。

3) 平均分组长度特征

在僵尸网络没有发动恶意行为时,绝大部分时间处于静默期,在这段时间内服务器和客户端之间主要通过 PING/PONG分组维持网络连通。因为PING/PING分组长度较小且发送的时间间隔较大,因此,僵尸网络的平均分组长度通常较小,并且同一个服务器的PING/PONG数据分组的长度是固定不变的[12]。

4) 相邻数据分组的时间间隔特征

由于处于静默期的僵尸网络通过 PING/PONG分组进行交互,而同一个服务器的相邻 PING/PONG分组间的时间间隔相对稳定,文献[6]中对僵尸网络中的相邻PING/PONG数据分组之间的时间间隔进行测试,发现PING/PONG数据分组的时间间隔为90~110 s。因此,如果数据分组的到达时间间隔一直处在90~110 s,而且持续时间很长,则可以认为其处于僵尸网络的静默期。

5) 流量高峰和协同流量高峰特征

僵尸网络不同时期内,频道数据流量的大小是不同的。处于静默期的僵尸网络,频道上只有少量的 PING/PONG分组在服务器端和客户端进行交互;而处于攻击期的僵尸网络,会通过服务器在短时间内会发送大量的攻击命令,随后bot主机也会向服务器反馈其执行命令的结果。由于这种行为,僵尸网络在客户端会存在流量高峰的特征,并且服务器端和客户端会存在协同流量高峰特征。而正常IRC频道中主机之间的交互流量一般比较平缓,很难出现较大的波幅。

利用以上介绍的僵尸网络多种流量数据特征,本文提出了一个检测IRC僵尸网络频道的方法,通过流量特征的分析,发现僵尸网络活动。

3 基于多维流量特征的僵尸网络流频道检测

数据流可以为2个IP地址之间的所有数据分组组成的流,也可以为2个主机的(IP,PORT)对组成的流。因此,需要在研究中给出明确的数据流定义。

定义 数据流S=(sip,sport,dip,dport,data),其中sip是IRC服务器IP地址;sport是IRC服务器端口;dip是客户端IP地址;dport为客户端端口;data是满足上述IP地址和端口条件的2个主机之间发送的所有数据分组。

僵尸网络频道数据的流量高峰和协同流量高峰、命令反应时间、平均分组长度和相邻数据分组的时间间隔这些特征,通过分析捕获的数据流即可获得,在此不做过多描述,下面主要讲述分析数据流的聚类和相似性的方法。

3.1 数据流聚类算法

在实际应用过程中,使用最大最小距离算法和k-means算法结合的方式进行数据流聚类分析,但是原始的聚类算法不能满足要求,故对2种算法进行改进,从而满足效率和性能的要求。原始的最大最小距离算法[13]和 k-means算法[14,15]在此不做描述,着重描述改进的算法。

1) 改进的最大最小距离算法

最大最小距离算法中的第一个聚类中心 c1是随机产生的,这样得到的距离|c2-c1|也具有随机性。而在算法的最后需要判断是否需要产生新的聚类中心时要对参数 m进行设定,判断公式为 max S{Dsj}>m(|c2-c1|)。因此,对参数m设定一个固定值并得到很好的聚类效果是非常困难的。下面对最大最小聚类算法进行相关的改进以消减原始算法中的随机性。改进的最大最小算法如下。

算法输入:待聚类的数据集S= {s1,s2,…,sn}。

算法输出:带有类别标识的数据集合。

算法描述:

步骤1

步骤3

重复步骤2的方法直到没有新的聚类中心产生。

算法步骤2中的threshold是设定的固定值,可以根据实验数据和专业领域知识确定,这样处理的优点是聚类中心的产生不会因第一个聚类中心的产生而具有很大的随机性。

由于 k-means算法需要事先设定聚类中心个数,如果任意设定该数量,那么可能得到的聚类结果不是十分精确,因此如果结合改进的最大最小距离算法,不仅可以按照需要的距离划分聚类中心,同时也解决了k-means算法的聚类结果受初始凝聚点影响很大的缺点。改进的k-means算法如下。

2) 改进的k-means算法

算法输入:待聚类的数据集S= {s1, s2,…,sn}。

算法输出:带有类别标识的数据集合Z。

算法描述:

步骤1

使用改进的最大最小距离算法得到最初的若干个聚类中心,C={c1, c2,…,ck}

步骤2

步骤3

计算每个Zj中新的均值作为聚类中心,重复步骤2和步骤3,直到初始分类的均值没有变化。

3.2 数据流相似性分析

相似性分析是分析单位时间内各条数据流在各个时间段内的分组数和字节数特征。对聚类中的任意2条数据流,分别计算在对应时间段内的分组数之差的均值、分组数之差平方的均值、字节数之差的均值以及字节数之差平方的均值,采用欧式距离计算相似性。距离越小就说明2条数据流之间的相似性程度越大。相似性分析算法如下。

算法输入:

3.3 僵尸网络频道检测

通过对僵尸网络频道数据流特征的分析,本文使用流量聚类特征、相似性特征、平均分组长特征、流量高峰特征和协同流量高峰特征5个特征作为检测依据。聚类特征和相似性特征可以通过频道数据流分析判别。统计数据流中数据分组的平均长度,然后与给定的阈值进行对比,即可决定数据流是否满足条件,平均分组长度阈值可以通过机器学习等方法确定。流量高峰特征和协同流量高峰特征通过单位时间的数据流对比分析即可判断。检测僵尸频道时,根据5个流量特征计算检测特征值,当特征值达到检测阈值时,可以认为检测到了僵尸网络。下面给出检测特征值函数f(x)的定义为

其中,ωi为影响力系数,0<ωi<1,且xi表示参与检测的流量特征,当一个考察流量特征符合检测条件时,xi=1,否则xi=0,n为检测过程中流量特征数量。

影响力系数表明每种流量特性在IRC僵尸网络频道数据流中表现的强弱和重要性。IRC僵尸网络活动的群体性和一致性是重要行为表现,尤其是相似性特点,故设置聚类特征影响系数ω1=0.2、相似性特征影响系数ω2=0.3,而静默期的正常IRC频道和僵尸频道都使用PING/PONG分组维持通信,数据分组大小类似,只是在时间长短上有差异,因此设置平均分组长度特征影响系数ω3=0.1,同样,流量高峰和协同流量高峰也是群体性和一致性是重要行为表现,所以,设置流量高峰特征影响系数ω4=0.2、协同流量高峰特征影响系数ω5=0.2。通过实验数据统计分析,将僵尸网络数据流检测函数的阈值设定 0.5,当超过此阈值时可以判断检测到僵尸网络流量。阈值的选取与检测数据的数量、僵尸网络的周期性有关联,因此可以通过不断的积累和自学习更新阈值,达到更好的检测效果。

4 实验及结果分析

在Windows XP环境搭建IRC测试环境,包括1台部署IRC服务器、1台部署正常IRC客户端、6台部署bot客户端、1台作为僵尸网络控制者的主机。在IRC服务器上建立多个频道。其中包括2个正常频道normal1和normal2,normal1内正常IRC客户端保持静默状态,normal2内正常IRC客户端进行聊天活动,一台IRC客户端主机分别登录这2个频道;3个僵尸网络频道 botnet1、botnet2、botnet3,每个频道中,有2台包含bot客户端的主机,其中botnet1内 bot客户端保持僵尸网络的静默状态,botnet2内bot客户端由攻击期转向静默期,botnet3内bot客户端接收控制命令,执行攻击。使用wincap技术分别采集测试环境客户端和服务器端 48 h的数据流量,由于normal1频道保持静默状态,故使用了normal2中数据流s4作为正常频道数据分析,8条数据流如表1所示。下面对数据流进行分析。

表1 数据流与频道关系

4.1 数据流聚类分析

聚类分析结果如表2所示。从表中可以看到,8条数据流被分为5个类别,改进的k-means算法的聚类1中包含数据流s5和s6;聚类2包含数据流s1和 s2;聚类 4包含数据流 s7和 s8。因为它们分别处于僵尸频道botnet1、botnet3和botnet2,接收控制者发送控制命令并将命令的执行结果返回给控制者,或保持僵尸网络静默状态,因此具有相同的特性,被聚类到一起。聚类3只有数据流s3,因为是控制者数据流,不同于其他频道中的数据;聚类5只有数据流s4,由于处于正常频道,与其他僵尸客户端通信内容不同。而原始k-means算法将s5、s7和 s6、s8聚集到一类,原因是初始中心数量的随机选取产生的影响,并且s7和s8所在的频道是从攻击期进入静默期,攻击持续时间较短,流量也较小,从而影响了聚类的结果。另外,改进的k-means算法在收敛速度上也比原始方法快,尤其是在大量数据情况下,在本次实验处理时,由于数据量较小,收敛速度差别不是很大。

表2 数据流聚类比较分析结果

4.2 数据流相似性分析

相似性分析的结果如表3所示。可以看到聚类1、2、4中的所有数据流具有很大的相似性。产生上述结果的原因是这 3个聚类中的数据流分别处于同一个僵尸频道。每一个僵尸频道中的所有数据流几乎会在同一时间接收到控制者的控制命令并几乎同时向控制者返回命令执行结果信息。因此,僵尸频道中的每个客户端的数据流很相似,具有相似性特征。

4.3 数据分组平均长度分析

数据分组平均长度分析结果如表4所示。数据表明:由于s5和s6为botnet1中的僵尸流,处于静默期,之间只有PING/PONG数据分组,平均分组大小最小;s7和s8为botnet2中的僵尸流,从攻击期转向静默期,平均数据分组大小稍大;s4为normal1和normal2的正常聊天流,平均数据分组大小较大;而s3为控制者流,向僵尸主机发送控制命令,平均数据分组大小较s4大;流s1和s2为botnet3中的数据流处于攻击期,不断执行控制命令并返回命令执行结果,平均数据分组大小最大。

表3 数据流相似性分析结果

表4 平均分组长度分析结果

4.4 流量高峰和协同流量高峰分析

由于数据流 s1与 s2,s5与 s6,s7与 s8分别是同一僵尸频道中的数据,具有相同的行为活动,因此,分别使用其中的一个来描述各条数据流的变化情况。数据流 s1和 s3的数据流量如图 1所示,由于s1是botnet3中的数据流,且处于攻击期,因此数据流量比较大;s3由于是控制者,它控制整个僵尸网络的频道,因此数据流量最大,另外,bot端接收攻击命令后,要对其返回结果,故流量 s1和 s3具有基本同步的流量高峰。数据流 s4和 s5的数据流量情况如图 2所示,s4为正常 IRC聊天频道数据流,因此流量变化相对稳定,没有明显的流量高峰,s5虽然是僵尸网络频道数据流,不过由于处于静默期,数据流量较少,故高峰情况不明显。图 3中数据流 s7由于僵尸活动是从攻击期转向静默期,在前期攻击期出现流量的高峰,不过大部分时间数据量较少。从以上分析可知,处于攻击期的僵尸网络流量高峰特征明显,如数据流s3、s1(s2)和s7(s8),而正常频道s4和静默期的僵尸网络流量s5(s6),这个特征不明显。

图1 s1和s3流量高峰示意

图2 s4和s5流量高峰示意

图3 s5和s7流量高峰示意

接下来,分析总数据流和各条数据流之间的协同流量高峰。由于数据流 s1(s2)是处于攻击期的botnet3的数据流,并且数据流s3为控制者数据流,它们会产生大量数据分组并明显影响总的数据分组个数,因此,攻击期间客户端和服务器之间存在协同流量高峰特征,结果如图4和图5所示。数据流 s7(s8)的前段时间处于攻击期,具有流量高峰特征,不过由于其发送数据分组较少,故与服务器间没有明显的协同流量高峰特征,结果如图6所示。而数据流s4为正常聊天数据流,s5(s6)是处于静默期的僵尸网络数据流,因此与服务器不存在协同流量高峰特征,结果如图7所示。

图4 s1和IRC服务器协同流量高峰示意

图5 s3和IRC服务器流量协同高峰示意

图6 s7和IRC服务器流量协同高峰示意

图7 s4 与s5和IRC服务器流量协同高峰示意

综合上述实验数据结果,使用定义的僵尸网络频道检测特征值函数分别计算每个频道数据流的特征值,结果如表5所示。可以看到,僵尸频道中的数据流特征值都在给定阈值之上,故使用流量多特征的检测方法,可以检测出僵尸网络的数据流,从而判断僵尸网络的存在。不过,由于IRC僵尸频道中的bot是集体活动,流量特征比较明显,便于从流量的角度发现其恶意活动,但控制者由于单独存在或者利用中间跳板,其多种流量特征反映不尽相同,故检测时可能需要更多的信息。

表5 数据流检测特征值

5 结束语

本文对基于流量特征的IRC僵尸网络频道检测方法进行了探索和研究,分析了僵尸网络在不同活动阶段所反映的流量特点,提出了基于多维僵尸网络流量特征的IRC僵尸网络频道检测方法,通过实验表明,方法在检测的有效性方面是可行的。不过方法也存在不足,例如,如果僵尸网络处于非攻击活动阶段时,很难从流量特征进行检测等,因此还需要其他的检测方法辅助进行,从而更加准确地发现僵尸网络活动。

[1] 诸葛建伟, 韩心慧, 周勇林等. 僵尸网络研究[J]. 软件学报, 2008(3):702-715.ZHUGE J W, HAN X H, ZHOU Y L, et al. Research and development of Botnets[J]. Journal of Software, 2008(3):702-715.

[2] CNCERT/CC互联网安全威胁报告[EB/OL]. http://www.cert.org.cn/publish/main/upload/File/20121227monthly11.pdf, 2012.CNCERT/CC Internet security threat report[EB/OL]. http://www.cert.org.cn/publish/main/upload/File/20121227monthly11.pdf, 2012.

[3] 江健, 诸葛建伟, 段海新等. 僵尸网络机理与防御技术[J]. 软件学报, 2012, 23(1): 82-96.JIANG J, ZHUGE J W, DUAN X H, et al. Research on Botnet mechanisms and defenses[J]. Journal of Software, 2012, 23(1): 82-96.

[4] FEDYNYSHYN G, CHUAH M, TAN G. Detection and classification of different Botnet C&C channels[A]. Proceedings of the 8th International Conference[C]. Banff, Canada, 2011.228-242.

[5] BINKLEY J R, SINGH S. An algorithm for anomaly-based Botnet detection[A]. Proceedings of the 2nd Workshop on Steps to Reducing Unwanted Traffic on the Internet[C]. Berkeley, CA, USA, 2006.43-48.

[6] TSAI M H, CHANG K C, LIN C C, et al. C&C tracer: Botnet command and control behavior tracing[A]. Proceedings of the 2011 IEEE International Conference on Systems, Man and Cybernetics (SMC)[C].Anchorage, AK, 2011. 1859-1864.

[7] GIROIRE F, CHANDRASHEKAR J, TAFT N, et al. Exploiting temporal persistence to detect covert botnet channels[A]. Proceedings of the Recent Advances in Intrusion Detection[C]. Springer Berlin Heidelberg, Brittany, France, 2009. 326-345.

[8] LU C, BROOKS R. Botnet traffic detection using hidden Markova models[A]. Proceedings of the Seventh Annual Workshop on Cyber Security and Information Intelligence Research[C]. Oak Ridge, TN,USA, 2011. 31.

[9] BREZO F, SANTOS I, BRINGAS P G, et al. Challenges and limitations in current botnet detection[A]. Proceedings of the 22nd International Workshop on Database and Expert Systems Applications(DEXA)[C]. Toulouse, 2011. 95-101.

[10] HUA J, SAKURAI K. Botnet command & control based on short message service and human mobility[J]. Computer Networks, 2012(57):579-597.

[11] AKIYAMA M, KAWAMOTO T, SHIMAMURA M, et al. A proposal of metrics for Botnet detection based on its cooperative behavior[A].Proceedings of Applications and the I nternet Workshops[C]. Hiroshima, Japan, 2007. 82.

[12] 王爽. 基于流量特征的IRC僵尸网络检测技术研究[D]. 哈尔滨:哈尔滨工业大学, 2008.WANG S. Research of IRC Botnet D etection Technology Based on Traffic Flow Characteristics[D]. Harbin: Harbin Institute of Technology, 2008.

[13] 孙吉贵, 刘杰, 赵连宇. 聚类算法研究[J]. 软件学报, 2008, 19(1): 48-61.SUN J G, LIU J, ZHAO L Y. Clustering algorithms research[J]. Journal of Software, 2008, 19(1):48-61.

[14] HANSEN P, NGAI E, CHEU NG B K, et al. Analysis of global k-means, an incremental heuristic for minimum sum-of-squares clustering[J]. Journal of Classification, 2005, 22(2):287-310.

[15] 陈德军, 罗金成, 张兵. 基于改进的 k-means聚类算法的分类评价方法[J]. 武汉理工大学学报, 2011,33(1):32-35.CHEN D J, LUO J C, ZHANG B. Classification and evaluation on reviewers based on improved k-means clustering algorithm[J]. Journal of WUT(Information & Management Engineering), 2011, 33(1):32-35.

猜你喜欢

数据流僵尸频道
汽车维修数据流基础(上)
笔记本电脑“僵尸”
汽车维修数据流基础(下)
4K频道开播,你准备好了吗
你愿意当吸血鬼还是僵尸?
寒假快乐频道
基于数据流的结构化功能安全分析方法
频道
在舌尖上筑牢抵御“僵尸肉”的防火墙
北医三院 数据流疏通就诊量