一种DDoS攻击防护的方法及装置的制造方法

文档序号:10597184阅读:181来源:国知局
一种DDoS攻击防护的方法及装置的制造方法
【专利摘要】本发明提供一种分布式拒绝服务DDoS攻击防护的方法及装置,该方法包括:为设定时间内接收的属于设定防护范围内的每一报文执行以下步骤:为报文的每个负载字符计算负载频率值,将计算出的每个负载字符的负载频率值记录至报文对应的负载字符频率表;依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护;如果是,对属于设定防护范围内的报文进行DDoS攻击防护。本发明实施例中,通过对特定条件下每一报文负载字符频率值的判断,可以有效判断DDoS攻击,并防止DDoS攻击对攻击目标甚至全网带来危害;防护主体也通过设置防护范围和防护阈值来减少误杀的可能。
【专利说明】
一种DDoS攻击防护的方法及装置
技术领域
[0001]本发明涉及通信领域,特别是涉及一种DDoS攻击防护的方法及装置。
【背景技术】
[0002]互联网的飞速发展和整体性能的提高也催生出一些恶意的网络行为。分布式拒绝服务(DDoS:Distributed Denial of Service)攻击是指一个或者多个攻击者通过控制大量的计算机作为攻击源,同时向某个目标发送大量的数据,最终导致目标瘫痪的一种恶意的网络行为。
[0003]DDoS攻击对于网络具有极大的危害。通过利用网络协议的漏洞、制造高流量的无用数据等手段,DDoS攻击不仅会导致网络资源浪费、链路带宽堵塞、服务器因资源耗尽而业务中断等问题,而且,由于大多数骨干线路上普遍使用防火墙、负载均衡等设备,在发生DDoS攻击时,这些设备往往会成为整个网络的瓶颈,致使全网瘫痪。

【发明内容】

