[发明专利]一种应用层DDoS分布式拒绝服务攻击防御方法有效
申请号: | 201210139585.6 | 申请日: | 2012-05-08 |
公开(公告)号: | CN102638474A | 公开(公告)日: | 2012-08-15 |
发明(设计)人: | 王风宇;鄢海涛;林丰波;陈传通 | 申请(专利权)人: | 山东大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250061 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种应用层DDoS分布式拒绝服务攻击防御方法,它的方法易于实现,时间复杂度低,准确度高,而且对用户透明,不影响用户访问。它分两个阶段:训练阶段和工作阶段,训练阶段使用真实的合法访问流量作为训练数据,生成基准矩阵用于工作阶段的实时检测与保护,该应用层DDoS设备需串联部署在应用服务器前,使来访流量在进入服务器前先经过防御设备的过滤。 | ||
搜索关键词: | 一种 应用 ddos 分布式 拒绝服务 攻击 防御 方法 | ||
【主权项】:
1.一种应用层DDoS分布式拒绝服务攻击防御方法,其特征是,它分两个阶段:训练阶段和工作阶段,训练阶段使用真实的合法访问流量作为训练数据,生成基准矩阵用于工作阶段的实时检测与保护,该应用层DDoS设备需串联部署在应用服务器前,使来访流量在进入服务器前先经过防御设备的过滤,其具体步骤为:1)训练阶段1-1)取高峰时段服务器的正常访问流量作为训练数据,仅需客户端至服务端的流量即可;并准备两个1000×1000的全0矩阵,S、M;1-2)当来访流量到达时,按照四元组即对流量进行分类,四元组相同的归入同一个流,其中四元组为:源IP地址、目的IP地址、目地端口、协议号;1-3)忽略无上层协议负载的数据包,仅处理带上层协议数据的数据包即请求数据包,记录下包长和到达时间,计算与前一请求数据包之间的时间间隔,判断是否满足归一化要求,即是否已捕获了属于同一流的3个请求数据包),如满足则进行下一步;否则返回步骤1-2);1-4)、对请求数据的包长和时间间隔进行归一化处理,如下:设p为客户端向服务端发出的请求数据包,Δt为各请求报文到达服务端的时间间隔,n为请求数据包的总个数,则一个流记为:F=(pi,Δti){1≤i≤n,n=count(pi)} (1)设报文长度li=length(pi),公式(1)改写为:F=(li,Δti){1≤i≤n,n=count(pi)} (2)通过公式(2),将客户端发往服务端的请求数据包序列映射为包长和时间间隔序列;对这个包长和时间间隔序列做归一化处理,公式如下:X j = Norm ( l i ) * 100 + Norm ( l i + 1 ) * 10 + Norm ( l i + 2 ) Y j = Norm ( Δ t i ) * 100 + Norm ( Δ t i + 1 ) * 10 + Norm ( Δ t i + 2 ) ]]> (3)
其中,Norm()为归一化函数,li为一次归一化处理中的第1个请求数据包长度,li+1为第2个请求数据包长度,li+2为第3个请求数据包长度;Δti为第1个请求数据包与其前一包的时间间隔,Δti+1为第2个请求数据包与第1个请求数据包的时间间隔,Δti+2为第3个请求数据包与第2个请求数据包的时间间隔,n为属于同一流的请求数据包的总数;Norm()函数采用均匀归一化,或按照实际情况取非均匀的归一化;Xj,Yj分别为数据包长度和时间间隔在归一化处理后得到的值,根据公式(3)可Xj和Yj的值均位于(0,999)区间;1-5)将(3)式得到的每一组节奏值(Xj,Yj)视为1000X1000矩阵S中的元素下标,由此将请求报文节奏映射到矩阵上;矩阵初始值为0,每当求得报文节奏(Xj,Yj)时,矩阵S在(Xj,Yj)处的元素值加1;设单位时间t内报文节奏在矩阵元素(i,j)处的值为C(i,j),则该处的落点速度为:S(i,j)=C(i,j)/t (4)称在单位时间t内形成的矩阵为节奏速度矩阵;1-6)对k个单位时间的连续数据进行处理,获得矩阵(i,j)处在不同单位时间段内的速度值(S1,S2……Sk),取M ( i , j ) = max 1 ≤ n ≤ k ( S n ) - - - ( 5 ) ]]> 即,取矩阵元素S(i,j)在k个时段内的最大值为矩阵M在(i,j)处的值;如此计算矩阵每个元素落点速度的最大值,用所有元素的最大值构成一个新的矩阵M,称为最大节奏速度矩阵,作为工作阶段使用的基准矩阵;2)工作阶段2-1)、载入训练阶段得到的基准矩阵M,准备一个黑名单列表,用于存放被认定为攻击源的IP地址;2-2)、捕获数据包,并检查该包的源IP地址是否在黑名单中;如果在,则丢弃该包;如果不在,则进入下一步;2-3)重复训练阶段第1-2)~1-5)的算法,获取实时流量在单位时间t内的节奏速度矩阵S′;2-4)比较矩阵S′与M各元素的值,如果S′(i,j)>>M(i,j),则判定发生了DDoS攻击,将对应的下标(i,j)加入列表L,转入第2-3)步;否则转入第2-1)步,生成下一个单位时间的节奏速度矩阵;2-5)如果列表L不为空,在处理后续请求报文,生成报文节奏时,将生成的节奏值与L中的值比对,如果节奏值在L中存在,则将该流加权;如果某个流的权值超过阀值,则判定该流为DDoS攻击流,丢弃其流量;2-6)监视每一轮的实时节奏速度矩阵S′,当S′(i,j)<=M(i,j)时,从L中删除(i,j)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210139585.6/,转载请声明来源钻瓜专利网。