掌桥专利:专业的专利平台
掌桥专利
首页

网络流量异常检测方法、装置、可读存储介质及终端设备

文献发布时间:2024-04-18 20:02:40


网络流量异常检测方法、装置、可读存储介质及终端设备

技术领域

本申请属于异常检测技术领域,尤其涉及一种网络流量异常检测方法、装置、计算机可读存储介质及终端设备。

背景技术

网络流量异常检测是指通过对网络中的数据流量进行监测和分析,识别出与正常行为不符的异常流量模式的过程。网络流量异常检测在网络安全领域中起着至关重要的作用,通过网络流量异常检测,可以帮助发现潜在的网络攻击、恶意行为或者系统故障。

然而,现有技术中的网络流量异常检测方法仅能检测已知攻击,而无法检测新型未知攻击,导致网络流量异常检测方法无法满足实际应用场景的需求,影响用户体验。

发明内容

有鉴于此,本申请实施例提供了一种网络流量异常检测方法、装置、计算机可读存储介质及终端设备,以解决现有技术中的网络流量异常检测方法无法检测新型未知攻击,导致网络流量异常检测方法无法满足实际应用场景的需求,影响用户体验的问题。

本申请实施例的第一方面提供了一种网络流量异常检测方法,可以包括:

获取待检测的目标网络流量数据;

利用预设的网络流量异常检测模型,对所述目标网络流量数据进行网络流量异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果;

其中,所述网络流量异常检测模型为基于在线学习的用于进行网络流量异常检测的人工智能模型。

在第一方面的一种具体实现方式中,所述网络流量异常检测模型包括预设的数据预处理模块和预设的异常检测模块;

所述利用预设的网络流量异常检测模型,对所述目标网络流量数据进行网络流量异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果,可以包括:

利用所述数据预处理模块,对所述目标网络流量数据进行数据预处理,得到预处理后的目标网络流量数据;

利用所述异常检测模块,对预处理后的目标网络流量数据进行异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果。

在第一方面的一种具体实现方式中,所述异常检测模块可以包括预设的自编码器,所述自编码器包括预设的编码器和解码器;

所述利用所述异常检测模块,对预处理后的目标网络流量数据进行异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果,可以包括:

利用所述编码器和所述解码器,分别对预处理后的目标网络流量数据进行特征提取,得到编码器输出特征和解码器输出特征;

根据所述编码器输出特征和所述解码器输出特征,对预处理后的目标网络流量数据进行异常检测决策,得到所述目标网络流量数据对应的网络流量异常检测结果。

在第一方面的一种具体实现方式中,所述根据所述编码器输出特征和所述解码器输出特征,对预处理后的目标网络流量数据进行异常检测决策,得到所述目标网络流量数据对应的网络流量异常检测结果,可以包括:

计算所述编码器输出特征与预设的平均正常特征之间的第一特征相似度;其中,所述平均正常特征为预设的各个正常数据的特征的平均值;

根据预设的第一高斯分布和第二高斯分布,分别计算所述第一特征相似度对应的第一概率和第二概率;其中,所述第一高斯分布为反映正常网络流量数据特征的高斯分布,所述第二高斯分布为反映异常网络流量数据特征的高斯分布,所述第一概率为所述第一特征相似度属于所述第一高斯分布的概率,所述第二概率为所述第一特征相似度属于所述第二高斯分布的概率;

根据所述第一概率和所述第二概率,确定所述编码器输出特征对应的第一检测结果;

计算所述解码器输出特征与所述平均正常特征之间的第二特征相似度;

根据所述第一高斯分布和所述第二高斯分布,分别计算所述第二特征相似度对应的第三概率和第四概率;其中,所述第三概率为所述第二特征相似度属于所述第一高斯分布的概率,所述第四概率为所述第二特征相似度属于所述第二高斯分布的概率;

根据所述第三概率和所述第四概率,确定所述解码器输出特征对应的第二检测结果;

根据所述第一检测结果的置信度和所述第二检测结果的置信度,确定所述目标网络流量数据对应的网络流量异常检测结果。

在第一方面的一种具体实现方式中,所述利用所述数据预处理模块,对所述目标网络流量数据进行数据预处理,得到预处理后的目标网络流量数据,可以包括:

若目标数据属性为连续属性,则利用所述数据预处理模块对所述目标数据属性进行归一化,得到归一化属性;其中,所述目标数据属性为所述目标网络流量数据的各个数据属性中的任意一个数据属性;

若所述目标数据属性为离散属性,则利用所述数据预处理模块对所述目标数据属性进行编码,得到编码属性;

根据各个归一化属性和各个编码属性,得到预处理后的目标网络流量数据。

在第一方面的一种具体实现方式中,所述网络流量异常检测模型的训练过程可以包括:

获取预设的网络流量异常检测训练样本集;其中,所述网络流量异常检测训练样本集中包括预设数目的正例训练样本和负例训练样本;

根据所述网络流量异常检测训练样本集和预设的损失函数,对所述人工智能模型进行训练,得到所述网络流量异常检测模型;其中,所述损失函数用于吸引正例训练样本对和排斥负例训练样本对。

在第一方面的一种具体实现方式中,所述网络流量异常检测模型的在线学习过程可以包括:

获取在线学习训练样本集;

根据所述在线学习训练样本集,对所述网络流量异常检测模型进行更新,得到更新后的所述网络流量异常检测模型。

本申请实施例的第二方面提供了一种网络流量异常检测装置,可以包括:

流量数据获取模块,用于获取待检测的目标网络流量数据;

异常检测模块,用于利用预设的网络流量异常检测模型,对所述目标网络流量数据进行网络流量异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果;其中,所述网络流量异常检测模型为基于在线学习的用于进行网络流量异常检测的人工智能模型。

在第二方面的一种具体实现方式中,所述异常检测模块可以包括:

数据预处理子模块,用于利用所述数据预处理模块,对所述目标网络流量数据进行数据预处理,得到预处理后的目标网络流量数据;

异常检测子模块,用于利用所述异常检测模块,对预处理后的目标网络流量数据进行异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果。

在第二方面的一种具体实现方式中,所述异常检测子模块可以包括:

特征提取单元,用于利用所述编码器和所述解码器,分别对预处理后的目标网络流量数据进行特征提取,得到编码器输出特征和解码器输出特征;

异常检测决策单元,用于根据所述编码器输出特征和所述解码器输出特征,对预处理后的目标网络流量数据进行异常检测决策,得到所述目标网络流量数据对应的网络流量异常检测结果。

在第二方面的一种具体实现方式中,所述异常检测决策单元可以包括:

第一特征相似度计算子单元,用于计算所述编码器输出特征与预设的平均正常特征之间的第一特征相似度;其中,所述平均正常特征为预设的各个正常数据的特征的平均值;

概率计算子单元,用于根据预设的第一高斯分布和第二高斯分布,分别计算所述第一特征相似度对应的第一概率和第二概率;其中,所述第一高斯分布为反映正常网络流量数据特征的高斯分布,所述第二高斯分布为反映异常网络流量数据特征的高斯分布,所述第一概率为所述第一特征相似度属于所述第一高斯分布的概率,所述第二概率为所述第一特征相似度属于所述第二高斯分布的概率;

第一检测结果确定子单元,用于根据所述第一概率和所述第二概率,确定所述编码器输出特征对应的第一检测结果;

第二特征相似度计算子单元,用于计算所述解码器输出特征与所述平均正常特征之间的第二特征相似度;

进一步地,所述概率计算子单元还可以用于根据所述第一高斯分布和所述第二高斯分布,分别计算所述第二特征相似度对应的第三概率和第四概率;其中,所述第三概率为所述第二特征相似度属于所述第一高斯分布的概率,所述第四概率为所述第二特征相似度属于所述第二高斯分布的概率;

第二检测结果确定子单元,用于根据所述第三概率和所述第四概率,确定所述解码器输出特征对应的第二检测结果;

异常检测结果确定子单元,用于根据所述第一检测结果的置信度和所述第二检测结果的置信度,确定所述目标网络流量数据对应的网络流量异常检测结果。

在第二方面的一种具体实现方式中,所述数据预处理子模块可以包括:

归一化单元,用于若目标数据属性为连续属性,则利用所述数据预处理模块对所述目标数据属性进行归一化,得到归一化属性;其中,所述目标数据属性为所述目标网络流量数据的各个数据属性中的任意一个数据属性;

属性编码单元,用于若所述目标数据属性为离散属性,则利用所述数据预处理模块对所述目标数据属性进行编码,得到编码属性;

处理数据确认单元,用于根据各个归一化属性和各个编码属性,得到预处理后的目标网络流量数据。

在第二方面的一种具体实现方式中,所述网络流量异常检测装置还可以包括:

训练样本集获取模块,用于获取预设的网络流量异常检测训练样本集;其中,所述网络流量异常检测训练样本集中包括预设数目的正例训练样本和负例训练样本;

人工智能模型训练模块,用于根据所述网络流量异常检测训练样本集和预设的损失函数,对所述人工智能模型进行训练,得到所述网络流量异常检测模型;其中,所述损失函数用于吸引正例训练样本对和排斥负例训练样本对。

在第二方面的一种具体实现方式中,所述网络流量异常检测装置还可以包括:

在线样本集获取模块,用于获取在线学习训练样本集;

异常检测模型更新模块,用于根据所述在线学习训练样本集,对所述网络流量异常检测模型进行更新,得到更新后的所述网络流量异常检测模型。

本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种网络流量异常检测方法的步骤。

本申请实施例的第四方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种网络流量异常检测方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述任一种网络流量异常检测方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例获取待检测的目标网络流量数据;利用预设的网络流量异常检测模型,对所述目标网络流量数据进行网络流量异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果;其中,所述网络流量异常检测模型为基于在线学习的用于进行网络流量异常检测的人工智能模型。通过本申请实施例,可以设置基于在线学习的网络流量异常检测模型,使得网络流量异常检测模型能够及时学习到新型攻击,据此,可以更好地满足实际应用场景的需求,提升网络流量异常检测方法的可用性和灵活性,有助于改善用户体验。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例中一种网络流量异常检测方法的一个实施例流程图;

图2为网络流量异常检测模型的示意图;

图3为在线学习框架的示意图;

图4为本申请实施例中一种网络流量异常检测装置的一个实施例结构图;

图5为本申请实施例中一种终端设备的示意框图。

具体实施方式

为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当……时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

网络流量异常检测是指通过对网络中的数据流量进行监测和分析,识别出与正常行为不符的异常流量模式的过程。网络流量异常检测在网络安全领域中起着至关重要的作用,通过网络流量异常检测,可以帮助发现潜在的网络攻击、恶意行为或者系统故障。

然而,现有技术中的网络流量异常检测方法仅能检测已知攻击,而无法检测新型未知攻击,导致网络流量异常检测方法无法满足实际应用场景的需求,影响用户体验。

有鉴于此,本申请实施例提供一种网络流量异常检测方法、装置、计算机可读存储介质及终端设备,以解决现有技术中的网络流量异常检测方法无法检测新型未知攻击,导致网络流量异常检测方法无法满足实际应用场景的需求,影响用户体验的问题。

需要说明的是,本申请方法的执行主体为终端设备,具体地,可以为桌上型计算机、笔记本、掌上电脑、智能手机、平板等常见的计算设备,也可以是其他计算设备。

在本申请实施例中,可以使用基于在线学习的网络流量异常检测模型,对待检测的目标网络流量数据进行网络流量异常检测,得到与目标网络流量数据对应的网络流量异常检测结果。

为了便于理解,下面将首先对本申请实施例中的网络流量异常检测模型的设置过程进行详细介绍。

在本申请实施例中,可以在训练过程中使用对比学习的方法进行训练,以提高相似样本间的相似度以及增加不同样本间的差异度,从而可以获得更加鲁棒的特征表示。

具体地,本申请实施例的网络流量异常检测模型可以设置数据预处理模块和异常检测模块;其中,数据预处理模块可以用于对网络流量数据进行数据预处理,而异常检测模块可以用于对预处理后的网络流量数据进行异常检测;在使用之前,可以对初始的人工智能模型进行训练。

在对初始的人工智能模型进行训练之前,可以获取预设数目的原始网络流量数据,并可以设置原始网络流量数据的样本标签(样本标签可以包括正常数据和异常数据),之后,可以利用数据预处理模块对原始网络流量数据进行属性筛选,将不具备参考意义的数据属性剔除,得到对异常检测过程有参考意义的数据属性;具体地,每个原始网络流量数据均可能包含多种数据属性,如协议类型等,此处,可以筛选出数值在不同原始网络流量数据之间没有发生变化的属性,并可以认为这类属性对异常检测没有实质性的贡献,不具备参考意义;因此,可以将该类属性删除从原始网络流量数据的数据属性中删除,之后,可以根据得到可用于模型训练的原始网络流量数据的属性,并可以对其进行数据处理;具体地,若某个属性为连续属性,则可以将该属性进行归一化(将其缩放至[0,1]),以确保网络流量异常检测模型可以处理不同范围的数值;若某个属性为离散属性,则可以采用预设的编码方式进行处理,以便网络流量异常检测模型能够更好地识别和处理该属性。

根据处理后的原始网络流量数据,可以构建用于进行模型训练的网络流量异常检测训练样本集;其中,网络流量异常检测训练样本集可以包括预设数目的正例训练样本和负例训练样本,正例训练样本可以为与锚样本相似或具有相同标签的样本,负例训练样本可以为与锚样本不相似或具有不同标签的样本。

在网络流量异常检测中,正常的网络流量数据通常表现出一致性(即差异较小),而异常的网络流量数据则可能会存在较大差异。若异常检测模块能够有效地聚合正常的网络流量数据的行为模式,并将异常的网络流量数据区分开,便能进行高效地进行异常检测。

因此,在本申请实施例中,可以仅将样本标签为正常数据的训练样本选为锚样本,也即,在选取某个锚样本进行对比学习时,其它样本标签为正常数据的训练样本会自然地成为正例样本,而样本标签为异常数据的训练样本会成为负例样本。

根据网络流量异常检测训练样本集和预设的损失函数,可以对初始的人工智能模型进行训练,得到网络流量异常检测模型。此处,损失函数可用于吸引正例训练样本对和排斥负例训练样本对,其中,正例训练样本对为一组由两个在语义上相似或相关的训练样本构成的对,而负例训练样本对为一组由两个在语义上不相似或不相关的训练样本构成的对。

在本申请实施例中,损失函数可以为InfoNCE损失函数,具体公式可如下所示:

其中,Lx

上述相似度度量函数可以根据实际需要进行具体化、情景化设置,具体地,相似度度量函数可以包括但不限于欧氏距离、余弦相似度、Jaccard相似度和皮尔逊相关系数。

在本申请实施例中,异常检测模块可以包括自编译器,而自编译器具体可以包括编译器和解码器。在训练时,可以使用相同的InfoNCE损失函数对编码器和解码器进行训练,具体地,可以通过最小化InfoNCE损失函数来对编码器和解码器进行训练,在训练迭代的过程中,可以利用InfoNCE损失函数来计算训练损失,并使用反向传播算法来更新编码器和解码器的参数。

在训练得到网络流量异常检测模型后,可以将网络流量异常检测模型应用到实际的网络流量异常检测中来。

请参阅图1,本申请实施例中一种网络流量异常检测方法的一个实施例可以包括:

步骤S101、获取待检测的目标网络流量数据。

在本申请实施例中,可以获取待检测的目标网络流量数据,并可以对目标网络流量数据进行网络流量异常检测。

在本申请实施例的一种具体实现方式中,可以利用预设的网络流量监控工具来捕获目标网络流量数据。具体地,网络流量监控工具可以包括但不限于Wireshark、NetFlow、NTOP等工具,通过对网络流量监控工具进行配置,可以实时获取到网络流量数据,以实现网络流量异常检测和安全监控的目的。

步骤S102、利用预设的网络流量异常检测模型,对目标网络流量数据进行网络流量异常检测,得到与目标网络流量数据对应的网络流量异常检测结果。

在本申请实施例中,网络流量异常检测模型具体可以包括数据预处理模块和异常检测模块。

具体地,步骤S102可以包括如下过程:

步骤S1021、利用数据预处理模块,对目标网络流量数据进行数据预处理,得到预处理后的目标网络流量数据。

在本申请实施例中,目标网络流量数据可能包括各个数据属性,此处,可以根据数据属性的属性类型(可以包括连续属性和离散属性),对各个数据属性进行预处理,以得到符合模型输入的数据。

为了便于说明,下面将以目标网络数据流量的各个数据属性中的任意一个数据属性(记为目标数据属性)为例,对本申请实施例的数据预处理过程进行说明。

若目标数据属性为连续属性,则可以利用数据预处理模块,对目标数据属性进行归一化,将目标数据属性缩放至[0,1],从而可以确保模型能够有效地处理不同范围的数据属性。

若目标数据属性为离散属性,则可以利用数据预处理模块对目标数据属性进行编码,得到编码属性,此处,可以采用预设的编码方式对目标数据属性进行编码;其中,编码方式可以包括但不限于独热编码、二进制编码、标签编码和顺序编码等现有技术中常见的编码方式,在本申请实施例中,可以优选使用独热编码的编码方式对目标数据属性进行编码。

遍历目标网络数据流量的各个数据属性,并可以按照上述方法对数据属性进行预处理,即可得到目标网络数据流量的各个归一化属性和各个编码属性。

根据各个归一化属性和各个编码属性,可以得到预处理后的目标网络流量数据,之后,可以对目标网络流量数据进行异常检测。

步骤S1022、利用异常检测模块,对预处理后的目标网络流量数据进行异常检测,得到与目标网络流量数据对应的网络流量异常检测结果。

在本申请实施例中,异常检测模块可以包括自编码器,而自编码器又具体可以包括编码器和解码器;此处,可以利用自编码器中的编码器和解码器,分别对预处理后的目标网络流量数据进行特征提取,得到编码器输出特征和解码器输出特征。

在本申请实施例的一种具体实现方式中,编码器可以由多层神经网络组成,编码器可以接收预处理后的目标网络流量数据,并可以通过多层非线性变换将其映射到一个低维表示空间(编码过程),得到编码器输出特征。而解码器也可以由多层神经网络组成,解码器可以接收编码器输出特征,并可以通过多层非线性变换将编码器输出特征映射至原始数据空间(解码过程),得到解码器输出特征。

根据编码器输出特征和解码器输出特征,可以对预处理后的目标网络流量数据进行异常检测决策,得到目标网络流量数据对应的网络流量异常检测结果。

具体地,在进行异常检测决策之前,可以对网络流量异常检测训练样本集中的数据进行数据分析;在利用自编码器对网络流量异常检测训练样本集进行特征提取后,可以获得网络流量异常检测训练样本集内各个数据样本的特征;为了便于描述,此处可以将网络流量异常检测训练样本集内数据标签为正常数据的各个数据样本记为正常数据,并可以将网络流量异常检测训练样本集内数据标签为异常数据的各个数据样本记为异常数据。

对于网络流量异常检测训练样本集的各个正常数据,可以计算各个正常数据的特征的平均值;得到平均正常特征。之后,可以计算平均正常特征与网络流量异常检测训练样本集内各个数据样本的特征之间的余弦相似度,得到各个余弦相似度。

需要理解的是,网络流量异常检测训练样本集内各个数据样本的特征具体可以包括各个正常数据的特征和各个异常数据的特征,因此,在计算平均正常特征与各个数据样本的特征之间的余弦相似度时,具体可以计算得到平均正常特征与各个正常数据的特征之间的余弦相似度,并可以根据该余弦相似度得到第一高斯分布;其中,第一高斯分布可以反映正常网络流量数据特征;还可以计算得到平均正常特征与各个异常数据的特征之间的余弦相似度,根据该余弦相似度可以得到第二高斯分布;其中,第二高斯分布可以反映异常网络流量数据特征。

在实际计算时,得到的平均正常特征与各个数据样本的特征之间的余弦相似度会符合第一高斯分布与第二高斯分布的混合高斯分布;此处,可以使用最大似然估计的方法从混合高斯分布中拟合出一组参数值较高的高斯分布参数和一组参数值较低的高斯分布参数;其中的一组高斯分布参数可以属于第一高斯分布,而另一组高斯分布参数可以属于第二高斯分布;由于第一高斯分布反映了正常网络流量数据特征,且正常数据之间的差异通常会较小,也即平均正常数据特征与各个正常数据的特征之间的余弦相似度会较大;因此,可以认为参数值较高的一组高斯分布参数属于第一高斯分布;而由于第二高斯分布反映了异常网络流量数据特征,因此,平均正常数据特征与各个异常数据的特征之间的余弦相似度会较小;通过上述分析,可以认为参数值较高的一组高斯分布参数属于第一高斯分布,而参数值较低的一组高斯分布参数属于第二高斯分布。据此,可以得到第一高斯分布和第二高斯分布,并可以将得到的两个高斯分布用于后续的异常检测决策。

在进行异常检测决策时,可以计算编码器输出特征与平均正常特征之间的第一特征相似度;此处,可以计算编码器输出特征与平均正常特征之间的余弦相似度,并可以将该余弦相似度作为第一特征相似度。

根据第一高斯分布和第二高斯分布,可以分别计算第一特征相似度对应的第一概率和第二概率;其中,第一概率可以为第一特征相似度属于第一高斯分布的概率,而第二概率可以为第一特征相似度属于第二高斯分布的概率;具体地,可以根据第一高斯分布的概率密度函数,计算第一特征相似度对应的第一概率;还可以根据第二高斯分布的概率密度函数,计算第一特征相似度对应的第二概率。

根据第一概率和第二概率,可以确定编码器输出特征对应的第一检测结果,此处,可以根据第一概率和第二概率中更高的概率,确定第一特征相似度所属的高斯分布,并可以根据该所属的高斯分布,确定编码器输出特征对应的第一检测结果;具体地,若第一概率高于第二概率,则可以确定出第一特征相似度所属的高斯分布为第一高斯分布,据此,可以确定编码器输出特征对应的第一检测结果为网络流量正常;而若第二概率高于第一概率,则可以确定出第一特征相似度所属的高斯分布为第二高斯分布,据此,可以确定编码器输出特征对应的第一检测结果为网络流量异常。

在本申请实施例中,还可以计算编码器输出特征与平均正常特征之间的第二相似度,根据第一高斯分布和第二高斯分布,可以分别计算第二特征相似度对应的第三概率和第四概率;其中,第三概率可以为第二特征相似度属于第一高斯分布的概率,而第四概率可以为第二特征相似度属于第二高斯分布的概率;具体地,可以根据第一高斯分布的概率密度函数,计算第二特征相似度对应的第三概率;还可以根据第二高斯分布的概率密度函数,计算第二特征相似度对应的第四概率。

根据第三概率和第四概率,可以确定解码器输出特征对应的第二检测结果,此处,可以根据第三概率和第四概率中更高的概率,确定第二特征相似度所属的高斯分布,并可以根据该所属的高斯分布,确定解码器输出特征对应的第二检测结果;具体地,若第三概率高于第四概率,则可以确定出第二特征相似度所属的高斯分布为第一高斯分布,据此,可以确定解码器输出特征对应的第一检测结果为网络流量正常;而若第四概率高于第三概率,则可以确定出第二特征相似度所属的高斯分布为第二高斯分布,据此,可以确定解码器输出特征对应的第二检测结果为网络流量异常。

之后,可以根据第一检测结果的置信度和第二检测结果的置信度,确定目标网络流量数据对应的网络流量异常检测结果。

此处,根据输出特征与平均正常特征之间的特征相似度,可以得到该特征相似度属于第一高斯分布的概率和属于第二高斯分布的概率,并可以将两个概率中更高的一个概率作为该输出特征对应的检测结果的置信度。

具体地,对于编码器输出特征而言,通过上述计算,可以得到编码器输出特征对应的第一概率和第二概率,并可以将第一概率和第二概率中更高的一个概率作为编码器输出特征的置信度。若第一概率高于第二概率,则可以将第一概率作为编码器输出特征的置信度;而若第二概率高于第一概率,则可以将第二概率作为第一检测结果的置信度。

同样地,对于解码器输出特征而言,通过上述计算,可以得到解码器输出特征对应的第三概率和第四概率,并可以将第三概率和第四概率中更高的一个概率作为解码器输出特征的置信度。若第三概率高于第四概率,则可以将第三概率作为解码器输出特征的置信度;而若第四概率高于第三概率,则可以将第四概率作为第二检测结果的置信度。

在本申请实施例中,若第一检测结果的置信度大于第二检测结果的置信度,则可以将第一检测结果确定为目标网络流量数据对应的网络流量异常检测结果;而若第二检测结果的置信度大于第一检测结果的置信度,则可以将第二检测结果确定为目标网络流量数据对应的网络流量异常检测结果。

据此,可以基于综合投票机制,根据两种检测结果的置信度确定对应的异常检测结果,从而可以减少因单一检测结果的局限性而导致的误检,提升网络流量异常检测方法的准确性和鲁棒性。

为了便于理解,下面将结合附图,对本申请实施例中根据网络流量异常检测模型进行网络流量异常检测的过程进行简要说明。

请参阅图2,本申请实施例可以利用数据预处理模块对目标网络流量数据进行数据预处理,得到预处理后的目标网络流量数据,并可以利用异常检测模块对预处理后的目标网络流量数据进行异常检测;具体地,可以利用自编码器对预处理后的目标网络流量数据进行特征提取,得到编码器输出特征和解码器输出特征;根据编码器输出特征的第一概率和第二概率,可以决策出编码器输出特征对应的第一检测结果;还可以根据解码器输出特征的第三概率和第四概率,决策出解码器输出特征对应的第二检测结果;之后,可以根据第一检测结果的置信度和第二检测结果的置信度,确定目标网络流量数据对应的网络流量异常检测结果。

在本申请实施例中,为了使得网络流量异常检测模型能够更好地适应环境的变化和用户偏好的变动,可以通过在线学习的方式对网络流量异常检测模型进行定期更新。

具体地,可以获取在线学习训练样本集;此处,可以在网络流量异常检测的过程中,将不断输入的各个目标网络流量数据作为在线学习训练样本集中的训练样本,并可以将各个目标网络流量数据通过异常检测模块生成的检测结果对应的伪标签作为训练样本对应的样本标签,从而无需进行人工手动标注,减少在线学习过程中的资源消耗。

当在线训练样本集中的训练样本和样本标签的数目大于预设的数目阈值时,便可根据在线训练样本集对网络流量异常检测模型进行更新,得到更新后的网络流量异常检测模型。具体地,请参阅图3,在实际的在线学习的过程中,可以利用异常检测模块生成的在线训练样本集的伪标签,扩充原有的网络流量异常检测训练样本集,并基于在线训练样本集对异常检测模块进行训练并更新。

需要说明的是,上述更新过程并不会对网络流量异常检测模型进行从零开始的重新训练,而是会在保留原始权重的基础上对自编码器的参数进行微调;并且,为了保证决策过程的准确性,还可以根据在线学习训练样本集对第一高斯分布和第二高斯分布的高斯分布参数进行调整,以提升决策精度。

据此,可以确保网络流量异常检测模型的动态更新,在一定程度上提升了网络流量异常检测模型的特征提取能力,能够在持续变化的网络环境中实现更加高效、准确的网络流量异常检测,从而可以有效地抵御黑客攻击,防止隐私的泄露和数据的篡改,有助于保障机密信息的安全性和业务的连续性,可以与现有的防火墙、防病毒软件和访问控制方案等安全措施相辅相成,共同构建一个更加坚固的网络安全防线。

综上所述,本申请实施例获取待检测的目标网络流量数据;利用预设的网络流量异常检测模型,对所述目标网络流量数据进行网络流量异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果;其中,所述网络流量异常检测模型为基于在线学习的用于进行网络流量异常检测的人工智能模型。通过本申请实施例,可以设置基于在线学习的网络流量异常检测模型,使得网络流量异常检测模型能够及时学习到新型攻击,据此,可以更好地满足实际应用场景的需求,提升网络流量异常检测方法的可用性和灵活性,有助于改善用户体验。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的一种网络流量异常检测方法,图4示出了本申请实施例提供的一种网络流量异常检测装置的一个实施例结构图。

在本申请实施例中,一种网络流量异常检测装置可以包括:

流量数据获取模块401,用于获取待检测的目标网络流量数据;

异常检测模块402,用于利用预设的网络流量异常检测模型,对所述目标网络流量数据进行网络流量异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果;其中,所述网络流量异常检测模型为基于在线学习的用于进行网络流量异常检测的人工智能模型。

在本申请实施例的一种具体实现方式中,所述异常检测模块可以包括:

数据预处理子模块,用于利用所述数据预处理模块,对所述目标网络流量数据进行数据预处理,得到预处理后的目标网络流量数据;

异常检测子模块,用于利用所述异常检测模块,对预处理后的目标网络流量数据进行异常检测,得到与所述目标网络流量数据对应的网络流量异常检测结果。

在本申请实施例的一种具体实现方式中,所述异常检测子模块可以包括:

特征提取单元,用于利用所述编码器和所述解码器,分别对预处理后的目标网络流量数据进行特征提取,得到编码器输出特征和解码器输出特征;

异常检测决策单元,用于根据所述编码器输出特征和所述解码器输出特征,对预处理后的目标网络流量数据进行异常检测决策,得到所述目标网络流量数据对应的网络流量异常检测结果。

在本申请实施例的一种具体实现方式中,所述异常检测决策单元可以包括:

第一特征相似度计算子单元,用于计算所述编码器输出特征与预设的平均正常特征之间的第一特征相似度;其中,所述平均正常特征为预设的各个正常数据的特征的平均值;

概率计算子单元,用于根据预设的第一高斯分布和第二高斯分布,分别计算所述第一特征相似度对应的第一概率和第二概率;其中,所述第一高斯分布为反映正常网络流量数据特征的高斯分布,所述第二高斯分布为反映异常网络流量数据特征的高斯分布,所述第一概率为所述第一特征相似度属于所述第一高斯分布的概率,所述第二概率为所述第一特征相似度属于所述第二高斯分布的概率;

第一检测结果确定子单元,用于根据所述第一概率和所述第二概率,确定所述编码器输出特征对应的第一检测结果;

第二特征相似度计算子单元,用于计算所述解码器输出特征与所述平均正常特征之间的第二特征相似度;

进一步地,所述概率计算子单元还可以用于根据所述第一高斯分布和所述第二高斯分布,分别计算所述第二特征相似度对应的第三概率和第四概率;其中,所述第三概率为所述第二特征相似度属于所述第一高斯分布的概率,所述第四概率为所述第二特征相似度属于所述第二高斯分布的概率;

第二检测结果确定子单元,用于根据所述第三概率和所述第四概率,确定所述解码器输出特征对应的第二检测结果;

异常检测结果确定子单元,用于根据所述第一检测结果的置信度和所述第二检测结果的置信度,确定所述目标网络流量数据对应的网络流量异常检测结果。

在本申请实施例的一种具体实现方式中,所述数据预处理子模块可以包括:

归一化单元,用于若目标数据属性为连续属性,则利用所述数据预处理模块对所述目标数据属性进行归一化,得到归一化属性;其中,所述目标数据属性为所述目标网络流量数据的各个数据属性中的任意一个数据属性;

属性编码单元,用于若所述目标数据属性为离散属性,则利用所述数据预处理模块对所述目标数据属性进行编码,得到编码属性;

处理数据确认单元,用于根据各个归一化属性和各个编码属性,得到预处理后的目标网络流量数据。

在本申请实施例的一种具体实现方式中,所述网络流量异常检测装置还可以包括:

训练样本集获取模块,用于获取预设的网络流量异常检测训练样本集;其中,所述网络流量异常检测训练样本集中包括预设数目的正例训练样本和负例训练样本;

人工智能模型训练模块,用于根据所述网络流量异常检测训练样本集和预设的损失函数,对所述人工智能模型进行训练,得到所述网络流量异常检测模型;其中,所述损失函数用于吸引正例训练样本对和排斥负例训练样本对。

在本申请实施例的一种具体实现方式中,所述网络流量异常检测装置还可以包括:

在线样本集获取模块,用于获取在线学习训练样本集;

异常检测模型更新模块,用于根据所述在线学习训练样本集,对所述网络流量异常检测模型进行更新,得到更新后的所述网络流量异常检测模型。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

图5示出了本申请实施例提供的一种终端设备的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。

如图5所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个网络流量异常检测方法实施例中的步骤,例如图1所示的步骤S101至步骤S102。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至模块402的功能。

示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。

本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备5还可以包括输入输出设备、网络接入设备、总线等。

所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备5所需的其它程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

技术分类

06120116587380