(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210696832.6
(22)申请日 2022.06.20
(71)申请人 中国人民大 学
地址 100872 北京市海淀区中关村大街59
号
(72)发明人 梁彬 章晓慧 弓媛君 黄建军
游伟 石文昌
(74)专利代理 机构 北京纪凯知识产权代理有限
公司 11245
专利代理师 王胥慧
(51)Int.Cl.
G06T 7/00(2017.01)
G06V 10/74(2022.01)
G06N 3/04(2006.01)
G06N 3/08(2006.01)G06F 11/36(2006.01)
(54)发明名称
一种最优顶点匹配的缺陷检测方法及系统
(57)摘要
本发明涉及一种最优顶点匹配的缺陷检测
方法及系统, 其特征在于, 包括: 选取一个包含已
知缺陷的函数作为种子; 以函数为单位, 将待检
测系统中的目标源代码和种子均解析为 以中间
语句为顶 点的代码特征图, 并对种子的代码特征
图进行净化; 筛选出与净化后的种子图具有高匹
配度的目标代码特征图作为候选目标图; 对候选
目标图和种子图的顶点之间的高阶相似性进行
编码, 得到种子图和候选目标图之间的相似度;
根据种子图和候选目标图之间的相似度, 确定候
选目标图中是否包含与种子缺陷类似的未知缺
陷, 本发明可以广泛应用于程序安全技术领域
中。
权利要求书2页 说明书10页 附图1页
CN 114998289 A
2022.09.02
CN 114998289 A
1.一种最优顶点匹配的缺陷检测方法, 其特 征在于, 包括:
选取一个包 含已知缺陷的函数作为种子;
以函数为单位, 将待检测系统中的目标源代码和种子均解析为以中间语句为顶点的代
码特征图, 并对种子的代码特 征图进行 净化;
筛选出与净化后的种子图具有高匹配度的目标代码特 征图作为 候选目标图;
对候选目标图和种子图的顶点之间的高阶相似性进行编码, 得到种子图和候选目标图
之间的相似度;
根据种子图和候选目标图之间的相似度, 确定候选目标图中是否包含与种子缺陷类似
的未知缺陷。
2.如权利要求1所述的一种最优顶点匹配的缺陷检测方法, 其特征在于, 所述以函数为
单位, 将待检测系统中的目标源代码和种子均解析为以中间语句为顶点的代码特征图, 包
括:
以函数为单位, 对待检测系统中的目标源代码和种子分别进行解析, 得到各函数对应
的控制流图和程序依赖图;
综合每一 函数的控制流图和程序依赖图, 生成其以中间语句为顶点的代码特 征图;
将每一中间语句均视为一个符号, 将每一函数中的符号序列均视为一条句子, 构建语
料库, 并基于掩码语言模型, 训练BERT模型;
采用BERT模型, 将每一符号均嵌入到一个向量中, 如果代码特征图中的一个顶点只包
括一个符号, 则顶点 向量为符号向量; 否则, 将顶点中的符号连接为一个短语, 并采用BERT
模型生成短语向量, 将每一 函数均转换为以向量 为顶点的代码特 征图;
去除种子代码特 征图中与缺陷无关的顶点, 得到净化后的种子图。
3.如权利要求1所述的一种最优顶点匹配的缺陷检测方法, 其特征在于, 所述筛选出与
种子图具有高匹配度的目标代码特 征图作为 候选目标图采用VM E模型, 包括:
将净化后的种子图和目标图均输入至VME模型中, 分别将净化后的种子图和目标图嵌
入为种子向量和目标向量;
采用VME模型, 计算得到的种子向量和目标向量之间的匹配分数;
根据得到的匹配分数, 对所有待检测的目标图进行降序排序, 取其中排名最高的若干
目标图作为 候选目标图。
4.如权利要求3所述的一种最优顶点匹配的缺陷检测方法, 其特征在于, 所述VME模型
包括面向顶点匹配嵌入模块和匹配分数计算模块, 其中, 面向顶点匹配嵌入模块包括具有
门结构的多层感知机网络和最大池化层;
具有门结构的多层感知机网络用于将净化后的种子图和目标图分别转换为顶点向量;
最大池化层用于将种子图和目标图的顶点向量分别聚合 为整图向量;
匹配分数计算模块用于识别出种子图的整图向量中大于某一阈值的维度, 分别提取出
种子图和目标图的整图向量中的该部分维度, 构造出种子向量和目标向量。
5.如权利要求1所述的一种最优顶点匹配的缺陷检测方法, 其特征在于, 所述对候选目
标图和种子图的顶点之间的高阶相似性进行编码, 得到种子图和候选目标图之间的相似
度, 包括:
采用最优顶点匹配模型, 对候选目标图和种子 图的顶点之间的高阶相似性进行编码,权 利 要 求 书 1/2 页
2
CN 114998289 A
2得到亲和矩阵;
对得到的亲和矩阵进行规范化, 得到规范化后的亲和矩阵;
根据规范化后的亲和矩阵, 得到种子图和候选目标图之间的顶点匹配结果;
根据得到的顶点匹配结果, 计算种子图和候选目标图之间的相似度。
6.如权利要求5所述的一种最优顶点匹配的缺陷检测方法, 其特征在于, 所述最优顶点
匹配模型包括:
种子图卷积模块, 用于将种子 图的结构信息编码至顶点向量中, 得到以向量为顶点的
种子图;
目标图卷积模块, 用于将候选目标图的结构信息编码至顶点向量中, 得到以向量为顶
点的候选目标图;
亲和度度量函数模块, 用于将所述种子图卷积模块和目标图卷积模块的输出输入至亲
和度度量函数中, 得到亲和矩阵。
7.如权利要求1所述的一种最优顶点匹配的缺陷检测方法, 其特征在于, 所述根据种子
图和候选目标图之间的相似度, 确定候选目标图中是否包含与种子缺陷类似的未知缺陷,
包括:
对种子图和候选目标图之间的相似度求平均值, 并作为候选目标图和种子图之间的相
似度;
根据相似度, 对候选目标图所对应的函数进行降序排序, 取其中排名最高的若干个对
应候选目标图的函数的源代码进行分析, 确认其中是否包 含与种子缺陷类似的未知缺陷。
8.一种最优顶点匹配的缺陷检测系统, 其特 征在于, 包括:
种子选取模块, 用于 选取一个包 含已知缺陷的函数作为种子;
数据预处理模块, 用于以函数为单位, 将待检测系统中的目标源代码和种子均解析为
以中间语句为顶点的代码特 征图, 并对种子的代码特 征图进行 净化;
筛选模块, 用于筛选出与 净化后的种子图具有高匹配度的目标代码特征图作为候选目
标图;
相似度编码模块, 用于对候选目标图和种子 图的顶点之间的高阶相似性进行编码, 得
到种子图和候选目标图之间的相似度;
缺陷检索模块, 用于根据种子 图和候选目标图之间的相似度, 确定候选目标图中是否
包含与种子缺陷类似的未知缺陷。
9.一种处理设备, 其特征在于, 包括计算机程序指令, 其中, 所述计算机程序指令被处
理设备执行时用于实现权利要求 1‑7中任一项 所述的最优顶点匹配的缺陷检测系统方法对
应的步骤。
10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质上存储有计算机
程序指令, 其中, 所述计算机程序指 令被处理器执行时用于实现权利要求 1‑7中任一项 所述
的最优顶点匹配的缺陷检测系统方法对应的步骤。权 利 要 求 书 2/2 页
3
CN 114998289 A
3
专利 一种最优顶点匹配的缺陷检测方法及系统
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:32:30上传分享