技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于知识图谱的漏洞验证路径自动生成方法  >  正文

一种基于知识图谱的漏洞验证路径自动生成方法

  • 国知局
  • 2024-07-31 23:21:56

本发明属于网络空间安全,尤其涉及漏洞验证路径自动生成。

背景技术:

1、随着信息系统的不断发展和应用,越来越多的行业引入了信息技术,依托软件为行业提供服务支撑,因此软件安全就成为了重中之重。当前已经出现了大量的软件漏洞挖掘技术,并且软件挖掘产生了大量漏洞,然而在漏洞发现和被利用的时间窗口内,软件开发人员往往没有足够的精力完成对所有漏洞的修补,因此需要题出一种漏洞验证方法,判断这些漏洞的威胁性。

2、一种判断漏洞威胁性的方式是采用判断漏洞在程序崩溃时的影响,这种方法能够起到一定的效果,但是由于缺乏漏洞对程序的其他影响信息,这种方式的误报率往往很低;另一种方式是生成漏洞验证代码,这是漏洞威胁性的直接体现,误报率较低,技术难度较高。目前存在一些漏洞验证方法是通过对漏洞自动产生漏洞利用代码来完成威胁性检测。这些方法大多采用固定的利用模式,筛选漏洞是否处于这种模式下,从而完成漏洞验证。这样的方法虽然可以起到一定的效果,但是它类似于提前规划好了漏洞验证的路径,只有目标漏洞符合路径上要求的所有条件时,才能完成利用代码生成。然而这种方法会极大限制漏洞自动验证的应用范围,因为人们规定的路径总是有限的,而能够满足固定利用路径模式的漏洞的所占比是较少的。通过研究漏洞利用专家经验,更有合理的方式是采用先收集目标程序的信息,之后结合漏洞信息规划合理的验证路径,为此需要提出一种新的基于上述过程的漏洞验证路径自动生成方法。

技术实现思路

1、为解决现有技术中存在的手工漏洞验证效率低下、专业知识要求高的技术问题,本发明提出一种一种基于知识图谱的漏洞验证路径自动生成方法,包括如下步骤:

2、s1,分析目标程序,获取目标程序的信息,构建目标程序的知识图谱;其中,所获取目标程序的信息包括:目标程序的功能、数据、以及目标程序的功能与数据之间的关联关系;

3、s2,通过分析漏洞触发场景,在所构建的目标程序的知识图谱上还原漏洞触发路径,对产生漏洞的内存变量进行标注;

4、s3,在所构建的目标程序的知识图谱中查找与产生漏洞的内存有相邻布局关系的内存,并将所查找到的内存标注为漏洞破坏内存;

5、s4,在所构建的目标程序的知识图谱中搜索与漏洞破坏内存相关的程序函数和代码基本块,记录从漏洞触发点到与漏洞破坏内存相关的程序函数和代码基本块的所有路径;推理计算每条路径能够带给攻击者的非法能力,并基于推理计算所得的能够带给攻击者的非法能力对每条路径的价值进行评价,当存在能够使攻击者能力升级的行为时便将该条路径作为漏洞验证路径保留,否则抛弃该条路径。

6、进一步地,在s1中“分析目标程序,获取目标程序的信息”具体为:对该目标程序进行逆向,获取目标程序的信息。

7、进一步地,在s1中“构建目标程序的知识图谱”具体包括:

8、s1.1,通过描述目标程序中目标程序的功能与数据之间的关联关系以构建目标程序的知识图谱本体;

9、s1.2,从所构建的知识图谱本体中采用静态知识抽取方法和动态知识抽取方法抽取知识以构建目标程序的知识图谱。

10、进一步地,目标程序的功能包括:目标程序的执行轨迹,以及目标程序对内存的读、写、调用、分配和释放功能;目标程序的数据为目标程序执行过程中使用的指针数据和整型数据以及变量在内存中的分布情况。

11、进一步地,s1.2中静态知识抽取方法具体为:

12、s1.2.1a,分析得到目标程序的函数列表、代码基本块、函数调用关系和变量的信息;

13、s1.2.2a,基于使用-定义链分析方法,分析目标程序的各个函数中函数参数、全局变量、堆内存变量的数据流;

14、s1.2.3a,分析目标程序的内存读、写、调用、分配和释放功能,并与代码基本块和变量相关联。

15、进一步地,s1.2中动态知识抽取方法具体为:

16、s1.2.1b,使用模糊测试工具对目标程序进行测试,生成多个程序输入;

17、s1.2.2b,分析所生成的程序输入的执行轨迹,确定目标程序执行过程中内存之间的布局情况,将内存布局情况记录在知识图谱当中。

18、本发明所述方法采基于知识图谱的方法解决了上述问题,实现如下效果:(1)利用所述方法可以实现对程序自动化进行动态和静态分析,提取知识图谱构建所需的要素,并自动生成关于目标程序的知识图谱;(2)利用所述方法可以实现自动化对知识图谱进行推理,结合漏洞能力信息可以自动生成漏洞验证路径,可以辅助人工漏洞验证,为漏洞自动验证规划路径,判断漏洞的可利用性,区分漏洞的危害等级,辅助人工合理调配漏洞修补资源。

技术特征:

1.一种基于知识图谱的漏洞验证路径自动生成方法,其特征在于,该方法包括如下步骤:

2.根据权利要求1所述的基于知识图谱的漏洞验证路径自动生成方法,其特征在于,在s1中“分析目标程序,获取目标程序的信息”具体为:对该目标程序进行逆向,获取目标程序的信息。

3.根据权利要求1所述的基于知识图谱的漏洞验证路径自动生成方法,其特征在于,在s1中“构建目标程序的知识图谱”具体包括:

4.根据权利要求3所述的基于知识图谱的漏洞验证路径自动生成方法,其特征在于,目标程序的功能包括:目标程序的执行轨迹,以及目标程序对内存的读、写、调用、分配和释放功能;目标程序的数据为目标程序执行过程中使用的指针数据和整型数据以及变量在内存中的分布情况。

5.根据权利要求4所述的基于知识图谱的漏洞验证路径自动生成方法,其特征在于,s1.2中静态知识抽取方法具体为:

6.根据权利要求3所述的基于知识图谱的漏洞验证路径自动生成方法,其特征在于,s1.2中动态知识抽取方法具体为:

技术总结本发明提出一种基于知识图谱的漏洞验证路径自动生成方法,涉及网络空间安全领域,该方法包括:分析目标程序,获取目标程序的信息,构建目标程序的知识图谱;通过分析漏洞触发场景,在知识图谱上还原漏洞触发路径,对产生漏洞的内存变量进行标注;在知识图谱中查找与产生漏洞的内存有相邻布局关系的内存,并将其标注为漏洞破坏内存;在知识图谱中搜索与漏洞破坏内存相关的程序函数和代码基本块,记录从漏洞触发点到程序函数和代码基本块的所有路径;推理计算每条路径能够带给攻击者的非法能力,并基于推理计算所得的非法能力对每条路径的价值进行评价,当存在能够使攻击者能力升级的行为时便将该条路径作为漏洞验证路径保留,否则抛弃该条路径。技术研发人员:张旻,王瑞鹏,潘祖烈,施凡,丁婉蒙,李阳受保护的技术使用者:中国人民解放军国防科技大学技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/197213.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。