首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

DDoS攻击从检测到流量识别总体防御方案研究

作者:张丽 陈曙晖 孙一品 来源:现代电子技术

摘 要: 分布式拒绝服务(DDoS)攻击是互联网安全的严重威胁,攻击发生时会有大规模流量淹没目标网络和主机。能够准确快速地检测到攻击,区分合法拥塞流量和攻击流量,对攻击流量加以清洗,对于DDoS攻击的防御来说十分重要。采用信息熵对流量参数进行实时统计来检测攻击,用累积和(CUSUM)算法控制熵值连续变化情况。检测到攻击后,依据目的IP数量前后增长情况找出受害者,对流向受害者处的流量进行重点观察。由于大规模的攻击流量与合法的拥塞流量非常相似,难以识别,在此对流本身的相似性进行考察,使用流相关系数算法辨别攻击流量和合法拥塞流量,为流量清洗工作提供依据。

关键词: DDOS攻击; 信息熵; CUSUM; 相关系数; 流量识别

中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X(2013)22?0062?05

0 引 言

目前分布式拒绝服务(DDoS)攻击[1]是破坏互联网安全的最常用手段之一。攻击发生时,分布在各处的傀儡机发出大量数据包涌向受害目标,不仅引起网络链路堵塞,也会使目标服务器资源耗尽而停止服务,从而使网络和服务器陷入瘫痪,带来严重后果和损失。防御DDoS攻击近年来一直是网络安全领域的研究热点。如何快速准确地检测出攻击,对攻击流量进行识别并加以清洗,是DDoS攻击防御中的重点内容。由于攻击流量与合法拥塞流量非常相似,对它们进行区分比较困难。

本文提出一套防御DDoS攻击的方案,该方案抵抗DDoS攻击的流程如图1所示。从骨干网上对流量进行采集解析后,使用信息熵来跟踪流量特征参数的变化,采用滑动窗口对特征值序列进行动态存储。考虑到准确性,使用累积和(Cumulative SUM,CUSUM)控制流量特征的变化以减缓抖动性,CUSUM通过特征值的连续变化情况判断攻击是否发生。DDoS攻击发生后,使用保存快照方式将攻击发生时的参数与快照中的参数进行比较找出受害者。将通往受害者的网络流量作为重点观测对象,通过流自身相似度辨别是否攻击流量,采用Pearson相关系数分析流量之间的相关性。

本文提出的方案面向DDoS攻击本身,从DDoS攻击的检测,到受害者的确定,再到攻击流量的识别清洗,形成一套比较完整的DDoS攻击防御方案。与传统的对抗DDoS攻击研究相比,本方案不仅仅只停留在DDoS攻击检测方面,对检测到的DDoS攻击如何响应,攻击流量如何处理也进行了表述。方法比较简单,计算量小,能够实时准确地检测到攻击,并能较好地对攻击流量进行识别过滤,适合骨干网大规模流量下DDoS攻击的防御。

1 相关工作

根据能否对攻击数据包进行检测和过滤,DDoS攻击根据可检测程度分为3个等级[2]:可过滤、有特征但不易过滤和无法识别。可过滤的DDoS攻击具有较为明显的特征,直接过滤具有这些特征的包,就可有效对抗攻击。对付这种攻击可以使用特征匹配的方法进行检测,特征匹配方法比较有代表性的是专家系统[3]、模式匹配[4]、状态转移分析[5]。

有特征但不易过滤的DDoS攻击,通常伪造数据包模仿合法用户的请求,虽具有一些可识别特征,但是如果对有这些特征的数据包进行过滤,同时也会影响到合法用户的正常使用。对付这种类型的攻击通常使用异常检测方法,目前在异常检测领域已有大量研究。Lakhina提出流特征分布熵,采用信息熵作为工具来量化流特征分布的离散程度,影响广泛[6]。Chen、Shin等依据正常情况下TCP连接中SYN请求包数目与FIN 、RST等回应包数目相对应关系,提出针对SYN Flood攻击的检测方法[7?8]。Jin利用协方差分析检测SYN Flood攻击,通过网络中各类型报文数量的变化情况感知异常[9]。

无法识别的DDoS攻击,攻击包与合法数据包没有明显特征可以区分。高速模拟拥塞攻击利用傀儡网络假装正常主机发起攻击,用高速合法数据包淹没目标使其拒绝服务。关于如何对付这种类型攻击的研究还比较少。Shui,Theerasak提出使用流相关系数对流量进行分析,区分模拟拥塞攻击流量和正常拥塞流量,但其算法比较复杂,计算开销量大[10?11]。本文在其所提方法的基础之上做了简化和改进,应用在攻击流量识别阶段。

在前人已做大量研究工作的前提下,本文所提方法立足于异常检测技术,主要面向DDoS攻击的后两种情况。

2 DDoS攻击检测

对于DDoS攻击的检测,利用信息熵检测流量异常,选取特定的流量特征参数作为检测依据,采用滑动窗口对这些基于时间的特征值序列进行存储,通过CUSUM算法来控制流量特征的连续增大或减小情况。

2.1 信息熵

熵的概念最初源于物理学,香农提出信息熵[12],用来表示信息量的多寡。熵值越高,表示所含的信息量越大,熵值越低,则意味所含信息量越小。设有属性集合[X=ni,i=1,2,…,N],表示第i种属性在总的属性集合中出现了[ni]次,则信息熵的定义[13]可表示为:

[H(x)=-i=1N(niS)log2(niS)] (1)

式中,[S=i=1Nni]代表所有属性出现的总次数。熵的取值范围在[0-log2 N]之间,当所有属性全部相同时,分布最大化集中,此时熵值为0。当n1=n2=…=nN,即等概率分布的情况下,分布最大化分散,此时熵取最大值[log2 N]。信息熵能更有效地描述同一特征参数的集中和分散情况,适合在大规模流量下检测异常。

由于大量傀儡机攻击少数目标机,加上当前很多DDoS攻击工具的源IP伪造特性,攻击时会出现源IP多而分散,目的IP少且集中的现象。本文选取源IP和目的IP作为流量的特征参数,通过分析参数的分布变化来检测流量异常[14]。将源IP和目的IP分别应用(1)式得到源IP熵H(srcIP)和目的IP熵H(dstIP)。

为了使计算更具实时性,减少资源消耗,使用滑动窗口对特征值序列进行动态存储。采用文献[15]中关于滑动窗口的算法思想,按时间先后存储流量的特征参数,窗口的总长度保持不变。以滑动窗口内的信息作为属性集合计算熵值,随着滑动窗口不断更新,特征熵值不断变化,形成基于时间的数据序列。

2.2 CUSUM算法

本文使用CUSUM算法[16]对熵值变化的控制来感知DDoS攻击。CUSUM用于检测偏移程度,通过累积误差来检测待检对象与目标之间的偏移。CUSUM算法表述如下:

设[xi]是过程的第i次观测值。当过程受控且稳定时,[xi]的分布是平均值为μ、标准差为σ的正态分布。这里σ已知或可被估计,将μ视为目标值,如果过程偏离这个值,CUSUM就能反映出来。CUSUM分别累积计算高于目标值μ的偏移总和与低于目标值μ的偏移总和,分别称为单侧上累积和[C+i]与单侧下累积和[C-i] [17]。

对源IP和目的IP这两个参数的信息熵应用CUSUM算法,依据等式(2)和式(3),[xi]对应着两个参数源IP熵和目的IP熵,μ对应定义的目标值。这里目标值定义为未发生攻击情况下熵的平均值,它是检测变化的标准。对于源IP的熵,主要监控其增长情况,计算其单侧上累积和[C+i]。对于目的IP的熵,主要监控其减小情况,计算其单侧下累积和[C-i]。

增加新的变量[Si]和[Di]。源IP熵的[C+i]大于0时[Si]等于1,否则等于0; 同样目的IP熵的[C-i]大于0时[Di]等于1,否则等于0。

如果[Si]和[Di]都持续大于0,则说明源IP熵值持续增大同时目的IP熵值持续减小。在[Si]和[Di]的基础上继续增加变量[SNi]和[DNi],分别表示[Si]和[Di]的持续累积和,判断参数持续变化情况。

当[Si]的值连续为1时,[SNi]的值就由[Si]值累积相加所得;当[Si]的值出现0时,[SNi]又重新开始从0算起。由[Di]值计算的[DNi]值同理。若[SNi]和[DNi]大于某一给定的阈值,就可认为出现了DDoS攻击。

2.3 探寻受害者

检测到DDoS攻击后,接下来确定攻击的受害者。在此阶段,通过统计数据包的方式对网络数据流进行监测。DDoS攻击中,很多傀儡机向目标机发送数据包,会在网络上产生大量的数据流。这些流拥有众多的源IP,而通常局限于少数的目的IP。因此可以用目的IP来划分数据流,依据目的IP的变化情况识别受害者。这里将具有相同目的IP的数据包视为一条网络流。

DDoS攻击开始后,相比正常用户来说受害者往往会收到大幅增长的数据包。

在检测过程中,将滑动窗口内流量的特征参数定时保存为快照,如图2所示。

