一种阻止网络拒绝服务攻击的高速检测和控制机制的制作方法

文档序号:7615014阅读:92来源:国知局
专利名称:一种阻止网络拒绝服务攻击的高速检测和控制机制的制作方法
技术领域
本发明涉及一种在高速路由器上识别和实时控制拒绝服务攻击(DoS)的机制,它可以高速的识别出可疑的高带宽攻击流量,通过为流维持状态更加准确的实时控制攻击流量,主要适用于核心高速路由器上防御拒绝服务攻击。
背景技术
最近几年,DoS攻击已经成为威胁因特网正常运行的重要威胁,[1]中在3个星期内就观察到12000次DoS攻击。拒绝服务(DoS)攻击是一种针对信息可用性的网络攻击方式,它通过发送恶意流量来消耗处理器、缓存、带宽等网络资源,使得合法用户无法正常的使用这些资源和提供的服务。分布式拒绝服务(DDoS)攻击是指攻击流量源分布十分广泛的一种DoS攻击,比DoS更具破坏性,也更难防御。攻击代理产生的典型攻击流量主要有TCP SYN、UDP、ICMP,并且使用伪造的源地址,使得无法根据攻击分组的源地址反推出攻击主机。2000年Yahoo等知名网站遭受了大规模的DDoS攻击,使得网站服务中断。2003以来年FBI/CSI由DDoS攻击造成的损失已经跃居第二[2,3]。
对付DoS攻击的现有方案主要有三种。一种是通过丢弃恶意分组的方法保护网络,例子是在防火墙或路由器中设置过滤规则过滤掉所有的ICMP报文,但这种一刀切的方法只限于已知的攻击特征,不适合动态变化的攻击模式,本身造成了对合法流量的拒绝服务;另一种是在源端控制DoS攻击,由客户端或源端ISP进行入口检测,过滤可疑报文,如ingress filter[4],这种方法依赖于系统部署的广泛性,如果能在所有的入口处都进行过滤,可以很好的防止源地址伪造;第三种是追溯(traceback)发起攻击的源端,由客户提供的信息或路由器感知的信息,倒推攻击发起的源端,但这种方法在追溯源端分布较广的DDoS攻击时效果不佳。
从流量上看,DDoS攻击流量表现为从大量分散的源经过链路逐渐聚集到受害者的流量聚合。这种逐渐聚集的攻击流量将引起网络中瓶颈路由器的拥塞,但是因特网中现有的端到端拥塞控制算法[5,6]并不能控制这些流量。基于网络节点的以流(Flow)为单位的调度机制[7,8]和近似上述调度的优先丢弃策略对于防止某个参与攻击流占用过高带宽是有效的,但对于分布式的DoS攻击这种由很多本身符合端到端流量控制规范的流向某个特定资源的聚集而造成的攻击则无能为力。如果QoS(Quality of Service)机制得到实施,那么那些具有较高QoS要求或级别的业务就可以不受较低级别或尽力而为(best-effort)业务的影响,由于尽力而为业务仍然会是网络上占绝大部分比例的业务[9],这种业务却仍然会受到DoS攻击。
虽然DoS攻击分组可能来源于多个流,但这些流肯定有某种共同的特征,如共同的目的地址或源地址(或地址前缀)。这些有着共同特征的流可以称为流聚集(aggregate)。通过在路由器上动态检测和识别出这些高速度的流聚集,并对其进行实时的流量控制,就能够限制攻击流量,为合法流量提供更多带宽。
在高速路由器上,为了识别出高速的流或流聚集,目前的方法是通过采样的方法,如cisco路由器中的NetFlow系统。这种基于采样的流量监测方法最大缺点是会产生较大程度的漏报。高速、准确地识别出高带宽的攻击流量是DoS控制系统的一个重要前提。
在对识别出的流聚集进行控制时,现在的路由器中实施的概率丢包策略并不对攻击分组和合法分组加以区分,因而会伤害流聚集内的合法流量。如何快速、准确辨识出攻击流量,从而更好的保护合法流量,是DoS控制系统的一个核心问题。

