一种基于代码属性图查询接口的自动化漏洞检索方法及相关设备与流程
本技术涉及软件安全,尤其涉及一种基于代码属性图查询接口的自动化漏洞检索方法及相关设备。
背景技术:
1、随着现代软件系统规模和复杂度的不断提高,自动化的漏洞检索已成为软件安全分析中的重要技术手段。现有自动化漏洞检索方法通常采用规则匹配的方式对软件项目的源码、二进制程序等数据进行分析,从而识别可能存在漏洞风险的代码位置。
2、然而,现有技术在进行漏洞检索时,通常存在待分析数据的来源,形式不统一、查询接口不规范、漏洞检索规则表达能力不足、检索匹配过程自动化程度不足以及检索结果缺乏结构化组织等问题,难以支撑面向大规模软件系统的持续化自动化漏洞检索。
3、综上,相关技术中存在的技术问题有待得到改善。
技术实现思路
1、本技术实施例的主要目的在于提出一种基于代码属性图查询接口的自动化漏洞检索方法及相关设备,统一了待分析程序数据的表示形式与查询方法,通过模板化匹配、可信度评估以及结构化输出,提高了自动化漏洞检索结果的一致性与可用性。
2、为实现上述目的,本技术实施例的一方面提出了一种基于代码属性图查询接口的自动化漏洞检索方法,所述方法包括:
3、获取待测软件的待分析程序数据,对所述待分析程序数据进行结构化解析和统一映射,得到统一代码属性图基础表示结果;
4、根据所述统一代码属性图基础表示结果进行基础查询功能接口构建,得到代码属性图查询接口定义结果;
5、根据所述代码属性图查询接口定义结果和预设漏洞模式特征数据库构建漏洞模式模板集合;
6、根据所述代码属性图查询接口定义结果和所述漏洞模式模板集合对所述统一代码属性图基础表示结果执行漏洞模式匹配,得到漏洞候选命中结果表;
7、对所述漏洞候选命中结果表进行筛选、去重、归并和可信度评估,得到漏洞检索评估结果表;
8、对所述漏洞检索评估结果表进行结构化组织、证据关联和应用输出,得到结构化漏洞检索结果表。
9、在一些实施例中,所述待分析程序数据包括所述待测软件的源代码、二进制程序、中间代码文件以及已有分析结果中的一种或多种,所述对所述待分析程序数据进行结构化解析和统一映射,得到统一代码属性图基础表示结果,包括:
10、对所述待分析程序数据进行结构化解析,得到抽象语法结构、控制流关系、数据依赖关系、函数调用关系、污点传播关系以及节点属性信息;
11、对所述抽象语法结构、所述控制流关系、所述数据依赖关系、所述函数调用关系、所述污点传播关系以及所述节点属性信息进行节点类型映射、边类型映射、节点属性标准化以及边属性标准化,得到节点类型映射表、边类型映射表、节点属性标准化结果以及边属性标准化结果;
12、根据所述节点类型映射表、所述边类型映射表、所述节点属性标准化结果以及所述边属性标准化结果确定所述统一代码属性图基础表示结果。
13、在一些实施例中,所述根据所述统一代码属性图基础表示结果进行基础查询功能接口构建,得到代码属性图查询接口定义结果,包括:
14、根据所述统一代码属性图基础表示结果确定基础查询操作集合;
15、根据所述基础查询操作集合确定接口参数定义表、查询约束表达规则表以及查询结果返回格式定义表;
16、根据所述基础查询操作集合、所述接口参数定义表、所述查询约束表达规则表以及所述查询结果返回格式定义表确定所述代码属性图查询接口定义结果;
17、其中,所述基础查询操作集合包括节点定位操作、属性过滤操作、边关系遍历操作、路径查找操作、上下文限定操作、跨函数追踪操作以及结果聚合操作。
18、在一些实施例中,所述根据所述代码属性图查询接口定义结果和预设漏洞模式特征数据库构建漏洞模式模板集合,包括:
19、获取所述预设漏洞模式特征数据库中的各漏洞类型的源点模式、传播模式、汇点模式、路径模式以及上下文限制条件;
20、根据所述源点模式、所述传播模式、所述汇点模式、所述路径模式以及所述上下文限制条件确定源点约束模板表、路径约束模板表、汇点约束模板表以及上下文约束模板表;
21、根据所述代码属性图查询接口定义结果对所述源点约束模板表、所述路径约束模板表、所述汇点约束模板表以及所述上下文约束模板表进行封装,得到所述漏洞模式模板集合。
22、在一些实施例中,所述根据所述代码属性图查询接口定义结果和所述漏洞模式模板集合对所述统一代码属性图基础表示结果执行漏洞模式匹配,得到漏洞候选命中结果表,包括:
23、根据所述漏洞模式模板集合确定节点类型条件、边关系条件、属性约束条件、路径约束条件以及上下文条件;
24、根据所述代码属性图查询接口定义结果在所述统一代码属性图基础表示结果中查询满足所述节点类型条件、所述边关系条件、所述属性约束条件、所述路径约束条件以及所述上下文条件的候选节点、候选边以及候选路径;
25、根据所述候选节点、所述候选边以及所述候选路径确定命中节点集合、命中边集合、命中路径集合以及模板匹配明细结果;
26、根据所述命中节点集合、所述命中边集合、所述命中路径集合以及所述模板匹配明细结果确定所述漏洞候选命中结果表。
27、在一些实施例中,所述对所述漏洞候选命中结果表进行筛选、去重、归并和可信度评估,得到漏洞检索评估结果表,包括:
28、对所述漏洞候选命中结果表进行筛选、去重和归并,得到检索结果去重与归并结果;
29、对所述检索结果去重与归并结果的路径约束满足程度、关键节点匹配程度、证据关联完整程度以及上下文不确定性程度进行评估,得到命中可信度排序结果表和高可信漏洞候选列表;
30、根据所述命中可信度排序结果表、所述高可信漏洞候选列表以及所述检索结果去重与归并结果确定所述漏洞检索评估结果表。
31、在一些实施例中,所述对所述漏洞检索评估结果表进行结构化组织、证据关联和应用输出,得到结构化漏洞检索结果表,包括:
32、根据预设的结构化模板对所述漏洞检索评估结果表进行结构化组织,得到漏洞证据关联结果、漏洞类型与命中模板映射结果以及面向平台应用的自动化漏洞检索输出数据;
33、根据所述漏洞证据关联结果、漏洞类型与命中模板映射结果以及所述自动化漏洞检索输出数据确定所述结构化漏洞检索结果表;
34、其中,所述结构化模板包括模板编号维度、命中节点维度、命中边维度、命中路径维度、上下文约束维度、关键证据维度、可信度等级维度以及漏洞类型维度。
35、为实现上述目的,本技术实施例的另一方面提出了一种基于代码属性图查询接口的自动化漏洞检索装置,所述装置包括:
36、数据标准化模块,用于获取待测软件的待分析程序数据,对所述待分析程序数据进行结构化解析和统一映射,得到统一代码属性图基础表示结果;
37、查询接口构建模块,用于根据所述统一代码属性图基础表示结果进行基础查询功能接口构建,得到代码属性图查询接口定义结果;
38、漏洞模板构建模块,用于根据所述代码属性图查询接口定义结果和预设漏洞模式特征数据库构建漏洞模式模板集合;
39、漏洞检索模块,用于根据所述代码属性图查询接口定义结果和所述漏洞模式模板集合对所述统一代码属性图基础表示结果执行漏洞模式匹配,得到漏洞候选命中结果表;
40、漏洞检索结果评估模块,用于对所述漏洞候选命中结果表进行筛选、去重、归并和可信度评估,得到漏洞检索评估结果表;
41、漏洞检索结果输出模块,用于对所述漏洞检索评估结果表进行结构化组织、证据关联和应用输出,得到结构化漏洞检索结果表。
42、为实现上述目的,本技术实施例的另一方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前面所述/上述的方法。
43、为实现上述目的,本技术实施例的另一方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前面所述/上述的方法。
44、为实现上述目的,本技术实施例的另一方面提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前面所述/上述的方法。
45、本技术实施例至少包括以下有益效果:本技术提供一种基于代码属性图查询接口的自动化漏洞检索方法及相关设备,该方案通过对待分析程序数据进行结构化解析和统一映射,并构建代码属性图查询接口定义结果,使程序分析数据能够在统一表示形式的基础上被调用,提高了漏洞检索过程的一致性;通过构建漏洞模式模板集合,并基于代码属性图查询接口定义结果执行漏洞模式匹配,实现了模板化的自动漏洞检索,提高了漏洞检索流程的标准化程度和自动化程度;通过对漏洞候选命中结果表进行筛选、去重、归并和可信度评估,并进行结构化组织、证据关联和应用输出,提高了漏洞检索结果的可解释性和后续应用支撑能力。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com