本文作者:kaifamei

基于序列生成对抗网络结合DP3模糊测试的漏洞检测方法与流程

更新时间:2025-12-25 21:50:55 0条评论

基于序列生成对抗网络结合DP3模糊测试的漏洞检测方法与流程


基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法
技术领域
1.本发明涉及dnp3协议测试技术领域,尤其是涉及一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法。


背景技术:



2.工业控制系统由各种自动化控制组件和一系列负责实时数据采集、监测的过程控制组件共同组成,目前被广泛应用于电力、冶金、水利、安防以及其他与国计民生紧密相关的重要领域。随着智能制造、工业一体化的不断提高,以及物联网、5g通讯等高新技术的不断推广,越来越多的网络安全攻击的矛头都指向了工控系统,为了确保工控系统使用的安全,就需要设计相应的检测方法,但是现有的检测方法存在着如下问题:对于工控系统的漏洞检测不够全面,修复漏洞的速度也不够快。


技术实现要素:



3.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法。
4.本发明的目的可以通过以下技术方案来实现:
5.一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,该方法包括以下步骤:
6.步骤1:构建dnp3协议样本库;
7.步骤2:对dnp3协议样本库中的样本数据进行预处理;
8.步骤3:基于生成器神经网络生成对抗训练数据;
9.步骤4:基于对抗训练数据进行重复测试;
10.步骤5:进行漏洞修复与检验;
11.步骤6:对记录的漏洞进行汇总分析。
12.所述的步骤1中,构建dnp3协议样本库的过程具体为:
13.从网络上获取已公开的dnp3协议样本数据并进行存储,同时从其他机构保存的dnp3协议样本库拷贝样本数据以丰富本地的dnp3协议样本库,存储dnp3协议样本数据时采用raid1备份,获取dnp3协议样本数据的端口号为20000。
14.所述的步骤2中,对dnp3协议样本库中的样本数据进行预处理的过程具体为:
15.将获得的dnp3协议样本数据统一转换成10进制和2进制两组数据,然后对转换后的数据进行变异处理。
16.所述的变异处理包括数值填充、数值取反和字符调换。
17.所述的步骤3中,基于生成器神经网络生成对抗训练数据的过程具体包括以下步骤:
18.步骤301:首先初始化生成器神经网络,随机获取变异处理后的10进制和2进制数据并转化为二维阵列;
19.步骤302:对二维阵列进行数据完整性校验;
20.步骤303:将校验后的二维阵列输入鉴别神经网络鉴别真伪;
21.步骤304:循环训练生成器神经网络和鉴别神经网络,将多次训练后得到的多个对抗训练数据进行保存。
22.所述的步骤4中,基于对抗训练数据进行漏洞重复测试的过程具体包括以下步骤:
23.步骤401:随机抓取对抗训练数据形成一组测试数据,对工控系统进行多次重复模糊测试;
24.步骤402:判断是否存在漏洞,若是,则记录每一组测试数据测试漏洞出现的区域、数量和对应的时间,且对于漏洞出现数量最多的一次测试,再次抓取与该次测试类似的对抗训练数据进行训练,若否,则返回步骤2。
25.所述的一组测试数据包括10个随机抓取的对抗训练数据。
26.所述的再次抓取的对抗训练数据与该次测试的对抗训练数据的相似程度高于70%。
27.所述的步骤5中,进行漏洞修复与检验的过程具体包括以下步骤:
28.步骤501:对记录的漏洞结合对抗训练数据进行修复,修复后再次抓取类似的对抗训练数据进行模糊测试;
29.步骤502:判断是否存在漏洞,若是,则执行步骤601,若否,则执行步骤6。
30.所述的步骤6中,对记录的漏洞进行汇总分析的过程具体为:
31.对漏洞汇总并绘制分布图或绘制统计表格,以了解漏洞分布情况,根据漏洞的多发区域进行总结和预测,并按照预测方向进行漏洞的冗余测试和修复。
32.与现有技术相比,本发明具有以如下有益效果:
33.1、本发明通过将样本数据分别转化为10进制和2进制两组数据进行变异处理,变异处理后得到的数据更为多种多样,加上修复漏洞后的再次测试,从而能够更全面的得到对抗训练数据,对于系统的漏洞检测更为全面;
34.2、本发明通过绘制漏洞分布图并根据多发区域进行预测的方式提前为漏洞修复做好准备,按照预测方向进行漏洞的冗余测试和修复能够更迅速地修复漏洞。
附图说明
35.图1为本发明的方法流程图。
具体实施方式
36.下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
37.本发明提供了一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,该方法包括以下步骤:
38.步骤1:构建dnp3协议样本库;
39.步骤2:对dnp3协议样本库中的样本数据进行预处理;
40.步骤3:基于生成器神经网络生成对抗训练数据;
41.步骤4:基于对抗训练数据进行重复测试;
42.步骤5:进行漏洞修复与检验;
43.步骤6:对记录的漏洞进行汇总分析。
44.在步骤1中,从网络上获取已公开的dnp3协议样本数据并进行存储,同时从其他机构保存的dnp3协议样本库拷贝数据以丰富本地的样本库,存储dnp3协议样本数据时采用raid1备份,抓取的dnp3协议样本数据的端口号为20000。
45.在步骤2中,将获得的dnp3协议样本数据统一转换成10进制和2进制两组数据,然后对转换后的数据进行变异处理,变异处理包括数值填充、数值取反和字符调换。
46.在步骤3中,首先初始化生成器神经网络,随机获取变异处理后的10进制和2进制数据并转化为二维阵列,对二维阵列进行数据完整性校验,再将校验后的二维阵列输入鉴别神经网络鉴别真伪,再循环训练生成器神经网络和鉴别神经网络,将多次训练后得到的多个对抗训练数据进行保存。
47.在步骤4中,漏洞重复测试的过程具体为:
48.步骤401:随机抓取对抗训练数据形成一组测试数据,对工控系统进行模糊测试,进行多次重复测试;
49.步骤402:判断是否有漏洞,若是,则记录每一组测试数据测试漏洞出现的区域、数量和时间,且对于漏洞出现数量显著增加/最多的一次测试,抓取与该次测试类似的对抗训练数据再次进行训练,一组测试数据默认包含10个随机抓取的对抗训练数据,再次抓取的对抗训练数据与该次测试的对抗训练数据的相似程度高于70%。
50.在步骤5中,漏洞修复与检验的过程具体为:
51.步骤501:对记录的漏洞结合对抗训练数据进行修复,修复后再次抓取类似的对抗训练数据进行模糊测试;
52.步骤502:判断是否仍有漏洞,若是,则再次进行修复,若否,则再次随机抓取一组对抗训练数据进行模糊测试,直至无漏洞。
53.在步骤6中,对漏洞汇总并绘制分布图,根据漏洞的多发区域进行总结和预测,并按照预测方向进行漏洞的冗余测试和修复。
54.分布式网络协议3(distributed network protocol3,dnp3)在各种工业系统中都有着很多的应用,比s7comm的协议栈简单很多,是完全基于tcp/ip的,只是修改了应用层,但比nodbus的应用层要复杂得多,dnp3在应用层实现了对传输数据的分片、校验和控制等诸多功能,而序列生成对抗网络则通过生成对抗网络处理离散的序列数据,将二者结合就有了一种基于序列生成对抗网络结合dnp3模糊测试方法,基于该测试方法对工控系统的漏洞进行检测,以有效降低工控系统被攻击的概率。
55.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

