一种基于集成学习的电网网络入侵事件检测识别方法与流程

专利2024-10-08  53



1.本发明涉及种基于集成学习的电网网络入侵事件检测识别方法,属于网络安全和机器学习领域。


背景技术:

2.目前,网络已成为支撑电网业务多环境条件下运营自动化、监控实时化、业务智能化发展的重要基础设施。电力网络中相当数量的设备部署于非受控环境用以承载和监控业务运行,存在自身防护薄弱、攻击检测手段不足的特点,而潜藏网络中难以根除、层出不穷的零日漏洞、恶意软件等网络攻击行为日益成为威胁电网安全、平稳运行的主要因素。提升电网针对网络入侵的检测能力成为保障电网网络设施安全稳定运行的根本任务和亟需解决的问题。
3.电网每日运行会产生巨大的数据流量,流量中充斥着各种各样的信息,其中不仅承载着电网运行的关键数据信息,也是各类攻击潜藏的主要载体。这些蕴含在流量中的数据为网络入侵事件检测和识别研究提供了重要的数据来源。传统的网络入侵检测方法包括基于误用检测和基于异常检测。基于误用检测的方法仅能检测已知攻击,且需要预先定义检测规则和模式,并不断维护和更新规则模板库,针对未知攻击的检测率较差;基于异常检测的方法包括基于统计的检测、基于机器学习的检测,基于统计的检测方法通过对比当前时刻网络连接数量与系统正常行为模式规定的阈值,超过阈值则定义为异常;基于机器学习的检测方法则把网络异常检测视为流量分类问题,划分为正常流量和异常流量,其关键是特征提取技术和分类模型的构建,主要包括贝叶斯、k近邻、决策树等方法。传统方法的不足之处在于需要预先构建攻击模式库,且不同系统的阈值设置差异较大,分类器泛化性较差。
4.当前网络入侵检测主要采用深度学习或集成学习方法。深度学习能够自动提取数据特征,通过构造多层的神经网络模型充分学习数据时间、空间等特征,整个过程无需人工参与就可以得到很好的分类效果,主要包括卷积神经网络、循环神经网络、深度置信网络、玻尔兹曼机等方法。由于真实网络复杂多变、数据量大、攻击方式不断变种等特点,单一的深度神经网络已经无法满足网络入侵检测的检测需求,利用集成学习将多个深度神经网络模型或传统机器学习模型进行串行、并行学习提升分类器性能。但现有方法有如下不足:
5.1.模型泛化能力较差。当前的研究主要基于开源的数据集,其信息具有规范性、规律性,与真实网络环境相差甚远,导致在真实环境中泛化能力出现较大偏差。
6.2.检测模型效果不稳定、泛化性差。现有方法往往在训练阶段将整个流量数据作为训练集进行模型训练,没有对流量数据、混淆数据进行有效分割,而隐藏在数据集中的各类混淆数据会极大的抑制模型训练效果,导致真实网络入侵检测效果不理想且泛化能力较差。
7.3.无法实现攻击库的动态更新。现有检测的方法其缺点是数据集较为固定,更新缓慢,无法应对不断变种的网络攻击事件,缺乏时效性;在模型训练中,由于同一攻击类型
force-xss与sql-injection的标签标注值分别为0、1、2、3。
19.步骤4)数据预处理中的数据标准化处理为对数据使用编码和规范化进行预处理,编码是通过将数据中流量特征的非数字特征进行编码,保证所有数据均为数字,并在规范化过程中进行空值与无穷大值的样本进行剔除处理。
20.更进一步的,步骤4)中的过采样算法,即在数据集总体数据量不变的情况下,通过减少正常样本的数量,利用典型的smote算法,即合成少数类过采样算法,使数据样本的数量达到平衡。
21.在步骤5)中对随机森林特征重要性进行度量,在训练集上随机生成由多个决策树构成的森林,当有一个新的输入样本进入的时候,通过森林中的每一棵决策树分别进行判断,最后决定该样本应该属于哪一类;对于随机森林中的每一颗决策树,使用相应的测试集数据来计算测试数据误差,随机地对测试集数据中所有样本的每一个特征加入噪声干扰,再次计算它的测试集数据误差;若给某个特征随机加入噪声之后,测试集数据的分类准确率大幅度降低,则说明这个特征对于样本的分类结果影响越大,故该特征也显得比较重要。
22.在步骤6)中通过xgboost 1.5.0算法库对检测模型进行训练,为了进一步提高检测的准确率,需要调整优化n_estimators,即弱分类器数目、max_depth即树的最大深度和min_child_weight即叶子节点需要的最小样本权重;首先对n_estimators参数进行优化,并对该参数进行固定,继续优化max_depth,最后优化min_child_weight参数;通过对这三个参数使用深度搜索策略,深度搜索策略的优化终止条件为在步长为5的情况下是否提升了检测模型的最高准确率。
23.在步骤6)中设置最优的n_estimators、max_depth与min_child_weight值,在测试集上验证检测模型的性能。
24.根据上述技术方案可知,本发明提供的基于集成学习的电网网络入侵事件检测识别方法,通过利用随机森林和xgboost,基于集成学习的网络入侵事件检测、识别方法,通过多分类器集成学习的模式,不断强化对小样本异常事件的学习。本方法相比于现有的技术具有以下好处:
25.1、本发明采用基于随机森林和xgboost集成学习模型对电网互联网大区和管理信息大区网络流量数据进行实现对暴力攻击(brute-force-web,brute-force-xss)和数据库恶意访问攻击(sql-injection)等特定网络入侵行为的检测、识别和分类。在特征选择阶段,基于随机森林实现对高维特征的最优化抽取和特征重要性排序,结合xgboost模型能够以更低的维度和更细的粒度捕捉到对入侵事件最具影响的特征,降低高维数据对入侵检测性能的影响,能够更快、更好的训练模型。
26.2、本发明采用易于理解基于图形的检测结果展示模式,以文字、图形相结合的方式立体的展示网络设备间的访问行为和针对行为的检测结果,能够降低网络行为理解的难度、提升管理人员利用分析的效率。
27.3、本发明采用交互式的结果反馈机制可以快速将错误检测结果反馈给检测模型,能够更好的维护和促进模型的迭代更新,进一步提高网络入侵事件检测精度。
附图说明
28.图1基于集成学习的网络入侵检测流程;
29.图2特征集表格;
30.图3特征重要性度量分布图。
31.具体实施方法
32.下面结合附图和具体实施例对本发明作详细具体的说明,但本发明的保护范围不限于下述的实施例。
33.在本发明所提供的技术方案中的基于集成学习的电网网络入侵事件检测识别方法,如图1所示,按照以下步骤进行:
34.1)数据采集:通过数据采集框架获取所需管理数据的信息大区和互联网大区的网络数据,构成业务系统网络流量数据集d;
35.数据采集框架包括tcpdump抓包工具,用于抓取固定端口的流入数据包,实现原始数据集的抓取;通过设定抓包工具的特定端口、抓取包的数量和传输方向,并将以上抓取选项以pcap格式存储到文件中。
36.2)数据解码:对网络流量数据集d根据tcp/ip协议簇进行数据解码,构成解码后的可分析数据集d
p。
37.3)数据融合与标注:对可分析数据集d
p
中的数据进行会话统计与计算,并对可分析数据集d
p
进行类别标注,构成本发明可使用的模型原始数据样本数据集d
l

38.在步骤3)中的类别标注,即通过针对网络流量攻击的特点,对主要检测的三类网络入侵攻击事件:即brute-force-web暴力攻击、brute-force-xss暴力攻击和sql-injection数据库恶意访问攻击进行标签标注,其中正常样本、brute-force-web、brute-force-xss与sql-injection的标签标注值分别为0、1、2、3。
39.4)数据预处理:如图2所示,对原始数据样本数据集d
l
通过常规方法进行缺失值删除、二值化处理和归一化等数据标准化处理,针对由于原始数据样本集中入侵攻击事件样本少导致的数据集不平衡问题,通过smote算法向原始数据样本数据集d
l
插入攻击样本数据,构成新的流量数据集di,从数据集di随机选取70%的样本数据作为训练集d
i_tr
,另外30%作为测试集d
i_ts

40.步骤4)数据预处理中的数据标准化处理为对数据使用编码和规范化进行预处理,编码是通过将数据中流量特征的非数字特征进行编码,保证所有数据均为数字,并在规范化过程中进行空值与无穷大值的样本进行剔除处理。
41.步骤4)中的过采样算法,即在数据集总体数据量不变的情况下,通过减少正常样本的数量,利用典型的smote算法,即合成少数类过采样算法,使数据样本的数量达到平衡。
42.5)特征重要性分析与选择:如图3所示,基于网络流量数据集d构建针对所需管理数据的信息大区和互联网大区的网络数据的随机森林分类模型,排序每一个数据集中特征的重要性权值,特征排序并剔除;依据特征袋外数据,其中袋外数据是利用训练集d
i_tr
基于随机森林方法构建决策树时,采用随机且有放回地数据抽取方法提取数据,对于第k棵树,大约有一半的训练数据没有用于第k棵树的生成,那么这一半没有用到的数据称为第k棵树的袋外数据样本。袋外数据的分类准确率的差值来衡量特征的重要性,并排序特征,剔除最后5%的特征;并以5%作为标准阈值剔除不重要特征,得到较为重要的特征集;
43.对随机森林特征重要性进行度量,在训练集上随机生成由多个决策树构成的森林,当有一个新的输入样本进入的时候,通过森林中的每一棵决策树分别进行判断,最后决
定该样本应该属于哪一类;对于随机森林中的每一颗决策树,使用相应的测试集数据来计算测试数据误差,随机地对测试集数据中所有样本的每一个特征加入噪声干扰,再次计算它的测试集数据误差;若给某个特征随机加入噪声之后,测试集数据的分类准确率大幅度降低,则说明这个特征对于样本的分类结果影响越大,故该特征也显得比较重要。
44.6)检测模型构建;将随机森林特征选择的特征集在[0,1]范围内进行标准化处理,并将所有数据的全部取值都在[0,1]范围内;构造xgboost网络流量入侵检测模型,通过优化xgboost模型的参数,使输出的检测结果与标注的标签结果一致;训练完成后,将测试数据集的样本输入xgboost模型,对模型分类准确性进行验证;
[0045]
在步骤6)中通过xgboost 1.5.0算法库对检测模型进行训练,为了进一步提高检测的准确率,需要调整优化n_estimators,即弱分类器数目、max_depth即树的最大深度和min_child_weight即叶子节点需要的最小样本权重;首先对n_estimators参数进行优化,并对该参数进行固定,继续优化max_depth,最后优化min_child_weight参数;通过对这三个参数使用深度搜索策略,深度搜索策略的优化终止条件为在步长为5的情况下是否提升了检测模型的最高准确率。
[0046]
在步骤6)中设置最优的n_estimators、max_depth与min_child_weight值,在测试集上验证检测模型的性能。
[0047]
7)检测结果可视化呈现:实时的网络流量采集、预处理和特征提取后,将提取的特征输入至训练好的xgboost模型,输出结果作为对实时网络入侵事件检测识别与分类结果,以文本和图形事件图库形式展示给用户,展示结果支持分类事件收藏和查询,核对检测结果后将错误分类信息反馈给xgboost模型,模型借助反馈信息进行动态迭代演进。

