异常网络流量检测方法、装置和存储介质与流程

文档序号:17817575发布日期:2019-06-05 21:56
异常网络流量检测方法、装置和存储介质与流程

本发明涉及网络安全技术领域,特别是一种异常网络流量检测方法、装置和存储介质。



背景技术:

随着互联网技术的不断发展,互联网越来越成为人们日常工作、生活、学习中必不可少的组成部分。无论是工业互联网还是人们日常使用的互联网,所面临的安全问题日益突出。特别是工业互联网由传统的封闭式系统变为非封闭系统,但目前还缺少完备的安全监视机制,所面临的安全威胁更大。

网络故障和恶意攻击都会造成网络流量异常。一方面,这些异常流量严重威胁网络和主机的安全;另一方面,这些异常流量加重了网络设备的负担,浪费了网络资源。

如何对互联网流量进行实时有效地监测,快速、准确地检测到网络异常流量,使得网络管理人员能够及时地采取措施以保证网络的正常运行,对提高网络的可控性和可管性具有十分重要的现实意义和实用价值。



技术实现要素:

有鉴于此,本发明实施例中一方面提出了一种异常网络流量检测方法,另一方面提出了一种异常网络流量检测装置及计算机可读存储介质,用以提高检测效率。

本发明实施例中提供的异常网络流量检测方法,包括:

设置一观察窗,其中,所述观察窗包含n个连续的检测时间点,n是大于1的整数;

获取当前观察窗内每个检测时间点的网络流量值;

分别计算所述当前观察窗内每两个相邻检测时间点的网络流量值的低频值和高频值,其中,所述低频值用于指示网络流量在两个相邻检测时间点内的平均取值,所述高频值为网络流量在两个相邻检测时间点内的后一个时间点相对前一个时间点的流量差值;

根据所述当前观察窗内至少一个低频值和至少一个高频值计算所述当前观察窗的流量决策值,其中,所述流量决策值用于衡量所述当前观察窗内是否出现异常网络流量;以及

判断所述当前观察窗的流量决策值是否超过一网络流量阈值,如果超过,则确认检测到异常网络流量。

本发明实施例提供的技术方案简单方便,能够快速地检测到异常网络流量,检测效率高;同时,引入低频值和高频值的概念,可以从数值水平和稳定水平两个方面来监测网络流量,监测更加全面准确。

在一个实施例中,所述低频值为每两个相邻检测时间点的网络流量值的和的平均值;所述高频值为每两个相邻检测时间点的网络流量值的差的平均值。

本发明实施例中每两个相邻检测时间点之间的低频值和高频值均使用简单的计算方法,降低了检测过程中的计算复杂度。

在一个实施例中,所述根据所述当前观察窗内至少一个低频值和至少一个高频值计算所述当前观察窗的流量决策值包括:

计算所述当前观察窗内所述至少一个低频值的平均值以及所述至少一个高频值的和,其中,所述高频值的和指所述当前观察窗内所述至少一个高频值及其绝对值的和;以及

根据所述低频值的平均值和所述高频值的和,计算所述当前观察窗的流量决策值。

本发明实施例中,计算所述高频值的和时使用了观察窗内高频值的绝对值,故而可以准确地指示网络流量波动的方向。

在一个实施例中,该方法进一步包括:

根据之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息,确定所述网络流量阈值。

本发明实施例中网络流量阈值可动态调整,能够更好地反映网络流量情况,提高了检测方法的有效性和准确性。

在一个实施例中,所述之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息为:之前保存的第一设定数量个历史观察窗内的低频值平均值和第二设定数量个历史观察窗内的高频值的和;

所述根据之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息,确定所述网络流量阈值包括:

从所述第一设定数量个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数,从所述第二设定数量个历史观察窗内的高频值的和中选取最大的高频值的和作为高频系数;

计算设定时间段内的历史检测时间点的网络流量值的平均值,以及设定时间段内的历史观察窗内的高频值的和的平均值;

