APP下载

基于流角色检测P2P botnet

2012-08-07宋元章何俊婷张波王俊杰王安邦

通信学报 2012年1期
关键词:网络应用相似性本质

宋元章,何俊婷,张波,王俊杰,王安邦

(1.中国科学院 长春光学精密机械与物理研究所,吉林 长春 130033;2.中国第一汽车股份有限公司 技术中心汽车电子部电控产品设计室,吉林 长春 130011)

1 引言

僵尸网络(botnet)是攻击者(botmaster)通过bot程序控制的恶意计算机群。它是从传统恶意代码形态进化而来的目前对Internet最有效的攻击方式。攻击者可以通过改变botnet的负载方便地发起DDoS攻击、发送垃圾邮件(spamming)等。非集中控制的分散式网络结构将是botnet未来的发展趋势。2007年出现的Storm botnet是新型P2P botnet的代表,它使用基于P2P的Overnet/eDonkey网络维持C&C(command and control)[1]。

新型分散式botnet将P2P网络的分散式拓扑结构引入到botnet的C&C机制中,在整个botnet中没有控制中心,即使一部分bot节点被剔除,剩余的bot节点仍能构成有效的攻击网络,因此针对传统的集中式botnet的单个控制中心的检测和防御方法已经失效。新型P2P botnet的检测已成为当前网络安全研究的重大问题。

在详细分析Storm botnet行为与特征的基础上,本文提出了一种新型的基于流角色的实时检测P2P botnet模型—RF。流角色是指基于网络流自身的特性所决定的其在检测P2P botnet时所起的作用,假设P2P botnet发动攻击时会导致某种网络流的异常,那么就可通过检测该网络流的特征来检测P2P botnet导致的“攻击异常”,这就可以看作是该网络流在检测P2P botnet时的角色。本文提出的RF模型从流本身的特性出发,使其在检测P2P botnet时处于不同的角色,以发现P2P botnet的本质异常和攻击异常:通过对UDP流和ICMP流的处理发现botnet的固有特征导致的“本质异常”,因为UDP流和ICMP流与botnet的C&C机制直接相关;通过对SMTP流的处理发现是botnet的攻击流导致的异常,因为P2P botnet经常用来发动垃圾邮件攻击,从而导致SMTP流的异常;考虑到网络应用程序对检测的影响,利用TCP流的特征来区分流量异常是由网络应用程序引起的还是因为爆发P2P botnet引起的。为了进一步降低检测的误报率和漏报率,本文提出了一种基于滑动窗口的实时估算Hurst指数的方法,并且采用Kaufman算法来动态调整阈值。实验表明,该模型能够有效检测新型P2P botnet,适应更复杂的网络环境。

2 相关研究

目前,对新型分散式P2P botnet的分析和检测研究刚刚展开。

Grizzard J B等人[2]对P2P botnet的特征进行了详细分析,以Storm botnet为例对其感染、传播和通信机制进行了深入研究和阐述,对以后的研究工作有很大的启发意义。

Sarat S等人[3]和Holz T等人[4]使用类似的方法分析Storm botnet。前者的研究结果表明Storm的Peer ID非常不规律,有很多不可达的IP地址,为检测和防御提供了一定的基础。后者通过发布伪造的key来混淆bot主机间的通信以抑制botnet规模。

STEGGINK M等人[5]通过对比Storm与其他软件的流量情况,提出了基于网络特征(例如Storm分组特定长度)的检测方法。

Phillip Porras等人[6]通过分析Storm会话特征,提出通过使用BotHunter对会话和交互过程进行模式匹配以检测P2P botnet的方法。

王海龙等人[7]提出了一种botnet检测层次协同模型,它能够在信息、特性以及决策3个级别上进行协同。

王劲松等人[8]提出了一种基于组特征过滤器的检测botnet的方法,使用多个成员特征对内网主机数据分组进行过滤,可以在不需要开发新的模式匹配算法的前提下实现对bot主机间的通信数据的识别以检测bot主机。

考虑到僵尸网络的迁移问题,臧天宁[9]等人关注的是不同的僵尸群之间的关系,利用云模型对僵尸群的通信特征进行分析,从而判断它们是否属于同一个僵尸网络。

诸葛建伟等人[10,11]分析和总结了botnet的演化过程,国内外目前跟踪、检测和防御botnet的方法,并对botnet的发展趋势和进一步的研究方向进行了探讨。