[0004]本发明提供一种DDoS攻击防护的方法及装置,以有效防止DDoS攻击的产生,减少DDoS攻击对全网带来的危害,并通过设置防护范围和防护阈值的方式,减少误杀的可能。
[0005]根据本发明实施例的第一方面,提供一种DDoS攻击防护的方法,该方法包括:
[0006]为设定时间内接收的属于设定防护范围内的每一报文执行以下步骤:为报文的每个负载字符计算负载频率值,将计算出的每个负载字符的负载频率值记录至报文对应的负载字符频率表;
[0007]依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护;
[0008]如果是,对属于设定防护范围内的报文进行DDoS攻击防护。
[0009]根据本发明实施例的第二方面,提供一种DDoS攻击防护的装置,所述装置包括:
[0010]接收单元,用于接收报文;
[0011 ]计算单元,用于为所述接收单元在设定时间内接收的属于设定防护范围内的每一报文的每个负载字符计算负载频率值,将计算出的每个负载字符的频率值记录至该报文对应的负载字符频率表;
[0012]判断单元,用于依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护;
[0013]防护单元,用于在所述判断单元的判断结果为是时,对属于设定防护范围内的报文进行DDoS攻击防护。
[0014]本发明实施例中,通过统计设定时间内接收的属于设定防护范围内的每一报文负载字符的频率值,可以有效判断出DDoS攻击,并防止DDoS攻击对攻击目标甚至全网带来危害;防护主体也通过设置防护范围和防护阈值的方式,减少误杀的可能。
【附图说明】
[0015]图1是本发明实施例中DDoS攻击的场景示意图。
[0016]图2是本发明提供的一种DDoS攻击防护的方法的流程图。
[0017]图3是本发明提供的一种DDoS攻击防护的方法的一个实施例流程图。
[0018]图4是本发明提供的一种DDoS攻击防护的装置的一个实施例框图。
【具体实施方式】
[0019]为了使本技术领域的人员更好的理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中的技术方案作进一步详细的说明。
[0020]参见图1,图1是本发明实施例中DDoS攻击的场景示意图:
[0021]图1描述了DDoS攻击的一种情境:攻击者通过控制器控制大量的个人电脑(PC:Personal Computer)作为攻击源,通过向某个服务器发送大量无用的数据,最终导致服务器无法处理正常的工作。
[0022]至此,完成对图1的说明。
[0023]参见图2,图2为本发明提供的DDoS攻击防护方法的流程图,包括以下步骤:
[0024]步骤201:为设定时间内接收的属于设定防护范围内的每一报文执行以下步骤:为报文的每个负载字符计算负载频率值,将计算出的每个负载字符的频率值记录至报文对应的负载字符频率表。
[0025]本实施例中,上述设定防护范围包括不限于以下任一种:源IP、目的IP、源IP和目的端口、目的IP和目的端口。
[0026]作为一个优选实施例,在本发明中,可以根据实际需求将上述防护范围设定为以上任何一种或两种。以设定防护范围是源IP为例,则来自该源IP的每一报文都有自己对应的负载字符频率表。当一个来自该源IP的报文触发防护时,来自其它源IP的报文并不会受到影响,这样可以达到减小误杀的目的。
[0027]步骤202:依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护,如果是,则执行步骤203。
[0028]作为一个实施例,当上述步骤202的判断结果为否时,正常传输上述报文。
[0029]步骤203:对属于设定防护范围内的报文进行DDoS攻击防护。
[0030]本实施例中,DDoS攻击防护可以包含限速和阻断两种方式,可根据实际情况进行选择。
[0031]本发明实施例中,通过统计设定时间内接收的属于设定防护范围内的每一报文负载字符的频率值,可以有效判断出DDoS攻击,并防止DDoS攻击对攻击目标甚至全网带来危害;防护主体也通过设置防护范围和防护阈值的方式,减少误杀的可能。
[0032]至此,完成对图2的说明。
[0033]下面以设定防护范围为源IP(1.1.1.1)为例对图2所述的流程进行详细描述:
[0034]参见图3,图3是本发明提供的一种DDoS攻击防护的方法的一个实施例流程图,包括以下步骤:
[0035]步骤301:在设定时间内接收源IP为1.1.1.1的报文。
[0036]步骤302:计算该报文中每个负载字符出现的次数。
[0037]步骤303:将计算出的报文中每个负载字符出现的次数除以报文的总负载数,得到的结果为负载字符的负载频率值。
[0038]步骤302和步骤303是上述步骤201中为报文的每个负载字符计算负载频率值的一种具体体现。
[0039]步骤304:将计算出的每个负载字符的频率值记录至报文对应的负载字符频率表。
[0040]通过步骤302至步骤304,能够为设定时间内接收的源IP为1.1.1.1的每一报文的每个负载字符计算负载频率值,并将计算出的负载频率值记录至该报文对应的负载字符频率表。在设定时间结束后,执行下述步骤305。
[0041 ]步骤305:依据报文对应的负载字符频率表判断报文是否为异常报文,如果是,则执行步骤306。
[0042]作为一个优选的实施例,当报文对应的负载字符频率表中任一负载频率值大于第一异常值时,确定报文为异常报文,这种情况简称为第一类型DDoS攻击。
[0043]本实施例中,第一类型DDoS攻击的特点是单字符不变,即任一字符出现的频率很高,通常大于90%。上述第一异常值可以由自动学习方式得到,也可以由用户手动调节,默认为90%。
[0044]例如,自动学习过程可以为:在一个预先设定的学习周期内,比如一天或者一周,防护主体将记录每小时内报文负载字符出现频率的最大值,然后,计算所述学习周期内最大频率的平均值,那么,学习频率就等于所述平均值的2倍。如果所述学习频率小于30%,则按照30%计算;如果学习频率大于90%,则按照90%计算。与此同时,自动学习过程将产生一个每周期内最大频率的列表,便于用户手动调节。
[0045]作为一个优选的实施例,当报文对应的负载字符频率表中排名前三的负载字符频率值之和大于第二异常值时,确定报文为异常报文,这种情况简称为第二类型DDoS攻击。
[0046]本实施例中,第二类型DDoS攻击的特点是部分字符不固定、部分字符大量重复,且重复出现的字符频率值也很高,通常大于80%。上述第二异常值可以由自动学习方式得到,也可以由用户手动调节。
[0047]作为一个优选的实施例,当报文对应的负载字符频率表中至少N个负载频率值相同、且其余负载字符负载频率值为第一设定值时,确定报文为异常报文,N大于第一设定值、且小于等于第二设定值,这种情况简称为第三类型攻击。作为一个实施例,这里设置第一设定值为O,第二设定值为8。
[0048]本实施例中,上述第三类型DDoS攻击的特点是一个固定的字符串不停地重复。字符串由N个固定的字符按照一定的顺序排列而成。需要指出的是,第三类型DDoS攻击不需要自动学习,其特点显而易见,极易辨认。
[0049]作为一个实施例,当上述步骤305的判断结果为否时,报文正常传输。
[0050]步骤306:统计所述设定时间内异常报文的数目。
[0051]本实施例中,每个设定时间中的异常报文数目从O开始统计,设定时间可以由用户自行配置,默认为I秒。而且当上述设定时间内接收到的报文异常情况符合上述三种DDoS攻击类型中的任何一种时,异常报文数目都要加一。
[0052]步骤307:判断所述设定时间内异常报文的数目是否大于防护阈值,如果是,则执行步骤308。
[0053]作为一个实施例,当步骤307判断结果为否时,正常传输报文。
[0054]本实施例中,防护阈值可由用户自行设定,用于在每个设定时间内与异常报文的数目进行比较,作为防护是否被启动的标准。这里,设定防护阈值的必要性在于,例如,在某些传输文件中,确实存在报文的极少数负载频率值全部为O的情况,如果没有上述防护阈值的存在,所述情况可能会被判断为第一类型DDoS攻击而受到防护。本实施例中,只有在异常报文的数目超过上述防护阈值时,防护才会被启动。
[0055]步骤308:对属于设定防护范围内的报文进行DDoS攻击防护。
[0056]本实施例中,DDoS攻击防护可由上述的攻击类型、防护范围或者其它情况的需要对报文实施限速或者阻断操作。比如,当攻击类型为上述的第一类型DDoS攻击时,对报文实施限速操作。
[0057]上述限速操作是指,当前设定时间内,在异常报文的数目还未超过防护阈值之前,允许异常报文正常传输;在异常报文的数目超过防护阈值之后,对异常报文实施阻断操作。
[0058]例如,当防护阈值为50时,允许前50条报文正常传输;对从第51条开始的异常报文实施阻断操作。
[0059]上述阻断操作是指,当异常报文的数目超过防护阈值时,防护主体对当前设定时间内的所有报文实施阻断操作。
[0060]需要指出的是,无论是实施限速操作还是阻断操作,即只要防护启动之后,后续一段时间内的设定时间都将处于防护状态下,处于上述设定时间的报文都会受到限速或阻断。一段时间之后,若异常报文的数目持续小于所述防护阈值,则防护主体可以解除防护状态,否则,将继续维持在防护状态。上述一段时间可由用户自行设定,默认为I分钟,即60个上述设定时间。
[0061]本发明实施例中,通过统计设定时间内接收的属于设定防护范围内的每一报文负载字符的频率值,可以有效判断出DDoS攻击,并防止DDoS攻击对攻击目标甚至全网带来危害;防护主体也通过设置防护范围和防护阈值的方式,减少误杀的可能。
[0062]至此,完成对图3的说明。
[0063]需要进一步说明的是,当有报文触发防护时,防护主体会上报一条日志,用以显示上述触发防护的报文的信息,比如:源IP、目的IP、源端口、目的端口以及速率等。
[0064]本实施例中,在计算报文中每个负载字符出现的次数时,可以建立一个负载字符统计表项,以便于后续报文的原始数据识别以及其他处理等。
[0065]本实施例中,上述负载字符统计表项用于分离统计防护主体收到的每条大于16字节的报文中负载字符出现的次数。
[0066]需要指出的是,上述依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护的方法,会消耗较大的内存空间,一般为具有十六核处理器等更高处理能力的防护主体所使用。
[0067]以上对本发明提供的方法进行了说明,下面对本发明提供的装置进行说明:
[0068]与前述一种DDoS攻击防护的方法实施例相对应,本发明还提供了一种DDoS攻击防护装置的实施例。
[0069]本发明一种DDoS攻击防护装置的实施例可以通过软件实现,也可以通过软件和硬件相结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中形成的。
[0070]请参考图4,图4为本发明一种DDoS攻击防护的装置的一个实施例,所述装置包括:接收单元410、计算单元420,判断单元430,防护单元440。
[0071]其中,接收单元410,用于接收报文;
[0072]计算单元420,用于为所述接收单元在设定时间内接收的属于设定防护范围内的每一报文的每个负载字符计算负载频率值,将计算出的每个负载字符的频率值记录至该报文对应的负载字符频率表;
[0073]判断单元430,用于依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护;
[0074]防护单元440,用于在所述判断单元的判断结果为是时,对属于设定防护范围内的报文进行DDoS攻击防护。
[0075]上述设定防护范围包括不限于以下任一种:源IP、目的IP、源IP和目的端口、目的IP和目的端口。
[0076]作为一个优选的实施例,上述计算单元420包括:第一计算子单元421、第二计算子单元422和记录单元423。
[0077]第一计算子单元421,用于计算报文中每个负载字符出现的次数;
[0078]第二计算子单元422,用于将计算出的报文中每个负载字符出现的次数除以报文的总负载数,得到负载字符的负载频率值;
[0079]记录单元423,用于将第二计算子单元计算出的每个负载字符的频率值记录至报文对应的负载字符频率表。
[0080]作为另一个优选的实施例,上述判断单元430包括:第一判断子单元431、统计单元432、第二判断子单元433和确定子单元434。
[0081]第一判断子单元431,用于依据报文对应的负载字符频率表判断报文是否为异常报文;
[0082]统计单元432,用于在第一判断子单元的判断结果为是时,统计所述设定时间内异常报文的数目;
[0083]第二判断子单元433,用于判断所述设定时间内异常报文的数目是否大于防护阈值;
[0084]确定子单元434,用于在所述第二判断子单元的判断结果为是时,确定对属于设定防护范围内的报文进行DDoS攻击防护,以及,在所述第二判断子单元的判断结果为否时,确定不对属于设定防护范围内的报文进行DDoS攻击防护。
[0085]作为另一个优选的实施例,上述第一判断子单元通过以下方式依据报文对应的负载字符频率表判断报文是否为异常报文:
[0086]当报文对应的负载字符频率表中任一负载频率值大于第一异常值时,确定报文为异常报文;
[0087]当报文对应的负载字符频率表中排名前三的负载字符频率值之和大于第二异常值时,确定报文为异常报文;
[0088]当报文对应的负载字符频率表中至少N个负载频率值相同、且其余负载字符负载频率值为第一设定值时,确定报文为异常报文,N大于第一设定值、且小于等于第二设定值。
[0089]本发明实施例中,通过统计设定时间内接收的属于设定防护范围内的每一报文负载字符的频率值,可以有效判断出DDoS攻击,并防止DDoS攻击对攻击目标甚至全网带来危害;防护主体也通过设置防护范围和防护阈值的方式,减少误杀的可能。
[0090]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0091]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0092]至此,完成对图4的说明。
[0093]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种分布式拒绝服务DDoS攻击防护的方法,其特征在于,该方法包括: 为设定时间内接收的属于设定防护范围内的每一报文执行以下步骤:为报文的每个负载字符计算负载频率值,将计算出的每个负载字符的负载频率值记录至报文对应的负载字符频率表; 依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护; 如果是,对属于设定防护范围内的报文进行DDoS攻击防护。2.根据权利要求1所述的方法,其特征在于,所述设定防护范围包括不限于以下任一种:源IP、目的IP、源IP和目的端口、目的IP和目的端口。3.根据权利要求1所述的方法,其特征在于,所述为报文的每个负载字符计算负载频率值包括: 计算报文中每个负载字符出现的次数; 将计算出的报文中每个负载字符出现的次数除以报文的总负载数,得到的结果为负载字符的负载频率值。4.根据权利要求1所述的方法,其特征在于,所述依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护包括: 依据报文对应的负载字符频率表判断报文是否为异常报文; 如果是, 统计所述设定时间内异常报文的数目,判断所述设定时间内异常报文的数目是否大于防护阈值,如果是,对属于设定防护范围内的报文进行DDoS攻击防护。5.根据权利要求4所述的方法,其特征在于,依据报文对应的负载字符频率表判断报文是否为异常报文包括: 当报文对应的负载字符频率表中任一负载频率值大于第一异常值时,确定报文为异常报文; 当报文对应的负载字符频率表中排名前三的负载字符频率值之和大于第二异常值时,确定报文为异常报文; 当报文对应的负载字符频率表中至少N个负载频率值相同、且其余负载字符负载频率值为第一设定值时,确定报文为异常报文,N大于第一设定值、且小于等于第二设定值。6.一种分布式拒绝服务DDoS攻击防护的装置,其特征在于,所述装置包括: 接收单元,用于接收报文; 计算单元,用于为所述接收单元在设定时间内接收的属于设定防护范围内的每一报文的每个负载字符计算负载频率值,将计算出的每个负载字符的频率值记录至该报文对应的负载字符频率表; 判断单元,用于依据设定时间内接收的属于设定防护范围内的报文对应的负载字符频率表判断是否对属于设定防护范围内的报文进行DDoS攻击防护; 防护单元,用于在所述判断单元的判断结果为是时,对属于设定防护范围内的报文进行DDoS攻击防护。7.根据权利要求6所述的装置,其特征在于,所述设定防护范围包括不限于以下任一种:源IP、目的IP、源IP和目的端口、目的IP和目的端口。8.根据权利要求6所述的装置,其特征在于,所述计算单元包括: 第一计算子单元,用于计算报文中每个负载字符出现的次数; 第二计算子单元,用于将计算出的报文中每个负载字符出现的次数除以报文的总负载数,得到负载字符的负载频率值; 记录单元,用于将第二计算子单元计算出的每个负载字符的频率值记录至报文对应的负载字符频率表。9.根据权利要求6所述的装置,其特征在于,所述判断单元包括: 第一判断子单元,用于依据报文对应的负载字符频率表判断报文是否为异常报文; 统计单元,用于在第一判断子单元的判断结果为是时,统计所述设定时间内异常报文的数目; 第二判断子单元,用于判断所述设定时间内异常报文的数目是否大于防护阈值; 确定子单元,用于在所述第二判断子单元的判断结果为是时,确定对属于设定防护范围内的报文进行DDoS攻击防护,以及,在所述第二判断子单元的判断结果为否时,确定不对属于设定防护范围内的报文进行DDoS攻击防护。10.根据权利要求9所述的装置,其特征在于,所述第一判断子单元通过以下方式依据报文对应的负载字符频率表判断报文是否为异常报文: 当报文对应的负载字符频率表中任一负载频率值大于第一异常值时,确定报文为异常报文; 当报文对应的负载字符频率表中排名前三的负载字符频率值之和大于第二异常值时,确定报文为异常报文; 当报文对应的负载字符频率表中至少N个负载频率值相同、且其余负载字符负载频率值为第一设定值时,确定报文为异常报文,N大于第一设定值、且小于等于第二设定值。
【文档编号】H04L29/06GK105959300SQ201610486046
【公开日】2016年9月21日
【申请日】2016年6月24日
【发明人】邢涛
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1