将所述低频系数与所述设定时间段内的历史检测时间点的网络流量值的平均值进行比较,将较大者确定为低频参考系数;将所述高频系数与所述设定时间段内的历史观察窗内的高频值的和的平均值进行比较,将较大者确定为高频参考系数;

根据所述低频参考系数与所述高频参考系数,计算所述网络流量阈值。

本发明实施例中在动态调整网络流量阈值时,同时兼顾了网络流量的低频值和高频值,因而能更好地反映整个检测时间段内的网络流量的数值水平以及稳定水平。

在一个实施例中,所述第一设定数量个历史观察窗内的低频值平均值为:最小的i个历史观察窗内的低频值平均值,其中,i是大于2的整数;

所述第二设定数量个历史观察窗内的高频值的和为:最小的j个历史观察窗内的高频值的和,其中,j是大于2的整数;

所述从第一设定数量个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数包括:从所述最小的i个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数;

所述从第二设定数量个历史观察窗内的高频值的和中选取最大的高频值的和作为高频系数包括:从所述最小的j个历史观察窗内的高频值的和中选取最大的高频值和作为高频系数。

本发明实施例中不是保存所有的历史观察窗内的低频值平均值以及高频值的和,而是选取最小的i个历史观察窗内的低频值平均值以及最小的j个历史观察窗内的高频值的和,有效地节省了存储空间,降低了检测过程中的计算复杂度。

本发明实施例中提供的异常网络流量检测装置,包括:

一个设置模块,被配置为用于设置一观察窗,其中,所述观察窗包含n个连续的检测时间点,n是大于1的整数;

一个获取模块,被配置为用于获取当前观察窗内每个检测时间点的网络流量值;

一个第一计算模块,被配置为用于分别计算所述当前观察窗内每两个相邻检测时间点的网络流量值的低频值和高频值,其中,所述低频值用于指示网络流量在两个相邻检测时间点内的平均取值,所述高频值为网络流量在两个相邻检测时间点内的后一个时间点相对前一个时间点的流量差值;

一个第二计算模块,被配置为用于根据所述当前观察窗内至少一个低频值和至少一个高频值计算所述当前观察窗的流量决策值,其中,所述流量决策值用于衡量所述当前观察窗内是否出现异常网络流量;以及

一个判断模块,被配置为用于判断所述当前观察窗的流量决策值是否超过一网络流量阈值,如果超过,则确认检测到异常网络流量。

本发明实施例提供的技术方案简单方便,能够快速地检测到异常网络流量,检测效率高;同时,引入低频值和高频值的概念,可以从数值水平和稳定水平两个方面来监测网络流量,监测更加全面准确。

在一个实施例中,所述低频值为每两个相邻检测时间点的网络流量值的和的平均值;所述高频值为每两个相邻检测时间点的网络流量值的差的平均值。

本发明实施例中每两个相邻检测时间点之间的低频值和高频值均使用简单的计算方法,降低了检测过程中的计算复杂度。

在一个实施例中,所述第二计算模块进一步被配置为用于:

计算所述当前观察窗内所述至少一个低频值的平均值以及所述至少一个高频值的和,其中,所述高频值的和指所述当前观察窗内所述至少一个高频值及其绝对值的和;以及

根据所述低频值的平均值和所述高频值的和,计算所述当前观察窗的流量决策值。

本发明实施例中,计算所述高频值的和时使用了观察窗内高频值的绝对值,故而可以准确地指示网络流量波动的方向。

在一个实施例中,该装置进一步包括:

确定模块,被配置为用于根据之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息,确定所述网络流量阈值。

本发明实施例中网络流量阈值可动态调整,能够更好地反映网络流量情况,提高了检测方法的有效性和准确性。

在一个实施例中,所述之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息为:之前保存的第一设定数量个历史观察窗内的低频值平均值和第二设定数量个历史观察窗内的高频值的和;

所述确定模块进一步用于:

从所述第一设定数量个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数,从所述第二设定数量个历史观察窗内的高频值的和中选取最大的高频值的和作为高频系数;

