一种基于序列和图双通道模型的源代码漏洞检测方法技术

技术编号:41941978 阅读:16 留言:0更新日期:2024-07-10 16:33
一种基于序列和图双通道模型的源代码漏洞检测方法VulD‑SG,其首先从公开的源代码漏洞数据集MSR中切分得到C语言源代码数据集,使用Joern工具生成源代码的程序依赖图PDG并取得其程序切片;其次,构建一个双通道的局部模型模块,分为上下两个部分,上部分为基于序列的特征向量提取模型,下部分为基于图的特征向量提取模型。融合模型阶段将基于序列的特征向量提取模型和基于图的特征向量提取模型的输出使用全连接层连接,最后输出漏洞检测的结果。本发明专利技术有效解决了传统的基于序列模型缺少源代码结构信息和基于图模型缺少源代码语法语义信息的问题。此外,通过设计融合模型,提升了漏洞检测的准确率。

【技术实现步骤摘要】

本专利技术涉及软件源代码漏洞检测领域,具体为一种基于序列和图双通道模型的源代码漏洞检测方法


技术介绍

1、传统的基于规则的漏洞检测方法通常比较依赖于内部的数据库和专家预先制定好的漏洞规则,通过词法分析算法对其中条目进行匹配,从而挖掘代码中的漏洞,因此消耗的人工成本较高,且误报率较高;基于机器学习的漏洞检测方法不需要制定漏洞的规则,但是通常需要从源代码中提取特征,并输入到机器学习模型中进行学习和分类,这种方法不仅对领域知识有一定依赖性,而且漏洞的检测粒度往往较粗,且检测精度总体不高;深度学习模型能够从结构性数据中自动抽取高级特征,从而减少了特征提取的工作量,将人类专家从构建手工特征的繁重任务中解放出来,同时深度学习方法自动提取的抽象特征比手工提取的特征具有更好的泛化能力,所以在漏洞检测任务中被广泛使用,是解决传统的基于规则的漏洞挖掘瓶颈问题的新思路。

2、基于深度学习的漏洞检测根据其对源代码特征提取方式又分为基于序列的漏洞检测和基于图的漏洞检测。循环神经网络(recurrent neural network,rnn)对时序数据有着优秀处理能力,本文档来自技高网...

【技术保护点】

1.一种基于序列和图双通道模型的源代码漏洞检测方法,其特征在于,主要包含以下步骤:

2.根据权利要求1所述的一种基于序列和图双通道模型的源代码漏洞检测方法,其特征在于,步骤B进一步包括:

3.根据权利要求1所述的一种基于序列和图双通道模型的源代码漏洞检测方法,其特征在于,步骤C进一步包括:

【技术特征摘要】

1.一种基于序列和图双通道模型的源代码漏洞检测方法,其特征在于,主要包含以下步骤:

2.根据权利要求1所述的一种基于序列和图双通道模型的源代码漏洞...

【专利技术属性】
技术研发人员:张学军周博郭梅凤张斌张奉鹤巨涛梁书滨
申请(专利权)人:兰州交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1