全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211396035.2 (22)申请日 2022.11.09 (71)申请人 南昌航空大 学 地址 330063 江西省南昌市红谷滩区丰和 南大道696号 (72)发明人 肖鹏 张旭升 聂嘉浩 郑巍  樊鑫  (74)专利代理 机构 北京清亦华知识产权代理事 务所(普通 合伙) 11201 专利代理师 何世磊 (51)Int.Cl. G06F 21/57(2013.01) G06F 21/56(2013.01) G06N 3/04(2006.01) (54)发明名称 一种程序切片漏洞检测方法、 系统、 计算机 及存储介质 (57)摘要 本发明提供一种程序切片漏洞检测方法、 系 统、 计算机及存储介质, 程序切片漏洞检测方法, 包括提取程序切片的程序 依赖图, 以将程序切片 的代码文本转化为由节点和图边构成的图结构; 将节点及图边进行数据化描述, 以将图结构转化 为图数据; 将图数据区隔为训练集及测试集; 基 于训练集构建GGNAT图表征学习模型, GGNAT图表 征学习模型用于漏洞检测。 通过采用上述方法, 有效地解决了传统图特征学习方法在图节点向 量嵌入中对代码行级的结构特征和统计特征表 征能力上不足的问题; 能够高效地挖掘多维特征 与漏洞之间的关联, 相比传统的漏洞检测方法, 显著提高检测的性能。 权利要求书2页 说明书13页 附图5页 CN 115455438 A 2022.12.09 CN 115455438 A 1.一种程序切片漏洞检测方法, 其特 征在于, 包括以下步骤: 提取程序切片的程序依赖图, 以将程序切片的代码文本转化为由节点和图边构 成的图 结构; 将所述节点及所述图边进行 数据化描述, 以将所述图结构转 化为图数据; 将所述图数据区隔为训练集及测试集; 基于所述训练集构建GGNAT图表征学习模型, 所述GGNAT图表征学习模型用于漏洞检 测。 2.根据权利要求1所述的程序切片漏洞检测方法, 其特征在于, 所述将所述节点及所述 图边进行 数据化描述, 以将所述图结构转 化为图数据的步骤 包括: 对所述节点进行节点嵌入, 以将所述节点 转化为节点数据; 将所述图边以邻接矩阵的形式进行存 储, 以将所述图边 转化为图边数据; 组合所述节点数据及所述图边数据, 以形成所述图数据。 3.根据权利要求2所述的程序切片漏洞检测方法, 其特征在于, 所述对所述节点进行节 点嵌入, 以将所述节点 转化为节点数据的步骤具体为: 获取所述节点数据的包含代码, 提取所述包含代码的节点属性特征, 将所述节点属性 特征映射到数值向量空间, 以获取属性向量VAttribute; 将所述包 含代码的代码段落进行向量表示, 以获取 段落向量VParagraph; 将所述包含代码的代码段落转换为AST数据结构树, 聚合所述AST数据结构树的子树节 点, 将聚合后的所述子树节点映射至向量空间, 以获取 结构向量VAST; 拼接所述属性向量VAttribute、 所述段落向量VParagraph及所述结构向量VAST, 以形成所述节 点数据。 4.根据权利要求1所述的程序切片漏洞检测方法, 其特征在于, 所述训练集于所述图数 据中的占比为70%~80%。 5.根据权利要求1所述的程序切片漏洞检测方法, 其特征在于, 所述基于所述训练集构 建GGNAT图表征 学习模型, 所述G GNAT图表征 学习模型用于漏洞检测的步骤 包括: 以门控图神经网络构建门控图循环层, 将所述训练集作为所述门控图循环层的输入 值, 以获取节点状态; 以图注意力机制构建图注意层, 将所述节点状态作为所述图注意层的输入值, 以获取 节点特征; 以最大池化与平均池化的组合池化法进行卷积运算, 以构建池化层, 将所述节点特征 作为所述池化层的输入值, 以获取全局表征向量; 以多层感知机构建预测层, 将所述全局表征向量作为所述预测层的输入值, 以获取所 述GGNAT图表征 学习模型。 6.根据权利要求5所述的程序切片漏洞检测方法, 其特征在于, 所述预测层包括多层感 知机模型, 所述多层感知机模型为: , 其中, SigMoid为饱和激权 利 要 求 书 1/2 页 2 CN 115455438 A 2活函数、 AVG为平均数函数、 MLP为多层感知机、 为所述全局表 征向量。 7.根据权利要求1所述的程序切片漏洞检测方法, 其特征在于, 在所述基于所述训练集 构建GGNAT图表征 学习模型, 所述G GNAT图表征 学习模型用于漏洞检测的步骤之后, 还 包括: 将所述测试集代入所述GGNAT图表征学习模型, 以检测所述GGNAT图表征学习模型的漏 洞检测功能。 8.一种程序切片漏洞检测系统, 其特 征在于, 所述系统包括: 提取模块, 用于提取程序切片的程序依赖 图, 以将程序切片的代码文本转化为由节点 和图边构成的图结构; 转化模块, 用于将所述节点及所述图边进行数据化描述, 以将所述图结构转化为图数 据; 分隔模块, 用于将所述图数据区隔为训练集及测试集; 构建模块, 用于基于所述训练集构建GGNAT图表征学习模型, 所述GGNAT图表征学习模 型用于漏洞检测。 9.一种计算机设备, 包括存储器、 处理器以及存储在所述存储器上并可在所述处理器 上运行的计算机程序, 其特征在于, 所述处理器执行所述计算机程序时实现如权利要求 1至 6中任一项所述的程序切片漏洞检测方法。 10.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被处理器 执行时实现如权利要求1至 6中任一项所述的程序切片漏洞检测方法。权 利 要 求 书 2/2 页 3 CN 115455438 A 3

PDF文档 专利 一种程序切片漏洞检测方法、系统、计算机及存储介质

文档预览
中文文档 21 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共21页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种程序切片漏洞检测方法、系统、计算机及存储介质 第 1 页 专利 一种程序切片漏洞检测方法、系统、计算机及存储介质 第 2 页 专利 一种程序切片漏洞检测方法、系统、计算机及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:58:00上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。