计算设定时间段内的历史检测时间点的网络流量值的平均值,以及设定时间段内的历史观察窗内的高频值的和的平均值;

将所述低频系数与所述设定时间段内的历史检测时间点的网络流量值的平均值进行比较,将较大者确定为低频参考系数;将所述高频系数与所述设定时间段内的历史观察窗内的高频值的和的平均值进行比较,将较大者确定为高频参考系数;

根据所述低频参考系数与所述高频参考系数,计算所述网络流量阈值。

本发明实施例中在动态调整网络流量阈值时,同时兼顾了网络流量的低频值和高频值,因而能更好地反映整个检测时间段内的网络流量的数值水平以及稳定水平。

在一个实施例中,所述第一设定数量个历史观察窗内的低频值平均值为:最小的i个历史观察窗内的低频值平均值,其中,i是大于2的整数;

所述第二设定数量个历史观察窗内的高频值的和为:最小的j个历史观察窗内的高频值的和,其中,j是大于2的整数;

所述确定模块进一步用于:

从所述最小的i个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数;以及

从所述最小的j个历史观察窗内的高频值的和中选取最大的高频值和作为高频系数。

本发明实施例中不是保存所有的历史观察窗内的低频值平均值以及高频值的和,而是选取最小的i个历史观察窗内的低频值平均值以及最小的j个历史观察窗内的高频值的和,有效地节省了存储空间,降低了检测过程中的计算复杂度。

本发明实施例中提供的异常网络流量检测装置,包括:至少一个存储器和至少一个处理器,其中:

所述至少一个存储器用于存储计算机程序;

所述至少一个处理器用于调用所述至少一个存储器中存储的计算机程序执行上述的异常网络流量检测方法。

本发明实施例中提供的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序能够被一处理器执行并实现上述的异常网络流量检测方法。

从上述方案中可以看出,本发明实施例提供一种异常网络流量检测方法、装置及存储介质,通过设置观察窗,获取当前观察窗内每个检测时间点的网络流量值,分别计算所述当前观察窗内每两个相邻检测时间点的网络流量值的低频值和高频值,根据所述当前观察窗内所有低频值和高频值计算所述当前观察窗的流量决策值,以及判断所述当前观察窗的流量决策值是否超过一网络流量阈值,如果超过,则确认检测到异常网络流量。与现有技术相比,本发明实施例提供的技术方案简单方便,能够快速地检测到异常网络流量,检测效率高;同时,引入低频值和高频值的概念,可以从数值水平和稳定水平两个方面来监测网络流量,监测更加全面准确。此外,本发明实施例运用了动态网络流量阈值,该动态变化的网络流量阈值由实时网络流量数据和历史网络流量数据共同维护,使得该阈值既能根据历史网络流量数据来进行调整,也能更好地反映实时网络流量情况,故而提高了检测方法的有效性和准确性。

附图说明

下面将通过参照附图详细描述本发明的优选实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:

图1为本发明实施例中一种异常网络流量检测方法的示例性流程图;

图2为本发明实施例中实时网络流量的示意图;

图3A为本发明实施例中的一种异常网络流量检测装置的示例性结构图;

图3B为本发明实施例中又一种异常网络流量检测装置的示例性结构图;

图4为本发明实施例中又一种异常网络流量检测装置的示例性结构图。

其中,附图标记如下:

具体实施方式

目前,考虑到在常规的基于阈值的异常网络流量检测方法中,判断是否出现异常网络流量的阈值通常是基于经验或统计数据而设定的一个固定的值。然而,该阈值的取值很难设置的非常合适,而且固定阈值不能很快地检测到缓慢线性增长的网络流量,因此不能很好地适应快速变化的网络。为此,本发明实施例提出一种异常网络流量检测方法、装置及存储介质,引入了观察窗的概念,计算观察窗内网络流量的低频值与高频值,并将其与动态变化的网络流量阈值进行综合比较以快速准确地检测到异常网络流量。该动态变化的网络流量阈值由实时网络流量数据和历史网络流量数据共同维护。

为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。

图1为本发明实施例中一种异常网络流量检测方法的示例性流程图。如图1所示,该方法可包括如下步骤:

步骤101,设置一观察窗,其中,所述观察窗包含n个连续的检测时间点,n是大于1的整数。

本步骤中,观察窗内连续的检测时间点之间间隔相等的时间,例如,可设置每两个相邻的检测时间点之间均间隔1秒。

根据本发明实施例,观察窗的大小n可根据实际需要进行设置。在一个实施例中,可设置n等于3,如图2所示。图2是实时网络流量的示意图。在图2中,21表示每个检测时间点的实时网络流量值,22表示连续的检测时间点的序列(时间单位:秒),23表示观察窗。观察窗23的大小是3,即观察窗23内包含3个连续的检测时间点(如图2中所示的第11秒,第12秒,以及第13秒),每两个相邻的检测时间点之间间隔1秒。在观察窗23中,连续三秒内的实时网络流量值用来进行分析。当新一秒的网络流量到来时,观察窗23会向前滑动一秒,也即前进一秒。例如,当第14秒的网络流量到来时,观察窗23会向前滑动一秒,此时观察窗23内包含的检测时间点为第12秒,第13秒,以及第14秒。

步骤102,获取当前观察窗内每个检测时间点的网络流量值。

本步骤中,可将获取到的网络流量值保存在数据库中。

步骤103,分别计算所述当前观察窗内每两个相邻检测时间点的网络流量值的低频值和高频值,其中,所述低频值用于指示网络流量在两个相邻检测时间点内的平均取值,所述高频值为网络流量在两个相邻检测时间点内的后一个时间点相对前一个时间点的流量差值。

在一个实施例中,所述低频值为每两个相邻检测时间点的网络流量值的和的平均值,所述高频值为每两个相邻检测时间点的网络流量值的差的平均值。

所述低频值用于指示网络流量在两个相邻检测时间点内的平均取值,也即指示了网络流量的数值水平。所述高频值用于衡量网络流量在两个相邻检测时间点内的波动幅度,也即指示了网络流量的稳定水平。

在本步骤中,根据每两个相邻检测时间点的网络流量值,可计算出一个低频值以及一个高频值。将计算得到的低频值和高频值保存在数据库中。

假设第i个检测时间点表示为ti,在检测时间点ti的网络流量值表示为fti,则所述低频值可根据下述公式得到:

其中,是检测时间点ti和ti+1的网络流量值的低频值,是检测时间点ti的网络流量值,是检测时间点ti+1的网络流量值,i=1,…,n-1。

所述高频值可根据下述公式得到:

其中,是检测时间点ti和ti+1的网络流量值的高频值,是检测时间点ti的网络流量值,是检测时间点ti+1的网络流量值,i=1,…,n-1。

具体地,在图2中,24表示第11秒和第12秒的网络流量值的低频值,25表示第11秒和第12秒的网络流量值的高频值。

本发明实施例中每两个相邻检测时间点之间的低频值和高频值均使用简单的计算方法,降低了检测过程中的计算复杂度。

步骤104,根据所述当前观察窗内至少一个低频值和至少一个高频值计算所述当前观察窗的流量决策值,其中,所述流量决策值用于衡量所述当前观察窗内是否出现异常网络流量。

本步骤中,首先计算所述当前观察窗内至少一个低频值的平均值以及至少一个高频值的和,其中,所述高频值的和指所述当前观察窗内所述至少一个高频值及其绝对值的和。

根据本发明实施例,在计算所述当前观察窗的流量决策值时,可计算当前观察窗内所有低频值的平均值以及所有高频值的和,也可以计算当前观察窗内部分低频值的平均值以及部分高频值的和,本发明实施例不做具体限定。下面以计算当前观察窗内所有低频值的平均值以及所有高频值的和为例进行说明。

在一个实施例中,可根据下述公式计算观察窗内所有低频值的平均值:

其中,LOW_FREQ_AVG是观察窗内所有低频值的平均值,是观察窗内的检测时间点ti和ti+1的网络流量值的低频值,n是观察窗的大小。