发明内容
本发明提供一种在高速路由器上识别和控制DoS流量的机制,它能够高速准确的识别出占用高带宽的攻击流量,同时能够通过维持流的状态来区分流内的合法和攻击分组,从而有效的控制DoS攻击流量。该系统主要特征是1.通过multistage filter结构和算法识别高带宽流聚集Estan在[11]中提出的multistage filter结构可以线速的识别出超过指定带宽的流,并且能够较准确的记录流的大小。multistage filter结构中流的定义可以根据目的地址,源地址,端口的组合来确定。在DoS攻击中,所有的攻击分组都聚集到受害者,因此流聚集可以用目的地址前缀和目的端口的组合来标识。因此使用multistage filter就可以识别出高带宽的攻击流聚集。
2.通过维持流状态信息区分流聚集内的合法流量和攻击流量在DoS攻击中,攻击代理发送的攻击分组通常伪造其源地址,并且使用同一地址发送的分组数量很少[12]。即这些攻击流数量巨大,但持续长度很短,每个流的分组数很少。而正常的用户会话产生的流通常持续时间较长,产生的分组数较多。利用这一明显的区别,本系统通过使用简化的SCBF算法对合法流量和攻击流量加以区分。SCBF是一种表示多重集合的概率型数据结构,其得到的流长度是概率意义上的,但其具有常数复杂度,使用的存储空间较小,满足实时控制和高速实现的要求[13]。
3.根据流状态信息控制聚集内分组控制方法分组到达时,通过查询SCBF得到流的长度,并根据流的长度计算出丢包概率。流的长度越短,是攻击流的可能性越大,因此采用较高的丢包率。随着长度的增加采用的丢包率迅速降低,如果流长度超过一定值k,可以认为是合法流,这时这个流内的分组可以直接进入输出队列。
整个算法作为路由器输出队列的前置部分,如图1。其中MFilter模块负责流聚集识别。SCBF模块负责维持流的状态信息。Agent负责监测输出队列的拥塞情况来检测攻击情况,启动和关闭Limiter控制模块,同时还作为与其它路由器的Agent或网管等外部系统的接口。Limiter模块计算分组丢弃概率,进行实时控制。


