一种网络流量检测阈值的计算方法

文档序号:7782869阅读:640来源:国知局
一种网络流量检测阈值的计算方法
【专利摘要】本发明公开了一种网络流量检测阈值的计算方法,属于网络流量检测领域。本发明一种网络流量检测阈值的计算方法包括步骤:获取网络访问中的目的地址被访问的次数;根据所述目的地址被访问的次数计算网络流量检测的告警阈值。本发明提供的一种网络流量检测阈值的计算方法运用于DDOS检测和流量监测设备,为网络管理员进行DDOS检测和网络流量监测的告警阈值设置提供了参考依据,避免了由于没有实际的参考依据而出现的DDOS监测和网络流量监测的不准确性。
【专利说明】一种网络流量检测阈值的计算方法
【技术领域】
[0001]本发明涉及网络流量检测领域,特别涉及一种网络流量检测阈值的计算方法。
【背景技术】
[0002]随着网络的不断发展和网络带宽的不断提高,网络利用率也逐年提升,网络管理员通常借助DDOS (Distributed Denial Of Service,分布式拒绝服务)检测设备、网络流量监测设备等网络设备对自身网络进行监控,以检测自身网络的安全状况、分析网络内部的应用服务是否正常。
[0003]DDOS检测和网络流量监测设备常用的检测方法是,通过网络管理员设置网络流量告警阈值,然后实时计算网络流量,当实时网络流量大于管理员设置的告警阈值时,产生告警或阻断网络等。这种方法对于DDOS检测和网络流量监测是有效的,但是需要网络管理员手动设置告警阈值,然而,网络管理员在设置告警阈值时,通常是根据自身经验来估计一个阈值,并没有实际的参考依据,这就影响了 DDOS检测和网络流量监测的准确性,也给监测带来不确定性。

【发明内容】

[0004]本发明的目的在于为DDOS检测和网络流量监测的告警阈值设置提供参考依据。
[0005]为实现上述目的,本发明提供一种网络流量检测阈值的计算方法,其特征在于,包括以下步骤:
[0006]获取网络访问中的目的地址被访问的次数;
[0007]根据所述目的地址被访问的次数计算网络流量检测的告警阈值。
[0008]本发明提供的网络流量检测阈值计算方法,运用于DDOS检测和流量监测设备,为网络管理员进行DDOS检测和网络流量监测的告警阈值设置提供了参考依据。
【专利附图】

【附图说明】
[0009]图1是计算网络流量检测阈值的总流程图;
[0010]图2是计算高压阈值HITH和低压阈值LOTH的流程图;
[0011]图3是计算主机对阈值HPTH的流程图。
【具体实施方式】
[0012]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图详细描述本发明的【具体实施方式】。
[0013]附图1是计算网络流量检测阈值的总流程图。根据本发明的网络流量检测阈值的计算方法包括以下步骤:获取网络访问中的目的地址被访问的次数,根据获取得到的目的地址被访问的次数计算网络流量检测的告警阈值。
[0014]参考图1,该流程开始于步骤S101。[0015]在步骤S102,通常要先对系统进行初始化,这里初始化的方式根据实现的算法而定。
[0016]在步骤S103和S104,由于本发明描述的网络流量检测阈值的计算方法基于两种情况:多个源地址基于通信协议访问目的地址的次数和单个源地址基于通信协议访问目的地址的次数,因此关于目的地址被访问的次数和根据访问次数计算告警阈值分成两种情况描述,分别由附图2的流程图和附图3的流程图示出。
[0017]附图2流程图是根据多个源地址基于通信协议访问目的地址的次数计算高压阈值和低压阈值的流程图,其中计算得到的高压阈值HITH大于所述低压阈值LOTH。
[0018]该流程开始于S201,承接附图1的S102步骤系统初始化。例如,该计算算法是用数组来实现,其初始化过程为申请大小为256的数组空间ARR,每一个数组空间记录一个目的地址被访问的次数,则单位时间可同时监视到256个目的地址被访问的情况。
[0019]在步骤S202,提取数据包中的目的地址,遍历数组空间ARR[i] (i=0, I,…255)。
[0020]在步骤S203,判断每一个数组空间的存活时间是否都小于等于单位时间。例如,单位时间可以为I秒,则判断每一个数组空间的存活时间是否都小于等于I秒,
[0021]如果每一个数组空间的存活时间小于等于I秒,进入步骤S204,继续判断提取到的数据包的目的地址与数组空间ARR[i]记录的目的地址是否一致,
[0022]如果数据包的目的地址与数组空间的目的地址一致,进入步骤S205,返回该数组空间 ARR[i];
[0023]如果每一个数组空间ARR[i]的目的地址与数据包记录的目的地址均不一致,进入步骤S206,舍弃该数据包;
[0024]如果不是每一个数组空间ARR[i]的存活时间都小于等于I秒,进入步骤S207,将存活时间大于I秒的数组空间ARR[i]留给其他目的地址复用并且清空该数组空间;
[0025]在步骤S208,继续判断存活时间小于I秒的数组空间ARR[i]的目的地址与数据包的地址是否一致,
[0026]如果数据包的目的地址与数组空间ARR[i]的目的地址一致,进入步骤S205,返回该数组空间;
[0027]如果数据包的目的地址与 数组空间ARR[i]的目的地址不一致,进入步骤S209,返回存活时间超过I秒可被复用的数组空间ARR[i],并对其重新计时,
[0028]在步骤S210,读取从步骤S205或步骤S209返回的数组空间ARR[i]记录的目的地址被访问的次数RATE,进入步骤S211,
[0029]如果HITH*1/2〈RATE,更新 HITH=RATE*2 ;
[0030]如果L0TH*5/6〈RATE,更新 L0TH=RATE*6/5。
[0031]其中,HITH的初始值设为0,LOTH的初始值设为O。
[0032]上述步骤只是一个数据包的处理过程,因此还要返回步骤S202,开始下一个数据包的处理,这样经过长时间的迭代更新得出高压阈值HITH和低压阈值LOTH。
[0033]附图3是是根据单个源地址基于通信协议访问目的地址的次数计算主机对阈值HPTH的流程图。
[0034]该流程开始于S301,承接附图1的S102步骤系统初始化。例如,该计算算法用HASH表实现,其初始化过程为,可以建立4张大小为4096个节点的HASH表,初始化4个随机数R。每张HASH表的每一个节点都记录了一个源地址基于通信协议(此处的通信协议可以为TCP、UDP、ICMP和DHCP)访问某个目的地址的次数。可以理解,HASH表的张数,每张HASH表的节点数以及随机数的个数仅是示例性的,不用于限定本发明,本领域的技术人员可以根据需要做出修改。
[0035]在步骤S302,提取数据包中的源地址和目的地址,计算索引值。例如,若基于的通信协议为TCP、UDP和ICMP,则此处的源地址和目的地址为IP地址;若基于的通信协议为DHCP,则此处的源地址和目的地址为MAC地址。根据IP地址或MAC地址,以及初始化的随机数R,可以计算出4个HASH索引值。
[0036]进入步骤S303,判断索引值位置处的节点存活时间是否小于等于单位时间,例如,单位时间为I秒,则判断节点的存活时间是否小于等于I秒,
[0037]如果节点的存活时间不是小于等于I秒,即大于I秒,进入步骤S304,清空该节点的统计信息,重新开始统计,进入步骤S305 ;
[0038]如果节点的存活时间小于等于I秒,进入步骤S305,根据步骤S302计算的索引值在索引值位置的节点处读取源地址基于相应协议(TCP、UDP、ICMP或DHCP)访问目的地址的次数,并且更新(即加I)。
[0039]进入步骤S306,从统计次数中得出最小统计次数MIN。例如,若从四张HASH表索引位置处读取了基于TCP协议的统计次数,则会得到四个统计次数,更新加I后,比较四个数据得出最小值MIN。
[0040]进入步骤S307,如果HPTH[PR0T0]*5/6〈MIN,进入步骤S308,更新HPTH[PR0T0] =MIN*6/5。例如,若基于的协议为TCP,则此处PROTO就为TCP。
[0041]上述步骤只是一个数据包的处理过程,因此还要返回步骤S302,开始下一个数据包的处理,这样经过长时间的迭代更新得出主机对阈值HPTH。
[0042]经过一段时间的计算后,高压阈值HITH、低压阈值LOTH和主机对阈值HPTH将会无限接近真实网络流量情况,计算时间越长,计算得到的阈值越有效,因此可有效的为网络管理员设置告警阈值提供参考依据,避免了由于没有实际的参考依据而影响DDOS监测和网络流量监测的准确性这一情况的出现。
[0043]本发明计算出的三个阈值在DDOS检测和网络流量检测的应用过程是,如果单位时间内,目的地址被访问的次数超过计算到的高压阈值,则可能判断为DDOS攻击;如果目的地址被访问的次数超过低压阈值,但是低于高压阈值,则判定有DDOS攻击的危险,需要特别关注;在特别关注中,主要是特别关注任一源地址基于通信协议访问目的地址的次数,如果单位时间内,源地址基于通信协议访问目的地址的次数超过了计算到的主机对阈值,则可判断源地址对目的地址可能有DDOS攻击。
【权利要求】
1.一种网络流量检测阈值的计算方法,其特征在于,包括以下步骤: 获取网络访问中的目的地址被访问的次数; 根据所述目的地址被访问的次数计算网络流量检测的告警阈值。
2.根据权利要求1所述的计算方法,其特征在于,所述目的地址被访问的次数为单位时间内目的地址被访问的次数。
3.根据权利要求1所述的计算方法,其特征在于,所述目的地址被访问的次数包括: 多个源地址基于通信协议访问目的地址的次数和 单个源地址基于通信协议访问目的地址的次数。
4.根据权利要求1所述的计算方法,其特征在于,所述告警阈值包括:主机对阈值HPTH、高压阈值HITH和低压阈值LOTH,所述主机对阈值HPTH为任意一个源地址基于通信协议访问目的地址的次数的一个阈值;所述高压阈值HITH为所述目的地址被访问的次数的一个阈值,所述低压阈值LOTH为所述目的地址被访问的次数的另一个阈值,所述高压阈值HITH大于所述低压阈值LOTH。
5.根据权利要求3所述的计算方法,其特征在于,所述通信协议为TCP、UDP、ICMP和DHCP中的至少一者。
6.根据权利要求3所述的计算方法,其特征在于,所述源地址为访问发起端的IP地址或MAC地址,所述 目的地址为被访问端的IP地址或MAC地址。
7.根据权利要求4所述的计算方法,其特征在于,所述根据所述目的地址被访问的次数计算网络流量检测的告警阈值步骤包括通过以下步骤计算所述高压阈值HITH和所述低压阈值LOTH: (al)提取数据包中的目的地址,遍历每一个数组空间,所述每一个数组空间记录一个目的地址和该目的地址被访问的次数; (a2)从数据空间中读取所述目的地址被访问的次数RATE ; (a3)根据所述目的地址被访问的次数RATE计算所述高压阈值HITH和所述低压阈值LOTH0
8.根据权利要求7所述的计算方法,其特征在于,所述步骤(a2)包括, 判断每一个数组空间的存活时间是否都小于等于单位时间, 如果每一个数组空间的存活时间小于等于单位时间,则继续判断数据包的目的地址与数组空间记录的目的地址是否一致, 如果所述数据包的目的地址与数组空间的目的地址一致,则返回该数组空间; 如果所述每一个数组空间的目的地址与数据包记录的目的地址均不一致,则舍弃该数据包; 如果不是每一个数组空间的存活时间都小于等于单位时间,则将存活时间大于单位时间的数组空间留给其他目的地址复用并且清空该数组空间; 继续判断存活时间小于单位时间的数组空间的目的地址与数据包的地址是否一致, 如果所述数据包的目的地址与数组空间的目的地址一致,则返回该数组空间; 如果所述数据包的目的地址与数组空间的目的地址不一致,则返回存活时间超过单位时间可被复用的数组空间,并对其重新计时。
9.根据权利要求7所述的计算方法,其特征在于,所述步骤(a3)包括,判断HI TH* I/2是否小于RATE,如果小于RATE,则更新HITH=RATE*2,判断L0TH*5/6是否小于RATE,如果小于RATE,则更新L0TH=RATE*6/5,其中HITH的初始值为O,LOTH的初始值为O。
10.根据权利要求4所述的计算方法,其特征在于,所述步骤根据所述目的地址被访问的次数计算网络流量检测的告警阈值还包括通过以下步骤计算所述主机对阈值HPTH: (bl)提取数据包中的源地址和目的地址,计算得到至少一个能够快速找到记录位置的索引值; (b2)在所述至少一个索引值位置的节点处读取源地址基于通信协议访问目的地址的至少一个统计次数; (b3)从所述至少一个统计次数中得出最小统计次数MIN ; (b4)根据所述最小统计次数MIN计算所述主机对阈值HPTH。
11.根据权利要求10所述的计算方法,其特征在于,在所述步骤(bl)中,根据源地址和目的地址以及系统初始化后得到的随机数计算所述索引值。
12.根据权利要求10所述的计算方法,其特征在于,所述步骤(b2)包括, 判断所述索引值位置的节点存活时间是否大于单位时间, 如果大于单位时间,则清空该节点的统计信息,重新开始统计; 如果小于等于单位时间,则读取所述统计次数。
13.根据权利要求10所述的计算方法,其特征在于,所述步骤(b4)包括,判断HPTH [PR0T0] *5/6 是否小于 MIN,如果小于 MIN,则更新 HPTH[PR0T0] =MIN*6/5,所述HPTH[PR0T0]为当前计算得到的源地址基于一个通信协议PROTO访问目的地址的次数,其中,HPTH[PR0T0]的初始值为O。
【文档编号】H04L12/26GK103795590SQ201310743888
【公开日】2014年5月14日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】刘勇, 张凤羽 申请人:北京天融信软件有限公司, 北京天融信网络安全技术有限公司, 北京天融信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1