CN115643193A - 一种网络流量异常检测方法、装置、设备及介质 - Google Patents

一种网络流量异常检测方法、装置、设备及介质 Download PDF

Info

Publication number
CN115643193A
CN115643193A CN202211293516.0A CN202211293516A CN115643193A CN 115643193 A CN115643193 A CN 115643193A CN 202211293516 A CN202211293516 A CN 202211293516A CN 115643193 A CN115643193 A CN 115643193A
Authority
CN
China
Prior art keywords
network traffic
value
data
network
predicted value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211293516.0A
Other languages
English (en)
Inventor
梁艾青
刘博�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202211293516.0A priority Critical patent/CN115643193A/zh
Publication of CN115643193A publication Critical patent/CN115643193A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种网络流量异常检测方法、装置、设备及介质,涉及计算机技术领域,包括:获取待检测的网络流量数据,并利用指数平滑方法对网络流量数据进行计算加权平均计算以得到网络流量在下一时间点的预测值;基于预先设置的滑动时间窗口大小确定当前业务周期值,利用指数平滑法预测与当前业务周期值对应的业务周期因子;基于下一时间点的预测值、滑动时间窗口大小和业务周期因子对未来预设数量个周期后的网络流量进行预测,并对网络流量预测值与对应的网络流量观测值进行评价得到评分值;判断评分值是否超过预设评分阈值,若是则判定网络流量数据中存在异常网络流量数据,并输出异常网络流量数据。能够对周期性变换的网络进行异常检测。

Description