综上所述,当前P2P botnet分析和检测研究仍处于初期阶段,主要存在以下问题。

1) 对于网络流采取类似的处理方法,忽视了网络流本身的特性,使得它们在P2P botnet检测中的充当相同的角色:UDP流异常是botnet的C&C过程导致的,这是botnet本质的流量异常;ICMP流异常是bot主机固有的bootstrap过程导致的,这也是botnet本质的流量异常;SMTP流异常是攻击者利用botnet发送大量垃圾邮件导致的,这是botnet的攻击流导致的异常,所以不同种类的流在检测P2P botnet时应处于不同的角色。

2) 没有考虑到网络应用程序,尤其是P2P应用对P2P botnet检测的影响。从本质上看,P2P botnet是一个可以发动网络攻击的P2P网络,所以两者有较强的相似性,因此正常P2P应用对P2P botnet的检测会产生很大的误差影响。

3 Storm botnet分析

Storm botnet是P2P botnet的典型代表,其生命周期如下。

1) 侵染受害主机。

① 通过传播bot程序侵染网络中易感主机。

② bootstrap过程:主机感染bot程序后,会周期性通过连接相应bot节点尝试加入P2P botnet。

③ 二次注入过程:bot主机通过P2P网络查询事先约定的key以下载攻击负载、更新自身代码和更新P2P节点列表等。

④ keep alive:bot主机通过定期与其他bot主机通信来保证其一直处于P2P botnet中。

2) 攻击者发送攻击命令,以催动botnet中的bot主机执行攻击负载向攻击目标发动攻击。

这些过程中有几个流量方面的特征。

1) UDP流主要用来C&C:在botnet中keep alive、发现其他bot节点等,这会导致UDP流大量增加,由于botnet固有的特性C&C过程导致的UDP流异常是botnet的本质异常。

2) 在bootstrap过程中,bot主机会随机连接某些bot节点,这时会发生较多的连接失败,导致ICMP流异常,这是botnet固有的特性(bot主机的bootstrap过程)导致的本质异常。

3) bot主机发送大量垃圾邮件会大量使用SMTP协议[5]进而导致SMTP流异常,这是botnet发动的攻击流导致的异常。

因此,对于网络流应从流本身的特性出发,使其在检测P2P botnet时处于不同的角色,不应不做区分就做相似的处理。在第4章将从流本身的特性出发,使其在检测P2P botnet时处于不同的角色,分别检测P2P botnet的本质异常和攻击异常,并用一定的手段消除正常P2P应用对P2P botnet的检测产生的误差影响。

4 RF模型

4.1 发现P2P botnet的本质异常

4.1.1 C&C机制导致的异常

由第3节知,C&C过程是botnet的根本,而UDP流是botnet进行C&C过程的主要手段,尽管实现C&C过程的P2P协议和botnet发动的攻击多种多样,但是从UDP流的角度来看是类似的,所以UDP流异常是最能反映botnet流量特征的本质异常。在RF模型中,通过检测UDP流的异常来发现botnet的本质异常,首先采用反映网络自相似性的Hurst指数来获取UDP流的情况以发现其异常,再将处理后的数据输入到Multi-chart CUSUM中以提高检测的灵敏度。

4.1.1.1 网络自相似性

近年来,许多研究发现,相比于传统短时相关模型,网络流量自相似性过程能更好地描述网络流量的特征[12,13]。特别地,KIM J S 等人[14]研究发现UDP流有明显的自相似性,这是UDP流自身所固有的特征。

自相似性指的是总体结构和局部结构在某种程度上有一致性。网络流量可以看作是在时间维度上具有自相似性的时间序列。

若对所有的a>0,一个连续时间随机过程X(t)都有

式(1)中的等号代表统计意义上的相等,则X(t)具有自相似性。式(1)中的参数H(0.5≤H<1)称为Hurst指数,反映自相似的程度。自相似程度越低,H值越接近0.5。

假设当前时刻为k,定义

由第3节知,Storm会导致UDP分组增多,而且bot主机在bootstrap、keep alive时,会周期性地与某些bot节点联系,这会导致UDP流自相似性的减弱,进而引起Hurst值减小,HPk增大,故可通过检测参数HPk来发现这些异常:首先对UDP流量采样,然后计算其Hurst值,再计算参数HPk,当HPk增大时表示UDP流发生了异常。计算Hurst指数的方法详见4.1.1.2节。为了提高检测的灵敏度,将HPk输入到Multi-chart CUSUM中以放大异常,详见4.1.2节。

