应用层DDOS攻击检测技术研究

更新时间:2023-05-13 22:40:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

随着检测底层DDoS攻击的技术不断成熟和完善,应用层DDoS攻击越来越多。由于应用层协议的复杂性,应用层DDoS攻击更具隐蔽性和破坏性,检测难度更大。通过研究正常用户访问的网络流量特征和应用层DDoS攻击的流量特征,采用固定时间窗口内的请求时间间隔以及页面作为特征。通过正常用户和僵尸程序访问表现出不同的特点,对会话进行聚类分析,从而检测出攻击,经过实验,表明本检测算法具有较好的检测性能。

InformationSecurity·信息安全·计算机

应用层DDOS攻击检测技术研究

熊俊

(湖南警察学院

【摘

湖南长沙410138)

要】随着检测底层DDoS攻击的技术不断成熟和完善,应用层DDoS攻击越来越多。由于应用层协议的复杂

性,应用层DDoS攻击更具隐蔽性和破坏性,检测难度更大。通过研究正常用户访问的网络流量特征和应用层DDoS攻击的流量特征,采用固定时间窗口内的请求时间间隔以及页面作为特征。通过正常用户和僵尸程序访问表现出不同的特点,对会话进行聚类分析,从而检测出攻击,经过实验,表明本检测算法具有较好的检测性能。应用层;聚类;异常检测【关键词】DDOS;

ResearchonApplicationLayerDDoSAttackDetection

XiongJun

(HunanPoliceAcademyHunanChangsha410138)

【Abstract】Withthematurityofthelow-leveldetectionofDDoSattacks,DDoSattacksgraduallytransferredtotheapplicationlayer.Becauseofthecomplexityoftheapplicationlayerprotocol,applicationlayerDDoSattacksmoredestructive,andmoresubtletodetect.Thispaperstudiesthenormaluser’trafficcharacteristicsofaccessingthewebserverandtrafficcharacteristicsoftheDDoSattacksflow.Takethetimeintervalbetweentworequestsandthewebpagesvisitedasafeature.normalusersessionandbotsattacksessionsshoweddifferentcharacteristics,weproposeaspactralclusteringbaseddectionmethod,tofindoutDDoSattacks.Theexperimentalresultsshowthatthedetectionalgorithmhasbetterdetectionperformance.【Keywords】DDoS;applicationlayer;clustering;anomalydetection

0引言

根据世界著名网络安全公司ArborNetworks在

区互联网用户不能使用网络服务,典型案例如2009年暴风事件,导致江西、河北等9个省市大量用户遭遇上网故障。安全公司卡巴斯基发布的2011下半年安全监控报告中指出,http类型的DDoS攻击占据了所有的

2011年发布的安全报告显示,分布式拒绝服务攻击是运

营商、服务提供商以及密切依赖网络的企业最大的威胁。国内的网络安全公司———绿盟科技2011年发布的网络安全回顾指出,目前网络攻击者逐渐将目标聚集到实施破坏和信息窃取上来,而实施破坏的主要途径就是针对网络空间发动DDoS攻击。国家互联网应急中心

DDoS攻击类型的80%,可见应用层DDoS危害之大。

DDoS攻击最早开始于1996年,2002年开始在国

内出现,2003年便初具规模。DDoS攻击发展趋势为从低层协议向高层协议发展,传统DDoS攻击利用协议漏洞或者洪水攻击等对受害者发起攻击,如网络层Nuke攻击利用发送畸形的ICMP数据包使得受害者当机,网络层泪滴攻击利用发送重叠的IP分片使得目标主机

CNCERT在2011发布的安全态势综述中指出,DDoS攻

击仍然呈频率高、规模大等特点,我国日均发生流量大于1G的DDoS攻击事件达365起。大多数攻击针对网站如政府网站、游戏服务器以及DNS服务器,造成受害者损失大量收入,对DNS服务器的攻击会导致大片地

·52·2012年9月·

TCP/IP协议栈崩溃而拒绝服务。UDPFlood、TCPFlood

等传输层的洪水攻击利用发送超出受害者服务能力的大量数据包,消耗掉受害者的网络带宽、CPU处理能力、

随着检测底层DDoS攻击的技术不断成熟和完善,应用层DDoS攻击越来越多。由于应用层协议的复杂性,应用层DDoS攻击更具隐蔽性和破坏性,检测难度更大。通过研究正常用户访问的网络流量特征和应用层DDoS攻击的流量特征,采用固定时间窗口内的请求时间间隔以及页面作为特征。通过正常用户和僵尸程序访问表现出不同的特点,对会话进行聚类分析,从而检测出攻击,经过实验,表明本检测算法具有较好的检测性能。

计算机·信息安全·Information

Security

内存、网络连接等有限的资源从而使受害者主机拒绝服务。随着广大学者、安全公司对传统的DDoS攻击进行深入的研究,目前低层的DDoS攻击检测已趋成熟,并且有很多的专门检测DDoS攻击的产品,能较有效地检测这些低层的攻击。网络攻击者为了躲避检测,并让

DDoS攻击具有更大的破坏力,逐渐将攻击转移到应用

层。

应用层DDoS攻击和传统的低层DDoS攻击有较大不同,首先,应用层DDoS攻击数据包在数据包格式上和正常用户的数据包格式完全相同,没有畸形包、异常的字段值,这使得从特征匹配的检测算法宣告失效,因为攻击包和正常包在格式上是相同的。其次,应用层

DDoS攻击由于和服务器要建立TCP连接,因此采用的

都是真实IP地址。另外,由于应用层协议更加复杂,如

http协议,一条请求语句可能会耗费服务器大量的数据

库查找操作,耗费大量资源,因此,应用层DDoS攻击可以只利用很低速率的攻击流,就耗尽受害者主机,使得主机宕机,而防火墙等安全产品却根本检测不到攻击,典型攻击如近几年盛行的CC攻击。这些新特性使得应用层的DDoS攻击危害更大,且更加难以检测。学者和网络安全公司针对应用层的DDoS攻击已经有了一些研究,但尚无比较有效、成熟的检测方法。

1应用层流量特征

1.1正常用户访问特征

正常用户访问网站一般为如下过程,首先进入网站主页,然后在主页浏览一段时间,阅读相关的内容,发现感兴趣的内容,点击链接,进入下一个页面。然后阅读下一个页面,并在该页面驻留一段时间。阅读完该页面后,用户可以直接关闭该页面,或者点击相关链接继续访问其他页面,或者是回退到前一页面或者返回到主页。

的数据空间网站的2个月的日志记录)、ClarkNet-HTTP(一个网站的1995年8月的2个星期的记录文件)进行分析,重点研究了会话的请求间隔时间分布以及时间窗口时间内访问的页面分布。

图2是EPA数据包中一个时段的请求间隔分布,具有典型代表性,时间窗口内一共有62个http会话,横坐标轴为秒,可以看出来,请求间隔时间分布较分散,从

>请求时间间隔的研究

由于不同的用户感兴趣的内容不一样,因此不同的用户在一段时间如10分钟内浏览过的页面也不同,另外,不同用户由于阅读习惯、关注点不同,导致不同的用户在不同的页面上停留的时间不同。文献[8]中有如图1直观的展示。

