网络异常检测方法、装置、电子设备及存储介质

文档序号:27095018发布日期:2021-10-27 16:41阅读:119来源:国知局
网络异常检测方法、装置、电子设备及存储介质

1.本技术涉及计算机网络安全技术领域,特别涉及一种网络异常检测方法、装置、电子设备及存储介质。


背景技术:

2.随着全球信息化技术的飞速发展,网络在日常的生活、学习和工作中发挥着越来越重要的作用。然而,随之而来的还包括无处不在的网络攻击,这使得网络安全问题也越来越受到人们的关注。基于网络流量的入侵检测技术因具有检测性强、应用范围广泛、响应及时的特点一直得到网络安全领域的关注。同时,基于网络流量的网络异常检测作为一种重要的入侵检测技术,通过监视网络系统的运行状态来发现各种攻击企图、攻击行为或者攻击结果,能够迅速、有效地发现各类新的入侵行为,对于保障网络系统安全十分重要,已经成为识别网络安全事件的关键步骤。
3.在网络异常检测中,基于监督学习的网络异常检测算法通常需要获取大量有标记的数据,需要耗费大量的人力物力,而无监督学习方法准确率较低。因此半监督学习方法在工业界得到了广泛的重视。根据使用训练数据的不同,半监督网络异常检测可分为仅提供大量有标注的正常数据,而不提供异常数据的学习场景,和提供少部分有标注的正常和异常数据的同时,还提供大量可以用于无监督学习的无标注数据的学习场景。仅提供正常数据的半监督场景中,异常检测算法往往使用无监督学习方法对正常样本进行建模,学习正常样本的行为模式,对于待检测样本,可以评估待检测样本与正常样本行为模式间的差异,如果差异较大,则判定是否为异常值。对于提供少量标注样本和大量未标注样本的半监督场景,异常检测算法往往使用半监督方法进行检测,他们通过未标注样本的无监督学习来学习样本的特征表示,然后通过少量的通过人工标注和人机辅助标注生成的有标注样本的有监督学习来微调最终的异常检测分类模型。
4.相关技术中,与其他领域的异常检测领域相比,基于网络流量的异常检测算法存在三个主要挑战:一是缺少标记流量数据,因为网络流量的数据标注代价较高,很难人工大量标注。二是流量类别数据不均衡,一般而言正常流量的数量会远远多于攻击样本,这种正常和异常数据类别极不平衡使得算法很难训练;最后一个是未知攻击问题,即现实场景中可能会出现很多训练中未标记的网络攻击类型。因此,相关技术需要进一步改进。
5.申请内容
6.本技术提供一种网络异常检测方法、装置、电子设备及存储介质,以解决相关技术中存在的缺少标记流量数据、流量类别数据不均衡、未知攻击问题等技术问题。
7.本技术第一方面实施例提供一种网络异常检测方法,包括以下步骤:采集网络节点入口的网络流量数据,并对所述网络流量数据进行流级聚合和特征提取,以按照预设比例得到需标记数据和无标记数据,所述需标记数据通过人工标注和人机辅助标注得到有标记数据;由所述有标记数据和无标记数据预处理得到有标记样本和无标记样本;利用所述有标记样本和所述无标记样本进行联合训练基于自动编码器和置信度辅助分类的检测模
型,生成半监督网络异常检测模型;使用所述半监督网络异常检测模型对待测流量数据进行检测,根据所述半监督网络异常检测模型的输出结果分析识别出所述待测流量数据的异常结果。
8.可选地,在本技术的一个实施例中,所述对所述网络流量数据进行流级聚合和特征提取,包括:将所述流量数据依据相同的五元组<源ip,源端口,目的ip,目的端口,协议>以预设时间间隔聚合为多条双向流;对聚合得到的双向流进行特征提取,得到聚合流量的特征,以按照预设比例得到所述需标记数据和所述无标记数据,所述需标记数据通过人工标注和人机辅助标注得到有标记数据。
9.可选地,在本技术的一个实施例中,所述利用所述标记样本和所述无标记样本进行联合训练基于自动编码器和置信度辅助分类的检测模型,生成半监督网络异常检测模型,包括:根据所述有标记样本中任一批次样本利用所述自动编码器的编码器得到第一嵌入表示;利用置信度评估模块评估所述第一嵌入表示的置信度分数,并计算置信度损失;利用分类器计算所述第一嵌入表示的分类概率,并利用所述置信度分数对所述分类概率进行修正,及使用焦点损失函数计算所述分类器的损失值;计算所述有标记样本的综合损失,更新所述自动编码器的编码器、所述置信度评估模块和所述分类器;根据所述无标记样本中任一批次样本利用所述自动编码器的编码器得到第二嵌入表示;根据所述第二嵌入表示利用自动编码器的解码器得到解码;计算所述无标记样本的重建损失,并更新所述自动编码器的编码器和解码器;判断是否达到迭代轮次,其中,如果是,则结束训练,否则继续迭代执行,直至达到迭代轮次。
10.可选地,在本技术的一个实施例中,所述使用所述半监督网络异常检测模型对待测流量数据进行检测和分析,包括:输入所述待测流量的待测样本,并由更新后的编码器得到待测嵌入表示;根据所述待测嵌入表示利用更新后的解码器得到待测解码,计算所述待测样本的重建损失;利用更新后的置信度评估模块评估所述待测嵌入表示的待测置信度分数;利用分类器计算所述待测嵌入表示的分类概率;根据所述待测样本的重建损失、待测置信度分数、分类概率得到异常评分;若所述异常评分超过预设阈值,则判定异常,否则判定为正常。
11.可选地,在本技术的一个实施例中,所述由所述有标记数据和无标记数据预处理得到有标记样本和无标记样本,包括:对所述有标记数据和所述无标记数据分别进行删除不合理操作、冗余数据筛选操作、特征编码操作和/或特征归一化操作,得到所述有标记样本和所述无标记样本。
12.本技术第二方面实施例提供一种网络异常检测装置,包括:采集模块,用于采集网络节点入口的网络流量数据,并对所述网络流量数据进行流级聚合和特征提取,以按照预设比例得到需标记数据和无标记数据,所述需标记数据通过人工标注和人机辅助标注得到有标记数据;处理模块,用于由所述有标记数据和无标记数据预处理得到有标记样本和无标记样本;训练模块,用于利用所述有标记样本和所述无标记样本进行联合训练基于自动编码器和置信度辅助分类的检测模型,生成半监督网络异常检测模型;检测模块,用于使用所述半监督网络异常检测模型对待测流量数据进行检测,根据所述半监督网络异常检测模型的输出结果分析识别出所述待测流量数据的异常结果。
13.可选地,在本技术的一个实施例中,所述采集模块包括:聚合单元,用于将所述流
量数据依据相同的五元组<源ip,源端口,目的ip,目的端口,协议>以预设时间间隔聚合为多条双向流;获取单元,用于对聚合得到的双向流进行特征提取,得到聚合流量的特征,以按照预设比例得到所述需标记数据和所述无标记数据,所述需标记数据通过人工标注和人机辅助标注得到有标记数据。
14.可选地,在本技术的一个实施例中,所述处理模块进一步用于对所述有标记数据和所述无标记数据分别进行删除不合理操作、冗余数据筛选操作、特征编码操作和/或特征归一化操作,得到所述有标记样本和所述无标记样本。
15.本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序和学习模型,所述处理器执行所述程序和模型,以实现如上述实施例所述的网络异常检测方法。
16.本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序和学习模型,该程序和模型被处理器执行,以用于实现如上述实施例所述的网络异常检测方法。
17.利用自动编码器模块、置信度评估模块和分类器,同时使用无标记样本和有标记样本,联合训练半监督网络异常检测模型,其中,无标记样本用来训练自动编码器的编码器和解码器,有标记样本用来训练自动编码器的编码器、置信度评估模块和分类器,从而通过联合判别的方式对训练集中已知类型和训练集中未知的网络流量进行检测,判断网络流量的异常情况。由此,解决了相关技术中存在的缺少标记流量数据、正常异常流量类别数据不均衡、未知攻击问题等技术问题。
18.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
19.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
20.图1为根据本技术实施例提供的一种网络异常检测方法的流程图;图2为根据本技术一个实施例的网络异常检测方法的流程图;
21.图3为根据本技术一个实施例的网络异常检测方法的逻辑示意图;
22.图4为根据本技术一个实施例的网络异常检测方法的原理示意图;
23.图5为根据本技术一个实施例的联合训练的流程图;
24.图6为根据本技术一个实施例的联合判别的流程图;
25.图7为根据本技术实施例的网络异常检测装置的示例图;
26.图8为申请实施例提供的电子设备的结构示意图。
27.附图标记说明:
28.10

网络异常检测装置;100

采集模块、200

处理模块、300

训练模块和400

检测模块;801

存储器、802

处理器和803

通信接口。
具体实施方式
29.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终
相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
30.下面参考附图描述本技术实施例的网络异常检测方法、装置、电子设备及存储介质。针对上述背景技术中心提到的相关技术中存在的缺少标记流量数据、正常异常流量类别数据不均衡、未知攻击问题的技术问题,本技术提供了一种网络异常检测方法,在该方法中,利用自动编码器模块、置信度评估模块和分类器,同时使用无标记样本和有标记样本,联合训练半监督网络异常检测模型,其中,无标记样本用来训练自动编码器的编码器和解码器,有标记样本用来训练自动编码器的编码器、置信度评估模块和分类器,从而通过联合判别的方式对训练集中已知类型和训练集中未知的网络流量进行检测,判断网络流量的异常情况。由此,解决了相关技术中存在的缺少标记流量数据、正常异常流量类别数据不均衡、未知攻击问题等技术问题。
31.具体而言,图1为本技术实施例所提供的一种网络异常检测方法的流程示意图。
32.如图1所示,该网络异常检测方法包括以下步骤:
33.在步骤s101中,采集网络节点入口的网络流量数据,并对网络流量数据进行流级聚合和特征提取,以按照预设比例得到需标记数据和无标记数据,需标记数据通过人工标注和人机辅助标注得到有标记数据。
34.可以理解的是,如图2所示,本技术实施例首先对网络节点入口的网络流量数据进行采集,并对采集到的数据进行流级聚合和特征提取,并将流量数据按照一定如实验设定的比例分为需标记数据和无标记数据,需标记数据通过人工标注和人机辅助标注得到有标记数据。
35.可选地,在本技术的一个实施例中,对网络流量数据进行流级聚合和特征提取,包括:将流量数据依据相同的五元组<源ip,源端口,目的ip,目的端口,协议>以预设时间间隔聚合为多条双向流;对聚合得到的双向流进行特征提取,得到聚合流量的特征,以按照预设的比例得到需标记数据和无标记数据,需标记数据通过人工标注和人机辅助标注得到有标记数据。
36.具体而言,对网络节点入口的网络流量数据进行采集,并将所收集的原始流量数据依据相同的五元组<源ip,源端口,目的ip,目的端口,协议>以一定的时间间隔聚合为多条双向流,其次对聚合流量的特征进行抽取,最后以按照预设的比例将流量分为需标记数据和无标记数据,需标记数据通过人工标注和人机辅助标注得到有标记数据。
37.在步骤s102中,由有标记数据和无标记数据预处理得到有标记样本和无标记样本。
38.即言,如图2所示,对流量数据进行预处理,得到标记样本和无标记样本。
39.可选地,在本技术的一个实施例中,由有标记数据和无标记数据预处理得到有标记样本和无标记样本,包括:对有标记数据和无标记数据分别进行删除不合理操作、冗余数据筛选操作、特征编码操作和/或特征归一化操作,得到有标记样本和无标记样本。
40.具体而言,按照数据质量的准确性、完整性、一致性、时效性、可信性、可解释性等原则对有标记数据和无标记数据进行预处理,包括但不限于删除不合理和冗余的数据、特征编码、特征归一化,得到有标记样本和无标记样本。
41.需要说明的是,删除不合理和冗余的数据主要是删除带空值的记录、删除取值超
出数值范围的记录、删除记录取值完全相同的属性。并且,特征编码主要是将特征向量中非数值类型编码为数值类型,同时将有标记数据中的标签也编码为数值类型。另外,特征归一化是为了避免对特征度量单位选择的依赖性,主要针对不同属性的不同值域,如采用min

max归一化。
42.在步骤s103中,利用有标记样本和无标记样本进行联合训练基于自动编码器和置信度辅助分类的检测模型,生成半监督网络异常检测模型。
43.在实际执行的过程中,本技术实施例构建基于自动编码器和置信度评估模块及分类器的半监督网络异常检测模型,并使用有标记样本和无标记样本进行联合训练。
44.可选地,在本技术的一个实施例中,利用标记样本和无标记样本进行联合训练基于自动编码器和置信度辅助分类的检测模型,生成半监督网络异常检测模型,包括:根据有标记样本中任一批次样本利用的编码器得到第一嵌入表示;利用置信度评估模块评估第一嵌入表示的置信度分数,并计算置信度损失;利用分类器计算第一嵌入表示的分类概率,并利用置信度分数对分类概率进行修正,及使用焦点损失函数计算分类器的损失值;计算有标记样本的综合损失,更新自动编码器的编码器、置信度评估模块和分类器;根据无标记样本中任一批次样本利用自动编码器的编码器得到第二嵌入表示;根据第二嵌入表示利用自动编码器的解码器得到解码;计算无标记样本的重建损失,并更新所述自动编码器的编码器和解码器;判断是否达到迭代轮次,其中,如果是,则结束训练,否则继续迭代执行,直至达到迭代轮次。
45.举例而言,步骤s103包括:
46.步骤s1031:选择一个批次的有标记样本x
l
,然后使用自动编码器的编码器f将有标记批次样本x
l
编码为嵌入表示h
l