在一个实施例中,可根据下述公式计算所述观察窗内所有高频值的和:

其中,HIGH_FREQ_SUM是所述观察窗内所有高频值的和,是观察窗内的检测时间点ti和ti+1的网络流量值的高频值,n是观察窗的大小。

本发明实施例中,计算所述高频值的和时使用了观察窗内高频值的绝对值,故而可以准确地指示网络流量波动的方向,也即可以准确指示网络流量是正增长还是负增长。

然后,根据计算得到的当前观察窗内低频值的平均值和高频值的和,计算当前观察窗的流量决策值。

在一个实施例中,可根据下述公式计算所述流量决策值:

Critical_Value=LOW_FREQ_AVG×(HIGH_FREQ_SUM+1) (5)

其中,Critical_Value是所述观察窗的流量决策值,HIGH_FREQ_SUM是所述观察窗内所有高频值的和,LOW_FREQ_AVG是所述观察窗内所有低频值的平均值。

根据本发明实施例,考虑到观察窗内所有高频值的和可能为0,比如在一个3秒的观察窗内,计算得到两个高频值,分别为-1和-2,则该观察窗内所有高频值的和为-1-2+|-1|+|-2|=0,故在公式(5)中,作为乘数之一的HIGH_FREQ_SUM加1以避免Critical_Value的值为0。

在另一实施例中,也可根据其他公式计算所述观察窗内的流量决策值,只要该公式包含了观察窗内所有的低频值以及观察窗内所有的高频值,即同时考虑到观察窗内的低频值和高频值即可。本发明实施例不对计算观察窗内的流量决策值的公式具体限定。

步骤105,判断所述当前观察窗的流量决策值是否超过一网络流量阈值,如果超过,则确认检测到异常网络流量。

在本步骤中,如果确认检测到异常网络流量,则向用户输出提示信息,同时可将当前观察窗内计算出的数据从数据库中移除。

例如,参见图2,如果观察窗23的流量决策值超过网络流量阈值,则确认在第13秒检测到了异常网络流量,此时,将第13秒的网络流量值以及观察窗23内的所有低频值和高频值从数据库中移除。

在一个实施例中,可设置一个固定的网络流量阈值,将计算得到的当前观察窗的流量决策值与该固定的网络流量阈值进行比较。如果当前观察窗的流量决策值超过该固定的网络流量阈值,则确认检测到异常网络流量。

在另一个实施例中,可利用网络流量数据来动态调节网络流量阈值,这样网络流量阈值可动态地变化,从而使判断结果更为准确。下面详细介绍动态调整网络流量阈值的方法。

根据本发明一实施例,可根据之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息,确定所述网络流量阈值。

本发明实施例中网络流量阈值可根据网络流量数据来动态调整,能够更好地反映网络流量情况,提高了检测方法的有效性和准确性。

在一个实施例中,所述之前保存的设定数量个历史观察窗内低频值的信息为:之前保存的第一设定数量个历史观察窗内的低频值平均值。在一个实施例中,所述第一设定数量可以为3。在一个实施例中,所述之前保存的设定数量个历史观察窗内高频值的信息为:之前保存的第二设定数量个历史观察窗内的高频值的和。在一个实施例中,所述第二设定数量可以为3。

然后,从所述第一设定数量个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数LOW_FREQ_AVG_GRT,从所述第二设定数量个历史观察窗内的高频值的和中选取最大的高频值的和作为高频系数HIGH_FREQ_SUM_GRT。

在一个实施例中,所述第一设定数量个历史观察窗内的低频值平均值为:最小的i个历史观察窗内的低频值平均值,其中,i是大于2的整数,例如可以为3。则所述从第一设定数量个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数可以为:从最小的3个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数。

在一个实施例中,所述第二设定数量个历史观察窗内的高频值的和为:最小的j个历史观察窗内的高频值的和,其中,j是大于2的整数,例如可以为3。则所述从第二设定数量个历史观察窗内的高频值的和中选取最大的高频值的和作为高频系数可以为:从最小的3个历史观察窗内的高频值的和中选取最大的高频值和作为高频系数。