技术特征:


1.一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,该方法包括以下步骤:步骤1:构建dnp3协议样本库;步骤2:对dnp3协议样本库中的样本数据进行预处理;步骤3:基于生成器神经网络生成对抗训练数据;步骤4:基于对抗训练数据进行重复测试;步骤5:进行漏洞修复与检验;步骤6:对记录的漏洞进行汇总分析。2.根据权利要求1所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的步骤1中,构建dnp3协议样本库的过程具体为:从网络上获取已公开的dnp3协议样本数据并进行存储,同时从其他机构保存的dnp3协议样本库拷贝样本数据以丰富本地的dnp3协议样本库,存储dnp3协议样本数据时采用raid1备份,获取dnp3协议样本数据的端口号为20000。3.根据权利要求1所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的步骤2中,对dnp3协议样本库中的样本数据进行预处理的过程具体为:将获得的dnp3协议样本数据统一转换成10进制和2进制两组数据,然后对转换后的数据进行变异处理。4.根据权利要求3所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的变异处理包括数值填充、数值取反和字符调换。5.根据权利要求1所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的步骤3中,基于生成器神经网络生成对抗训练数据的过程具体包括以下步骤:步骤301:首先初始化生成器神经网络,随机获取变异处理后的10进制和2进制数据并转化为二维阵列;步骤302:对二维阵列进行数据完整性校验;步骤303:将校验后的二维阵列输入鉴别神经网络鉴别真伪;步骤304:循环训练生成器神经网络和鉴别神经网络,将多次训练后得到的多个对抗训练数据进行保存。6.根据权利要求1所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的步骤4中,基于对抗训练数据进行漏洞重复测试的过程具体包括以下步骤:步骤401:随机抓取对抗训练数据形成一组测试数据,对工控系统进行多次重复模糊测试;步骤402:判断是否存在漏洞,若是,则记录每一组测试数据测试漏洞出现的区域、数量和对应的时间,且对于漏洞出现数量最多的一次测试,再次抓取与该次测试类似的对抗训练数据进行训练,若否,则返回步骤2。7.根据权利要求6所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的一组测试数据包括10个随机抓取的对抗训练数据。
8.根据权利要求6所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的再次抓取的对抗训练数据与该次测试的对抗训练数据的相似程度高于70%。9.根据权利要求1所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的步骤5中,进行漏洞修复与检验的过程具体包括以下步骤:步骤501:对记录的漏洞结合对抗训练数据进行修复,修复后再次抓取类似的对抗训练数据进行模糊测试;步骤502:判断是否存在漏洞,若是,则执行步骤601,若否,则执行步骤6。10.根据权利要求1所述的一种基于序列生成对抗网络结合dnp3模糊测试的漏洞检测方法,其特征在于,所述的步骤6中,对记录的漏洞进行汇总分析的过程具体为:对漏洞汇总并绘制分布图或绘制统计表格,以了解漏洞分布情况,根据漏洞的多发区域进行总结和预测,并按照预测方向进行漏洞的冗余测试和修复。

技术总结


本发明涉及一种基于序列生成对抗网络结合DP3模糊测试的漏洞检测方法,该方法包括以下步骤:步骤1:构建DP3协议样本库;步骤2:对DP3协议样本库中的样本数据进行预处理;步骤3:基于生成器神经网络生成对抗训练数据;步骤4:基于对抗训练数据进行漏洞重复测试;步骤5:进行漏洞修复与检验;步骤6:对记录的漏洞进行汇总分析。与现有技术相比,本发明具有提高对工控系统的漏洞检测的全面性和修复速度等优点。点。点。


技术研发人员:

王彬彬 沈泉江 宋岩 张蕾 刘畅 吴裔 郭乃网 解梁军

受保护的技术使用者:

国网上海市电力公司

技术研发日:

2022.09.15

技术公布日:

2022/12/12


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-50038-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-19 19:52:32

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论