图1整体结构示意2multistage filter示意3SCBF的伪码具体实施方式
下面对算法的主要模块的实施方法进行详细介绍。
Multistage filter由若干个并行操作的stage组成,各个stage使用一个独立的哈希函数,每个stage是一个数组,数组的值用作计数器,通过对流ID进行哈希计算得到该流在每个stage中的索引位置。分组到达时,将分组大小累加到所有stage的相应位置中。如果所有stage中的相应计数值都超过指定阈值,我们就将这个流加入到流记录表中。流记录表是记录有流ID和流的大小的哈希表。如果该分组所属的流已经记录在流记录表中,则直接更新流记录表中的该流的大小,见图1。最终,所有超过指定带宽的流都记录在流记录表中。通过比较流记录表中记录的流的大小,可以找出实际流量高的若干聚集。实现中,要求所有哈希函数是独立的。对于其它参数,stage的个数d,每个stage的大小b,可以根据实际链路带宽和活动流的数目进行调整。b=k×C/T,其中k是容错因子,设为正值,C是链路带宽,T是高带宽流聚集的门限。设活动流的估计数为n,则流记录表的大小估计为E≤max(bk-1,n(nkn-b)d)+n(nkn-d)d.]]>每隔一定时间间隔t,重新初始化整个结构。
SCBF使用l组哈希函数h1l(x),h2l(x),...,hkl(x),h12(x),h22(x),...,hk2(x),h1l(x),h2l(x),...,hkl(x)。SCBF使用一个大小为m的比特数组,插入元素时随机在l组中选择一组哈希函数h1i(x),h2i(x),...,hki(x),根据流ID计算并设置相应的比特位A[h1i(x)],A[h2i(x)],...,A[hki(x)]。查询流的长度时,依次检查所有哈希函数组,如果某组的所有比特位A[h1i(x)],A[h2i(x)],...,A[hki(x)]都是1,则该组置位了,由此得到置位的组数的个数θ,θ即为流长度的估计值。根据流长度的估计值计算分组的丢弃概率。当SCBF表占空比达到50%时,为了保证准确性,应该对其重新初始化。为了保持流状态的平稳过渡和优化处理合法流量,我们设计一个预过滤表。预过虑表是一个简化的SCBF结构,即只使用一组哈希函数,这样就只能查询流是否存在于预过滤表中。当一个流的到达分组数超过阈值(如匹配组数达到5),就将其插入预过滤表中。分组到达控制模块后,先查询预过滤表,过滤表中的流不计算丢包概率,直接到达输出队列。如果不在预过滤中,再经过原来的控制模块,计算丢包概率。当预过滤表满时,进行重新初始化。适当调整SCBF和预过滤表的大小使得它们的初始化是交错的。
本领域人员在本发明方案基础上,以选取不同参数而做出的其它方案,亦在本发明保护的范围之内。
参考文献[1]D.Moore,G.Voelker,and S.Savage.Inferring Internet Denial-ofService Activity,in Proceedings of the 10thUSENIX Security Symposium,August 2001,pp.9--22. CSI/FBI.Computer crime and security survey,2003[3]CSI/FBI.Computer crime and security survey,2004[4]P.Ferguson and D.Senie.Network ingress filtering,January 1998,Internet RFC 2267[5]V.Jacobson.Congestion Avoidance and Control,ACM SIGCOMM’88,August 1988. M.Allman,V.Paxson,And W.Stevens.TCP Congestion Control,RFC2581,April 1999. A.Demers,S.Keshav,and S.Shenker. Analysis and Simulation of a Fair Queueing Algorithm,In ACMSIGCOMM,1989. M.Shreedhar and G.Varghese.Efficient Fair Queuing using Deficit Round Robin,In ACM SIGCOMM,1995. K.Nichols,V.Jacobson and L.Zhang.A Two-bit Differentiated Services Architecture for the Internet,InternetDraftdraft-nichols-diff-svc-arch-00.txt,November 1997. A.Feldmann,A.Greenberg,C.Lund,N.Reingold,J.Rexford,and F.True.Deriving traffic demands foroperational IP networksMethodology and experience.In IEEE/ACM Transactions on Neworking,2001[11]Estan,C.,Varghese,G.New directions in traffic measurement and accounting,In Proceedings of the ACMSIGCOMM 2002[12]A.Kumar,J.Xu,L.Li,J.Wang,and O.Spatschek.Space-code Bloom filter for efficient per-flow trafficmeasurement,In Proc.IEEE Infocom,Mar.2004.
权利要求
1.本发明公开了一种在高速路由器上检测和实时控制DoS攻击流量的机制,主要包括高带宽流聚集的识别算法、高速区分攻击分组和合法分组并区别控制的算法。其特征在于(1)从拥塞控制的角度处理DoS攻击,通过检测高带宽的流聚集,识别攻击流量。基本思想是DoS攻击造成的大量流量将在网络中的路由器上造成严重拥塞,这些攻击分组的目的端信息(包括目的地址、端口及二者的组合)具有相同的特征,以这些特征为标准检测流聚集可以很好的检测到攻击流量。方法是使用目的端信息作为Multistage Filter算法的输入,保证识别的准确性和高速实现的可行性。(2)根据DoS攻击代理发送的攻击分组通常伪造其源地址并且使用同一地址发送的分组数量很少的特征,对合法流量和攻击流量加以区分。基本思想是通过维持端到端的流状态信息,流持续时间长、分组数多的是合法流,持续时间短、只有个别分组的是攻击流。由于控制模块位于转发路径上,在满足速度、成本和实时控制需求的约束的条件下,使用一种表示多重集合的概率型数据结构SCBF,并简化了其查询步骤。(3)在控制模块内根据每个分组所属流的状态信息计算分组的丢弃概率。使用表示单集合SCBF作为预过滤表,维持流状态的平稳过度和加速处理满足条件的流。
2.如权利要求1所述的路由器上检测和实时控制DoS攻击流量的机制,其特征在于在路由器上通过检测拥塞的方法检测DoS攻击,以目的端信息,包括目的地址前缀、目的端口或两者的组合作为检测攻击流聚集的标准。
3.如权利要求1所述的路由器上检测和实时控制DoS攻击流量的机制,其特征在于使用Multistage Filter检测高带宽的流聚集,能够满足线速实现。
4.如权利要求1所述的路由器上检测和实时控制DoS攻击流量的机制,其特征在于根据攻击代理伪造源地址和同一地址发送分组少的特点,对合法流量和攻击流量加以区分。
5.如权利要求1所述的路由器上检测和实时控制DoS攻击流量的机制,其特征在于使用简化的SCBF维持流的状态信息和作为预过滤表,能够满足线速实现。
6.如权利要求1所述的路由器上检测和实时控制DoS攻击流量的机制,其特征在于根据流的状态信息,包括流的长度、分组个数,对每个分组计算不同的丢弃概率,并使用预过滤表维持流状态的平稳过度和加速处理满足条件的流。
全文摘要
本发明公开了一种在高速路由器上检测和实时控制网络拒绝服务攻击流量的机制,主要包括高带宽流聚集的识别算法、高速区分攻击分组和合法分组并区别控制的算法。其方法是,监视链路输出队列的拥塞状态以发现攻击,使用Multistage Filter算法和结构保证线速地识别高带宽的攻击流量,在攻击流量中使用SCBF结构维持概率的流状态信息,从而根据攻击代理的特征对攻击分组和合法分组加以区分,并进一步据此状态信息对合法流量和攻击流量区别对待,从而在实时控制攻击流量的同时最大限度的保护合法流量。所有算法和结构的时间和空间复杂度都满足高速路由器的实现要求,适用于高速路由器/交换机。
文档编号H04L29/06GK1838607SQ20051003853
公开日2006年9月27日 申请日期2005年3月23日 优先权日2005年3月23日
发明者陈华, 齐望东 申请人:中国人民解放军理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1