然后,计算设定时间段内的历史检测时间点的网络流量值的平均值LOW_FREQ_HISTORY_AVG,以及设定时间段内的历史观察窗内的高频值的和的平均值HIGH_FREQ_HISTORY_SUM。在一个实施例中,所述设定时间段可以指从起始检测时间点到当前观察窗前一个检测时间点的时间范围。例如在图2中,当前观察窗内包含了第11秒至第13秒三个检测时间点,则设定时间段可以是从第1秒到第10秒的时间范围。

接下来,比较所述低频系数LOW_FREQ_AVG_GRT与所述设定时间段内的历史检测时间点的网络流量值的平均值LOW_FREQ_HISTORY_AVG,将较大者确定为低频参考系数LOW_FREQ_AVG_THRE。比较所述高频系数HIGH_FREQ_SUM_GRT与所述设定时间段内的历史观察窗内的高频值的和的平均值HIGH_FREQ_HISTORY_SUM,将较大者确定为高频参考系数HIGH_FREQ_SUM_THRE。

在一个实施例中,根据所述低频参考系数LOW_FREQ_AVG_THRE与所述高频参考系数HIGH_FREQ_SUM_THRE,按照下述公式计算所述网络流量阈值Threshhold:

Threshhold=LOW_FREQ_AVG_THRE×(HIGH_FREQ_SUM_THRE+1) (6)

根据本发明实施例,也可根据其他公式计算所述网络流量阈值,只要该公式包含了当前观察窗内低频值的信息和高频值的信息以及历史观察窗内低频值的信息和高频值的信息即可。本发明实施例不对计算所述网络流量阈值的公式具体限定。

本发明实施例中在动态调整网络流量阈值时,同时兼顾了网络流量的低频值和高频值,因而能更好地反映整个检测时间段内的网络流量的数值水平以及稳定水平。

本发明实施例中不是保存所有的历史观察窗内的低频值平均值以及高频值的和,而是选取最小的i个历史观察窗内的低频值平均值以及最小的j个历史观察窗内的高频值的和,有效地节省了存储空间,降低了检测过程中的计算复杂度。

根据本发明实施例,当在步骤105中判断当前观察窗的流量决策值没有超过网络流量阈值,也即未检测到异常网络流量时,将当前观察窗内的低频值的平均值与之前保存的第一设定数量个历史观察窗内的低频值平均值做比较。如果当前观察窗内的低频值的平均值大于之前保存的第一设定数量个历史观察窗内的低频值平均值中的任意一个值,则将该第一设定数量个历史观察窗内的低频值平均值中的最大值替换为当前观察窗内的低频值的平均值;将当前观察窗内的高频值的和与之前保存的第二设定数量个历史观察窗内的高频值的和做比较。如果当前观察窗内的高频值的和大于之前保存的第二设定数量个历史观察窗内的高频值的和中的任意一个值,则将该第二设定数量个历史观察窗内的高频值的和中的最大值替换为当前观察窗内的高频值的和。

下面基于图2通过一个例子对本发明实施例中的技术方案进行说明。

在图2中,假设在观察窗23内,第1个检测时间点(即第11秒)的网络流量值是10,第2个检测时间点(即第12秒)的网络流量值是32,第3个检测时间点(即第13秒)的网络流量值是46。

则第1个检测时间点和第2个检测时间点之间的低频值为:

第1个检测时间点和第2个检测时间点之间的高频值为:

第2个检测时间点和第3个检测时间点之间的低频值为:

第2个检测时间点和第3个检测时间点之间的高频值为:

在计算当前观察窗的流量决策值时,以计算当前观察窗内所有低频值的平均值以及所有高频值的和为例进行说明。

观察窗23内所有低频值的平均值为:

LOW_FREQ_AVG=Avg(21+39)=30;

观察窗23内所有高频值的和为:

HIGH_FREQ_SUM=-11-7+|-11|+|-7|=0

观察窗23内的流量决策值为:

Critical_Value=LOW_FREQ_AVG×(HIGH_FREQ_SUM+1)=30×(0+1)=30。

假设之前保存的设定数量个历史观察窗内低频值的信息为:之前保存的最小的3个历史观察窗内的低频值平均值,例如4,8,和16。假设之前保存的设定数量个历史观察窗内高频值的信息为:之前保存的最小的3个历史观察窗内的高频值的和,例如0,10,和12。

然后,从最小的3个历史观察窗内的低频值平均值4,8,和16中选取最大的低频值平均值16作为低频系数LOW_FREQ_AVG_GRT,从最小的3个历史观察窗内的高频值的和0,10,和12中选取最大的高频值和12作为高频系数HIGH_FREQ_SUM_GRT。

然后,计算设定时间段内的历史检测时间点的网络流量值的平均值LOW_FREQ_HISTORY_AVG,以及计算设定时间段内的历史观察窗内的高频值的和的平均值HIGH_FREQ_HISTORY_SUM。假设所述设定时间段指从起始检测时间点到当前观察窗前一个检测时间点的时间范围。参看图2,则设定时间段是从第1秒到第10秒的时间范围。设从第1秒到第10秒的时间段内的历史检测时间点的网络流量值的平均值LOW_FREQ_HISTORY_AVG为30,以及从第1秒到第10秒的时间段内的历史观察窗内的高频值的和的平均值HIGH_FREQ_HISTORY_SUM为13。

比较所述低频系数LOW_FREQ_AVG_GRT(值为16)与所述设定时间段内的历史检测时间点的网络流量值的平均值LOW_FREQ_HISTORY_AVG(值为30),将较大的30确定为低频参考系数LOW_FREQ_AVG_THRE。比较所述高频系数HIGH_FREQ_SUM_GRT(值为12)与所述设定时间段内的历史观察窗内的高频值的和的平均值HIGH_FREQ_HISTOR_YSUM(值为13),将较大的13确定为高频参考系数HIGH_FREQ_SUM_THRE。

然后,按照下述公式计算网络流量阈值Threshhold:

Threshhold=LOW_FREQ_AVG_THRE×(HIGH_FREQ_SUM_THRE+1)=30×(13+1)=420。

比较观察窗23内的流量决策值Critical_Value(值为30)与网络流量阈值Threshhold(值为420),由于Critical_Value的值没有超过网络流量阈值Threshhold,故未检测到异常网络流量。此时,从数据库中移除观察窗23内的所有计算数据。当第14秒的网络流量到来时,观察窗向前滑动一秒,即向下滑动一秒后的观察窗内包含第12秒,第13秒,以及第14秒三个检测时间点。

以上对本发明实施例中的异常网络流量检测方法进行了详细描述,下面对本发明实施例中的异常网络流量检测装置进行详细描述,其能够实施本发明实施例中的异常网络流量检测方法,对于本发明装置实施例中未披露的细节可参见上述方法实施例中的对应描述。

图3A为本发明实施例中一种异常网络流量检测装置的示例性结构图。如图3A所示,该装置可包括:设置模块301,获取模块302,第一计算模块303,第二计算模块304,以及判断模块305。

其中,设置模块301被配置为用于设置一观察窗,其中,所述观察窗包含n个连续的检测时间点,n是大于1的整数。

获取模块302被配置为用于获取当前观察窗内每个检测时间点的网络流量值。

第一计算模块303被配置为用于分别计算所述当前观察窗内每两个相邻检测时间点的网络流量值的低频值和高频值,其中,所述低频值用于指示网络流量在两个相邻检测时间点内的平均取值,所述高频值为网络流量在两个相邻检测时间点内的后一个时间点相对前一个时间点的流量差值。

第二计算模块304被配置为用于根据所述当前观察窗内至少一个低频值和至少一个高频值计算所述当前观察窗的流量决策值,其中,所述流量决策值用于衡量所述当前观察窗内是否出现异常网络流量。

判断模块305被配置为用于判断所述当前观察窗的流量决策值是否超过一网络流量阈值,如果超过,则确认检测到异常网络流量。

根据本发明实施例,所述低频值可以为每两个相邻检测时间点的网络流量值的和的平均值;所述高频值可以为每两个相邻检测时间点的网络流量值的差的平均值。

根据本发明实施例,所述第二计算模块304在确定流量决策值时,可首先计算所述当前观察窗内所述至少一个低频值的平均值以及所述至少一个高频值的和,其中,所述高频值的和指所述当前观察窗内所述至少一个高频值及其绝对值的和;然后根据所述低频值的平均值和所述高频值的和,计算所述当前观察窗的流量决策值。

根据本发明实施例,如图3B所示,该装置可进一步包括:确定模块306,被配置为用于根据之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息,确定所述网络流量阈值。

根据本发明实施例,所述之前保存的设定数量个历史观察窗内低频值的信息和高频值的信息为:之前保存的第一设定数量个历史观察窗内的低频值平均值和第二设定数量个历史观察窗内的高频值的和。

相应地,所述确定模块306可从所述第一设定数量个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数,从所述第二设定数量个历史观察窗内的高频值的和中选取最大的高频值的和作为高频系数;计算设定时间段内的历史检测时间点的网络流量值的平均值,以及设定时间段内的历史观察窗内的高频值的和的平均值;将所述低频系数与所述设定时间段内的历史检测时间点的网络流量值的平均值进行比较,将较大者确定为低频参考系数;将所述高频系数与所述设定时间段内的历史观察窗内的高频值的和的平均值进行比较,将较大者确定为高频参考系数;以及根据所述低频参考系数与所述高频参考系数,计算所述网络流量阈值。

根据本发明实施例,所述第一设定数量个历史观察窗内的低频值平均值可以为:最小的i个历史观察窗内的低频值平均值,其中,i是大于2的整数;所述第二设定数量个历史观察窗内的高频值的和可以为:最小的j个历史观察窗内的高频值的和,其中,j是大于2的整数。

相应地,所述确定模块306可从所述最小的i个历史观察窗内的低频值平均值中选取最大的低频值平均值作为低频系数;以及从所述最小的j个历史观察窗内的高频值的和中选取最大的高频值和作为高频系数。

图4为本发明实施例中又一种异常网络流量检测装置的示例性结构图。如图4所示,该装置可包括:至少一个存储器401和至少一个处理器402。这些组件通过至少一个端口403发送和接收数据,通过总线404进行通信。

其中,至少一个存储器401被配置为用于存储计算机程序。此外,还可存储操作系统等。操作系统包括但不限于:Android操作系统、Symbian操作系统、Windows操作系统、Linux操作系统等。

至少一个处理器402被配置为用于调用至少一个存储器401中存储的计算机程序执行本发明实施例中所述的异常网络流量检测方法。处理器402可以为CPU,处理单元/模块,ASIC,逻辑模块或可编程门阵列等。

此外,本发明实施例中还提供一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序能够被一处理器执行并实现本发明实施例中所述的异常网络流量检测方法。

从上述方案中可以看出,本发明实施例提供一种异常网络流量检测方法、装置及存储介质,通过设置观察窗,获取当前观察窗内每个检测时间点的网络流量值,分别计算所述当前观察窗内每两个相邻检测时间点的网络流量值的低频值和高频值,根据所述当前观察窗内至少一个低频值和至少一个高频值计算所述当前观察窗的流量决策值,以及判断所述当前观察窗的流量决策值是否超过一网络流量阈值,如果超过,则确认检测到异常网络流量。与现有技术相比,本发明实施例提供的技术方案简单方便,能够快速地检测到异常网络流量,检测效率高;同时,引入低频值和高频值的概念,可以从数值水平和稳定水平两个方面来监测网络流量,监测更加全面准确。

此外,本发明实施例运用了动态网络流量阈值,该动态变化的网络流量阈值可根据网络流量数据来进行调整,也能更好地反映网络流量情况,故而提高了检测方法的有效性和准确性。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1