CN111966604A - 一种fuzzing工控协议漏洞挖掘系统 - Google Patents
一种fuzzing工控协议漏洞挖掘系统 Download PDFInfo
- Publication number
- CN111966604A CN111966604A CN202010926215.1A CN202010926215A CN111966604A CN 111966604 A CN111966604 A CN 111966604A CN 202010926215 A CN202010926215 A CN 202010926215A CN 111966604 A CN111966604 A CN 111966604A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- vulnerability
- module
- industrial control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于图卷积神经网络的fuzzing工控协议漏洞挖掘系统,包括测试用例生成模块、测试用例评价模块和攻击测试模块;所述测试用例生成模块用于生成测试用例;所述测试用例评价模块对测试用例进行归一化处理后,导入基于图卷积神经网络创建的测试用例评估模型,对测试用例的漏洞触发能力进行评估,输出漏洞触发能力满足预设最低能力阈值的测试用例;所述攻击测试模块用于将测试用例评价模块输出的测试用例发送至目标应用,对目标应用的状态进行监控,并将测试用例和对应的监控结果反哺至测试用例评估模型。本发明通过模糊测试技术和深度学习技术的结合,实现工控系统漏洞的智能挖掘。
Description
技术领域
本发明涉及漏洞挖掘技术领域,具体而言涉及一种基于图卷积神经网络的fuzzing工控协议漏洞挖掘系统。
背景技术
工业控制系统是国家关键的基础设施,主要用于数据采集、生产控制等方面。在“工业4.0”的发展浪潮下,网络化和信息化的融合发展使得工业控制系统智能化程度提高,提高生产过程效率的同时,也使得原本封闭的工业控制系统暴露了诸多的问题。PLC作为工业控制系统中连接信息层和物理层的关键现场设备自从“震网”病毒事件爆发以及美国发布“国家网络空间安全战略”政策之后,工业控制系统安全才引起西方国家的高度重视,并把工业控制系统的安全提高到了国家安全战略的地步。同时,中国国内同样遭受着工业控制系统信息安全问题的困扰。而目前,针对工业控制系统嵌入式设备的安全研究与解决方案却较少。
漏洞挖掘对于协议安全有重大意义,是解决当前电网工业控制协议安全问题的有效途径,能够在威胁为发生时检测出协议存在的安全隐患,从而排除隐患,避免威胁。
当前的漏洞扫描技术可分为白盒测试,灰盒测试和黑盒测试三类。白盒测试一般只对源代码进行审计和评估,灰盒测试则是通过逆向工程与模糊测试结合的方法,对于工控设备来说,元旦获取困难且难以安装调试器,因此白盒测试和灰盒测试的条件一般无法满足。
模糊测试技术又称fuzzing测试技术,是一种常用的自动化黑盒测试技术,与基于白盒测试和灰盒测试的漏洞挖掘方法相比,fuzzing测试技术有着两者无法比拟的优势。fuzzing测试的测试目标时刻执行的二进制文件,不需要获取测试目标的源代码,比基于源代码的白盒测试的应用范围更广,并且可以自动完成测试用例的生成、变异、发送、检测等工作。它的核心思想是通过大量的数据输入,通过覆盖程序的各种执行路径一发现程序的脆弱点,能够自动完成测试数据的生成、样本构造等工作。
但是工业控制设备存在底层架构差异大、通信方式多样、专有协议较多等特点,这些特点也直接导致上述漏洞挖掘方案不能完全应用在工业控制领域的环境中。导致很大程度上传统的模糊测试方法过于依赖于测试人员现有的经验及技术,某些特定情况下过于依赖测试人员现有的经验及技术,某些特定情况下扔存在很多不足,如测试效率低、测试用例高度冗余、测试覆盖率低一级测试不充分等问题。
发明内容
本发明针对现有技术中的不足,提供一种基于图卷积神经网络的fuzzing工控协议漏洞挖掘系统,通过现有的已挖掘出的工控漏洞为基础,训练图卷积神经网络,得到特定的评价派别模型,筛选fuzz随机生成测试用例,用筛选后的易触发漏洞的测试用例对系统进行挖掘测试,通过模糊测试技术和深度学习技术的结合,实现工控系统漏洞的智能挖掘。
为实现上述目的,本发明采用以下技术方案:
一种基于图卷积神经网络的fuzzing工控协议漏洞挖掘系统,所述漏洞挖掘系统包括测试用例生成模块、测试用例评价模块和攻击测试模块;
所述测试用例生成模块用于通过fuzzing算法构造测试所需数据以及相关会话,组合成一定量的测试用例;
所述测试用例评价模块接收测试用例生成模块发送的测试用例,对测试用例进行归一化处理后,导入基于图卷积神经网络创建的测试用例评估模型,对测试用例的漏洞触发能力进行评估,输出漏洞触发能力满足预设最低能力阈值的测试用例;
所述攻击测试模块用于将测试用例评价模块输出的测试用例发送至目标应用,对目标应用的状态进行监控,并将测试用例和对应的监控结果反哺至测试用例评估模型,对测试用例评估模型进行重新训练。
为优化上述技术方案,采取的具体措施还包括:
进一步地,所述测试用例评价模块包括参数设定单元、归一化处理单元、测试用例评估模型和模型训练单元;
所述测试用例评估模型基于图卷积神经网络创建,用于对导入的测试用例的漏洞触发能力进行评估;
所述参数设定模块用于设定测试用例评估模型的神经网络结构和相关参数;
所述归一化处理单元用于对确定导入的测试用例的输入向量和输出向量,对其进行归一化处理,使之适配于测试用例评估模型的输入层需求;
所述模型训练单元用于对已有测试用例和对应的工控漏洞类型、漏洞触发几率进行组合,并调用归一化处理单元归一化处理后,生成一定量的测试样本,采用生成的测试样本对测试用例评估模型进行初始训练。
进一步地,所述测试用例评估模型的激活函数为Relu激活函数。
进一步地,所述测试用例的漏洞触发能力包括触发异常行为的几率和触发的异常行为所属漏洞类型。
进一步地,所述攻击测试模块包括测试运行单元、代理单元和重新训练单元;
所述测试运行单元用于将测试用例评价模块输出的测试用例发送至目标应用,并运行目标应用;
所述代理单元包括网络监控代理和进程监控代理;所述网络监控代理用于对目标应用的网络通信状态进行监控;所述进程监控代理用于对目标应用的运行状态进行监控。
所述重新训练单元用于收集代理单元监控得到的测试用例对应的监控结果,将监控结果与对应的测试用例进行样本化处理,生成新的测试样本,采用新的测试样本对测试用例评估模型进行优化训练。
进一步地,所述网络监控模块还用于监控测试用例的传输过程。
进一步地,所述进程监控代理还用于将目标应用在测试过程中产生的错误信息记录至日志中。
本发明的有益效果是:
(1)本发明提出基于图卷积网络的工控漏洞挖掘系统,将深度学习技术应用到工控系统的漏洞挖掘中,对fuzzing算法自动生成大量测试用例通过图卷积神经网络进行评价和筛选,将易触发漏洞的测试用例发送给被测设备,大大提高了针对工控系统的漏洞挖掘的效率,并且可以保证测试用例的有效性。
(2)测试用例和对应的监控结果进行有效组合,得到新的训练样本,采用新的训练样本对测试用例评估模型进行持续优化训练,结合fuzzing算法自动生成大量测试用例的设定,使测试用例评估模型的优化更新同时具备随机性和针对性两种特质。
附图说明
图1是本发明的基于图卷积神经网络的fuzzing工控协议漏洞挖掘系统的结构示意图。
图2是本发明的基于图卷积神经网络的fuzzing工控协议漏洞挖掘系统的测试原理示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
结合图1,本发明提及一种基于图卷积神经网络的fuzzing工控协议漏洞挖掘系统,所述漏洞挖掘系统包括测试用例生成模块、测试用例评价模块和攻击测试模块。
所述测试用例生成模块用于通过fuzzing算法构造测试所需数据以及相关会话,组合成一定量的测试用例。
所述测试用例评价模块接收测试用例生成模块发送的测试用例,对测试用例进行归一化处理后,导入基于图卷积神经网络创建的测试用例评估模型,对测试用例的漏洞触发能力进行评估,输出漏洞触发能力满足预设最低能力阈值的测试用例。
所述攻击测试模块用于将测试用例评价模块输出的测试用例发送至目标应用,对目标应用的状态进行监控,并将测试用例和对应的监控结果反哺至测试用例评估模型,对测试用例评估模型进行重新训练。
图2是本发明的漏洞挖掘系统的测试原理示意图。测试用例生成模块通过fuzzing算法生成测试用例,生成的测试用例具有一定的随机性,生成的测试用例经归一化处理后,经基于图卷积神经网络创建的测试用例评估模型进行评估,若其属于易触发漏洞的测试用例,则通过攻击测试模型将其导入目标应用,判断目标应用是否出现异常,如果出现异常,则说明该测试用例触发了目标应用中的疑似漏洞,否则,舍弃该测试用例。在本发明中,无论是触发了疑似漏洞的测试用例,还是被认定为易触发漏洞但未触发漏洞的测试用例,均会被处理成测试样本,作为正反例对测试用例评估模型进行重新训练,是测试用例评估模型具有一定的自我优化更新能力。尤其是,由于本发明结合fuzzing算法自动生成大量测试用例的设定,采用前述重新训练方式可以使测试用例评估模型的优化更新同时具备随机性和针对性两种特质,更有利于提高测试用例评估模型的评估范围和评估准确性。
为优化上述技术方案,采取的具体措施还包括:
进一步地,所述测试用例评价模块包括参数设定单元、归一化处理单元、测试用例评估模型和模型训练单元。
所述测试用例评估模型基于图卷积神经网络创建,用于对导入的测试用例的漏洞触发能力进行评估;优选的,所述测试用例评估模型的激活函数为Relu激活函数。所述参数设定模块用于设定测试用例评估模型的神经网络结构和相关参数。所述归一化处理单元用于对确定导入的测试用例的输入向量和输出向量,对其进行归一化处理,使之适配于测试用例评估模型的输入层需求,即将其转换成能被图卷积神经网络所能接受的输入数据。所述模型训练单元用于对已有测试用例和对应的工控漏洞类型、漏洞触发几率进行组合,并调用归一化处理单元归一化处理后,生成一定量的测试样本,采用生成的测试样本对测试用例评估模型进行初始训练。
所述测试用例的漏洞触发能力包括触发异常行为的几率和触发的异常行为所属漏洞类型。只有触发异常行为的几率大于预设几率阈值的测试用例,才会被认定成易触发漏洞的测试用例,提高测试效率。
所述攻击测试模块包括测试运行单元、代理单元和重新训练单元。
所述测试运行单元用于将测试用例评价模块输出的测试用例发送至目标应用,并运行目标应用,再调用代理模块监控目标应用的相关状态。
所述代理单元包括网络监控代理和进程监控代理。所述网络监控代理用于对目标应用的网络通信状态进行监控;优选的,所述网络监控模块还用于监控测试用例的传输过程。所述进程监控代理用于对目标应用的运行状态进行监控;优选的,所述进程监控代理还用于将目标应用在测试过程中产生的错误信息记录至日志中,以便后续查看。
所述重新训练单元用于收集代理单元监控得到的测试用例对应的监控结果,将监控结果与对应的测试用例进行样本化处理,生成新的测试样本,采用新的测试样本对测试用例评估模型进行优化训练。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (7)
1.一种fuzzing工控协议漏洞挖掘系统,其特征在于,所述漏洞挖掘系统包括测试用例生成模块、测试用例评价模块和攻击测试模块;
所述测试用例生成模块用于通过fuzzing算法构造测试所需数据以及相关会话,组合成一定量的测试用例;
所述测试用例评价模块接收测试用例生成模块发送的测试用例,对测试用例进行归一化处理后,导入基于图卷积神经网络创建的测试用例评估模型,对测试用例的漏洞触发能力进行评估,输出漏洞触发能力满足预设最低能力阈值的测试用例;
所述攻击测试模块用于将测试用例评价模块输出的测试用例发送至目标应用,对目标应用的状态进行监控,并将测试用例和对应的监控结果反哺至测试用例评估模型,对测试用例评估模型进行重新训练。
2.根据权利要求1所述的fuzzing工控协议漏洞挖掘系统,其特征在于,所述测试用例评价模块包括参数设定单元、归一化处理单元、测试用例评估模型和模型训练单元;
所述测试用例评估模型基于图卷积神经网络创建,用于对导入的测试用例的漏洞触发能力进行评估;
所述参数设定模块用于设定测试用例评估模型的神经网络结构和相关参数;
所述归一化处理单元用于对确定导入的测试用例的输入向量和输出向量,对其进行归一化处理,使之适配于测试用例评估模型的输入层需求;
所述模型训练单元用于对已有测试用例和对应的工控漏洞类型、漏洞触发几率进行组合,并调用归一化处理单元归一化处理后,生成一定量的测试样本,采用生成的测试样本对测试用例评估模型进行初始训练。
3.根据权利要求2所述的fuzzing工控协议漏洞挖掘系统,其特征在于,所述测试用例评估模型的激活函数为Relu激活函数。
4.根据权利要求1所述的fuzzing工控协议漏洞挖掘系统,其特征在于,所述测试用例的漏洞触发能力包括触发异常行为的几率和触发的异常行为所属漏洞类型。
5.根据权利要求1所述的fuzzing工控协议漏洞挖掘系统,其特征在于,所述攻击测试模块包括测试运行单元、代理单元和重新训练单元;
所述测试运行单元用于将测试用例评价模块输出的测试用例发送至目标应用,并运行目标应用;
所述代理单元包括网络监控代理和进程监控代理;所述网络监控代理用于对目标应用的网络通信状态进行监控;所述进程监控代理用于对目标应用的运行状态进行监控。
所述重新训练单元用于收集代理单元监控得到的测试用例对应的监控结果,将监控结果与对应的测试用例进行样本化处理,生成新的测试样本,采用新的测试样本对测试用例评估模型进行优化训练。
6.根据权利要求5所述的fuzzing工控协议漏洞挖掘系统,其特征在于,所述网络监控模块还用于监控测试用例的传输过程。
7.根据权利要求5所述的fuzzing工控协议漏洞挖掘系统,其特征在于,所述进程监控代理还用于将目标应用在测试过程中产生的错误信息记录至日志中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010926215.1A CN111966604A (zh) | 2020-09-07 | 2020-09-07 | 一种fuzzing工控协议漏洞挖掘系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010926215.1A CN111966604A (zh) | 2020-09-07 | 2020-09-07 | 一种fuzzing工控协议漏洞挖掘系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111966604A true CN111966604A (zh) | 2020-11-20 |
Family
ID=73392296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010926215.1A Pending CN111966604A (zh) | 2020-09-07 | 2020-09-07 | 一种fuzzing工控协议漏洞挖掘系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966604A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112996029A (zh) * | 2021-04-30 | 2021-06-18 | 成都爱瑞无线科技有限公司 | 用于无线通信的测试方法、测试装置及存储介质 |
CN113722230A (zh) * | 2021-09-07 | 2021-11-30 | 中国科学院软件研究所 | 针对模糊测试工具漏洞挖掘能力的集成化评估方法及装置 |
CN114265360A (zh) * | 2021-12-28 | 2022-04-01 | 四川启睿克科技有限公司 | 工控系统网络安全试验箱及模糊测试方法、攻击演示方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130247204A1 (en) * | 2011-06-30 | 2013-09-19 | Sven Schrecker | System and method for application security assessment |
CN105721255A (zh) * | 2016-04-14 | 2016-06-29 | 北京工业大学 | 基于模糊测试的工控协议漏洞挖掘系统 |
CN110297764A (zh) * | 2019-05-30 | 2019-10-01 | 北京百度网讯科技有限公司 | 漏洞测试模型训练方法和装置 |
CN111460450A (zh) * | 2020-03-11 | 2020-07-28 | 西北大学 | 一种基于图卷积网络的源代码漏洞检测方法 |
-
2020
- 2020-09-07 CN CN202010926215.1A patent/CN111966604A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130247204A1 (en) * | 2011-06-30 | 2013-09-19 | Sven Schrecker | System and method for application security assessment |
CN105721255A (zh) * | 2016-04-14 | 2016-06-29 | 北京工业大学 | 基于模糊测试的工控协议漏洞挖掘系统 |
CN110297764A (zh) * | 2019-05-30 | 2019-10-01 | 北京百度网讯科技有限公司 | 漏洞测试模型训练方法和装置 |
CN111460450A (zh) * | 2020-03-11 | 2020-07-28 | 西北大学 | 一种基于图卷积网络的源代码漏洞检测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112996029A (zh) * | 2021-04-30 | 2021-06-18 | 成都爱瑞无线科技有限公司 | 用于无线通信的测试方法、测试装置及存储介质 |
CN113722230A (zh) * | 2021-09-07 | 2021-11-30 | 中国科学院软件研究所 | 针对模糊测试工具漏洞挖掘能力的集成化评估方法及装置 |
CN113722230B (zh) * | 2021-09-07 | 2023-06-16 | 中国科学院软件研究所 | 针对模糊测试工具漏洞挖掘能力的集成化评估方法及装置 |
CN114265360A (zh) * | 2021-12-28 | 2022-04-01 | 四川启睿克科技有限公司 | 工控系统网络安全试验箱及模糊测试方法、攻击演示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11336669B2 (en) | Artificial intelligence cyber security analyst | |
CN111966604A (zh) | 一种fuzzing工控协议漏洞挖掘系统 | |
Shirazi et al. | Evaluation of anomaly detection techniques for scada communication resilience | |
CN108931968B (zh) | 一种应用于工业控制系统中的网络安全防护系统及其防护方法 | |
US20170093885A1 (en) | Non-Intrusive Digital Agent for Behavioral Monitoring of Cybersecurity-Related Events in an Industrial Control System | |
US20230011004A1 (en) | Cyber security sandbox environment | |
CN112055003B (zh) | 一种基于字节长度分类的私有协议模糊测试用例生成方法 | |
CN111510339B (zh) | 一种工业互联网数据监测方法和装置 | |
CN111049827A (zh) | 一种网络系统安全防护方法、装置及其相关设备 | |
Al-Asiri et al. | On using physical based intrusion detection in SCADA systems | |
CN113886225A (zh) | 一种面向未知工控协议的模糊测试系统和方法 | |
CN109977681A (zh) | 一种面向无人机的模糊测试方法及无人机的模糊测试系统 | |
Iturbe et al. | On the feasibility of distinguishing between process disturbances and intrusions in process control systems using multivariate statistical process control | |
CN114721336A (zh) | 一种仪控系统工艺参数的信息安全事件预警方法 | |
Maglaras et al. | Novel intrusion detection mechanism with low overhead for SCADA systems | |
Ahn et al. | Hawkware: network intrusion detection based on behavior analysis with ANNs on an IoT device | |
CN117692345A (zh) | 一种基于人工智能的it运营方法及系统 | |
CN116662177A (zh) | 一种面向电力系统终端的测试用例自动化生成方法及系统 | |
CN117009974A (zh) | 基于贝叶斯网络的漏洞挖掘方法、系统、存储介质和终端设备 | |
Nguyen et al. | Towards improving explainability, resilience and performance of cybersecurity analysis of 5G/IoT networks (work-in-progress paper) | |
CN117130906A (zh) | 嵌入式设备中网络服务器的模糊测试方法及装置 | |
CN114629711B (zh) | 一种针对Windows平台特种木马检测的方法及系统 | |
Alqurashi et al. | On the performance of isolation forest and multi layer perceptron for anomaly detection in industrial control systems networks | |
CN112565246A (zh) | 一种基于人工智能的网络防攻击系统及其方法 | |
Yasakethu et al. | Intelligent risk detection and analysis tools for critical infrastructure protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |