本发明涉及信息安全技术领域,具体涉及一种确定网络流量异常行为的方法、系统、介质及设备。
背景技术
随着计算机和互联网络技术的快速发展与广泛应用,计算机网络系统的安全受到严重的挑战,来自计算机病毒和黑客攻击及其它方面的威胁越来越大,因此检测网络流量异常行为是非常有必要的。
现有技术中主要采用描述性方法来分析网络流量,或者,利用规则或策略来判断网络流量是否异常,较机械,且检测的准确度较差。
技术实现要素:
针对现有技术中的缺陷,本发明提供一种确定网络流量异常行为的方法、系统、介质及设备,能够处理工作日和非工作日两种模式,能够自动的、更精确的识别出流量是否偏离历史模式。
第一方面,本发明提供了一种确定网络流量异常行为的方法,包括:
判断特定时间段对应的日期是工作日还是非工作日;
根据判断结果,获取所述特定时间段内的待检测流量数据和相应的历史流量数据;
基于所述待检测流量数据和历史流量数据,利用时间窗口算法检测所述待检测流量数据是否存在异常。
可选的,在根据判断结果,获取所述特定时间段内的待检测流量数据和历史流量数据的步骤之前,还包括:
实时采集用户终端的流量数据;
按预设时间间隔对所述流量数据进行汇总并存储,形成历史流量数据。
可选的,若所述判断结果为特定时间段对应的日期是工作日,则根据判断结果,获取所述特定时间段的待检测流量数据和相应的历史流量数据,包括:
获取用户终端在特定时间段对应的当前时间窗口的第一数据;其中,第一数据包含特定时间段内的待检测流量数据;
获取用户终端在特定时间段对应的上一周期时间窗口的第二数据;
获取用户终端在上一个工作日的当前时间窗口的第三数据;
获取用户终端在上一个工作日的上一周期时间窗口的第四数据;
所述基于所述待检测流量数据和历史流量数据,利用时间窗口算法检测所述待检测流量数据是否存在异常,包括:
根据所述第一数据、第二数据、第三数据和第四数据,检测所述待检测流量数据是否存在异常。
可选的,若所述判断结果为特定时间段对应的日期是非工作日,则根据判断结果,获取所述特定时间段内的待检测流量数据和相应的历史流量数据,包括:
获取用户终端在特定时间段对应的当前时间窗口的第一数据;其中,第一数据包含特定时间段内的待检测流量数据;
获取用户终端在特定时间段对应的上一周期时间窗口的第二数据;
获取用户终端在上一个非工作日的当前时间窗口的第三数据;
获取用户终端在上一个非工作日的上一周期时间窗口的第四数据;
所述基于所述待检测流量数据和历史流量数据,利用时间窗口算法检测所述待检测流量数据是否存在异常,包括:
根据所述第一数据、第二数据、第三数据和第四数据,检测所述待检测流量数据是否存在异常。
可选的,所述根据所述第一数据、第二数据、第三数据和第四数据,检测所述待检测流量数据是否存在异常,包括:
对所述第一数据和第三数据进行时间窗纵向比较,获得第一纵向比较结果;
对所述第二数据和第四数据进行时间窗纵向比较,获得第二纵向比较结果;
根据所述第一纵向比较结果和第二纵向比较结果,判断所述待检测流量数据是否存在异常。
可选的,所述根据所述第一纵向比较结果和第二纵向比较结果,判断所述待检测流量数据是否存在异常,包括:
对所述第一纵向比较结果和第二纵向比较结果进行横向对比,获得对比比值;
判断所述对比比值是否大于预设阈值;
若是,则判断所述待检测流量数据为异常流量;
若否,则判断所述待检测流量数据正常。
可选的,所述特定时间段为当日当前预设时间段。
第二方面,本发明提供一种确定网络流量异常行为的系统,包括:
日期判断模块,用于判断特定时间段对应的日期是工作日还是非工作日;
流量获取模块,用于根据判断结果,获取所述特定时间段内的待检测流量数据和相应的历史流量数据;
流量检测模块,用于基于所述待检测流量数据和历史流量数据,利用时间窗口算法检测所述待检测流量数据是否存在异常。
第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中的一种确定网络流量异常行为的方法。
第四方面,本发明提供一种确定网络流量异常行为的设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中的一种确定网络流量异常行为的方法。
本发明通过判断特定时间段对应的日期是工作日还是非工作日,根据判断结果,获取特定时间段内的待检测流量数据和相应的历史流量数据;基于待检测流量数据和历史流量数据,利用时间窗口算法能够检测待检测流量数据是否存在异常,相比于传统的网络流量异常检测方法,本发明采用基于时间窗的时间序列分析方法,能处理工作日和非工作日两种模式,且本发明同时考虑流量变化的横向对比和纵向对比,从而更精确的识别出流量是否偏离历史模式。
本发明提供的一种确定网络流量异常行为的系统、一种计算机可读存储介质和一种确定网络流量异常行为的设备,与上述一种确定网络流量异常行为的方法出于相同的发明构思,具有相同的有益效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明提供的一种确定网络流量异常行为的方法的流程图;
图2为本发明提供的一种确定工作日网络流量异常行为的方法的流程图;
图3为本发明提供的一种获取的流量数据的示意图;
图4为本发明提供的一种确定网络流量异常行为的系统的示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
本发明提供了一种确定网络流量异常行为的方法、系统、介质及设备。下面结合附图对本发明的实施例进行说明。
请参考图1,图1为本发明具体实施例提供的一种确定网络流量异常行为的方法的流程图,本实施例提供的一种确定网络流量异常行为的方法,包括:
步骤s101:判断特定时间段对应的日期是工作日还是非工作日。
步骤s102:根据判断结果,获取所述特定时间段内的待检测流量数据和相应的历史流量数据。
步骤s103:基于所述待检测流量数据和历史流量数据,利用时间窗口算法检测所述待检测流量数据是否存在异常。
其中,特定时间段可以是当日当前预设时间段,也可以是任意一个特定时间段段,这都在本发明的保护范围内。
通过判断特定时间段对应的日期是工作日还是非工作日,能够很好地区分工作日和非工作日的流量数据,进而提高检测的准确性。确定工作日网络流量异常行为的方法如图2所示。
其中,流量数据可以包括:内网或者外网的流量数据,上传或下载的流量数据。
其中,待检测流量数据是指在特定时间段内用户终端的流量数据。特定时间段可以是1分钟、2分钟等任意时间段。
其中,特定时间段可以为当日当前预设时间段。若为当日当前预设时间段,则可以实时对用户终端的流量数据进行检测。
本发明通过判断特定时间段对应的日期是工作日还是非工作日,根据判断结果,获取特定时间段内的待检测流量数据和相应的历史流量数据;基于待检测流量数据和历史流量数据,利用时间窗口算法能够检测待检测流量数据是否存在异常,相较于现有技术中的网络流量异常检测方法,本发明能够处理工作日和非工作日两种模式,通过采用时间窗口算法,能够更精确的识别出流量是否异常。
在本发明提供的一个具体实施例中,在根据判断结果,获取所述特定时间段内的待检测流量数据和历史流量数据的步骤之前,还包括:实时采集用户终端的流量数据;按预设时间间隔对所述流量数据进行汇总并存储,形成历史流量数据。
在本发明中,需要实时采集用户终端的流量数据,在采集完历史流量数据后,可以按照预设时间间隔对历史流量数据进行汇总,其中,预设时间间隔可以与特定时间段的时间长度相等,例如,可以按照1分钟的时间间隔对流量数据进行汇总。也就是说将流量数据以时间为单位进行划分。
当需要检测的时间段的时间长度大于预设时间间隔时,可以将需要检测的时间段按预设时间间隔进行划分,分成多段特定时间段,分开检测;当需要检测的时间段的时间长度小于预设时间间隔时,可以直接利用本方法进行检测。
通过对数据流量按照时间间隔进行划分,便于后期对数据流量的提取。
在本发明中,在根据判断结果,获取所述特定时间段内的待检测流量数据和相应的历史流量数据时,可以分为以下两种情况:
第一种:特定时间段对应的日期是工作日,则相应的历史流量数据也必须是上一个工作日的流量数据,具体需要获取的历史流量数据包括以下几个方面:
获取用户终端在特定时间段对应的当前时间窗口的第一数据;其中,第一数据包含特定时间段内的待检测流量数据。
获取用户终端在特定时间段对应的上一周期时间窗口的第二数据;
获取用户终端在上一个工作日的当前时间窗口的第三数据;
获取用户终端在上一个工作日的上一周期时间窗口的第四数据。
其中,每个时间窗口可以包括多个连续的预设时间间隔,例如,预设时间间隔为1分钟,每个时间窗口可以是2分钟、3分钟或4分钟等中的一种。相应的,每个时间窗口的流量数据包括多个连续的预设时间间隔的流量数据。
其中,当前时间窗口是指将特定时间段作为最后一个时间间隔的时间窗口。例如,每个时间窗口包括4个预设时间间隔,每个时间间隔为1分钟,且特定时间段为第五分钟,则当前时间窗口就指2-5分钟的时间间隔。上一周期时间窗口是指除去特定时间段,将特定时间段的前一时间间隔作为最后一个时间间隔的时间窗口。例如,每个时间窗口包括4个预设时间间隔,每个时间间隔为1分钟,且特定时间段为第五分钟,则上一周期时间窗口就指1-4分钟的时间间隔。
上一个工作日的当前时间窗口是指在上一个工作日中,相同的时间点的当前时间窗口。例如,特定时间段对应的当前时间窗口为:9:31-9:35,则上一个工作日的当前时间窗口也是上一个工作日的9:31-9:35。上一个工作日的上一周期时间窗口是指上一个工作日中,与特定时间段的上一周期时间窗口相同的时间段。例如,特定时间段对应的上一周期时间窗口为:9:30-9:34;则上一个工作日的上一周期时间窗口也是上一个工作日的9:30-9:34。
其中,第一数据、第二数据、第三数据和第四数据中除了待检测流量数据,都为特定时间段对应的历史流量数据。
第二种:特定时间段对应的日期是非工作日,则相应的历史流量数据也必须是上一个非工作日的流量数据,具体需要获取的历史流量数据包括以下几个方面:
获取用户终端在特定时间段对应的当前时间窗口的第一数据;其中,第一数据包含特定时间段内的待检测流量数据;
获取用户终端在特定时间段对应的上一周期时间窗口的第二数据;
获取用户终端在上一个非工作日的当前时间窗口的第三数据;
获取用户终端在上一个非工作日的上一周期时间窗口的第四数据;
其中,第一数据、第二数据、第三数据和第四数据中除了待检测流量数据,都为特定时间段对应的历史流量数据。
其中,当前时间窗口和上一周期时间窗口与第一种方法中的定义相同。上一个非工作日的当前时间窗口是指在上一个非工作日中,相同的时间点的当前时间窗口。例如,特定时间段对应的当前时间窗口为:9:31-9:35,则上一个非工作日的当前时间窗口也是上一个工作日的9:31-9:35。上一个非工作日的上一周期时间窗口是指上一个非工作日中,与特定时间段的上一周期时间窗口相同的时间段。例如,特定时间段对应的上一周期时间窗口为:9:30-9:34;则上一个非工作日的上一周期时间窗口也是上一个非工作日的9:30-9:34。
因此,对于工作日和非工作日的流量数据,都可以进行精确的检测。其中,基于所述待检测流量数据和历史流量数据,利用时间窗口算法检测所述待检测流量数据是否存在异常,包括:根据所述第一数据、第二数据、第三数据和第四数据,检测所述待检测流量数据是否存在异常。
在本发明提供的一个具体实施例中,所述根据所述第一数据、第二数据、第三数据和第四数据,检测所述待检测流量数据是否存在异常,包括:对所述第一数据和第三数据进行时间窗纵向比较,获得第一纵向比较结果;对所述第二数据和第四数据进行时间窗纵向比较,获得第二纵向比较结果;根据所述第一纵向比较结果和第二纵向比较结果,判断所述待检测流量数据是否存在异常。
其中,根据所述第一纵向比较结果和第二纵向比较结果,判断所述待检测流量数据是否存在异常,可以包括:
对所述第一纵向比较结果和第二纵向比较结果进行横向对比,获得对比比值;判断所述对比比值是否大于预设阈值;若是,则判断所述待检测流量数据为异常流量;若否,则判断所述待检测流量数据正常。
不论对于工作日还是非工作日的流量数据,检测的方法相同。下面以示例解释具体计算过程。
示例:设每个时间窗口包括n个连续的预设时间间隔,则:
用户终端在特定时间段对应的当前时间窗口的第一数据,记为:x1t(1≤t≤n);用户终端在特定时间段对应的上一周期时间窗口的第二数据,记为:x2t(1≤t≤n);用户终端在上一个非工作日的当前时间窗口的第三数据,记为:y1t(1≤t≤n);用户终端在上一个非工作日的上一周期时间窗口的第四数据,记为:y2t(1≤t≤n)。n=4的流量数据如图3所示。
获得四个时间窗口的数据后,做如下计算:
其中,λ1的值反应当前时间窗和上一个工作日/非工作日的当前时间窗口流量的增幅情况,为第一纵向比较结果,而λ2反映的是上一周期两个时间窗口的增幅情况,为第二纵向比较结果,通过对比λ1和λ2的比值,得到对比比值λ,为横向比较结果,反映了一段时间来网络流量是否正常。
在本发明中,在根据对比比值判断网络流量是否异常时,可以采用阈值对比的方式进行。
具体为:判断所述对比比值是否大于预设阈值;若是,则判断待检测流量数据为异常流量;若否,则判断待检测流量数据正常。
判断完结果后,可以将判断结果输出给用户终端,以便用户及时了解网络情况。
相比于传统的网络流量异常检测方法,本发明采用基于时间窗的时间序列分析方法,能处理工作日和非工作日两种模式,且本发明同时考虑流量变化的横向对比和纵向对比,从而更精确的识别出流量是否偏离历史模式。
基于与上述一种确定网络流量异常行为的方法相同的发明构思,与之相对应的,本发明实施例还提供了一种确定网络流量异常行为的系统,如图4所示。由于系统实施例基本相似与方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本发明提供的一种确定网络流量异常行为的系统,包括:
日期判断模块101,用于判断特定时间段对应的日期是工作日还是非工作日;
流量获取模块102,用于根据判断结果,获取所述特定时间段内的待检测流量数据和相应的历史流量数据;
流量检测模块103,用于基于所述待检测流量数据和历史流量数据,利用时间窗口算法检测所述待检测流量数据是否存在异常。
在本发明提供的一个具体实施例中,所述系统,还包括:
流量采集模块,用于实时采集用户终端的流量数据;
汇总模块,用于按预设时间间隔对所述流量数据进行汇总并存储,形成历史流量数据。
在本发明提供的一个具体实施例中,若所述判断结果为特定时间段对应的日期是工作日,则流量获取模块102,包括:
第一数据获取单元,用于获取用户终端在特定时间段对应的当前时间窗口的第一数据;其中,第一数据包含特定时间段内的待检测流量数据;
第二数据获取单元,用于获取用户终端在特定时间段对应的上一周期时间窗口的第二数据;
第三数据获取单元,用于获取用户终端在上一个工作日的当前时间窗口的第三数据;
第四数据获取单元,用于获取用户终端在上一个工作日的上一周期时间窗口的第四数据;
所述流量检测模块103,包括:流量检测单元;
所述流量检测单元用于根据所述第一数据、第二数据、第三数据和第四数据,检测所述待检测流量数据是否存在异常。
在本发明提供的一个具体实施例中,若所述判断结果为特定时间段对应的日期是非工作日,则流量获取模块102,包括:
第一数据获取单元,还用于获取用户终端在特定时间段对应的当前时间窗口的第一数据;其中,第一数据包含特定时间段内的待检测流量数据;
第二数据获取单元,还用于获取用户终端在特定时间段对应的上一周期时间窗口的第二数据;
第三数据获取单元,还用于获取用户终端在上一个非工作日的当前时间窗口的第三数据;
第四数据获取单元,还用于获取用户终端在上一个非工作日的上一周期时间窗口的第四数据;
所述流量检测模块103,包括:流量检测单元;
所述流量检测单元用于根据所述第一数据、第二数据、第三数据和第四数据,检测所述待检测流量数据是否存在异常。
在本发明提供的一个具体实施例中,所述流量检测单元,包括:
第一纵向比较子单元,用于对所述第一数据和第三数据进行时间窗纵向比较,获得第一纵向比较结果;
第二纵向比较子单元,用于对所述第二数据和第三数据进行时间窗纵向比较,获得第二纵向比较结果;
判断子单元,用于根据所述第一纵向比较结果和第二纵向比较结果,判断所述待检测流量数据是否存在异常。
在本发明提供的一个具体实施例中,所述判断子单元,具体用于:
对所述第一纵向比较结果和第二纵向比较结果进行横向对比,获得对比比值;
判断所述对比比值是否大于预设阈值;
若是,则判断所述待检测流量数据为异常流量;
若否,则判断所述待检测流量数据正常。
在本发明提供的一个具体实施例中,所述特定时间段为当日当前预设时间段。
以上,为本发明提供的一种确定网络流量异常行为的系统。
基于与上述一种确定网络流量异常行为的方法相同的发明构思,与之相对应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述一种确定网络流量异常行为的方法。
由上述技术方案可知,本实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,通过判断特定时间段对应的日期是工作日还是非工作日,根据判断结果,获取特定时间段内的待检测流量数据和相应的历史流量数据;基于待检测流量数据和历史流量数据,利用时间窗口算法能够检测待检测流量数据是否存在异常,相比于传统的网络流量异常检测方法,采用基于时间窗的时间序列分析方法,能处理工作日和非工作日两种模式,且本发明同时考虑流量变化的横向对比和纵向对比,从而更精确的识别出流量是否偏离历史模式。
基于与上述一种确定网络流量异常行为的方法相同的发明构思,与之相对应的,本发明实施例还提供了一种确定网络流量异常行为的设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种确定网络流量异常行为的方法。
由上述技术方案可知,本实施例提供的一种确定网络流量异常行为的设备,通过判断特定时间段对应的日期是工作日还是非工作日,根据判断结果,获取特定时间段内的待检测流量数据和相应的历史流量数据;基于待检测流量数据和历史流量数据,利用时间窗口算法能够检测待检测流量数据是否存在异常,相比于传统的网络流量异常检测方法,采用基于时间窗的时间序列分析方法,能处理工作日和非工作日两种模式,且本发明同时考虑流量变化的横向对比和纵向对比,从而更精确的识别出流量是否偏离历史模式。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。