本发明涉及计算机,尤其涉及一种基于变分自编码模型的网络异常入侵检测方法和系统。
背景技术:
1、网络异常入侵检测可将网络流量数据、相关日志数据、应用访问数据等进行相应的解析,从而检测用户异常行为,提高网络安全性。由于分析数据量较大,通常采用机器学习的方法来进行辅助检测。
2、常用的机器学习方法在检测过程中,通常使用特定的样本对机器学习模型进行训练,使得机器学习模型具有检测访问数据是否异常的能力。然而,训练过程使用的样本通常是固定的,训练获得的模型也仅能对特定模式的访问数据具有较好的检测效果,而模型难以适应随时间不断更新变化的访问数据。如果不断使用新数据样本训练机器学习模型,则需要不断通过人工对访问数据进行标注,从而不断训练,造成工作量巨大。
3、公开于本技术背景技术部分的信息仅旨在加深对本技术的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
技术实现思路
1、本发明提出了一种基于变分自编码模型的网络异常入侵检测方法和系统。能够使机器学习模型适应随时间不断更新变化的访问数据,且不需要人工标注,减少工作量。
2、根据本发明的一方面,提供了一种基于变分自编码模型的网络异常入侵检测方法,包括:
3、在接收到网络访问数据的情况下,通过变分自编码模型对网络访问数据进行处理,获得所述网络访问数据的变分分布特征信息,所述变分分布特征信息为所述变分自编码模型获得的用于表示所述网络访问数据是否为异常入侵数据的概率分布信息;
4、通过网络访问数据分类模型对所述网络访问数据进行处理,获得所述网络访问数据的分类特征信息,所述分类特征信息为网络访问数据分类模型获得的用于表示所述网络访问数据是否为异常入侵数据的概率分布信息;
5、获取历史访问数据库中,与各类型的历史访问数据的概率分布信息对应的中心分布信息;
6、根据所述变分分布特征信息、所述分类特征信息以及各类型的中心分布信息,确定所述网络访问数据所属的目标类型,以及所述目标类型的目标中心分布信息;
7、根据所述变分分布特征信息、所述分类特征信息以及所述目标中心分布信息,确定所述变分自编码模型和所述网络访问数据分类模型是否需要训练;
8、在所述变分自编码模型和所述网络访问数据分类模型需要训练的情况下,根据所述变分分布特征信息、所述分类特征信息以及所述目标中心分布信息,确定所述变分自编码模型和所述网络访问数据分类模型的损失函数;
9、根据所述损失函数,对变分自编码模型和网络访问数据分类模型进行训练,获得训练后的变分自编码模型和网络访问数据分类模型;
10、通过训练后的变分自编码模型和网络访问数据分类模型,确定所述网络访问数据所属的类型。
11、在一种可能的实现方式中,根据所述变分分布特征信息、所述分类特征信息以及各类型的中心分布信息,确定所述网络访问数据所属的目标类型,以及所述目标类型的目标中心分布信息,包括:
12、确定所述变分分布特征信息与各个类型的中心分布信息之间的第一特征距离,以及所述分类特征信息与各个类型的中心分布信息之间的第二特征距离;
13、根据所述第一特征距离,确定所述变分分布特征信息所属的第一类型,以及根据所述第二特征距离,确定所述分类特征信息所属的第二类型;
14、在所述第一类型和所述第二类型为相同类型的情况下,将所述第一类型确定为所述目标类型,并将目标类型的中心分布信息确定为所述目标中心分布信息。
15、在一种可能的实现方式中,根据所述变分分布特征信息、所述分类特征信息以及各类型的中心分布信息,确定所述网络访问数据所属的目标类型,以及所述目标类型的目标中心分布信息,还包括:
16、在所述第一类型和所述第二类型为不同类型的情况下,确定与所述第一类型的中心分布信息的特征距离小于或等于第一中心特征距离的范围内的概率分布信息对应的第一历史访问数据,所述第一中心特征距离为所述变分分布特征信息与第一类型的中心分布信息之间的特征距离;
17、通过所述变分自编码模型对所述第一历史访问数据进行处理,获得各个第一历史访问数据所属的第三类型;
18、通过所述网络访问数据分类模型对所述第一历史访问数据进行处理,获得各个第一历史访问数据所属的第四类型;
19、确定与所述第二类型的中心分布信息的特征距离小于或等于第二中心特征距离的范围内的概率分布信息对应的第二历史访问数据,所述第二中心特征距离为所述分类特征信息与所述第二类型的中心分布信息之间的特征距离;
20、通过所述变分自编码模型对所述第二历史访问数据进行处理,获得各个第二历史访问数据所属的第五类型;
21、通过所述网络访问数据分类模型对所述第二历史访问数据进行处理,获得各个第二历史访问数据所属的第六类型;
22、根据所述第三类型、所述第四类型、所述第五类型和所述第六类型,统计所述变分自编码模型和所述网络访问数据分类模型的错误率;
23、将错误率较低者获得的网络访问数据所属的类型确定为所述目标类型,并将目标类型的中心分布信息确定为所述目标中心分布信息。
24、在一种可能的实现方式中,根据所述变分分布特征信息、所述分类特征信息以及所述目标中心分布信息,确定所述变分自编码模型和所述网络访问数据分类模型是否需要训练,包括:
25、确定所述变分分布特征信息与所述目标中心分布信息之间的第三特征距离,以及所述分类特征信息与所述目标中心分布信息之间的第四特征距离;
26、将所述变分分布特征信息和所述分类特征信息加入所述目标类型,并重新确定目标类型的中心分布信息,获得第一中心分布信息;
27、确定所述变分分布特征信息与所述第一中心分布信息之间的第五特征距离,以及所述分类特征信息与所述第一中心分布信息之间的第六特征距离;
28、确定所述目标中心分布信息与所述第一中心分布信息之间的中心位移特征距离;
29、根据所述第三特征距离、所述第四特征距离、所述第五特征距离、所述第六特征距离和所述中心位移特征距离,确定所述变分自编码模型和所述网络访问数据分类模型是否需要训练。
30、在一种可能的实现方式中,根据所述第三特征距离、所述第四特征距离、所述第五特征距离、所述第六特征距离和所述中心位移特征距离,确定所述变分自编码模型和所述网络访问数据分类模型是否需要训练,包括:
31、根据公式,确定训练需求度评分d,其中,为第三特征距离,为第四特征距离,为目标类型加入变分分布特征信息和分类特征信息之前,各概率分布信息与目标中心分布信息之间的平均特征距离,为第五特征距离,为第六特征距离,为目标类型加入变分分布特征信息和分类特征信息之后,各概率分布信息和变分分布特征信息和分类特征信息,与第一中心分布信息之间的平均特征距离,为所述中心位移特征距离,为变分分布特征信息,为分类特征信息之前,、、、为预设权重;
32、在所述训练需求度评分大于或等于预设评分阈值的情况下,确定所述变分自编码模型和所述网络访问数据分类模型需要训练。
33、在一种可能的实现方式中,在所述变分自编码模型和所述网络访问数据分类模型需要训练的情况下,根据所述变分分布特征信息、所述分类特征信息以及所述目标中心分布信息,确定所述变分自编码模型和所述网络访问数据分类模型的损失函数,包括:
34、确定所述第三特征距离与所述第四特征距离中的较大值;
35、确定与所述目标中心分布信息的特征距离小于或等于所述较大值的范围内的概率分布信息对应的第三历史访问数据;
36、通过所述变分自编码模型对所述第三历史访问数据进行处理,获得各第三历史访问数据的第一预测特征信息;
37、通过所述网络访问数据分类模型对所述第三历史访问数据进行处理,获得各第三历史访问数据的第二预测特征信息;
38、根据公式
39、
40、确定所述损失函数l,其中,为第i个第三历史访问数据的第一预测特征信息,为第i个第三历史访问数据的第二预测特征信息,n为所述第三历史访问数据的总数,i为小于或等于n的正整数,为目标中心分布信息,为将第i个第三历史访问数据的第一预测特征信息和第二预测特征信息加入目标类型后重新确定的第二中心分布特征,为基于获得的第i个第三历史访问数据属于目标类别的概率,为基于获得的第i个第三历史访问数据属于目标类别的概率,为基于获得的目标中心分布信息属于目标类别的概率,、、、、、、为预设权重,、、、、为预设参数。
41、在一种可能的实现方式中,所述方法还包括:
42、通过训练后的变分自编码模型,获得所述网络访问数据的第一概率分布信息;
43、通过训练后的网络访问数据分类模型,获得所述网络访问数据的第二概率分布信息;
44、根据所述第一概率分布信息和第二概率分布信息确定为所述网络访问数据的概率分布信息;
45、将所述网络访问数据作为历史访问数据,并将所述网络访问数据的概率分布信息作为历史访问数据的概率分布信息,加入历史访问数据库。
46、根据本发明的一方面,提供了一种基于变分自编码模型的网络异常入侵检测系统,包括:
47、第一处理模块,用于在接收到网络访问数据的情况下,通过变分自编码模型对网络访问数据进行处理,获得所述网络访问数据的变分分布特征信息,所述变分分布特征信息为所述变分自编码模型获得的用于表示所述网络访问数据是否为异常入侵数据的概率分布信息;
48、第二处理模块,用于通过网络访问数据分类模型对所述网络访问数据进行处理,获得所述网络访问数据的分类特征信息,所述分类特征信息为网络访问数据分类模型获得的用于表示所述网络访问数据是否为异常入侵数据的概率分布信息;
49、中心分布信息获取模块,用于获取历史访问数据库中,与各类型的历史访问数据的概率分布信息对应的中心分布信息;
50、目标类型确定模块,用于根据所述变分分布特征信息、所述分类特征信息以及各类型的中心分布信息,确定所述网络访问数据所属的目标类型,以及所述目标类型的目标中心分布信息;
51、训练需求确定模块,用于根据所述变分分布特征信息、所述分类特征信息以及所述目标中心分布信息,确定所述变分自编码模型和所述网络访问数据分类模型是否需要训练;
52、损失函数模块,用于在所述变分自编码模型和所述网络访问数据分类模型需要训练的情况下,根据所述变分分布特征信息、所述分类特征信息以及所述目标中心分布信息,确定所述变分自编码模型和所述网络访问数据分类模型的损失函数;
53、训练模块,拥有根据所述损失函数,对变分自编码模型和网络访问数据分类模型进行训练,获得训练后的变分自编码模型和网络访问数据分类模型;
54、分类模块,用于通过训练后的变分自编码模型和网络访问数据分类模型,确定所述网络访问数据所属的类型。
55、在一种可能的实现方式中,所述目标类型确定模块进一步用于:
56、确定所述变分分布特征信息与各个类型的中心分布信息之间的第一特征距离,以及所述分类特征信息与各个类型的中心分布信息之间的第二特征距离;
57、根据所述第一特征距离,确定所述变分分布特征信息所属的第一类型,以及根据所述第二特征距离,确定所述分类特征信息所属的第二类型;
58、在所述第一类型和所述第二类型为相同类型的情况下,将所述第一类型确定为所述目标类型,并将目标类型的中心分布信息确定为所述目标中心分布信息。
59、在一种可能的实现方式中,所述目标类型确定模块还用于:
60、在所述第一类型和所述第二类型为不同类型的情况下,确定与所述第一类型的中心分布信息的特征距离小于或等于第一中心特征距离的范围内的概率分布信息对应的第一历史访问数据,所述第一中心特征距离为所述变分分布特征信息与第一类型的中心分布信息之间的特征距离;
61、通过所述变分自编码模型对所述第一历史访问数据进行处理,获得各个第一历史访问数据所属的第三类型;
62、通过所述网络访问数据分类模型对所述第一历史访问数据进行处理,获得各个第一历史访问数据所属的第四类型;
63、确定与所述第二类型的中心分布信息的特征距离小于或等于第二中心特征距离的范围内的概率分布信息对应的第二历史访问数据,所述第二中心特征距离为所述分类特征信息与所述第二类型的中心分布信息之间的特征距离;
64、通过所述变分自编码模型对所述第二历史访问数据进行处理,获得各个第二历史访问数据所属的第五类型;
65、通过所述网络访问数据分类模型对所述第二历史访问数据进行处理,获得各个第二历史访问数据所属的第六类型;
66、根据所述第三类型、所述第四类型、所述第五类型和所述第六类型,统计所述变分自编码模型和所述网络访问数据分类模型的错误率;
67、将错误率较低者获得的网络访问数据所属的类型确定为所述目标类型,并将目标类型的中心分布信息确定为所述目标中心分布信息。
68、在一种可能的实现方式中,所述训练需求确定模块进一步用于:
69、确定所述变分分布特征信息与所述目标中心分布信息之间的第三特征距离,以及所述分类特征信息与所述目标中心分布信息之间的第四特征距离;
70、将所述变分分布特征信息和所述分类特征信息加入所述目标类型,并重新确定目标类型的中心分布信息,获得第一中心分布信息;
71、确定所述变分分布特征信息与所述第一中心分布信息之间的第五特征距离,以及所述分类特征信息与所述第一中心分布信息之间的第六特征距离;
72、确定所述目标中心分布信息与所述第一中心分布信息之间的中心位移特征距离;
73、根据所述第三特征距离、所述第四特征距离、所述第五特征距离、所述第六特征距离和所述中心位移特征距离,确定所述变分自编码模型和所述网络访问数据分类模型是否需要训练。
74、在一种可能的实现方式中,所述训练需求确定模块进一步用于:
75、根据公式,确定训练需求度评分d,其中,为第三特征距离,为第四特征距离,为目标类型加入变分分布特征信息和分类特征信息之前,各概率分布信息与目标中心分布信息之间的平均特征距离,为第五特征距离,为第六特征距离,为目标类型加入变分分布特征信息和分类特征信息之后,各概率分布信息和变分分布特征信息和分类特征信息,与第一中心分布信息之间的平均特征距离,为所述中心位移特征距离,为变分分布特征信息,为分类特征信息之前,、、、为预设权重;
76、在所述训练需求度评分大于或等于预设评分阈值的情况下,确定所述变分自编码模型和所述网络访问数据分类模型需要训练。
77、在一种可能的实现方式中,所述损失函数模块进一步用于:
78、确定所述第三特征距离与所述第四特征距离中的较大值;
79、确定与所述目标中心分布信息的特征距离小于或等于所述较大值的范围内的概率分布信息对应的第三历史访问数据;
80、通过所述变分自编码模型对所述第三历史访问数据进行处理,获得各第三历史访问数据的第一预测特征信息;
81、通过所述网络访问数据分类模型对所述第三历史访问数据进行处理,获得各第三历史访问数据的第二预测特征信息;
82、根据公式
83、
84、确定所述损失函数l,其中,为第i个第三历史访问数据的第一预测特征信息,为第i个第三历史访问数据的第二预测特征信息,n为所述第三历史访问数据的总数,i为小于或等于n的正整数,为目标中心分布信息,为将第i个第三历史访问数据的第一预测特征信息和第二预测特征信息加入目标类型后重新确定的第二中心分布特征,为基于获得的第i个第三历史访问数据属于目标类别的概率,为基于获得的第i个第三历史访问数据属于目标类别的概率,为基于获得的目标中心分布信息属于目标类别的概率,、、、、、、为预设权重,、、、、为预设参数。
85、在一种可能的实现方式中,所述装置还包括入库模块,用于:
86、通过训练后的变分自编码模型,获得所述网络访问数据的第一概率分布信息;
87、通过训练后的网络访问数据分类模型,获得所述网络访问数据的第二概率分布信息;
88、根据所述第一概率分布信息和第二概率分布信息确定为所述网络访问数据的概率分布信息;
89、将所述网络访问数据作为历史访问数据,并将所述网络访问数据的概率分布信息作为历史访问数据的概率分布信息,加入历史访问数据库。
90、根据本发明的一方面,提供了一种基于变分自编码模型的网络异常入侵检测设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
91、根据本发明的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
92、根据本发明的实施例的基于变分自编码模型的网络异常入侵检测方法,能够通过变分自编码模型和网络访问数据分类模型共同确定网络访问数据所属的类型。如果两个模型确定的分类结果存在差异,则可确定两种模型中正确率较高者,并可将正确率较高的模型确定的分类结果确定为目标类型,并且,在确定两种模型的正确率时,可采用两种模型确定出的类型中选取的历史访问数据作为测试样本,使统计结果更具普遍性和无偏性,提升统计结果的准确性,进而提升选择正确率较高的模型的选取准确性。在两种模型需要更新训练时,可通过历史访问数据和网络访问数据共同对变分自编码模型和网络访问数据进行训练和更新,在更新时无需人工标注,大幅节省工作量,在更新训练过程中可使变分自编码模型和网络访问数据分类模型获得的分类结果的一致性更高,分类结果的确定性更高,并可提高两个模型的分类准确率,并且,可使变分自编码模型和网络访问数据分类模型不断更新,以更好地适应不断变化的网络访问数据。
93、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本发明。根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将更清楚。