一种网络流量异常检测方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,特别涉及一种网络流量异常检测方法、装置、设备及介质。
背景技术
指数平滑法是生产预测中常用的一种方法。也用于中短期经济发展趋势预测,所有预测方法中,指数平滑是用得最多的一种,简单的全期平均法是对时间数列的过去数据一个不漏地全部加以同等利用;移动平均法则不考虑较远期的数据,并在加权移动平均法中给予近期资料更大的权重;而指数平滑法则兼容了全期平均和移动平均所长,不舍弃过去的数据,但是仅给予逐渐减弱的影响程度,即随着数据的远离,赋予逐渐收敛为零的权数。也就是说指数平滑法是在移动平均法基础上发展起来的一种时间序列分析预测法,它是通过计算指数平滑值,配合一定的时间序列预测模型对现象的未来进行预测。其原理是任一期的指数平滑值都是本期实际观察值与前一期指数平滑值的加权平均。
据平滑次数不同,指数平滑法分为:一次指数平滑法、二次指数平滑法和三次指数平滑法等,基本思想都是:预测值是以前观测值的加权和,且对不同的数据给予不同的权,新数据给较大的权,旧数据给较小的权。指数平滑方法的选用一般可根据原数列散点图呈现的趋势来确定,如呈现直线趋势,选用二次指数平滑法;如呈现抛物线趋势,选用三次指数平滑法;或者,当时间序列的数据经二次指数平滑处理后,仍有曲率时,应用三次指数平滑法。在指数平滑法的计算中,关键是指数系数的取值大小,但指数系数的取值又容易受主观影响,因此合理确定指数系数的取值十分重要,一般情况下,如果数据波动较大,指数系数应取较大的值,以增加近期数据对预测结果的影响;如果数据波动平稳,指数系数的取值应取较小一些。
然而传统的单层或浅层统计函数模型,如一次指数平滑、平均移动模型等,由于统计层次低,可学习参数量少,所以难以适用于周期变化规律的业务场景,如昼夜型、业务特殊时段产生的网络攻击变化。而更高级的人工智能或机器学习方法,对于网络流量这类连续信号,除了需求解参数量大、算法复杂度高、计算资源开销大外,通常需要一定的连续信号抽样样本,进行数据集的积累实现模型的泛化,并且检出效果需花大量人力在专有业务场景中不断调整部分超参数,这对于实时性要求高,且兼有其他业务的态势感知系统,大型AI模型部署并不现实。
综上,如何对带有业务场景周期性的网络流量进行异常检测,并提高检测的鲁棒性是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种网络流量异常检测方法、装置、设备及介质,能够对带有业务场景周期性的网络流量进行异常检测,并提高检测的鲁棒性。其具体方案如下:
第一方面,本申请公开了一种网络流量异常检测方法,包括:
获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;
基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;
基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;
判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。
可选的,所述获取待检测的网络流量数据,包括:
获取不同场景类型下的待检测的网络流量数据;其中,所述场景类型包括网络会话波动场景、网络故障场景、服务器通信场景、服务器宕机场景和DDOS攻击场景中的任意一种或几种场景类型。
可选的,所述基于预先设置的滑动时间窗口大小确定当前业务周期值,包括:
确定当前场景类型下的业务环境参数;
基于预先设置的滑动时间窗口大小和所述业务环境参数确定出当前业务周期值。
可选的,所述利用指数平滑方法对所述网络流量数据进行加权平均计算,包括:
利用指数平滑方法并基于第一指数系数对所述网络流量数据进行加权平均计算;
相应的,所述利用指数平滑法预测与所述当前业务周期值对应的业务周期因子,包括:
利用指数平滑法并基于第二指数系数预测与所述当前业务周期值对应的业务周期因子。
可选的,所述基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,包括:
根据当前业务环境确定是否引入趋势因子;所述趋势因子中包括第三指数系数;
若引入,则基于所述趋势因子、下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值。
可选的,所述网络流量异常检测方法,还包括:
预先获取不同场景下的网络流量训练数据,并利用指数平滑方法对所述网络流量训练数据进行预测以确定出包括所述第一指数系数、所述第二指数系数和所述第三指数系数的训练数据预测值;
确定所述训练数据预测值和对应训练数据观测值之间的预测误差,并基于所述预测误差利用基于随机梯度下降法的网格搜索方法进行求解,以确定出与预测误差最小值对应的所述第一指数系数、所述第二指数系数和所述第三指数系数的取值。
可选的,所述输出所述异常网络流量数据,包括:
确定与所述异常网络流量数据对应的目标时间点,并按照预先设置的异常等级划分规则确定出与所述评分值对应的异常等级;
输出包括所述异常流量数据、所述目标时间点和所述异常等级的数据信息,并按照预设显示规则对所述数据信息进行可视化展示。
第二方面,本申请公开了一种网络流量异常检测装置,包括:
第一指数平滑处理模块,用于获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;
第二指数平滑处理模块,用于基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;
网络流量预测模块,用于基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;
异常检测模块,用于判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的网络流量异常检测方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的网络流量异常检测方法的步骤。
可见,本申请获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。由此可见,本申请先通过指数平滑方法获取到下一时间点的网络流量的预测值,以及基于滑动时间窗口大小利用指数平滑法预测业务周期因子,再进一步对未来预设数量个周期的网络流量进行预测得到网络流量预测值,然后对网络流量预测值与实际的网络流量观测值进行评价得到评分值,并判断评分值是否超过预设评分阈值,若超过,则判定存在异常网络流量数据,并输出。如此一来,通过利用指数平滑法能够对带有业务场景周期性的网络流量进行异常检测,并提高检测的鲁棒性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种网络流量异常检测方法流程图;
图2为本申请公开的一种具体的网络流量异常检测方法流程图;
图3为本申请公开的一种具体的指数平滑模型结构示意图;
图4为本申请公开的一种网络流量异常检测装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,传统的单层或浅层统计函数模型,如一次指数平滑、平均移动模型等,由于统计层次低,可学习参数量少,所以难以适用于周期变化规律的业务场景,如昼夜型、业务特殊时段产生的网络攻击变化。而更高级的人工智能或机器学习方法,对于网络流量这类连续信号,除了需求解参数量大、算法复杂度高、计算资源开销大外,通常需要一定的连续信号抽样样本,进行数据集的积累实现模型的泛化,并且检出效果需花大量人力在专有业务场景中不断调整部分超参数,这对于实时性要求高,且兼有其他业务的态势感知系统,大型AI模型部署并不现实。为此,本申请实施例公开了一种网络流量异常检测方法、装置、设备及介质,能够对带有业务场景周期性的网络流量进行异常检测,并提高检测的鲁棒性。
参见图1所示,本申请实施例公开了一种网络流量异常检测方法,该方法包括:
步骤S11:获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值。
本实施例中,首先获取到待检测的网络流量数据,可选的网络流量数据集可以包括域名请求数的异常检测、网址访问失败的异常检测、网络会话数的异常检测、inBound流量的异常检测。此外,需要对网络流量数据进行向量化,将时间点t的网络流量记为St,再利用指数平滑方法对网络流量数据进行加权平均计算以得到网络流量在下一时间点的预测值,即取所有过去网络流量观测值的加权平均值,并将其用作为当前分布平均值的预测,并记为
Figure BDA0003902153670000061
步骤S12:基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子。
本实施例中,基于预先设置的滑动时间窗口大小确定出当前业务周期值,其中,滑动时间窗口(即WindowSize)是用户自行设置的,例如可以设置为30天、7天、1天等。再利用指数平滑法预测与当前业务周期因子对应的业务周期因子。需要指出的是,根据实际业务环境,引入趋势及业务周期因素影响因子,并建立乘法/加法模型。如果周期性模式与业务环境的网络流量水平无关,则选用加法模型,大多数情况下,周期性模式与业务环境的网络流量水平,更适合用乘法模型作为态势感知系统的默认算法。
步骤S13:基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值。
本实施例中,基于下一时间点的预测值、滑动时间窗口大小和业务周期因子可以对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,再确定与网络流量预测值对应的网络流量观测值,也即实际的网络流量。然后对网络流量预测值和网络流量观测值进行评价,得到评价值。
步骤S14:判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。
本实施例中,判断评价值是否超过预设评分阈值,具体的,预设评分阈值可以设置为0.5,若超过了这个阈值,这可以判定网络流量数据中存在异常网络流量数据,并进行输出。
进一步的,上述输出所述异常网络流量数据,包括:确定与所述异常网络流量数据对应的目标时间点,并按照预先设置的异常等级划分规则确定出与所述评分值对应的异常等级;输出包括所述异常流量数据、所述目标时间点和所述异常等级的数据信息,并按照预设显示规则对所述数据信息进行可视化展示。也即,判定存在异常网络流量数据后,还可以进一步确定该异常发生的目标时间点,以及按照预先设置的异常等级划分规则确定出与评分值对应的异常等级。需要指出的是,可以将评分最大值与预设评分阈值之间分为三等份,分别为0:无异常;1:一般异常,并显示黄色预警;2:中毒异常,并显示橘黄色预警;3:严重异常,并显示红色预警。然后输出包括异常流量数据、目标时间点和异常等级的数据信息,此外还可以输出网络流量数据的时间序列、参考中间指标,异常点特征向量矩阵等数据,其中,特征向量矩阵中还可以包括主成分个数、主成分贡献占比、主成分特征值列表等数据。最后按照预设显示规则对上述数据信息进行可视化展示,具体的,将真实数据异常检测的评分值通过折线图、柱状图、泳道图可视化展示。
可见,本申请获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。由此可见,本申请先通过指数平滑方法获取到下一时间点的网络流量的预测值,以及基于滑动时间窗口大小利用指数平滑法预测业务周期因子,再进一步对未来预设数量个周期的网络流量进行预测得到网络流量预测值,然后对网络流量预测值与实际的网络流量观测值进行评价得到评分值,并判断评分值是否超过预设评分阈值,若超过,则判定存在异常网络流量数据,并输出。如此一来,通过利用指数平滑法能够对带有业务场景周期性的网络流量进行异常检测,并提高检测的鲁棒性。
参见图2所示,本申请实施例公开了一种具体的网络流量异常检测方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体包括:
步骤S21:获取不同场景类型下的待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值。
本实施例中,可以获取到不同场景类型下的待检测的网络流量数据,其中,场景类型包括网络会话波动场景、网络故障场景、服务器通信场景、服务器宕机场景和DDOS攻击场景中的任意一种或几种场景类型。例如,对于网络会话波动场景和网络故障场景而言,可以对镜像流量网络流会话统计进行时间序列分析预测,检出网络会话波动乃至故障,重点发现潜在可能引起上述问题的入侵攻击行为;对于服务器通信场景而言,可以对原始日志主机请求域名数进行统计,检出由恶意软件发起,如通过DGA技术等藏在正常的请求中进行通信的大量域名解析等异常请求行为;对于服务器宕机场景以及组件故障检测场景或恶意扫描攻击检测场景而言,可以对网站返回响应码不成功的原始日志进行统计,并基于已有时间序列数据进行分析预测,及时检出服务器自身异常或恶意扫描攻击;对于DDOS(即分布式拒绝服务攻击)攻击场景,可以对入站通流量时间序列进行分析预测,针对DDOS攻击产生极高流量峰值特点,及时检出DDOS攻击。
进一步的,需要指出的是,上述利用指数平滑方法对所述网络流量数据进行加权平均计算,包括:利用指数平滑方法并基于第一指数系数对所述网络流量数据进行加权平均计算以得到网络流量在下一时间点的预测值,其中指数平滑方法具体可以为三重指数平滑(即Triple Exponential Smoothing)。具体的,可以参加图3中所示,图3为本申请公开的一种具体的指数平滑模型结构示意图,本实施例中,可以取本期实际观察值与前一期指数平滑值的加权平均,其表达式如下:
Figure BDA0003902153670000091
其中,
Figure BDA0003902153670000092
为预测值,St为本期实际观察值,
Figure BDA0003902153670000093
为前一期指数平滑值,A为第一指数系数,A∈[0,1];
另外,令
Figure BDA0003902153670000094
由此可得:
Figure BDA0003902153670000095
此时的
Figure BDA0003902153670000096
为E(S)的无偏估计量,则任一周期的预测为:
Figure BDA0003902153670000097
当M→∞,
Figure BDA0003902153670000098
则有
Figure BDA0003902153670000099
故当随机过程非平稳时,E(S)作为
Figure BDA00039021536700000910
的无偏估计是非严格成立。
需要指出的是,第一指数系数的取值非常重要,在一些具体实施方式中,可以根据经验判断法进行判断,这种方法主要依赖于时间序列的发展趋势和预测者的经验做出判断,例如,当时间序列呈现较稳定的水平趋势时,应选较小的A值,一般可在0.05~0.20之间取值;当时间序列有波动,但长期趋势变化不大时,可选稍大的A值,常在0.1~0.4之间取值;当时间序列波动很大,长期趋势变化幅度较大,呈现明显且迅速的上升或下降趋势时,宜选择较大的A值,如可在0.6~0.8间选值,以使预测模型灵敏度高些,能迅速跟上数据的变化;当时间序列数据是上升(或下降)的发展趋势类型,A应取较大的值,在0.6~1之间。在另一些具体实施方式中,还可使用试算法,即根据具体时间序列情况,参照经验判断法,来大致确定额定的取值范围,然后取几个A值进行试算,比较不同A值下的预测标准误差,选取预测标准误差最小的A。在实际应用中预测者应结合对预测对象的变化规律做出定性判断且计算预测误差,并要考虑到预测灵敏度和预测精度是相互矛盾的,必须给予二者一定的考虑,采用折中的A值。
步骤S22:确定当前场景类型下的业务环境参数,并基于预先设置的滑动时间窗口大小和所述业务环境参数确定出当前业务周期值,以及利用指数平滑法预测与所述当前业务周期值对应的业务周期因子。
本实施例中,将当前场景类型下的业务环境参数记为p,并基于滑动时间窗口大小和业务环境参数确定出当前业务周期值L,业务周期可以是季度、年度、非自然历法生产周期规律等等,具体表达式为:
L=p*WindowSize;
进一步的,上述利用指数平滑法预测与所述当前业务周期值对应的业务周期因子,包括:利用指数平滑法并基于第二指数系数预测与所述当前业务周期值对应的业务周期因子Ft,具体表达式为:
Figure BDA0003902153670000101
其中,第二指数系数B∈[0,1],Ft-L为上一窗口估计值。
进一步的,带有当前业务周期值的预测值
Figure BDA0003902153670000102
为:
Figure BDA0003902153670000103
则向后一个周期的预测St,1为:
Figure BDA0003902153670000104
向后T个周期的预测St,T为:
Figure BDA0003902153670000105
其中,T≤L3
其中,令
Figure BDA0003902153670000106
J是小于或等于M/L的最大整数,则根据有变量、指数系数A和B以及预测初始条件的所有过去观测值的函数Ft
Figure BDA0003902153670000107
为:
Figure BDA0003902153670000108
Figure BDA0003902153670000109
可以理解的是,
Figure BDA00039021536700001010
的影响通常比初始F的影响衰减得更快,因为
Figure BDA00039021536700001011
在每个WindowSize周期都会被修正,但Ft在每个周期L只修正一次。
步骤S23:根据当前业务环境确定是否引入趋势因子;所述趋势因子中包括第三指数系数。
本实施例中,根据当前业务环境确定是否引入趋势因子,如果这种具有周期性但无趋势影响的预测模型应用于平均值受长期和短期系统变化或趋势影响的网络流量时间序列,则周期性因素F将很快不再是简单的周期性因素,其中会包含一些趋势影响纳入的噪声。故若业务环境的网络流量中存在具有线性趋势影响,如随着时间公司扩张,业务增加网络流量增大等,则须引入特定的趋势因子R:
Figure BDA0003902153670000111
其中,第三指数系数C∈[0,1]。
另外,上述方法还包括:预先获取不同场景下的网络流量训练数据,并利用指数平滑方法对所述网络流量训练数据进行预测以确定出包括所述第一指数系数、所述第二指数系数和所述第三指数系数的训练数据预测值;确定所述训练数据预测值和对应训练数据观测值之间的预测误差,并基于所述预测误差利用基于随机梯度下降法的网格搜索方法进行求解,以确定出与预测误差最小值对应的所述第一指数系数、所述第二指数系数和所述第三指数系数的取值。也即,本申请通过预先的训练数据确定出第一指数系数、第二指数系数和第三指数系数的取值,首先确定出训练数据预测值和对应训练数据观测值之间的预测误差et,T
et,T=St+T-St,T;其中,St,T为训练数据预测值,St+T为训练数据观测值。
那么,一个时间窗口内,预测标准误差为:
Figure BDA0003902153670000112
其中,N为观测值数量,而在最近的未来近期网络流量预测值的准确性最重要,而长远未来重要性不断下降,则据此策略对预测值误差进行加权有函数U:
Figure BDA0003902153670000113
其中a1>a2>a3
本实施例中,由于待确定的参数不止一个,需要利用基于随机梯度下降法的网格搜索方法进行求解,先使用随机梯度下降方法,一定的步长最小值下,求解出多个局部最优解的范围。若网络总流量可分为多个不同子类型,则使用网格穷举调参循环遍历每个自由超参数在“平坦”区(即学习步长较小)的每一种可能性,每组参数值都会得到对应的一个模型,根据目标函数,选用观测值与预测值误差最小的解作为最优参数。
步骤S24:若引入,则基于所述趋势因子、下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值。
本实施例中,通过引入趋势因子后,则基于趋势因子、下一时间点的预测值、滑动时间窗口大小和业务周期因子对未来T个周期后的网络流量进行预测得到网络流量预测值,其表达式为:
Figure BDA0003902153670000121
其中,T=1,2,…,L。
需要指出的是,在引入趋势因子后,各初始值的确定方式如下:
记某指标特统计周期D=WindowSize,令
Figure BDA0003902153670000122
Figure BDA0003902153670000123
F和R的初始值,然后在网络流量时间序列的第一个部分(即t=1,2,…H)上使用指数模型,与第二部分中使用的方式相同,此时没有进行预测,因此没有对预测误差进行测量。然后,再将
Figure BDA0003902153670000124
F和R的值视为序列第二个部分(即t=H+1,H+2,…,L)的初始值,进行预测并计算误差。为了尽可能消除任意选择的初始值的影响,增加了两次使用序列第一部分的复杂性。在业务周期因子F的情况下,因为每个F只在每个L重新计算一次;随着权重变小,它对于每个因子的指数平滑、周期性、趋势性特征变得越来越重要。初始化的公式如下:
计算每个业务大周期中每个事件窗口的平均网络流量Vi,i标识每个大周期;
Rlast为统计开始时第一个大周期和当前大周期的平均趋势,其前向估计:
Figure BDA0003902153670000125
计算每个时间窗口中的周期性因子,在网络流量时间序列的第一个部分(即t=1,2,…H)作为该时期实际网络流量与该周期经周期性调整的平均网络流量的比率,并进一步使用趋势因子Rlast调整,则有:
Figure BDA0003902153670000126
j=1,2,…,L;
对每个初始周期中相应时间窗口的周期性因素进行平均,以获得一个业务周期中每个时间窗口的周期性因素;
最后,为了确保在一个周期内,周期性因素只会进行周期性调整,而不会增加或减少网络流量的平均水平,对周期性数据进行归一化处理:
Figure BDA0003902153670000131
步骤S25:判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。
其中,关于上述步骤S25更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例中通过中短期趋势预测的指数平滑法通过将接收的网络流量及其报文内容过滤筛查后进行分析,以将统计学模型应用至网络安全领域,进而实现流量数据预测分析检出异常告警。三重指数平滑能够很好解决周期性变动因素与趋势成分问题,这通常用于要从所研究的时间序列中去除高频信号的问题,该方法可通过增加近期观察值的权重,加强观察期近期观察值对预测值的作用,同时可控制权重的变化速率,对带有业务场景中短期的检测精度优于现有方法。并且在多个参数的求解中,使用随机梯度下降网格搜索算法能够提高计算的准确性法,还能在计算资源开销较少的情况下,根据特殊业务的网络流量,以及不同类型的网络流量,有效求解出多个参数全局最优解。此外,可以灵活配置不同实时网络数据集进行模型训练及异常检测。如此一来,本方案提高了对带有业务场景周期性的网络流量时间序列异常数据检测的鲁棒性。
参见图4所示,本申请实施例公开了一种网络流量异常检测装置,该装置包括:
第一指数平滑处理模块11,用于获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;
第二指数平滑处理模块12,用于基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;
网络流量预测模块13,用于基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;
异常检测模块14,用于判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。
可见,本申请获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。由此可见,本申请先通过指数平滑方法获取到下一时间点的网络流量的预测值,以及基于滑动时间窗口大小利用指数平滑法预测业务周期因子,再进一步对未来预设数量个周期的网络流量进行预测得到网络流量预测值,然后对网络流量预测值与实际的网络流量观测值进行评价得到评分值,并判断评分值是否超过预设评分阈值,若超过,则判定存在异常网络流量数据,并输出。如此一来,通过利用指数平滑法能够对带有业务场景周期性的网络流量进行异常检测,并提高检测的鲁棒性。
图5为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的网络流量异常检测方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的网络流量异常检测方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由网络流量异常检测过程中执行的方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种网络流量异常检测方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种网络流量异常检测方法,其特征在于,包括:
获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;
基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;
基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;
判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。
2.根据权利要求1所述的网络流量异常检测方法,其特征在于,所述获取待检测的网络流量数据,包括:
获取不同场景类型下的待检测的网络流量数据;其中,所述场景类型包括网络会话波动场景、网络故障场景、服务器通信场景、服务器宕机场景和DDOS攻击场景中的任意一种或几种场景类型。
3.根据权利要求2所述的网络流量异常检测方法,其特征在于,所述基于预先设置的滑动时间窗口大小确定当前业务周期值,包括:
确定当前场景类型下的业务环境参数;
基于预先设置的滑动时间窗口大小和所述业务环境参数确定出当前业务周期值。
4.根据权利要求1所述的网络流量异常检测方法,其特征在于,所述利用指数平滑方法对所述网络流量数据进行加权平均计算,包括:
利用指数平滑方法并基于第一指数系数对所述网络流量数据进行加权平均计算;
相应的,所述利用指数平滑法预测与所述当前业务周期值对应的业务周期因子,包括:
利用指数平滑法并基于第二指数系数预测与所述当前业务周期值对应的业务周期因子。
5.根据权利要求4所述的网络流量异常检测方法,其特征在于,所述基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,包括:
根据当前业务环境确定是否引入趋势因子;所述趋势因子中包括第三指数系数;
若引入,则基于所述趋势因子、下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值。
6.根据权利要求5所述的网络流量异常检测方法,其特征在于,还包括:
预先获取不同场景下的网络流量训练数据,并利用指数平滑方法对所述网络流量训练数据进行预测以确定出包括所述第一指数系数、所述第二指数系数和所述第三指数系数的训练数据预测值;
确定所述训练数据预测值和对应训练数据观测值之间的预测误差,并基于所述预测误差利用基于随机梯度下降法的网格搜索方法进行求解,以确定出与预测误差最小值对应的所述第一指数系数、所述第二指数系数和所述第三指数系数的取值。
7.根据权利要求1至6任一项所述的网络流量异常检测方法,其特征在于,所述输出所述异常网络流量数据,包括:
确定与所述异常网络流量数据对应的目标时间点,并按照预先设置的异常等级划分规则确定出与所述评分值对应的异常等级;
输出包括所述异常流量数据、所述目标时间点和所述异常等级的数据信息,并按照预设显示规则对所述数据信息进行可视化展示。
8.一种网络流量异常检测装置,其特征在于,包括:
第一指数平滑处理模块,用于获取待检测的网络流量数据,并利用指数平滑方法对所述网络流量数据进行加权平均计算,以得到网络流量在下一时间点的预测值;
第二指数平滑处理模块,用于基于预先设置的滑动时间窗口大小确定当前业务周期值,并利用指数平滑法预测与所述当前业务周期值对应的业务周期因子;
网络流量预测模块,用于基于下一时间点的预测值、所述滑动时间窗口大小和所述业务周期因子对未来预设数量个周期后的网络流量进行预测得到网络流量预测值,并对所述网络流量预测值与对应的网络流量观测值进行评价得到评分值;
异常检测模块,用于判断所述评分值是否超过预设评分阈值,若超过,则判定所述网络流量数据中存在异常网络流量数据,并输出所述异常网络流量数据。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的网络流量异常检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的网络流量异常检测方法的步骤。
CN202211293516.0A 2022-10-21 2022-10-21 一种网络流量异常检测方法、装置、设备及介质 Pending CN115643193A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211293516.0A CN115643193A (zh) 2022-10-21 2022-10-21 一种网络流量异常检测方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211293516.0A CN115643193A (zh) 2022-10-21 2022-10-21 一种网络流量异常检测方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115643193A true CN115643193A (zh) 2023-01-24