在检测到攻击发生后,立即将窗口中的参数与之前攻击未发生时保存的快照中的参数进行比较,找出那些与其他网络流相比具有更高目的IP增长数目的流。根据目的IP增长数目对这些流进行排序,计算它们的比例。如果是受害者,会有更高的目的IP增长数目。

3 识别攻击流量

确定了攻击受害者后,对流向受害者处的流量进行重点观察。本文对流自身的相似度进行考察,使用相关系数模型分析流量之间的相关性,辨别攻击流量和合法拥塞流量。

3.1 问题描述

在DDoS攻击中,傀儡机受攻击者控制向受害者发送大量数据包。攻击工具通常是预建好的程序,按照特定的攻击程序和函数发送数据。从攻击的行为方式入手对攻击流量进行研究,自动执行的程序与正常用户的访问行为存在明显不同。DDoS攻击工具工作在自动或半自动的模式下,通常重复性地产生攻击包,攻击流量呈现模式化且有规律可循。而用户访问行为一般是随机性的,产生的数据流量无规律。与用户合法访问流量相比,DDoS攻击流量具有更高的自身相似度。

通过观测数据包的传输速率来辨别用户的合法流量与DDoS攻击流量。攻击机发出的攻击流量速率一般极其富有规律,而用户的合法流量受人为因素影响大,一般无规律可循。在此使用数学模型来对数据传输速率进行统计分析。

3.2 Pearson相关系数

鉴于DDoS攻击的数据传输速率有规律可循,使用Pearson相关系数(PMCC)[18]判断流向受害者的流量是否为攻击流量。

Pearson相关系数用来度量两个变量之间的相互关系,如图3所示。设有两个变量X和Y,其定义为:

3.3 检测流自身相似度

通过对流自身相似度的检测可以判断到达受害者处的流量是否为攻击流量。文献[11]介绍了两种方法,一种是对传输速率与时间之间相关性的测量,另一种是对流自身传输速率之间相关性的测量。本文借鉴后一种测量方式,将流量自身分成两股流量,通过两股流的数据传输速率测量流自身的相似度。在此将拥有相同目的IP地址的数据流量视为同一条网络流。设X为一条流的数据传输速率的样本序列,[X=λ2k,k=0,1,2,…,N]。其中[λi]表示第i单位数据包的数目。Y同样为这条流的数据传输速率的样本序列,与X错开一单位,[Y=λ(2k+1),k=0,1,2,…,N]。例如有[X=λ0,λ2,λ4,…,λ2k]和[Y=λ1,λ3,λ5,…,λ(2k+1)],计算这两个变量X与Y的相关值[ρXY],且[-1≤ρXY≤1]。然后设定一个置信值[α],[0≤α≤1],[α]是判断流量是否攻击流量的判定值。如前面所讨论,如果相关值的绝对值接近1,就认为流量的数据传输速率有规律。当[α≤ρXY≤1]时,这些流量被判为攻击流量。如果相关值的绝对值远离1,即[0≤ρXY≤α]时,就认为这些流量合法。

仅一个相关值[ρXY]还无法做出判断,需要一系列的相关值综合判定才能得出结论。每个相关值都会与α进行比较,得出整体中高于置信度的相关值数目的比率[P=num(ρ≥α)N]。最后P若高于α,就说明这条流总体呈现规律性,可能是攻击流量,将其进行拦截丢弃,阻止其流向受害者。

4 评估分析

为评价该策略方案抵抗DDoS攻击的效果,在实验室的局域网内搭建环境进行模拟实验,采用Linux操作系统和C语言对本文提出的方案实现并评估。使用TFN2K作为DDoS攻击工具,对特定受害者进行模拟攻击,同时使用从Internet上捕获的网络流量作为背景流量。首先对流量进行捕获解析,在此基础上对解析出的流量信息进行相关处理。

图4显示了局域网内以正常通信为背景的情况下,对某主机发动DDoS攻击前后所获得的特征熵值变化,以及这些熵值经过CUSUM算法进一步处理的变换情况。阈值设定的过大,漏报率会高,阈值若太小,又会有较高的误报率。本实验环境下经过反复试验,取阈值为4时,可使检测准确率最高,当[Si]或[Di]值连续4次为1时,就报告攻击发生。

表1显示了模拟DDoS攻击实验中攻击实际开始与检测到攻击的时间之差,可以看出,本方案在很短的时间内就可检测到攻击发生。

通过重复试验,所找出的受害者与真实受害者相比,准确率高达90%以上。TFN2K发起的攻击类型是恒定速率的攻击,攻击流量的速率在微小范围内变化,取k值为20时,计算得到的相关值为0.93。实验统计当置信值[α]为0.8时本方案在流量识别阶段过滤攻击流量的假阳率约为15%。

5 结 语

DDoS攻击目前仍是网络安全的重要威胁之一。本文将DDoS攻击的检测和流量清洗工作结合在一起,适用于骨干网上对DDoS攻击的防御。提出的方案使用信息熵对流量进行统计检测,能够实时地检测攻击,使用CUSUM算法控制熵值增减变化,减小抖动性和误报率。在流量清洗阶段使用Pearson相关系数计算流量的自相似度,以此识别攻击流量。检测方法没有针对特定的攻击种类,具有普适性。结果表明,本防御方案能够迅速地检测到攻击,准确率高,能够正确识别受害者,对攻击流量的区分度较好。

同时存在的问题如下:如果攻击流量没有识别出来,仍需要使用其他手段辅助进行流量过滤。其中一些阈值的设定如何取值才能更加合理需要进一步探究验证。目前实验均是在局域网内比较理想的环境下实施,拓扑结构简单,有效性和准确性的进一步检验还需放在真实的应用和复杂的网络环境下来进行。

参考文献

[1] LAU F, RUBIN S H, SMITH M H, et al. Distributed denial of service attacks [C]// 2000 IEEE International Conference on Systems, Man, and Cybernetics. Nashville, TN: IEEE, 2000,3: 2275?2280.

[2] 李德全.拒绝服务攻击[M].北京:电子工业出版社,2007.

[3] TAMARU A, GILHAM F, JAGANNATHAN R, et al. A real?time intrusion detection expert system (IDES) [R]. CA: Computer Science Laboratory, 1992.

[4] KUMAR S, SPAFFORD E H. A software architecture to support misuse intrusion detection [C]// Proceedings of the 18th National Information Security Conference. [S.l.]: NISC, 1995: 194?204.

[5] CANNADY J. Artificial neural networks for misuse detection [C]// Proceedings of the 1998 National Information Systems Security Conference. [S.l.]: NISSC, 1998: 443?456.

[6] LAKHINA A, CROVELLA M, DIOT C. Mining anomalies using traffic feature distributions [C]// Proceedings of ACM SIGCOMM 2005. Philadelphia, Pennsylvania, USA: ACM, 2005: 111?121.

[7] CHEN W, YEUNG D Y. Defending against TCP SYN flooding attacks under different types of IP spoofing [C]// Proceedings of International Conference on Mobile Communications and Learning Technologies. [S.l.]: ICMCLT, 2006: 38?48.

[8] SHIN Seung?won, KIM Ki?young, JANG Jong?soo. D?SAT: detecting SYN flooding attack by two?stage statistical approach [C]// Proceedings of the 2005 Symposium on Applications and the Internet. [S.l.]: SAINT, 2005: 430?436.

[9] JIN S, YEUNG D. A covariance analysis model for DDoS attack detection[C]// Proceedings of the Int’l Conf. on Communications. [S.l.]: IEEE, 2004: 1882?1886.

[10] YU Shui, ZHOU Wan?lei, JIA Wei?jia, et al. Discriminating DDoS attacks from flash crowds using flow correlation coefficient [J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(6): 1073?1080.

[11] THAPNGAM Theerasak, YU Shui, ZHOU Wan?lei, et al. Discriminating DDoS attack traffic from flash crowd through packet arrival patterns[C]// The First International Workshop on Security in Computers, Networking and Communications. [S.l.]: IWSCNC, 2010: 969?974.

[12] FEINSTEIN Laura, SCHNACKENBERG Dan, BALUPARI Ravindra, et al. Statistical approach to DDoS attack detection and response [C]// Proceedings of the DARPA Information Survivability Conference and Exposition. [S.l.]: ISCE, 2003: 303?314.

[13] SHANNON C E, WEAVER W. The mathematical theory of communication [M]. USA: University of Illinois Press, 1963.

[14] 杜鑫,杨英杰,常德显.基于特征分布分析的网络流量监测系统[J].计算机工程,2009,35(6):116?118.

[15] 王佳佳,严芬,殷新春.一种基于熵的DDoS攻击实时检测算法[J].扬州大学学报:自然科学版,2009,12(1):56?60.

[16] DRAIN David. Statistical methods for industrial process control [M]. [S.l.]: Chapman & Hall, 1997.

[17] DOUGLAS C. Introduction to statistical quality control [R]. [S.l.]: Montgomery Wiley, 2001.

[18] KREYSZIG E. Advanced engineering mathematics [M]. 9th ed. Singapore: Wiley, 2006.