4.1.1.2 一种基于滑动窗口的实时估算Hurst指数的方法

Karagiannis等人[15,16]对估算Hurst指数的方法研究发现,相比于小波分析法(abry-veitch method)和周期图法(periodogram method), R/S法(rescaled range method)受噪声等因素的影响更小,具有更好的稳定性,因此本文使用R/S法。为了进一步提高估算的精度,保证实时性,本文对R/S方法进行了改进,提出了一种基于滑动窗口的实时估算Hurst指数的方法,如图1所示。

图1 滑动窗口示意

假设滑动窗口的长度为L,每使用R/S法估算一次Hurst指数需要一个滑动窗口大小的时间序列,每估算完一次Hurst指数后向前滑动步长step,即:使用原先的L-step长度的数据和新采样的step长度的数据计算下一个Hurst指数。

假设长度L的时间序列为{X1,…,XL},利用R/S法估算Hurst值的过程具体如下:将该时间序列划分成长度为n的子序列,那么得到子序列的个数d=L/n。对于每一个子序列m=1,…,d。

1) 求其期望Em:

2) 求其标准差Sm:

3) 求其极差Rm:

Yj,m代表第m个子序列第j个元素的值。Zi,m代表第m个子序列前i个元素与Em偏差的累计。

4) 求各子序列的Rm/Sm(m=1,…,d)的期望

研究表明,(R/S)n与子序列长度n的关系可表示为

C为常数,H为Hurst值(式(8)中的等号代表统计意义上的相等)。

式(8)两边取对数得

对于一个给定的n值,可得一个(R/S)n。对于不同的n值,若以logn为横坐标,log(R/S)n为纵坐标,则在直角坐标系中可得到许多点,那么Hurst指数的估算值就是进行直线拟合后所得直线的斜率。

4.1.2 Bootstrap过程导致的异常

在bootstrap过程中,bot主机会随机连接某些bot节点,这时会发生较多的连接失败,导致ICMP流异常,这是botnet固有的特性导致的本质异常。在RF模型中,通过利用Multi-chart CUSUM来检测ICMP流的异常以检测该botnet本质异常。

一维非参数CUSUM算法已经在异常检测和改变点检测方面有广泛的应用,本文将其扩展为Multi-chart CUSUM[17],它可以同时考虑网络流量多种特征,放大流量异常,以提高检测的灵敏度。

对于随机序列{X1,…,Xn},令Pki代表第i(i=1,…,n)个观测序列在k时刻检测到异常,P∞代表未检测到异常。代表ikP的累计评价,第i个观测序列的累计评价和Sn(i)为

为使用CUSUM算法,需要对gi,s(Xi(n))做如下变换,使得正常情况下观测序列的均值为负数,在变化发生后其均值为正数:

式(11)中,μi=E∞Xi(n)代表在正常情况下观测序列的均值。可将式(10)递归表示如下:

定义判定函数

当Sn(i)大于阈值时,表示发生异常。为了提高检测精度,使用Kaufman算法[18]动态调整M。

当上述的随机序列{X1,…,Xn}是ICMP流的比例值CICMP和UDP流在第一阶段处理后的结果HPk时,Multi-chart CUSUM可以及时检测到ICMP流和UDP流的异常。

4.2 发现攻击流导致的异常

Bot主机在发送大量垃圾邮件时会大量使用SMTP协议进而导致SMTP流异常,这是botnet发动的攻击流导致的异常。在RF模型中,通过检测SMTP流的异常来发现botnet的攻击异常,对于SMTP流采用与ICMP流相同的处理方式,详见4.1.2节。

4.3 区分异常产生的原因

从本质上看,P2P botnet是一个可以发动网络攻击的P2P网络,所以P2P botnet和P2P应用程序有较强的相似性,应采用一定的手段消除正常P2P应用对P2P botnet的检测产生的误差影响。

正常P2P应用大多用来进行文件的传输和共享,通常利用超过1 300byte的TCP长分组传输数据。而botnet大多数的数据传输是二次注入时下载负载利用HTTP协议进行的,数据量不大。因此,可利用时间Δt内剔除与正常网络应用程序相关的TCP分组后的TCP长分组的比例PTCP来区分导致第3节中流量异常出现的原因,TCP长分组的比例越小,异常是P2P botnet爆发引起的概率越大。

假设当前要处理的TCP分组记为Pi,TCP分组的数目为N,TCP长分组的数目为NTCP,具体处理过程如图2所示。