Family

ID=84944216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211293516.0A Pending CN115643193A (zh) 2022-10-21 2022-10-21 一种网络流量异常检测方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115643193A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115859209A (zh) * 2023-02-08 2023-03-28 烟台市福山区动物疫病预防控制中心 基于饲料消耗数据的畜牧业家禽养殖异常识别方法
CN117527625A (zh) * 2024-01-08 2024-02-06 长春市联心花信息科技有限公司 一种网络流量数据采集、大数据分析及可视化呈现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115859209A (zh) * 2023-02-08 2023-03-28 烟台市福山区动物疫病预防控制中心 基于饲料消耗数据的畜牧业家禽养殖异常识别方法
CN117527625A (zh) * 2024-01-08 2024-02-06 长春市联心花信息科技有限公司 一种网络流量数据采集、大数据分析及可视化呈现方法

Similar Documents

Publication Publication Date Title
CN115643193A (zh) 一种网络流量异常检测方法、装置、设备及介质
CN108667856B (zh) 一种网络异常检测方法、装置、设备及存储介质
CN106951984B (zh) 一种系统健康度动态分析预测方法及装置
CN108038044B (zh) 一种面向连续被监测对象的异常检测方法
US20110161048A1 (en) Method to Optimize Prediction of Threshold Violations Using Baselines
CN102082703A (zh) 业务支撑系统设备性能监控的方法及装置
CN110083507B (zh) 关键性能指标分类方法及装置
US20230018908A1 (en) Feedback-based control system for software defined networks
CN107135230B (zh) 一种基于infigarch模型的网络流量异常检测方法及设备
CN112907128A (zh) 基于ab测试结果的数据分析方法、装置、设备及介质
CN111444233B (zh) 基于复制器神经网络模型发现环境监测异常数据的方法
US20230203753A1 (en) Method and apparatus for anomaly detection on a doctor blade of a papermaking machine, and computing device
CN114301803B (zh) 网络质量检测方法、装置、电子设备及存储介质
Yang et al. An adaptive IoT network security situation prediction model
CN114547145A (zh) 一种时序数据异常检测方法、系统、存储介质及设备
CN109768995B (zh) 一种基于循环预测和学习的网络流量异常检测方法
CN111178421B (zh) 检测用户状态的方法、装置、介质以及电子设备
JP2010152431A (ja) 不正アクセス検知装置及び不正アクセス検知プログラム及び記録媒体及び不正アクセス検知方法
Bektemyssova et al. Time series forecasting by the arima method
CN115378928B (zh) 基于云服务的监控方法及系统
CN115134386B (zh) 一种物联网态势感知系统、方法、设备及介质
US11614560B2 (en) Integration of physical sensors in a data assimilation framework
CN113364699B (zh) 基于多尺度自相似特性的云数据流量管控方法和系统
CN110855650B (zh) 一种非法文件上传检测方法
CN114358581A (zh) 性能指标的异常阈值确定方法和装置、设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination