一种基于人机协同的多粒度工业互联网设备漏洞挖掘方法技术

技术编号:38252931 阅读:10 留言:0更新日期:2023-07-27 10:17
本发明专利技术公开了一种基于人机协同的多粒度工业互联网设备漏洞挖掘方法,具体步骤包括:从互联网或工业互联网设备上提取需要分析的设备固件,对设备固件进行静态分析并结合目标漏洞类型,完成对设备固件的插桩处理;根据预先得到的固件架构类型进行设备仿真;初始化网络并完成训练;根据训练得到的策略选择具体的变异策略,执行模糊测试流程;根据得到反馈奖励值与环境状态,更新模型参数与选择策略;当测试时间超过阈值时,自动结束整个过程并发出提示。本发明专利技术基于强化学习与专家经验相结合以准确地选择模糊测试过程中种子样本的变异策略,达到面向设备固件漏洞挖掘的目的,显著地提高了工业互联网设备的安全性。提高了工业互联网设备的安全性。提高了工业互联网设备的安全性。

【技术实现步骤摘要】
一种基于人机协同的多粒度工业互联网设备漏洞挖掘方法


[0001]本专利技术属于工业互联网和信息安全
,具体是一种基于人机协同的多粒度工业互联网设备漏洞挖掘方法。

技术介绍

[0002]工业互联网作为工业控制领域与互联网信息
的深度融合的专业领域,其核心是基于全面互联的前提下形成完整的工业系统工程。工业互联网的安全同样区别于传统的互联网安全,其中工业互联网设备安全由于其应用范围广、产品类型多、安全要求强等自身特点,更是工业互联网安全的重中之重。然而,近些年工业互联网安全事件频发,危害性强,涉及面广,给国家和企业造成了巨大的损失。所以,工业互联网设备的安全防护面临着严峻的挑战。
[0003]为此,研究人员提出了一种基于人工智能技术同传统的漏洞挖掘技术相结合的人机协同的工业互联网漏洞挖掘方法。传统的漏洞挖掘技术可以分为静态分析与动态分析两种,其方法多种多样,但存在着误报率高,开销大、可扩展性差等问题,随着相关技术的深入研究,模糊测试技术逐渐在漏洞挖掘领域展露头脚。模糊测试技术根据检测对象类型不同可以分为三类:黑盒模糊测试、白盒模糊测试与灰盒模糊测试。黑盒模糊测试不从检测对象中获取相关的执行信息,白盒模糊测试则是通过信息流、控制流等深度获取检测对象的关键信息,灰盒模糊测试则是兼顾了上述两种方法的优点,因此兼容性与扩展性更强,应用的范围更广。针对工业互联网中的设备,为了采用灰盒模糊测试技术进行分析,常采用设备仿真技术和代码插桩技术进行模糊测试之前的预处理。近年来,随着人工智能技术的不断发展于创新、算法更迭,机器学习技术应用到各个领域,同样地,一些研究人员将模糊测试技术与机器学习的方法进行融合,例如种子文件生成,变异策略选择,测试用例生成等各个阶段,产生了很好的效果。
[0004]然而,现有的结合机器学习的漏洞挖掘方法还存在一些缺陷:
[0005]1)现有的漏洞挖掘方法忽略了不同架构的工业互联网设备不同的安全性需求,并且分析的工业互联网设备种类较为单一。传统的工业互联网设备漏洞挖掘针对的设备多为摄像头、路由器等简单架构的设备,并未覆盖代码较为复杂的中大型设备,针对的安全问题也只停留在较为简单的内存泄漏、硬编码等安全问题,并未结合工业互联网自身特性制定安全策略。2)现有的漏洞挖掘方案大多只关注某一粒度层面,缺乏粗粒度与细粒度的相关统筹策略。传统的方法只关注了某一个粒度层面的问题,并未考虑多粒度关联的统筹分析,不能够全面覆盖当前样本的质量。3)机器学习技术与传统的漏洞挖掘手段相结合,将原有的人工智能弊端引入方案当中。机器学习技术本身存在固有的问题,多数方法并未考虑该问题,直接将机器学习方法因为,导致效果欠佳。

技术实现思路

[0006]本专利技术的目的在于提供一种安全高效的适用于异构工业互联网设备的多粒度漏
洞挖掘方法,以实现对安全需求不同、系统架构不同、分析目的不同的工业互联网设备进行有效地检测,切实维护设备安全,保障工业互联网体系安全稳定运行。
[0007]实现本专利技术目的的技术解决方案为:一种基于人机协同的多粒度工业互联网设备漏洞挖掘方法,具体步骤为:
[0008]获取需要分析的工业互联网设备固件;
[0009]对获取的固件进行静态分析预处理,并进行程序的语义分析得到固件的控制流图与数据流图,识别目标程序的函数与基本块并完成编号;
[0010]根据目标漏洞类型的不同,构建不同的安全策略,引入专家经验识别并标记的关键语句,构建多粒度的插桩预设;
[0011]根据分析出的设备固件架构类型确定执行测试的仿真框架;
[0012]初始化强化学习目标网络和价值网络,初始化种子输入样本数据及状态,初始化有效种子样本队列与经验池;
[0013]根据总训练部署的设定,确定热身步数,生成初始化种子队列,基于仿真框架进行模糊测试,将模糊测试与强化学习模型进行交互,强化学习模型根据现有的策略以及当前的状态选择动作,并将其传递给模糊测试流程,根据种子完成的模糊测试得到的反馈奖励值和下一时间状态,保存到历史经验池中,并更新参数以及策略,完成对强化学习模型的训练;
[0014]根据获取的固件的信息,结合先验知识确定适用于设备固件的种子样本变异策略集合;
[0015]初始化模糊测试整体流程,当前种子样本作为模糊测试流程的输入传送至目标程序,根据预处理阶段完成的插桩处理,得到多粒度数据覆盖的信息,计算反馈奖励函数值,如果反馈奖励增加,则将该种子样本则保留并作为下一时间状态,如果没有,则从有效样本队列中选择样本作为下一步的状态;
[0016]判断当前程序是否异常结束或超过预设定的时间,若不存在,则返回反馈奖励值与环境状态,将历史经验数据保存到经验池中;出现程序崩溃或者时间超出设定阈值,则终止程序。
[0017]优选地,在训练强化学习模型中,通过设定的热身步数对强化学习模型进行训练并完成对相关参数的更新。
[0018]优选地,初始化模糊测试流程的具体过程为:
[0019]将目标设备的模糊测试的输入样本作为整体的环境状态,以字节数组的形来表示模糊测试中输入样本数据的对应状态。
[0020]优选地,反馈奖励函数R
i
的具体公式为:
[0021][0022]式中,R(i)为种子样本i在本次执行完成后得到的反馈奖励值,Scov(i)代表当前种子样本i的关键语句覆盖率,Fcov(i)代表当前种子样本i函数覆盖率,Bcov(i)表示当前种子样本i的基本块覆盖率,t(i)表示当前种子样本执行花费的时间,n(i)表示当前种子样本i变异的次数。
[0023]本专利技术与现有技术相比,其显著优点为:
[0024](1)高适应性:基于工业互联网设备架构类型分析并执行并采取不同方式进行仿真,使得除摄像头、路由器等常见的设备以外,能够很好地支持其他类别的工业互联网设备检测,兼顾多类型设备,使得本专利技术的方法能够很好地适应拥有不同类型的工业互联网设备;
[0025](2)高可靠性:通过预处理阶段的多粒度插桩分析,获取相关设备的多级信息,进而生成基于多粒度信息的反馈奖励函数Ri,优化变异策略的选择;基于多层级信息能够更好地反映出种子样本的覆盖信息,兼顾粗粒度与细粒度数据分析,提高了针对工业互联网设备漏洞挖掘方法的精准度。
[0026](3)低开销:使用人机协同的变异策略选择方法,通过强化学习算法,结合反馈奖励函数确定种子能量,优化执行过程中的变异策略的选择,相较于传统的方法有效降低了种子变异上的冗杂度与盲目性,使得在原有的非确定性阶段的变异方向更为准确,在保证高可靠性的同时,本专利技术有效地降低了整体流程的开销。
附图说明
[0027]图1是本专利技术的系统模型图。
[0028]图2是本专利技术的基于人机协同的多粒度工业互联网设备漏洞挖掘方法的基本流程图。
具体实施方式
[0029]下面结合附图及实施示例对本专利技术作进一步详细描述。以下实施例在以本专利技术技术方案为前提下进行实施,给出了详细的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于人机协同的多粒度工业互联网设备漏洞挖掘方法,其特征在于,具体步骤为:获取需要分析的工业互联网设备固件;对获取的固件进行静态分析预处理,并进行程序的语义分析得到固件的控制流图与数据流图,识别目标程序的函数与基本块并完成编号;根据目标漏洞类型的不同,构建不同的安全策略,引入专家经验识别并标记的关键语句,构建多粒度的插桩预设;根据分析出的设备固件架构类型确定执行测试的仿真框架;初始化强化学习目标网络和价值网络,初始化种子输入样本数据及状态,初始化有效种子样本队列与经验池;根据总训练部署的设定,确定热身步数,生成初始化种子队列,基于仿真框架进行模糊测试,将模糊测试与强化学习模型进行交互,强化学习模型根据现有的策略以及当前的状态选择动作,并将其传递给模糊测试流程,根据种子完成的模糊测试得到的反馈奖励值和下一时间状态,保存到历史经验池中,并更新参数以及策略,完成对强化学习模型的训练;根据获取的固件的信息,结合先验知识确定适用于设备固件的种子样本变异策略集合;初始化模糊测试整体流程,当前种子样本作为模糊测试流程的输入传送至目标程序,根据预处理阶段完成的插桩处理,得到多粒度数据覆盖的信息,计算反馈奖励函数值,如果反馈奖励增加,则将该种子样本则保留...

【专利技术属性】
技术研发人员:付安民张兆博况博裕苏铓俞研
申请(专利权)人:南京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1