System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件漏洞检测,特别是指一种软件自主漏洞检测系统。
技术介绍
1、软件中存在的漏洞是引发软件安全事件的主要原因,因此对软件进行漏洞检测就成为了解决软件安全问题的重要一环。目前进行漏洞检测的方法有静态和动态检测技术。软件漏洞静态检测是通过扫描程序的源代码或者相应的二进制代码,找到符合软件漏洞特征代码片段的过程。动态漏洞检测技术指的是通过实际运行被检测的程序,记录程序的执行轨迹,分析程序执行流程中的数据和函数间的调用关系等信息,以此检测程序中是否存在某种类型的漏洞。
2、但直到目前这些漏洞检测技术仍然存在着以下急需解决的困难问题。
3、(1)被检测软件中巨大的代码量使得当前的检测技术难以有效发挥作用。
4、(2)软件结构的复杂性,使得漏洞检测变得非常困难。
5、(3)软件代码知识表示不足,漏洞检测的准确率却始终不高,发现的漏洞种类太少,难以大面积在实践中推广应用;
6、(4)漏洞检测过程“盲盒”化,漏洞检测缺乏可视化、可监督和可干预,漏洞分析到了那一步,存在什么状况,遇到什么问题等都不为人所知晓,而人只等着开“盲盒”,查看最终的结果。这种方式极大的阻碍了漏洞检测的效率,且对漏洞分析没有什么实质性的帮助。
7、(5)漏洞检测过程缺乏推理过程,使得漏洞分析缺乏可解释和可信,从而影响漏洞分析技术可接受和推广应用。
8、(6)漏洞检测结果缺乏验证。
9、(7)人机协作漏洞分析存在“只交不互”的问题,当前人机协作中的漏洞检测技术使用代码
技术实现思路
1、本专利技术提供了一种软件自主漏洞检测系统,用以解决现有技术存在的问题,所述技术方案如下:一种软件自主漏洞检测系统,所述系统包括:自主性软件构建模块、软件漏洞自主检测模块、软件漏洞验证模块、以及软件自主漏洞知识学习模块;
2、其中,所述自主性软件构建模块,用于构建自主性软件;
3、所述软件漏洞自主检测模块,用于对自主性软件进行基于感知的软件漏洞自主检测;
4、所述软件漏洞验证模块,用于在自主性软件自主检测出自身存在安全漏洞之后,进行基于针对性语料库的漏洞验证;
5、所述软件自主漏洞知识学习模块,用于对软件自主漏洞知识进行学习,实现对软件运行状况进行提前预判。
6、可选地,所述构建的自主性软件具体包括:存储模块、执行模块、判断模块、感知模块、学习模块、通讯模块、以及控制中心;
7、其中,所述存储模块类似于人的大脑一样,存储软件实现其任务目标时一些必要的信息,存储的容量随着软件的运行可以增加或减少:增加有用的信息,减少不必要的信息;
8、所述执行模块负责软件任务的具体实施,接收必要的输入,以大概率事件输出既定的输出,类似于人的四肢;
9、所述判断模块负责软件运行时某些情况的决策判断,不是程序设计中的if…else语句,其需要依据所述感知模块和所述学习模块的反馈来做出完成软件既定任务最好的判断;
10、所述学习模块的功能是软件中的核心模块,需要依据存储模块和感知模块的输出,对软件运行时出现的情况和状态进行分析和总结,为软件未来的运行提前做出规划;
11、所述感知模块负责采集软件运行时的环境信息,包括操作系统环境的信息和硬件系统的环境信息,除此之外,所述感知模块也能采集软件运行时自身出现的异常状态;
12、所述通讯模块负责自主性软件中各模块的通讯联系,以及自主性软件与系统环境之间的信息交换;
13、所述控制中心,其主要的功能是协助各个功能模块的运行,在必要的情况下进行模块间顺序的调度,在其他情况下,所述控制中心处于半休眠状态。
14、可选地,所述学习模块的实现,采用基于知识的逻辑推理机制,辅助以随机事件输出,在这种情况下,逻辑表现出一定的严谨性,随机事件表现出一定的可能性,同时所述存储模块为所述学习模块提供必要的储备信息和数据,辅助学习模块做出方向正确的思维动作。
15、可选地,所述软件漏洞自主检测模块,具体包括:基于程序执行行为的漏洞检测子模块、基于程序执行状态异常的漏洞检测子模块、基于程序环境反馈的漏洞检测子模块、以及基于人类知识启发的漏洞检测子模块;
16、其中,所述基于程序执行行为的漏洞检测子模块,用于设定程序正常行为规范,并对程序异常行为进行捕获;
17、所述基于程序执行状态异常的漏洞检测子模块,用于对程序正常状态进行定义,并对程序异常状态进行捕获;
18、所述基于程序环境反馈的漏洞检测子模块,用于执行环境画像,并将环境信息反馈给自主性软件;
19、所述基于人类知识启发的漏洞检测子模块,用于吸纳人类漏洞知识,提升其自主检测漏洞的能力。
20、可选地,所述基于程序执行行为的漏洞检测子模块和基于程序执行状态异常的漏洞检测子模块,具体用于设定程序的元执行行为轨迹和元执行状态,程序执行时的行为轨迹和状态一定是基于这些元轨迹和元状态,凡是偏离元轨迹和元状态的情况,都认定为有漏洞存在;
21、所述基于人类知识启发的漏洞检测子模块,具体用于进行漏洞分析知识的表示和分析技巧的表示,采用知识的图形表示,把人类知识用一个顺序图和功能图的结合体来表示,顺序图表示知识的执行流程,功能图表示知识的语义,二者的结合可以让自主性软件理解人类的目的。
22、可选地,所述软件漏洞验证模块,具体包括:漏洞模式提取子模块、漏洞路径信息和漏洞链关键要素提取子模块、程序内存布局分析子模块、以及漏洞验证语料库生成子模块;
23、其中,漏洞模式提取目的在于获取漏洞的形式化特征,包括危险函数的使用、指针复用、内存破坏,在此基础上进行形式化匹配,初步确定漏洞位置;
24、漏洞路径信息提取指的是:程序中存在漏洞的位置前后相互关联的语句和变量,它们整体构成一条漏洞链;
25、漏洞链关键要素:链上的每一个环节都是漏洞存在不可少的元素,而最终触发程序产生异常的那一个环节;
26、程序执行时的内存布局是非常重要的内容,执行期间对程序的内存进行分析可以获知潜在的威胁源,对这些潜在的威胁源进行修正可以从根本上避免与内存相关的信息泄露发生;
27、所述漏洞验证语料库生成子模块的生成方法有语句截取法、变量复制法、数据变异法、深度学习法,以及针对特定路径的输入数据链生成。
28、可选地,所述软件自主漏洞知识学习模块,包括:软件运行环境把握子模块、漏洞知识积累和应用子模块;
29、其中,所述软件运行环境把握子模块,通过自身运行环境的把握,可以有效地避开潜在的漏洞陷阱,并对程序中的关键路径、变量以及内存进行保护;
30、所述漏洞知识积累和应用子模块,通过对漏洞知识的积累本文档来自技高网...
【技术保护点】
1.一种软件自主漏洞检测系统,其特征在于,所述系统包括:自主性软件构建模块、软件漏洞自主检测模块、软件漏洞验证模块、以及软件自主漏洞知识学习模块;
2.根据权利要求1所述的系统,其特征在于,所述构建的自主性软件具体包括:存储模块、执行模块、判断模块、感知模块、学习模块、通讯模块、以及控制中心;
3.根据权利要求2所述的系统,其特征在于,所述学习模块的实现,采用基于知识的逻辑推理机制,辅助以随机事件输出,在这种情况下,逻辑表现出一定的严谨性,随机事件表现出一定的可能性,同时所述存储模块为所述学习模块提供必要的储备信息和数据,辅助学习模块做出方向正确的思维动作。
4.根据权利要求1所述的系统,其特征在于,所述软件漏洞自主检测模块,具体包括:基于程序执行行为的漏洞检测子模块、基于程序执行状态异常的漏洞检测子模块、基于程序环境反馈的漏洞检测子模块、以及基于人类知识启发的漏洞检测子模块;
5.根据权利要求4所述的系统,其特征在于,所述基于程序执行行为的漏洞检测子模块和基于程序执行状态异常的漏洞检测子模块,具体用于设定程序的元执行行为轨迹和元执
6.根据权利要求1所述的系统,其特征在于,所述软件漏洞验证模块,具体包括:漏洞模式提取子模块、漏洞路径信息和漏洞链关键要素提取子模块、程序内存布局分析子模块、以及漏洞验证语料库生成子模块;
7.根据权利要求1所述的系统,其特征在于,所述软件自主漏洞知识学习模块,包括:软件运行环境把握子模块、漏洞知识积累和应用子模块;
8.根据权利要求7所述的系统,其特征在于,所述软件自主漏洞知识学习模块,具体通过深度强化学习和深度学习的方式来进行;
9.根据权利要求1-8任一项所述的系统,其特征在于,所述自主性软件中各模块间的信息与数据交换通过通讯模块中的各种机制来实现,包括:模块交互机制、信息融合机制、任务协同机制和信息共享机制;
10.根据权利要求9所述的系统,其特征在于,所述信息融合机制,在进行信息融合时,需要考虑多种因素,包括:信息的结构、特征以及语义,对于异结构数据,需要先保持异结构数据的语义和特征,然后进行结构上的融合,采用的方式有数据结构补齐和数据结构截取。
...【技术特征摘要】
1.一种软件自主漏洞检测系统,其特征在于,所述系统包括:自主性软件构建模块、软件漏洞自主检测模块、软件漏洞验证模块、以及软件自主漏洞知识学习模块;
2.根据权利要求1所述的系统,其特征在于,所述构建的自主性软件具体包括:存储模块、执行模块、判断模块、感知模块、学习模块、通讯模块、以及控制中心;
3.根据权利要求2所述的系统,其特征在于,所述学习模块的实现,采用基于知识的逻辑推理机制,辅助以随机事件输出,在这种情况下,逻辑表现出一定的严谨性,随机事件表现出一定的可能性,同时所述存储模块为所述学习模块提供必要的储备信息和数据,辅助学习模块做出方向正确的思维动作。
4.根据权利要求1所述的系统,其特征在于,所述软件漏洞自主检测模块,具体包括:基于程序执行行为的漏洞检测子模块、基于程序执行状态异常的漏洞检测子模块、基于程序环境反馈的漏洞检测子模块、以及基于人类知识启发的漏洞检测子模块;
5.根据权利要求4所述的系统,其特征在于,所述基于程序执行行为的漏洞检测子模块和基于程序执行状态异常的漏洞检测子模块,具体用于设定程序的元执行行为轨迹和元执行状态,程序执行时的行为轨...
【专利技术属性】
技术研发人员:陈小全,马俊杰,刘剑,龚晓锐,王境溪,张儒琪,韩宇鹏,
申请(专利权)人:北京城市学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。