基于命令语法结构特征的IRC僵尸网络频道检测
闫健恩 , 张兆心 , 许海燕 , 张宏莉     
哈尔滨工业大学 计算机科学与技术学院, 哈尔滨 150001
摘要:僵尸频道是基于因特网在线聊天(Internet relay chat,IRC)协议僵尸网络传递控制命令,操纵整个网络的唯一途径。该文针对IRC僵尸网络频道检测问题,提出一种利用僵尸网络控制命令语法结构特征,实现检测僵尸网络频道的方法。使用可信系数描述频道中的字符串为僵尸网络控制命令的可能性,并结合可信系数,改进阈值随机游走(threshold random walk,TRW)算法,用以加快僵尸网络频道检测速度。实验结果表明:该方法对僵尸频道有很好的识别能力,检测效率明显提高。
关键词僵尸网络    命令语法结构    阈值随机游走(TRW)    
Detection of IRC Botnet C&C channels using the instruction syntax
YAN Jianen, ZHANG Zhaoxin, XU Haiyan, ZHANG Hongli     
School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China
Abstract: The command and control (C&C) channel is a unique way that a Internet relay chat (IRC) Botnet sends commands to control the Botnet. This study analyzed the syntax characteristics of the control command to develop a method to detect the control command channel. A creditable coefficient was defined to describe the possibility of a sentence in a channel being a Botnet control command. An improved threshold random walk (TRW) algorithm was used with the creditable coefficients to accelerate the C&C channel detection. Tests show that this method can efficiently detect Botnet C&C channels.
Key words: Botnet     instruction syntax     threshold random walk (TRW)    

僵尸网络是攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多命令和控制信道控制计算机组成的网络[1]。它已经成为网络中大量恶意行为和活动的幕后黑手。根据《2013年中国互联网网络安全报告》[2],2013年中国境内木马或僵尸程序控制服务器IP总数为189 369个,被木马或僵尸程序受控主机IP总数为18 702 202个,僵尸网络威胁依然严峻。一般情况下,僵尸网络的控制与通信方式分为基于因特网在线聊天(Internet relay chat,IRC)与HTTP协议的中心式和基于P2P协议的分布式。IRC僵尸网络有控制便捷、实时性强等优点,仍是一种重要的僵尸网络。2011年,著名黑客组织“Anonymous”利用IRC僵尸网络发动恶意攻击[3]

文[4]实现了僵尸网络的主动探测系统,主动参与僵尸网络的交互过程,检测僵尸网络活动。文[5-6]使用入侵检测系统(intrusion detection system,IDS)分析捕获的数据来检测僵尸网络,文[7-8]使用基于机器学习的方法进行僵尸网络检测,文[9]研究了骨干网IRC僵尸网络的检测方法,文[10]分析僵尸网络发起攻击时的异常TCP流量进行僵尸网络检测。文[11]研究了僵尸网络通信流量的相似性特征,文[12]发现了僵尸网络昵称的相似性特征。此外,文[13-15]利用僵尸网络查询域名系统(domain name system, DNS)的群体行为,检测僵尸网络活动;文[16]通过跟踪一定周期内,非白名单中持续的新增远程连接来检测高度怀疑的远程控制端。文[17]利用大量外部连接使用同一远程目标的特性,发现僵尸网络;文[18]中采用大数据分析技术,检测僵尸网络,能够满足海量数据分析要求;文[19]对僵尸网络的行为、检测方法和防御方法进行了比较全面的总结。

上述研究僵尸网络的检测方法都有其局限。主动探测的方法对加密通信信道无能为力,而利用IDS技术和基于网络流量检测过程依赖大量的主机与网络流量数据,实时性较弱。根据行为的检测方法,行为的连续性和考察的周期是对方法有效性的考验,而内置的昵称列表可以规避昵称相似性的检测技术。由此,本文针对IRC协议僵尸网络提出一种基于僵尸网络控制命令语法结构特征的检测技术,分析其通信语句的语法结构,通过计算语句可信度参数,判断是否为僵尸网络控制命令,结合阈值随机游走(threshold random walk, TRW)算法[20],分析可能存在的僵尸网络频道,快速进行僵尸网络检测。

1 IRC僵尸网络控制命令语法结构分析 1.1 僵尸网络的控制与通信

基于IRC协议的僵尸网络,通过IRC频道控制僵尸程序客户端。通过分析获取75个可运行的僵尸程序样本,得到4 080条僵尸控制命令信息。将僵尸网络的控制命令从功能上分为3大类:1) 控制类命令,控制者通过其控制被控僵尸主机进行一些简单的操作;2) 更新下载类命令,被控僵尸主机接受此类命令进行程序升级或文件下载;3) 传播攻击类命令,通知被控僵尸主机发起相应的攻击活动和主动传播。

命令结构一般为“<命令关键字><命令参数>”的形式。命令关键字中大部分包含一些特殊的字符,如“.” “!” “-” “_” “$” “#” “?” “&”等;也有部分包含固定字符前缀,如irc.nick和ddos.syn等;还有少量无特殊字符和固定前缀,即英文字符串。具有前缀的命令关键字占总数的93%以上。

命令参数一般由数字、字符串等构成,比如端口为数字,URL是包含一些特殊字符的字符串。在获取的命令中,参数的个数不超过6个,并且不同类型的命令中,参数在不同位置的类型特征各不相同。有超过1 400条命令不包含命令参数,结构形式化时需要注意。

1.2 僵尸网络控制命令的形式化描述

形式描述的主要目的是自动识别。僵尸网络命令的词法使用正则表达式描述。

1) 命令关键字,表示为k:[!|$|#|.|_|-|?]([a-Z]|[0-9])+,如“!download”。

2) 普通字符串型参数,表示为t:[a-Z, 0-9]+

3) 数字型参数,表示为n:[0-9]+(.[0-9])+

4) 特殊字符串型参数,表示为w:[a-Z]|[0-9])+[.|/|-:|]+([a-Z]|[0-9])+,如URL。

因此可以把命令“!TRACEROUTE mail.163.com 10 1”表示成kwnn的形式。

现在讨论僵尸网络控制命令语法形式化,给出一般语法定义。文法的形式描述方法如下:

$ G = \left( {{V_{\rm{t}}},{V_{\rm{n}}},P,S} \right). $ (1)

其中: Vt表示文法中终结符号集合,描述语言句子的单词集合;Vn表示文法非终结符号集合,描述文法的语法成分;P表示文法的产生式集合,描述句子构成规则;S表示文法的开始符号。

僵尸网络控制命令是以命令关键字开头,后接普通字符串参数、数字型参数或特殊字符串参数组成的句子。由此,根据式(1),定义3种僵尸网络控制命令的文法,分别处理命令不同语法特征。文法定义如下:

定义1  G1=(Vt, Vn, P, S),其中: Vt={k, w, t, n};Vn ={S, A};P={S→k|kA|t|tA, A→t|n|w|tA|nA|wA}。

定义2  G2=(Vt, Vn, P, S),其中: Vt={k, w, t, n};Vn ={S, A, B};P={Sk|kA, A→k|w|n|t|AB, B→k|t|w|n}。

定义3  G3=(Vt, Vn, P, S),其中Vt={k, w, t, n};Vn={S, A, B, C, D, E, F};P={S→k|kA|t|tA, A→k|w|n|tB|B|nB, B→n|w|wC|nC, C→n|w|wD|nD, D→n|w|wE|nE, E→n|w|t|EF, F→n|w|t}。

检验3种文法对僵尸网络控制命令识别情况。本文使用逻辑回归(logistic regresstion, LR)语法分析技术,完成语法分析。数据来自僵尸网络控制命令196条;标准英文语句286条,由标准的英文单词构成,包含一些常用的标点符号,如“!” “.”和“,”;IRC聊天语句297条,由英文单词或者包含一些特殊符号的字符或数字构成,来自公共IRC服务器上的聊天数据。识别准确率结果如表 1所示。

表 1 3种文法语法识别准确率结果
%
对象 G1 G2 G3
僵尸控制命令 90.31 100 71.94
标准英文语句 97.2 0 20.63
IRC聊天语句 78.11 2.02 18.85

结果表明,文法G1漏报率很低,但误报率较高,原因在于对僵尸网络控制命令关键特征体现不明显,即定义的产生式过于宽泛; 文法G2定义了僵尸网络控制命令的命令关键字的强特征——关键字都有固定前缀,从而降低了误报和漏报;文法G3考虑了命令参数的个数及不同位置参数类型的特征,避免过度依赖命令关键字识别命令的弱点,从全局描述命令的结构特征,不过这样必然会付出准确性的代价。僵尸网络控制命令的识别方法可参见文[21]。

1.3 僵尸网络控制命令的可信系数

一个IRC频道中,如果存在大量具有僵尸网络控制命令结构的“聊天记录”,那么很可能就是一个僵尸频道。综合使用僵尸网络命令结构分析的方法,可以发现僵尸网络频道中控制命令,从而帮助检查僵尸频道。

函数H(X)为一个僵尸网络控制命令结构分析结果的映射函数,定义如下:

$ H\left( X \right) = \left\{ \begin{array}{l} 1,语法分析成功;\\ 0,语法分析失败. \end{array} \right. $ (2)

其中X表示要分析的语句。如果语句分析成功,则输出1;否则输出0。

定义语句的可信系数

$ y = \sum\limits_{i = 1}^n {{\omega _i}{H_i}\left( X \right)} . $ (3)

其中: i(i≥1) 表示不同文法分析僵尸网络控制命令语法的次数,ωi表示第i次语法分析处理时的权重系数。通过可信系数描述对一个句子是否为僵尸网络控制命令的评价。

对于节1.2给定的文法G1G2G3,识别它们描述语句的语法分析函数分别对应函数H1H2H3,使用前面的测试数据,分析僵尸网络控制命令、标准英文语句和正常IRC聊天语句的可信系数情况。根据3种文法不同的结构特征定义和识别能力的情况以及实验经验,分别定义权重系数ω1=0.1、ω2=0.6和ω3=0.3,图 1是僵尸网络命令与标准英语语句的可信系数分布图,图 2是僵尸网络命令与正常IRC聊天语句的可信系数分布图。2个图中,僵尸网络控制命令的可信系数都大于0.4,而标准语英语语句和正常的IRC聊天语句的可信系数绝大多数小于等于0.4。僵尸网络控制命令、标准英语语句和正常IRC聊天语句的y分布统计如表 2所示。

图 1 僵尸网络控制命令与标准英文语句可信系数数分布

图 2 僵尸网络命令与正常IRC聊天语句的可信系数分布

表 2 3种句子可信系数分布统计
y 僵尸控制命令 标准英文语句 IRC聊天语句
0 0 8 61
0.1 0 219 177
0.3 0 0 4
0.4 0 59 48
0.6 14 0 0
0.7 41 0 3
0.9 5 0 0
1 136 0 4

根据表 2中可信系数分布情况,把0.4作为对一个IRC频道中出现的句子判断其为僵尸网络控制命令的信任系数分界,对于y < 0.4的句子,认为它不是一个僵尸网络控制命令;对于y > 0.4句子,高度怀疑它是一个僵尸网络控制命令;对于y=0.4的句子,怀疑它是僵尸网络控制命令,并对其进行进一步的分析。使用信任系数对于僵尸网络控制命令的识别率接近99%,可以满足实际分析的需要。

2 僵尸频道的检测

节1.3从可信系数的角度判别一个句子是否为可疑的僵尸网络控制命令,为了实时检测僵尸频道,借鉴TRW算法,结合僵尸网络控制命令可信系数,提出一种僵尸网络频道检测算法。

2.1 TRW算法

记待观察频道为C,设Yi标记当前分析出的一条句子的可信度,结合可信系数定义为

$ {Y_i} = \left\{ {\begin{array}{*{20}{c}} {1,}&{y \ge 0.4;}\\ {0,}&{y < 0.4.} \end{array}} \right. $ (4)

当获得观察Y1Y2,…,Yi时,利用TRW算法可以确定频道C是否为僵尸频道。TRW算法是一种假设检验方法,首先建立2个假设:H0假定频道C是一个正常频道;H1假定频道C是一个僵尸网络频道。定义:

$ {P_r}\left[ {{Y_i} = 0\left| {{H_0}} \right.} \right] = {\theta _0},{P_r}\left[ {{Y_i} = 1\left| {{H_0}} \right.} \right] = 1 - {\theta _0}; $
$ {P_r}\left[ {{Y_i} = 0\left| {{H_1}} \right.} \right] = {\theta _1},{P_r}\left[ {{Y_i} = 1\left| {{H_1}} \right.} \right] = 1 - {\theta _1}. $

其中θ0 > θ1表示如果频道是正常频道,那么频道内的句子可信系数小于0.4的概率较高。给定2个假设之后,输出结果有4种可能:接受假设H0,该频道是正常频道,正确;接受假设H0,但该频道是僵尸频道,漏报;接受假设H1,该频道是僵尸频道,正确;接受假设H1,该频道是正常频道,误报。在此算法中,用PF表示误报率,PD表示检测率。可以自定义参数αβ,希望算法输出保证PFαPDβ

随着对频道C内新语句的识别,对H0H1假设分布的似然比计算如下:

$ \Lambda \left( Y \right) = \frac{{\mathit{Pr}\left[ {Y\left| {{H_1}} \right.} \right]}}{{\mathit{Pr}\left[ {Y\left| {{H_0}} \right.} \right]}} = \prod\limits_{i = 1}^n {\frac{{\mathit{Pr}\left[ {{Y_i}\left| {{H_1}} \right.} \right]}}{{\mathit{Pr}\left[ {{Y_i}\left| {{H_0}} \right.} \right]}}} ; $ (5)
$ \Lambda \left( {{Y_i}} \right) = \left\{ \begin{array}{l} \mathit{\Lambda} \left( {{Y_{i - 1}}} \right)\frac{{{\theta _1}}}{{{\theta _0}}},\;\;\;\;\;\;\;{Y_i} = 0;\\ \mathit{\Lambda} \left( {{Y_{i - 1}}} \right)\frac{{1 - {\theta _1}}}{{1 - {\theta _0}}},\;\;\;\;{Y_i} = 1. \end{array} \right. $ (6)

可以指定下界η0和上界η1,如果Λ(Yi)≤η0,认为假设H0成立,即频道C为正常频道;如果Λ(Yi)≥η1,认为假设H1成立,即频道C为僵尸频道。文[22]指出,当阈值满足η1=β/αη0=(1-β)/(1-α)时,即可保证PFαPDβ

2.2 加速TRW算法

使用TRW算法是为了尽可能快速地确定一个频道是否为僵尸频道,根据文[22],需要分析该频道内N条语句,因此有假设H0成立的期望E[N|H0]和假设H1成立的期望E[N|H1],其定义如下:

$ E\left[ {N\left| {{H_0}} \right.} \right] = \frac{{\alpha \ln \frac{\beta }{\alpha } + \left( {1 - \alpha } \right)\ln \frac{{1 - \beta }}{{1 - \alpha }}}}{{{\theta _0}\ln \frac{{{\theta _1}}}{{{\theta _0}}} + \left( {1 - {\theta _0}} \right)\ln \frac{{1 - {\theta _1}}}{{1 - {\theta _0}}}}}, $ (7)
$ E\left[ {N\left| {{H_1}} \right.} \right] = \frac{{\beta \ln \frac{\beta }{\alpha } + \left( {1 - \beta } \right)\ln \frac{{1 - \beta }}{{1 - \alpha }}}}{{{\theta _1}\ln \frac{{{\theta _1}}}{{{\theta _0}}} + \left( {1 - {\theta _1}} \right)\ln \frac{{1 - {\theta _1}}}{{1 - {\theta _0}}}}}. $ (8)

设定参数α=0.01,β=0.99,各个参数对期望的影响如图 34所示,可以看出,在确定PFPD的情况下,θ0越大,θ1越小,越能通过较少轮次的计算来确定一个频道是否为僵尸频道。θ0θ1反映了检测僵尸控制命令对确定僵尸频道的影响程度。为了量化从而突出语句可信系数对检测算法的影响,引入加速系数λ,进行似然比计算。由于可信系数0.4是一个可疑的判别,不能决定句子确切为僵尸网络控制命令,故不作为加速系数。λ定量反映了句子是否为僵尸网络命令的可信程度。引入λ后,可以预先设置基准θ0θ1,算法执行时相当于动态调整每一步的概率θ0θ1,从而正确且有效地根据僵尸网络控制命令可信程度减少或增加判定轮次。加速TRW的似然比计算如下:

$ \Lambda \left( {{Y_i}} \right) = \left\{ {\begin{array}{*{20}{c}} {\mathit\Lambda \left( {{Y_{i - 1}}} \right)\frac{{{\theta _1}}}{{{\theta _0}\lambda }},}&{{Y_i} = 0;}\\ {\mathit\Lambda \left( {{Y_{i - 1}}} \right)\frac{{1 - {\theta _1}\lambda }}{{1 - {\theta _0}}},}&{{Y_i} = 1.} \end{array}} \right. $ (9)
图 3 E [N|H0]分析

图 4 E [N|H1]分析

其中:当可信系数0 < y < 0.4时,λ=y;当0.4 < y < 1时,λ=1-y;当y=0.4时,λ=1;当y=0和y=1时,λ=0.05,Λ(Y0)=1。i=1,2, …,n

根据节1.3定义的可信系数计算λ,采用加速TRW算法,可以判断一个频道是否为僵尸频道。

2.3 算法评估与实验分析

实验测试的僵尸频道中出现的句子全部为控制者发送给频道内客户端的僵尸网络控制命令,实验选取10组捕获的僵尸程序中提取的控制命令,通过对这些命令的检测即可发现其所在的僵尸频道。另外又随机选取8组从网络中提取的正常IRC频道中的聊天语句,2组在网络中的论坛回复信息,将上述10组数据当作正常的IRC聊天频道数据来对待。所有分组句子可信系数统计如图 5所示。

图 5 僵尸控制命令与正常语句可信系数统计图

频道检测测试中,定义α=0.01,β=0.99,即PF为1%,PD为99%,同时,根据节2.2可信系数对僵尸网络控制命令检测率的影响,设定概率θ0=0.8,θ1=0.2。分别使用TRW算法和加速TRW算法对其进行检测,正常IRC频道和僵尸频道检测的结果都为100%,结果如图 67所示。

图 6 僵尸频道分组测试结果

图 7 正常频道分组测试结果

图 6中,第7组僵尸频道检测的轮次中,加速TRW算法比TRW算法的轮次高,即检测速度下降。原因是该组僵尸网络控制命令没有特殊前缀,其命令y≤0.4,造成僵尸频道检测时,需要更多语句判别其是否为僵尸频道,检测轮次进而增加。图 7中显示,正常IRC频道的检测中加速TRW算法检测速度提升明显,充分体现可信系数对检测的影响。

虽然结合可信系数的加速TRW算法能够尽快发现僵尸频道,但是在分析僵尸网络控制命令时,仍有少量命令不具备一些关键特征,因此分析语句时会产生误报。分析计算y的语法定义可以发现,误报的僵尸网络控制命令多为单个或2~3个单词无固定前缀的命令或IRC聊天语句,例如僵尸网络控制命令”k all”或”fdns”等,这样的命令与正常的语句差别不大,为了检测到这样的僵尸命令,文法定义必须包含其结构,故对于此类正常的语句发生误报。通过两组测试数据进行说明,第1组数据由1~3个单词构成,包含19条无前缀的僵尸网络控制命令;第2组数据25条由1~3个单词构成的IRC聊天语句或正常英文语句。2组数据可信系数分布如表 3所示。

表 3 误报检测语句可信系数统计表
数据 语句数量
y= 0 0.1 0.3 0.4 0.6 0.7 0.9 1.0
第1组 0 3 0 16 0 0 0 0
第2组 1 7 1 16 0 0 0 0

使用TRW算法对第1组数据进行检测,经过8轮检测后,结果为僵尸频道; 而使用加速TRW算法检测,4轮检测有结果为正常频道。对第2组数据,TRW算法经过22轮检测,结论是僵尸频道; 而加速TRW算法经过6轮检测,结论是正常频道。因此对于这类可疑语句,除了使用本文使用的检测方法外,还需要结合使用其他检测技术,对其进行进一步的检测。

3 结论

虽然基于P2P协议和HTTP协议僵尸网络发展很快,不过基于IRC协议的僵尸网络以其良好的操控性和实时交互特性,仍然为控制者使用和构建僵尸网络的重要形式。本文从语法结构的角度,分析了僵尸网络控制命令与正常IRC频道聊天语句、标准英文语句之间的结构差别,定义识别僵尸网络控制命令的不同特征文法,使用可信系数描述其是否为僵尸网络控制命令,进而帮助进行僵尸频道的检测。根据僵尸网络控制命令的可信系数,提出加速TRW检测算法以实时快速检测IRC僵尸网络。尽管方法具有一定局限性,但是仍然可以对一定范围内的僵尸网络进行有效检测。另外,在大规模网络模拟环境下可以进一步模拟IRC僵尸网络的特征行为,进行深入的检测方法研究。

参考文献
[1] 诸葛建伟, 韩心慧, 周勇林, 等. 僵尸网络研究[J]. 软件学报, 2008, 19(3): 702–715. ZHU GE Jianwei, HAN Xinhui, ZHOU Yonglin, et al. Research and development of Botnets[J]. Journal of Software, 2008, 19(3): 702–715. (in Chinese)
[2] CNCERT/CC. 2013年中国互联网网络安全报告. . http://www.cert.org.cn/publish/main/46/2014/20140603151551324380013/20140603151551324380013_.html. CNCERT/CC. The China Internet network security report 2013.. http://www.cert.org.cn/publish/main/46/2014/20140603151551324380013/20140603151551324380013_.html.(in Chinese)
[3] InfoSecurity:Anonymus hacking group uses IRC channles to co-ordinate DDoS attacks.. http://www.infosecurity-magazine.com/news/anonymous-hacking-group-uses-irc-channels-to-co/.
[4] Gu G F, Yegneswaran V, Porras P, et al. Active Botnet probing to identify obscure command and control channels[C]//Proceedings of the Computer Security Applications Conference. Washington, DC:IEEE Computer Society Press, 2009:241-253.
[5] Fedynyshyn G, Chuah M C, Tan G. Detection and classification of different Botnet C&C channels[C]//Proceedings of the 8th International Conference on Autonomic and Trusted Computing. Banff, Canada:Autonomic & Trusted Computing-international Conference Press, 2011:228-242.
[6] Gu G F, Porras P, Yegneswaran V, et al. BotHunter:Detecting malware infection through ids driven dialog correlation[C]//Proceedings of the 16th USENIX Security Symposium. Boston, MA, USA:USENIX Association Press, 2007:167-182.
[7] Livadas C, Walsh R, Lapsley D, et al. Using machine learning techniques to identify Botnet traffic[C]//Proceedings of the 2nd IEEE LCN Workshop on Network Security. Tampa, FL, USA:IEEE Computer Society Press, 2006:967-974.
[8] Strayer W T, Walsh R. Detecting Botnets with tight command and control[C]//Proceedings of the 31st IEEE Conference on Local Computer Networks. Tampa, FL, USA:IEEE Computer Society Press, 2006:195-202.
[9] Karasaridis A, Rexroad B, Hoeflin D. Wide-scale Botnet detection and characterization[C]//Proceedings of theUsenix Workshop on Hot Topics in Understanding Botnets. Cambridge, MA, USA:USENIX Association Press, 2007:7-7.
[10] Binkley J R, Singh S. An algorithm for anomaly-based Botnet detection[C]//Proceedings of the 2nd Workshop on Steps to Reducing Unwanted Traffic on the Internet. San Jose, CA, USA:USENIX Association Press, 2006:43-48.
[11] 李润恒, 王明华, 贾焰. 基于通信特征提取和IP聚集的僵尸网络相似性度量模型[J]. 计算机学报, 2010, 33(1): 45–54. LI Runheng, WANG Minghua, JIA Yan. Modeling Botnets similarity based on communication feature extraction and IP assembly[J]. Chinese Journal of Computer, 2010, 33(1): 45–54. (in Chinese)
[12] Goebel J, Thorsten H. Rishi:Identify bot contaminated hosts by IRC nickname evaluation[C]//Proceedings of the HotBots'07, First Workshop on Hot Topics in Understanding Botnets. Cambridge, MA, USA:USENIX Association Press, 2007:8-8.
[13] Ramachandran A, Feamster N, Dagon D. Revealing Botnet membership using DNSBL counter-intelligence[C]//Proceedings of the 2nd Workshop on Steps to Reducing Unwanted Traffic on the Internet. San Jose, CA, USA:USENIX Association Press, 2006:49-54.
[14] Choi H, Lee H. Identifying Botnets by capturing group activities in DNS traffic[J]. Computer Networks, 2012, 56(1): 20–33. DOI:10.1016/j.comnet.2011.07.018
[15] Wang K, Huang C Y, Lin S J, et al. A fuzzy pattern-based filtering algorithm for Botnet detection[J]. Computer Networks the International Journal of Computer & Telecommunications Networking, 2011, 55(15): 3275–3286.
[16] Giroire F, Chandrashekar J, Taft N, et al. Exploiting temporal persistence to detect covert Botnet channels[C]//Proceedings of the 12th International Symposium on Recent Advances in Intrusion Detection. Saint Malo, France:Springer-Verlag Press, 2009:326-345.
[17] Yen T F, Reiter M K. Traffic aggregation for malware detection[C]//Proceedings of the Fifth GI International Conference on Detection of Intrusions and Malware and Vulnerability Assessment. Paris, France:Springer-Verlag Press, 2008:207-227.
[18] Singh K, Guntuku S C, Thakur A, et al. Big data analytics framework for Peer-to-Peer Botnet detection using random forests[J]. Information Sciences, 2014, 278(19): 488–497.
[19] Khattak S, Ramay N R, Khan K R, et al. A taxonomy of Botnet behavior, detection, and defense[J]. Communications Surveys & Tutorials IEEE, 2014, 16(2): 898–924.
[20] Jung J, Paxson, Berger A W, et al. Fast ports can detection using sequential hypothesis testing[C]//Proceedings of the IEEE Symposium on Security and Privacy. Berkeley, CA, USA:IEEE Computer Society Press, 2004:211-225.
[21] 闫健恩, 张兆心, 许海燕. 基于命令语法结构特征的IRC僵尸网络控制命令识别方法[J]. 高技术通讯, 2013, 23(6): 571–577. YAN Jianen, ZHANG Zhaoxin, XU Haiyan. A identification method of IRC Botnets control commands based on the syntax[J]. High Technology Letters, 2013, 23(6): 571–577. (in Chinese)
[22] Wald A. Sequential tests of statistical hypotheses[J]. The Annals of Mathematical Statistics, 1945, 16(2): 117–186. DOI:10.1214/aoms/1177731118