一种应用层DDoS分布式拒绝服务攻击防御方法

文档序号:7854412阅读:368来源:国知局
专利名称:一种应用层DDoS分布式拒绝服务攻击防御方法
技术领域
本发明涉及一种计算机网络安全技术,尤其涉及一种应用层DDoS分布式拒绝服务攻击防御方法。
背景技术
应用层DDoS攻击近年来逐渐流行,与传统的网络层DDoS类似,应用层DDoS攻击也是以受害端无法对外提供服务为目的,但二者在实现上又有明显区别。与网络层DDoS相t匕,应用层DDoS攻击的报文数据与正常通信无异,不具备传统DDoS攻击的统计特性,因此网络层DDoS防御算法无法应对应用层DDoS攻击。Kandula 等[Srikanth Kandula, Dina Katabi, Matthias Jacob, Arthur
B.Botz-4-sale surviving organized DDoS attacks that mimic flash crowds.Proceedings of the 2nd conference on Symposium on Networked SystemsDesign&Implementation-Volume 2]设计了一种基于“Puzzle” 的检测与防御机制,当怀疑发生DDoS攻击时,要求用户回答一些简单的问题以判断对方是否为正常用户,但该方法需要用户参与,对合法用户的访问造成一定干扰。Walfish等[Walfish M, Vutukurum, Balakrishnan H,etal. DDos Defense by Offense. Proc. OfSIGCOMMr 06(2006)301-312pages]提出 “Speak out” 策略,当 DDoS 发生时,受害主机要求所有客户端都增大带宽,此方法假设攻击端釆用尽力攻击的方式,已用完了可用带宽,只有合法用户才能增大带宽。该方法局限性明显,可能会使链路带宽更紧张,以致影响到网络的其它部分。Ranjan 等[Ranjan S,Swaminathan R,Uysal M,et al. DDos-resilientscheduling to counter application layer attacks under imperfect detection.Proceedings of IEEE INF0C0M,Ba rcelona,Spain,2006. 4]提出控制 HTTP 请求速率的方法来防御DDoS,主张利用统计方法提取HTTP会话特征并判断每个会话的异常性,然后通过控制HTTP速率来抵抗DDoS攻击,但该方法需要得到客户端的支持,且可能会干扰用户的正常浏览。国防科技大学Yu Jie等[Jie Yu, Zhoujun Li,Huowang Chen, et al. A Detectionand Offense Mechanism to Defend Against Application Layer DDos Attacks. ThirdInternational Conference on Networking and Services(ICNS 1 07) DOI :10.1109/ICNS. 2007. 5]将应用层上的DDoS攻击进行抽象建模,并提出了在受害主机端建立攻防结合的防御机制D0W,结合异常检测方法与代价方法来减少攻击会话速率、攻击请求速率和高工作量请求的比重。Yu Jie 等[Jie Yu, Fangfang Cheng, Liming Lu,et al. ALightweight Mechanism to Mitigate Application Layer DDos Attacks. Proceedings ofInfoscaler 09 2009.]还提出了使用轻量级信任管理机制来防御DDoS攻击的方法,模拟仿真表明,该机制具有较低的漏报率,能够大幅提高合法用户请求获得服务的概率。中山大学谢逸[Xie Y,Yu SZ. A novel model for detecting application layer DDoS attacks.In Proc. First InternationalMulti Sympo Siumson Computer and Computational SciencesdMSCCS. 06). 2006. 56_63pages.]等提出基于用户浏览行为的统计异常检测,算法用隐半马尔可夫模型来模拟合法用户,如果来访用户的行为与模拟的合法用户行为有差异,则认为该用户异常,但该方法模型参数的选取会极大地影响检测率和误报率,在实际的环境中应用比较困难。江南大学嵇海进[嵇海进,蔡明.基于可信度的应用层DDoS攻击防御方法.计算机工程与设计,2007. 19 (28) ,4619-4621]等提出基于可信度的应用层DDoS攻击防御方法,该方法从客户端请求的发送速度、响应请求需使用的资源量两个角度来定义客户请求的可信度,优先服务高可信度的用户但同时也照顾低可信度的用户,该方法不能准确界定和屏蔽攻击源,只是降低为可疑者服务的质量,存在误判的问题,而且随着攻击源的增加,攻击者仍然能达到目的。中科院肖军[肖军,云晓春,张永铮.基于会话异常度模型的应用层分布式拒绝服务攻击过滤.计算机学报,2010. 33(9). DOI 10. 3724/ SP. J. 1016. 2010. 00000]等提出利用应用层信息建立访问行为异常属性和会话异常度模型,利用此模型区分合法与非法用户,并将模型与不同的转发策略结合,获取最好的转发性倉泛。目前已有的应用层DDoS防御方法,或多或少都存在一定问题。有的方法时空复杂度较高,难以在生产环境中运行,例如基于DOW模型或统计异常检测模型的算法;有的方法会影响到网络正常运行,代价较高,如“Speak Out”策略;有的方法会影响到用户的浏览体验,如“Puzzle”机制。

发明内容
本发明的目的就是为解决上述问题,提供一种应用层DDoS分布式拒绝服务攻击防御方法,它的方法易于实现,时间复杂度低,准确度高,而且对用户透明,不影响用户访问。为实现上述目的,本发明采用如下技术方案一种应用层DDoS分布式拒绝服务攻击防御方法,它分两个阶段训练阶段和工作阶段,训练阶段使用真实的合法访问流量作为训练数据,生成基准矩阵用于工作阶段的实时检测与保护,该应用层DDoS设备需串联部署在应用服务器前,使来访流量在进入服务器前先经过防御设备的过滤,其具体步骤为I)训练阶段1-1)取高峰时段服务器的正常访问流量作为训练数据,仅需客户端至服务端的流量即可;此时准备两个1000 X 1000的全0矩阵S、M ;1-2)当来访流量到达时,按照四元组对流量进行分类,四元组相同的归入同一个流,其中四元组为源IP地址、目的IP地址、目地端口、协议号;1-3)忽略无上层协议负载的数据包,仅处理带上层协议数据的数据包(下文称之为请求数据包),记录下包长和到达时间,计算与前一请求数据包之间的时间间隔,判断是否满足归一化要求,即是否已捕获了属于同一流的3个数据包(请参见图I :归一化示意图),如满足则进行下一步;否则返回步骤1-2);1-4)对请求数据的包长和时间间隔进行归一化处理,如下设p为客户端向服务端发出的请求数据包,At为各请求报文到达服务端的时间间隔,n为请求数据包的总个数,则一个流可记为
F = (Pi, A tD {I < i < n, n = count (Pi)} (I)由于本方法不考虑报文内容,仅使用数据包长度和到达时间间隔,因此设报文长度Ii = IengtQipi),公式(I)可改写为F= (Ii, A tj) {I ^ i ^ n, n = count (Pi)} (2)通过公式(2),将客户端发往服务端的请求数据包序列映射为包长和时间间隔序列。下面对这个包长和时间间隔序列做归一化处理,公式如下
权利要求
1.一种应用层DDoS分布式拒绝服务攻击防御方法,其特征是,它分两个阶段训练阶段和工作阶段,训练阶段使用真实的合法访问流量作为训练数据,生成基准矩阵用于工作阶段的实时检测与保护,该应用层DDoS设备需串联部署在应用服务器前,使来访流量在进入服务器前先经过防御设备的过滤,其具体步骤为 I)训练阶段 1-1)取高峰时段服务器的正常访问流量作为训练数据,仅需客户端至服务端的流量即可;并准备两个1000X1000的全0矩阵,S、M ; 1-2)当来访流量到达时,按照四元组即对流量进行分类,四元组相同的归入同一个流,其中四元组为源IP地址、目的IP地址、目地端口、协议号; 1-3)忽略无上层协议负载的数据包,仅处理带上层协议数据的数据包即请求数据包,记录下包长和到达时间,计算与前一请求数据包之间的时间间隔,判断是否满足归一化要求,即是否已捕获了属于同一流的3个请求数据包),如满足则进行下一步;否则返回步骤1-2); 1-4)、对请求数据的包长和时间间隔进行归一化处理,如下 设P为客户端向服务端发出的请求数据包,At为各请求报文到达服务端的时间间隔,n为请求数据包的总个数,则一个流记为F = (p” A tj) {I ^ i ^ n, n = count (Pi)} (I) 设报文长度Ii = length (Pi),公式(I)改写为F = (Ii, A tj) {I ^ i ^ n, n = count (Pi)} (2) 通过公式(2),将客户端发往服务端的请求数据包序列映射为包长和时间间隔序列;对这个包长和时间间隔序列做归一化处理,公式如下 j*X= Nort^i-) * 100+ Norn^ii#1) * 10 + Norn^I.丨 2) IAi-) 100+10+ Nonr^Ai-_^2)(i = 3x+1,0 < x < I jj < / < b =ft < Norwi) < 9》 其中,NormO为归一化函数,Ii为一次归一化处理中的第I个请求数据包长度,li+1为第2个请求数据包长度,li+2为第3个请求数据包长度;A 为第I个请求数据包与其前一包的时间间隔,A ti+1为第2个请求数据包与第I个请求数据包的时间间隔,Ati+2为第3个请求数据包与第2个请求数据包的时间间隔,n为属于同一流的请求数据包的总数;N0rm()函数采用均匀归一化,或按照实际情况取非均匀的归一化; XpYj分别为数据包长度和时间间隔在归一化处理后得到的值,根据公式(3)可&和Yj的值均位于(0,999)区间; 1-5)将(3)式得到的每一组节奏值(X」,Yj)视为1000X1000矩阵S中的元素下标,由此将请求报文节奏映射到矩阵上;矩阵初始值为0,每当求得报文节奏(XpYJ时,矩阵S在(Xj, Yj)处的元素值加I ;设单位时间t内报文节奏在矩阵元素(i,j)处的值为C(ij,则该处的落点速度为 S(i, j) =C(i, j)/t (4) 称在单位时间t内形成的矩阵为节奏速度矩阵; 1-6)对k个单位时间的连续数据进行处理,获得矩阵(i,j)处在不同单位时间段内的速度值(S1, S2……Sk),取
2.如权利要求I所述的应用层DDoS分布式拒绝服务攻击防御方法,其特征是,所述步骤1-3)中,处理带上层协议数据的数据包时,仅处理TCP负载大于0的数据包。
全文摘要
本发明涉及一种应用层DDoS分布式拒绝服务攻击防御方法,它的方法易于实现,时间复杂度低,准确度高,而且对用户透明,不影响用户访问。它分两个阶段训练阶段和工作阶段,训练阶段使用真实的合法访问流量作为训练数据,生成基准矩阵用于工作阶段的实时检测与保护,该应用层DDoS设备需串联部署在应用服务器前,使来访流量在进入服务器前先经过防御设备的过滤。
文档编号H04L29/06GK102638474SQ20121013958
公开日2012年8月15日 申请日期2012年5月8日 优先权日2012年5月8日
发明者林丰波, 王风宇, 鄢海涛, 陈传通 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1