定义判定函数

fTCP值为1,说明第3节中流量异常是P2P botnet爆发引起的概率较大。阈值MTCP可通过Kaufman算法[18]进行动态修改。

4.4 RF模型的流程

假设当前时刻为k,RF模型处理流程如图3所示。

1) 获取ICMP流的比例值CICMP、SMTP流的比例值CSMTP和UDP流的比例值CUDP,同时计算得出TCP流的fTCP值,以消除网络应用对P2P botnet检测产生的误差影响。

图2 处理TCP流的流程

图3 RF模型示意

2) 从流本身的特性出发,使其在检测P2P botnet时处于不同的角色,发现botnet导致不同的流量异常。

① 利用基于滑动窗口的实时估算Hurst指数的方法得到HPk;

② 将CICMP、CSMTP和HPk输入到Multi-chart CUSUM中计算出d(Si(ICMP))、d(Si(SMTP))和d(Si(HPk))。

3) 最终判定:

T是判定P2P botnet是否存在的阈值,当D≤T时表示网络状态正常,否则表示P2P botnet存在。

5 实验

5.1 网络流量实验

该实验主要是监测网络流量:每10s采集一次网络数据分组,在一段时间后注入Storm bot程序。

分析图4可得,当bot主机开始通信时,UDP分组数目比一般情况下增多了20倍左右,主要因为botnet的C&C机制通过UDP流进行。ICMP分组数目从100增加到900,主要因为bot主机在bootstrap过程连接某些bot节点时发生了较多的连接失败。因为botnet在Spamming时发送垃圾邮件的延迟,该实验几乎未发现SMTP流,所以接下来的实验暂不考虑SMTP流。

图4 网络流量数据

5.2 参数HP实验

该实验主要观测UDP流自相似性程度的变化。一般情况下UDP流自相似性程度非常明显,Hurst指数保持在[0.65, 0.85],参数HP保持在[0.15, 0.35],同时会有一定的波动。

分析图5可得,在一段时间注入Storm bot程序后,参数HP在420s增大到了0.45,在460s甚至增大到了最高点0.59,这充分说明UDP流已经丧失了自相似性,出现了异常。因为bot主机数目的逐步增大,P2P botnet规模的逐步扩大,原先UDP流表现出的与一般情况不同的异常特征却变成了它的一种新的自相似性行为,进而导致参数HP下降。

5.3 RF模型实时性实验

将实验1中UDP流、ICMP流输入到RF模型中的处理结果如图6所示。与实验1相比,图6中检测到UDP分组和ICMP分组增加的时刻均有一定的延迟,基本在[25s,50s]区间内。因此,RF模型具有较小的检测延迟,可以满足实时检测P2P botnet的要求。

图6 基于UDP流和ICMP流的RF的输出

5.4 漏报率和误报率实验

为检验本文提出的RF模型在不同情况下的检测能力,该实验选择了4组数据,分别使用不同的检测方法检测botnet:前2组未注入bot程序,仅仅改变了各种数据分组的流量比,其中第2组数据中有大量网络应用程序和P2P应用程序的数据分组;后2组注入了bot程序,其中第4组数据有大量网络应用程序和P2P应用程序的数据分组。实验结果如表1所示。

表1 漏报率和误报率对比

在第1组和第3组数据中RF模型的检测结果非常理想,接近真实情况。第2组数据和第4组数据分别是在正常和存在bot程序的网络环境中注入了大量网络应用程序和P2P应用程序的数据分组,此时所有的检测方法都出现了一定的漏报和误报,但是RF模型的漏报率和误报率较低,因为RF模型充分考虑到了网络中正在运行的应用程序对P2P botnet检测的影响。特别地,表中的“113:77”表示RF模型在第4组数据中检测到了113次攻击,但是其中有77次是真正的攻击。

综上所述,利用RF模型检测P2P botnet,其表现出较低的漏报率和误报率,具有较小的检测延迟。

6 结束语

本文在详细分析Storm botnet行为与特征的基础上,提出了一种新型的基于流角色的实时检测P2P botnet模型—RF,该模型从流本身的特性出发,使其在检测P2P botnet时处于不同的角色,同时考虑到了网络应用程序对检测的影响。为了进一步减小检测的漏报率和误报率,本文提出了一种基于滑动窗口的实时估算Hurst指数的方法,并且采用Kaufman算法来动态调整阈值。实验表明,该模型能够有效检测新型P2P botnet,检测的误报率和漏报率较低,适应更复杂的网络环境。

下一步的研究重点,更详细地研究P2P应用与P2P botnet流量特征的差异,进一步提高检测的精度和实时性。

[1] JOE STEWART. Storm Worm DDOS Attack[R]. SecureWorks, Inc,Atlanta GA, 2007.

[2] GRIZZARD J B, SHARMA V, NUNNERY C. Peer-to-peer botnets:overview and case study[A]. HotBots ’07 conference[C]. 2007.

[3] SARAT S, TERZIS A. Measuring the Storm Worm Network[R]. Technical Report 01-10-2007, HiNRG Johns Hopkins University, 2007.

[4] HOLZ T, STEINER M, DAHL F. Measurements and mitigation of peer-to-peer-based botnets: a case study on storm worm[A]. 1st USENIX Workshop on Large-Scale Exploits and Emergent Threats[C].San Francisco, 2008.

[5] STEGGINK M, IDZIEJCZAK I. Detection of Peer-to-Peer Botnets[R].University of Amsterdam, Netherlands, 2007.

[6] PORRAS P, SAIDI H, YEGNESWARAN V. A multi-perspective analysis of the storm (peacomm)worm[A]. Computer Science Laboratory, SRI International[C]. CA, 2007.

[7] 王海龙, 胡宁, 龚正虎. Bot_CODA:僵尸网络协同检测体系结构[J].通信学报, 2009, 30(10A): 15-22.WANG H L, HU N, GONG Z H. Bot_CODA: botnet collaborative detection architecture[J]. Journal on Communications, 2009, 30(10A):15-22.

[8] 王劲松,刘帆,张健. 基于组特征过滤器的僵尸主机检测方法的研究[J]. 通信学报, 2010, 31(2): 29-35.WANG J S, LIU F, ZHANG J. Botnet detecting method based on group-signature filter[J]. Journal on Communications, 2010, 31(2):29-35.

[9] 臧天宁, 云晓春, 张永铮. 僵尸网络关系云模型分析算法[J]. 武汉大学学报(信息科学版), 2012, 37(2): 247-251.ZANG T N, WANG X CCC, ZHANG Y Z. A botnet relationship analyzer based on cloud model[J]. Geomatics and Information Science of Wuhan University, 2012, 37(2): 247-251.

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

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

[12] LELAND W E, TAQQU M S, WILLINGER W. On the self-similar nature of Ethernet traffic(extended version)[J]. IEEE/ACM Trans on Networking, 1994, 2(1): 1-15.

[13] BERAN J, SHERMAN R, TRAQQU M S. Long range dependence in variable bit rate video traffic[A]. IEEE Trans on Communication[C].1995, 43(234): 1566-1579.

[14] KIM J S, KAHNG B, KIM D. Self-similarity in fractal and non-fractal networks[J]. Journal of the Korean Physical Society, 2008, 52:350-356.

[15] KARAGIANNIS T, MOLLE M, FALOUTSOS M. Understanding the Limitations of Estimation Methods for Long-range Dependence[R].University of Califomia,Tech ReP:TRUCR-CS-2006-10245,2006.

[16] KARAGIANNIS T, MOLLE M, FALOUTSOS M. Long-range dependence: Ten years of Internet traffic modeling[J]. IEEE Intenet Computing, 2004,8(5):57-64.

[17] TARTAKOVSKY A G, ROZOVSKII B, SHAH K. A Nonparametric Multichart CUSUM test for rapid intrusion detection[A]. Proceedings of Joint Statistical Meetings[C]. 2005.

[18] KASERA S, PINHEIRO J, LOADER C. Fast and robust signaling overload control[A]. Proceedings of Ninth International Conference on Network Protocols[C]. 2001. 323-331.

[19] SEN S, SPATSCHECK O, WANG D M. Accurate, scalable in-network identification of P2P traffic using application signatures[A]. Proceedings of the 13th international conference on World Wide Web[C]. New York, 2004.512-521.

猜你喜欢

网络应用相似性本质
一类上三角算子矩阵的相似性与酉相似性
关注本质 为理解而教
理解本质,丰富内涵
浅析当代中西方绘画的相似性
泰国·曼谷
交通领域中面向D2D的5G通信网络应用探析
童年的本质
对求极限本质的探讨
低渗透黏土中氯离子弥散作用离心模拟相似性
新媒体视阈下青少年网络应用行为探析