47.步骤s1032:使用置信度评估模块评估嵌入表示h
l
的置信度分数c=cof(h
l
),并计算置信度损失为
48.步骤s1033:使用分类器计算嵌入表示h
l
的分类概率p=cls(h
l
),并使用置信度分数将分类概率p修正为p',然后使用焦点损失函数(focal loss)计算分类器损失为其中focal loss为fl(p
t
)=

α(1

p
t
)
γ
log(p
t
)。
49.步骤s1034:计算标记样本的综合损失l
cls
+λl
cof
,根据综合损失更新自动编码器的编码器,置信度评估模块,分类器。
50.步骤s1035:选择一个批次的无标记样本x
u
,使用自动编码器的编码器f将无标记批次样本x
u
编码为嵌入表示h
u

51.步骤s1036:使用自动编码器的解码器g将嵌入表示h
u
解码为x
u,rec

52.步骤s1037:计算重建损失为l
rec
=ul(x
u,rec
,x
u
),并根据重建损失更新自动编码器的编码器和解码器。
53.步骤s1038:判断是否达到迭代轮次。其中,如果是,则结束训练,否,则跳到步骤
s1031开始继续往后执行。
54.在步骤s104中,使用半监督网络异常检测模型对待测流量数据进行检测和分析,根据半监督网络异常检测模型的输出结果识别待测流量数据的异常结果。
55.可以理解的是,使用上述训练完成的半监督网络异常检测模型,基于联合评估方式对待测流量数据进行异常检测和分析
56.可选地,在本技术的一个实施例中,使用半监督网络异常检测模型对待测流量数据进行检测和分析,包括:输入待测流量的待测样本,并由更新后的编码器得到待测嵌入表示;根据待测嵌入表示利用更新后的解码器得到待测解码,计算待测样本的重建损失;利用更新后的置信度评估模块评估待测嵌入表示的待测置信度分数;利用分类器计算待测嵌入表示的分类概率;根据待测样本的重建损失、待测置信度分数、分类概率得到异常评分;若异常评分超过预设阈值,则判定异常,否则判定为正常。
57.举例而言,步骤s104包括:
58.步骤s1041:输入待测样本x,使用编码器f将样本x编码为嵌入表示h。
59.步骤s1042:使用解码器g将嵌入表示h解码为x
rec
,计算重建损失为l
rec
=l(x
rec
,x)。
60.步骤s1043:使用置信度评估模块评估嵌入表示h
l
的置信度分数c=cof(h)。
61.步骤s1044:使用分类器计算嵌入表示h
l
的分类概率p=cls(h)。
62.步骤s1045:将重建损失,置信度分数,分类概率综合成异常评分score输出score=ηc
×
p

εc+l
rec
,η和ε分别是分类概率和置信度损失的权重。
63.步骤s1046:判断异常评分是否超过阈值,如果是则输出异常,否则输出正常,
64.综上,在本技术的实施例中,首先使用自编码器学习无标记样本重建的特征表示。由于流量数据通常包含更多的正常样本,基于自编码器的异常样本重建损失远远高于正常样本。因此使用置信度辅助分类模块来学习适合异常分类的特征表示和异常概率建模。置信度辅助分类模块包括置信度评估模块、分类器以及与自编码器共用的编码器。置信度评估模块建模分类器分类概率的置信度,辅助分类器的训练和异常评估。对于标记数据中已知的流量给出一个高置信度,对于未知的流量则给出一个低置信度。分类器建模样本的异常概率,同时在训练中使用焦点损失函数来处理正常和异常流量样本不平衡的问题。在高置信度时,使用原有的预测结果计算损失,在低置信度较时,用真实标签计算损失。最后,异常检测输出模块通过联合解码器的重建损失,置信度和分类概率进行异常判断。本技术实施例能够适应真实开放的网络环境,较好地应对缺乏标记流量数据,正常异常流量类别不平衡,以及存在未知的攻击类别等网络异常检测问题的挑战。
65.以下列举实施例,示意性说明。
66.如图2所示,本技术实施例的网络异常检测方法包括以下步骤:
67.步骤1:数据收集,将网络节点入口的流量数据进行捕获并保存。
68.步骤2:数据聚合,将原始的流量数据依据相同的五元组<源ip,源端口,目的ip,目的端口,协议>以一定的时间间隔聚合为多条双向流。
69.步骤3:数据特征提取,对聚合流量的特征进行抽取,所述特征构成特征向量;所述特征包括,'流id','源ip','源端口,'目的ip','目的端口,'协议,'时间戳,'流持续时间','正向流中的包数量','反向流中的包数量','正向流中包大小的最小值','正向流中
包大小的最大值','正向流中包大小的平均值','正向流中包大小的标准差','反向流中包大小的最小值','反向流中包大小的最大值','反向流中包大小的平均值','反向流中包大小的标准差','每秒流经的字节数','每秒流经的包数量,'具有ack标志的包数量','平均包大小'等。
70.步骤4:数据预处理,数据预处理过程包括删除空值行、特征编码、删除超出范围的值等。
71.步骤5:数据编码,对输入特征向量x,将x编码为流量特征表示h=f(x)。
72.步骤6:异常概率计算,对编码后的x
f
,使用解码器、置信度评估模块和分类模块联合计算异常概率。
73.步骤6.1:重建误差计算,对编码后的h进行解码,将h解码为x
rec
=g(h),并计算重建损失为l(x,x
rec
)。
74.步骤6.2:置信度计算,对编码后的h,使用置信度评估模块计算置信度为cof(h)。
75.步骤6.3:分类概率计算,对编码后的h,使用分类模块计算分类概率cls(h)。
76.步骤6.4:异常概率计算,对编码后的h,利用上述计算结果,综合为异常概率score=ηcof(h)
×
cls(h)

εcof(h)+l(x
rec
,x),η和ε分别是分类概率和置信度损失的权重。
77.步骤6.5:阈值对比与结果输出,如果异常值大于阈值t,则输出异常,否则输出正常。
78.如图3和图4所示,本技术实施例的主要结构包括以下六个部分:
79.输入模块部分:输入模块将预处理后的特征向量输入到后续的模块中。
80.编码器部分:编码器是一个由三个全连接层组成的神经网络,输入层的神经元数目为77,嵌入层的神经元数目为10,中间的隐藏层神经元数目分别为100,80。编码器的作用是将原始输入特征向量编码为更紧凑的特征表示和适合分类的特征表示。
81.解码器部分:解码器的结构与编码器相反,输入层的神经元数目为10,输出层的神经元数目为77,中间的隐藏层神经元数目分别为80,100。编码器的作用是在训练中将紧凑的特征表示重建为原始输入特征向量,在测试中利用重建误差的大小辅助判定异常概率,重建误差越大,异常概率越高。
82.置信度评估模块部分:置信度评估模块是一个由三个全连接层组成的神经网络,输入层的神经元数目为10,输出层的神经元数目为1,中间的隐藏层神经元数目分别为10,10。置信度评估模块的作用是计算样本的置信度分数,使已知类型的置信度尽可能高,辅助对未知类异常概率的判定。同时,使分类器的训练中加入置信度的考虑,对高置信度样本使用原有的分类预测结果计算损失,而当置信度较低时,使用真实标记计算损失。
83.分类器模块部分:分类器模块是一个由两个全连接层组成的神经网络,输入层的神经元数目为10,输出层的神经元数目为1,中间的隐藏层神经元数目分别为10。分类器模块的作用是计算样本的分类异常概率,在训练中使得样本得异常损失尽可能小,并且在测试中输出样本的异常概率。
84.异常检测输出模块部分:输出模块将解码器,置信度评估模块,分类器模块的输出结果综合成异常评分输出。
85.图5所示,本技术实施例的联合训练包括以下步骤:
86.s1:开始。
87.s2:从有标记样本中,选择一个批次的有标记样本x
l

88.s3:使用自动编码器的编码器f将有标记批次样本x
l
编码为嵌入表示h
l

89.s4:使用置信度评估模块评估嵌入表示h
l
的置信度分数c=cof(h
l
)。
90.s5:计算置信度损失为
91.s6:使用分类器模块计算嵌入表示h
l
的分类概率p=cls(h
l
)。
92.s7:使用置信度分数将分类概率p修正为p',
93.s8:使用焦点损失函数(focal loss)计算分类器损失为其中focal loss为fl(p
t
)=

α(1

p
t
)
γ
log(p
t
)。
94.s9:计算标记样本的综合损失l
cls
+λl
cof

95.s10:根据综合损失更新自动编码器的编码器,置信度评估模块,分类器模块。
96.s11:从无标记样本中,选择一个批次的无标记样本x
u

97.s12:使用自动编码器的编码器f将无标记批次样本x
u
编码为嵌入表示h
u

98.s13:使用自动编码器的解码器g将嵌入表示h
u
解码为x
u,rec

99.s14:计算重建损失为l
rec
=ul(x
u,rec
,x
u
)。
100.s15:根据重建损失更新自动编码器的编码器,解码器。
101.s16:判断是否达到迭代轮次,如果是,则跳到下一步,否,则跳到第s2步开始继续往后执行。
102.s17:结束。
103.如图6所示,本技术实施例的联合判别包括以下步骤:
104.s1:开始。
105.s2:输入待测样本x。
106.s3:使用编码器f将样本x编码为嵌入表示h。
107.s4:使用解码器g将嵌入表示h解码为x
rec

108.s5:计算重建损失为l
rec
=l(x
rec
,x)。
109.s6:使用置信度评估模块评估嵌入表示h
l
的置信度分数c=cof(h)。
110.s7:使用分类器模块计算嵌入表示h
l
的分类概率p=cls(h)。
111.s8:将重建损失,置信度分数,分类概率综合成异常评分score输出score=ηc
×
p

εc+l
rec

112.s9:判断异常评分是否超过阈值t,如果是则执行s10,跳过s11,如果否则跳过s10,执行s11。
113.s10:输出异常。
114.s11:输出正常。
115.s12:结束。
116.根据本技术实施例提出的网络异常检测方法,利用自动编码器模块、置信度评估模块和分类器,同时使用无标记样本和有标记样本,联合训练半监督网络异常检测模型,其
中,无标记样本用来训练自动编码器的编码器和解码器,有标记样本用来训练自动编码器的编码器、置信度评估模块和分类器,从而通过联合判别的方式对训练集中已知类型和训练集中未知的网络流量进行检测,判断网络流量的异常情况。由此,解决了相关技术中存在的缺少标记流量数据、正常异常流量类别数据不均衡、未知攻击问题等技术问题。
117.其次参照附图描述根据本技术实施例提出的网络异常检测装置。
118.图7是本技术实施例的网络异常检测装置的方框示意图。
119.如图7所示,该网络异常检测装置10包括:采集模块100、处理模块200、训练模块300和检测模块400。
120.具体地,采集模块100,用于采集网络节点入口的网络流量数据,并对网络流量数据进行流级聚合和特征提取,以按照预设比例得到需标记数据和无标记数据,需标记数据通过人工标注和人机辅助标注得到有标记数据。
121.处理模块200,用于由有标记数据和无标记数据预处理得到有标记样本和无标记样本。
122.训练模块300,用于利用有标记样本和无标记样本进行联合训练基于自动编码器和置信度辅助分类的检测模型,生成半监督网络异常检测模型。
123.检测模块400,用于使用半监督网络异常检测模型对待测流量数据进行检测,根据半监督网络异常检测模型的输出结果分析识别出待测流量数据的异常结果。
124.可选地,在本技术的一个实施例中,采集模块100包括:聚合单元和获取单元。
125.其中,聚合单元,用于将流量数据依据相同的五元组<源ip,源端口,目的ip,目的端口,协议>以预设时间间隔聚合为多条双向流。
126.获取单元,用于对聚合得到的双向流进行特征提取,得到聚合流量的特征,以得到需标记数据和无标记数据,需标记数据通过人工标注和人机辅助标注得到有标记数据。
127.可选地,在本技术的一个实施例中,处理模块200进一步用于对有标记数据和无标记数据分别进行删除不合理操作、冗余数据筛选操作、特征编码操作和/或特征归一化操作,得到有标记样本和无标记样本。
128.需要说明的是,前述对网络异常检测方法实施例的解释说明也适用于该实施例的网络异常检测装置,此处不再赘述。
129.根据本技术实施例提出的网络异常检测装置,利用自动编码器模块、置信度评估模块和分类器,同时使用无标记样本和有标记样本,联合训练半监督网络异常检测模型,其中,无标记样本用来训练自动编码器的编码器和解码器,有标记样本用来训练自动编码器的编码器、置信度评估模块和分类器,从而通过联合判别的方式对训练集中已知类型和训练集中未知的网络流量进行检测,判断网络流量的异常情况。由此,解决了相关技术中存在的缺少标记流量数据、正常异常流量类别数据不均衡、未知攻击问题等技术问题。
130.图8为本技术实施例提供的电子设备的结构示意图。该电子设备可以包括:
131.存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序和学习模型。
132.处理器802执行程序和模型时实现上述实施例中提供的网络异常检测方法。
133.进一步地,电子设备还包括:
134.通信接口803,用于存储器801和处理器802之间的通信。
135.存储器801,用于存放可在处理器802上运行的计算机程序和学习模型。
136.存储器801可能包含高速ram存储器,也可能还包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。
137.如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
138.可选的,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。
139.处理器802可能是一个中央处理器(central processing unit,简称为cpu),或者是一个中央处理器与多个图形处理器(graphics processing unit,简称为gpu)结合的深度学习处理架构,或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
140.本实施例还提供一种计算机可读存储介质,其上存储有计算机程序和学习模型,其特征在于,该程序和模型被处理器执行时实现如上的网络异常检测方法。
141.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
142.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
143.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
144.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,如可编程门阵列(pga),现场可编程门阵列(fpga)等。
145.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序和模型来指令相关的硬件完成,所述的程序和模型可以存储于一种计算机可读存储介质中,该程序和模型在执行时,包括方法实施例的步骤之一或其组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1