技术特征:
1.一种基于集成学习的电网网络入侵事件检测识别方法,其特征在于按照以下步骤进行:1)数据采集:通过数据采集框架获取所需管理数据的信息大区和互联网大区的网络数据,构成业务系统网络流量数据集d;2)数据解码:对网络流量数据集d根据tcp/ip协议簇进行数据解码,构成解码后的可分析数据集d
p。
3)数据融合与标注:对可分析数据集d
p
中的数据进行会话统计与计算,并对可分析数据集d
p
进行类别标注,构成本发明可使用的模型原始数据样本数据集d
l
;4)数据预处理:对原始数据样本数据集d
l
通过常规方法进行缺失值删除、二值化处理和归一化等数据标准化处理,针对由于原始数据样本集中入侵攻击事件样本少导致的数据集不平衡问题,通过smote算法向原始数据样本数据集d
l
插入攻击样本数据,构成新的流量数据集d
i
,从数据集d
i
随机选取70%的样本数据作为训练集d
i_tr
,另外30%作为测试集d
i_ts
;5)特征重要性分析与选择:基于网络流量数据集d构建针对所需管理数据的信息大区和互联网大区的网络数据的随机森林分类模型,排序每一个数据集中特征的重要性权值,特征排序并剔除;依据特征袋外数据的分类准确率的差值来衡量特征的重要性,并排序特征,剔除最后5%的特征;并以5%作为标准阈值剔除不重要特征,得到较为重要的特征集;6)检测模型构建;将随机森林特征选择的特征集在[0,1]范围内进行标准化处理,并将所有数据的全部取值都在[0,1]范围内;构造xgboost网络流量入侵检测模型,通过优化xgboost模型的参数,使输出的检测结果与标注的标签结果一致;训练完成后,将测试数据集的样本输入xgboost模型,对模型分类准确性进行验证;7)检测结果可视化呈现:实时的网络流量采集、预处理和特征提取后,将提取的特征输入至训练好的xgboost模型,输出结果作为对实时网络入侵事件检测识别与分类结果,以文本和图形事件图库形式展示给用户,展示结果支持分类事件收藏和查询,核对检测结果后将错误分类信息反馈给xgboost模型,模型借助反馈信息进行动态迭代演进。2.根据权利要求1所述的基于集成学习的电网网络入侵事件检测识别方法,其特征在于:步骤1)中的数据采集框架包括tcpdump抓包工具,用于抓取固定端口的流入数据包,实现原始数据集的抓取;通过设定抓包工具的特定端口、抓取包的数量和传输方向,并将以上抓取选项以pcap格式存储到文件中。3.根据权利要求1所述的基于集成学习的电网网络入侵事件检测识别方法,其特征在于:在步骤3)中的类别标注,即通过针对网络流量攻击的特点,对主要检测的三类网络入侵攻击事件:即brute-force-web暴力攻击、brute-force-xss暴力攻击和sql-injection数据库恶意访问攻击进行标签标注,其中正常样本、brute-force-web、brute-force-xss与sql-injection的标签标注值分别为0、1、2、3。4.根据权利要求1所述的基于集成学习的电网网络入侵事件检测识别方法,其特征在于:步骤4)数据预处理中的数据标准化处理为对数据使用编码和规范化进行预处理,编码是通过将数据中流量特征的非数字特征进行编码,保证所有数据均为数字,并在规范化过程中进行空值与无穷大值的样本进行剔除处理。5.根据权利要求1所述的基于集成学习的电网网络入侵事件检测识别方法,其特征在于:步骤4)中的过采样算法,即在数据集总体数据量不变的情况下,通过减少正常样本的数
量,利用典型的smote算法,即合成少数类过采样算法,使数据样本的数量达到平衡。6.根据权利要求1所述的基于集成学习的电网网络入侵事件检测识别方法,其特征在于:在步骤5)中对随机森林特征重要性进行度量,在训练集上随机生成由多个决策树构成的森林,当有一个新的输入样本进入的时候,通过森林中的每一棵决策树分别进行判断,最后决定该样本应该属于哪一类;对于随机森林中的每一颗决策树,使用相应的测试集数据来计算测试数据误差,随机地对测试集数据中所有样本的每一个特征加入噪声干扰,再次计算它的测试集数据误差;若给某个特征随机加入噪声之后,测试集数据的分类准确率大幅度降低,则说明这个特征对于样本的分类结果影响越大,故该特征也显得比较重要。7.根据权利要求1所述的基于集成学习的电网网络入侵事件检测识别方法,其特征在于:在步骤6)中通过xgboost 1.5.0算法库对检测模型进行训练,为了进一步提高检测的准确率,需要调整优化n_estimators,即弱分类器数目、max_depth即树的最大深度和min_child_weight即叶子节点需要的最小样本权重;首先对n_estimators参数进行优化,并对该参数进行固定,继续优化max_depth,最后优化min_child_weight参数;通过对这三个参数使用深度搜索策略,深度搜索策略的优化终止条件为在步长为5的情况下是否提升了检测模型的最高准确率。8.根据权利要求7所述的基于集成学习的电网网络入侵事件检测识别方法,其特征在于:在步骤6)中设置最优的n_estimators、max_depth与min_child_weight值,在测试集上验证检测模型的性能。

技术总结
本发明涉及种基于集成学习的电网网络入侵事件检测识别方法,属于网络安全和机器学习领域领域。本发明提供的基于集成学习的电网网络入侵事件检测识别方法,通过利用随机森林和XGBoost,基于集成学习的网络入侵事件检测、识别方法,通过多分类器集成学习的模式,不断强化对小样本异常事件的学习。本方法能够充分学习异常事件特征,提升网络异常检测精度,从而解决数据缺乏时效性以及模型迭代不及时带来的分类效果不稳定问题。的分类效果不稳定问题。的分类效果不稳定问题。


技术研发人员:禹宁 安毅 谷良 狄婷 周鑫 赵嘉 吴瑶 李伟博 黄达成 宫鑫 段潇蓉
受保护的技术使用者:国网山西省电力公司信息通信分公司
技术研发日:2022.07.06
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-9846.html

最新回复(0)