对网站记录日志文件,包括EPA-HTTP日志(一个访问量较大的网站1995年8月29日全天的日志记录)、SDSC-HTTP(另一个网站在1995年8月22日全天的访问记录日志)、NASA(美国国家宇航局在弗罗里达

0到300s。

>请求页面的研究

各个用户由于感兴趣的内容不容,因此浏览的页面也不同。但同时网站上有的内容属于热点内容,是公众都关心的,访问的频率更高,如网站主页,特定的消息。

对日志文件的分析验证了这一结论,图3是其中的一张图,横坐标是网页编号,在半个小时时间窗口内被

信息安全与技术·2012年9月·53·

随着检测底层DDoS攻击的技术不断成熟和完善,应用层DDoS攻击越来越多。由于应用层协议的复杂性,应用层DDoS攻击更具隐蔽性和破坏性,检测难度更大。通过研究正常用户访问的网络流量特征和应用层DDoS攻击的流量特征,采用固定时间窗口内的请求时间间隔以及页面作为特征。通过正常用户和僵尸程序访问表现出不同的特点,对会话进行聚类分析,从而检测出攻击,经过实验,表明本检测算法具有较好的检测性能。

InformationSecurity·信息安全·计算机

访问的页面,竖坐标为被访问的次数。从中可以看出来,有的页面被访问的频率很高,剩下被访问的页面的频率大致相同。

间,尤其是稍具规模的网站就拥有上万的页面,像新浪这样的大型网站甚至是上亿级页面,这使得该算法不能够在线检测攻击,不适宜来检测应用层DDoS攻击。

文献[6]根据单位时间内请求页面的熵来检测攻击,主要假设如下,正常用户访问网站时,由于各自感兴趣的内容不同,较均匀的访问网站的各个页面,即请求比较分散,熵值较大。而攻击程序往往是在开始攻击之前就设定了一个固定的页面,攻击时,所有的僵尸程序反复频繁的请求同一页面,打破了页面的均匀分布,熵值变小。该方法有以下不足,当攻击流是低速率攻击时,熵值变化不大,不能检测出攻击,另外,由于网络流具有突发性,可能会将正常用户访问误判为攻击。

最后,该方法假设攻击程序只请求同一页面,但是攻击程序可以遍历整个网站或者随机爬取页面,当是后面这两种形式时,即使攻击发生也不会是的熵值增大很多,相反可能会使熵值变小,因为请求页面更分散。

文献[7]提出了一种根据单位时间内平均每个会话的服务器请求次数ANRC的波动情况来检测攻击的方法,该检测方法认为正常情况下访问服务器的ANRC较稳定,可以用一阶线性模型进行预测,当实际观测值明显高于预测值时,则认为是可能发生了DDoS攻击,并对访问频率较高的IP进行验证,判断是否是僵尸程序。这种方法存在一些缺陷,首先,当DDoS攻击流较小,即发生了低速率DDoS攻击时,ANRC的值并不会显著上升,因为攻击流量被大背景流淹没,因而漏检。其次,验证同样面临着挑战,随着攻击程序的能力增强,一旦能够回答验证问题即宣告该检测算法失效。

1.2应用层DDOS攻击特征

根据应用层DDoS攻击的原理,可以总结出DDoS攻击具有的特征。

DDoS攻击会话的请求频率较高,即请求间隔较小。

这是因为为了达到使受害者拒绝服务攻击的目的,攻击者必须达到一定的服务请求速率才能将主机的资源消耗尽。攻击程序为了易于编写,往往将请求间隔设为固定值。文献[5]指出,应用层的DDoS攻击程序Mydoom蠕虫在发送DDoS攻击时,每秒发送64个GET请求。变种的攻击可能会不采用固定时间间隔,而是经过一个随机时间间隔,但仍然是较小,并且各个攻击会话表现出共性。

DDoS攻击请求往往是请求单一页面,卡巴斯基安

全报告中指出,请求同一网页的攻击占据所有的http攻击类型的55%。另外攻击程序也可以对网站进行遍历或者随机爬取。

2应用层DDOS攻击检测方法

2.1现有的DDOS攻击检测技术

文献[4]提出一种防御方案,要求访问者回答一些问题以此来判断用户是正常用户还是僵尸程序,它的主要思想是僵尸程序为了隐蔽一般代码较少,没有足够的能力回答出服务器提出的问题,比如识别图片中的验证码,回答常识性问题,而正常用户却可以轻松完成这些验证工作。服务器将那些不能正确回答问题的用户判定为僵尸程序,不为其提供服务,从而到达防御的目的。

但是这种方法也有很明显的弊端,首先,这会使得正常用户,网站的绝大多数用户感到很厌烦,因为要输入很多的验证码。其次,这也会影响搜索引擎的检索,因为搜索引擎的爬虫本质上也是机器程序,同样不能够回答出这些问题,使得网站页面不能被正确检索,对网站不利。再次,当机器程序进行改进后,可以回答验证问题,则该方法就失效。

文献[5]对用户的访问行为进行建模,利用马尔可夫链来模拟用户所请求页面的模式,对每个会话记录访问其各个页面跳转概率,然后归纳出大多数用户的访问模式,将流与大多数用户的访问模式的偏离作为流的异常程度。但是,这种方法要求非常大的计算量,以及存储空

·54·2012年9月·

2.2本文使用的检测算法

通过以上的数据分析,正常会话的请求间隔以及请求页面具有相似性,攻击会话的请求间隔和请求页面具有很强的相似性,而两者之间的相似性较小。从而得出本文的检测算法,根据会话的请求间隔和请求页面作为相似性的度量,利用数据挖掘中基于谱图理论的谱聚类算法,对会话进行聚类,从而将正常会话聚成若干簇,攻击会话聚成一个簇(如果有攻击),从而实现应用层

DDoS攻击检测。

检测过程:

(1)时间窗口设为2分钟,将时间窗口内的访问服务器的每个IP作为一个会话,提取出每个会话的在时间窗口内每次请求页面的时间,请求的页面,每个时间窗纪录50条,没有的纪录置为0。

随着检测底层DDoS攻击的技术不断成熟和完善,应用层DDoS攻击越来越多。由于应用层协议的复杂性,应用层DDoS攻击更具隐蔽性和破坏性,检测难度更大。通过研究正常用户访问的网络流量特征和应用层DDoS攻击的流量特征,采用固定时间窗口内的请求时间间隔以及页面作为特征。通过正常用户和僵尸程序访问表现出不同的特点,对会话进行聚类分析,从而检测出攻击,经过实验,表明本检测算法具有较好的检测性能。

计算机·信息安全·InformationSecurity

(2)计算各个会话间的相似性矩阵。相似性的度量包括两个部分,一是间隔分布的相似性,二是请求页面的相似性,两者之和占总相似性的。

于),并且簇中的元素个数也较少,则判定该簇是攻击会话簇,及判定攻击发生。反之,则判定为没有攻击发生。

A)时间间隔相似性如下,先将各会话的后一个请

求时间减去前一个得到请求间隔,然后按照从大到小排序,对应项相减得到绝对值之和,然后处理两个会话中纪录中较少纪录数的纪录L。

3结论

本文提出的基于谱聚类的应用层DDoS攻击检测能够较好的检测出攻击,并且误检率也较低,具有较好的性能。经过实验,算法检测时间也较短,能够在攻击2分钟内检测到。检测算法还需要进一步进行完善,如自动确定聚类个数,这是一个较难的问题。另外CC攻击的变速率的攻击形式还有待检验,是接下来可以继续研究的内容。/wendang/55.html

distance1=1

Σ|a-b|

i=0

50

b为会话a,b的第i个请求间隔值。

B)请求页面相似性的计算。两个会话在时间窗口

内请求的相同页面数越多,相似性越大,距离越小。

参考文献

[1]arbornetworks.WorldwideInfrastructureSecurityReport[R].USA:arbornetworks,2011.

[2]绿盟安全研究院.2011网络安全态势回顾[R].北京:北京神

州绿盟信息安全科技股份有限公司,2011.

distance2=50╞common(a,b)

common(a,b)计算会话a,b请求相同的页面数。

总距离计算如下:

distance=distance1+distance2

(3)谱聚类算法进行聚类

[3]国家互联网应急中心.2011年我国互联网网络安全态势综述[R].北京:国家计算机网络应急技术处理协调中心,2011.

[4]KandulaS,KatabiD,acobM,etal.SurvivingorganizedDDoSattacksthatmimicflashcrowds[J].TechnicalReportTR969,MIT,2004,3-5.

[5]谢逸,余顺争.应用层洪泛攻击的异常检测养.计算机科学Vol,34NQ8,2007,2-4.

[6]张烜.基于应用层的DDoS攻击检测防御技术研究[D].北

京:北京邮电大学硕士论文,2009.

A)利用前面计算的相似性矩阵,构造一个用邻接

矩阵表示的图W,每个会话由一个顶点代表,顶点之间的边的权值为对应会话的相似性大小distance。

B)将W的每一列求和,得到N个数,将这N个数

放在N*N的方阵的主对角线上,得到方阵D,并令

L=D-W。求出矩阵L的前3个特征值及对应的特征向

量。

[7]智坚.基于应用层的DDoS攻击检测技术研究.大连:大连海事

C)将3个特征列向量依次排列,得到一个N*3的

矩阵,将这个矩阵的行视为3维空间的向量,利用K均值聚类算法进行聚类,属于同一簇的行对应的会话属于同一簇。

大学硕士论文,2011.

[8]赵国锋,喻守成,文晟.基于用户行为分析的应用层DDoS攻

击检测方法.计算机应用研究,第28卷第2期,2011,2-3.

D)分别计算三个簇的均方误差SSE,若其中一个

簇的SSE较明显的小于另外两个簇,试验中可进行调节(如小于另外簇的均方差的1/5可以定义为较明显小

作者简介:

熊俊(1974-),男,汉族,湖南临澧人,讲师,硕士,研究方面:计算机信息安全。

信息安全与技术·2012年9月·55·

本文来源:https://www.bwwdw.com/article/307e.html

Top