一种可学习的层次化图表示源代码漏洞检测系统及方法技术方案

技术编号:42872816 阅读:40 留言:0更新日期:2024-09-27 17:33
本发明专利技术提供了一种可学习的层次化图表示源代码漏洞检测系统及方法,系统包括代码图表征处理模块、代码语义提取模块和漏洞检测模型;首先,代码图表征处理模块收集代码样本并进行预处理与标注;其次,利用静态程序分析技术提取代码中的图结构信息;然后,代码语义提取模块采用词嵌入技术将代码语句映射到高维向量空间;接着,在图分类模型中融入CLS设计思想,增强模型捕获代码表征图中长距离信息的能力;引入对比学习思想,通过设立跨粒度对比损失函数来维持图池化后的局部结构信息;最终,漏洞检测模型能够自动学习源代码中隐含的漏洞模式,预测样本中漏洞信息。本发明专利技术设计了一个可学习的层次化图分类模型,用于自动学习源代码中的隐含漏洞模式。

【技术实现步骤摘要】

本专利技术属于计算机安全,具体涉及一种可学习的层次化图表示源代码漏洞检测系统及方法


技术介绍

1、在软件开发过程中,开发人员可能因疏忽或编程语言的内在缺陷而引入漏洞,这种情况几乎不可避免。

2、传统的漏洞检测方法主要依赖于人类专家制定的规则。然而,传统方法在灵活性和全面性上不足,难以有效应对多样化的安全威胁。当前研究中,结合机器学习技术,特别是深度学习、强化学习和人工神经网络等在漏洞检测领域的应用受到了广泛关注。这些先进技术的融入为漏洞检测带来了新的可能性,使检测方法不仅更加高效,还能更好地适应和识别新的安全威胁。

3、在基于深度学习的漏洞检测方法中,源代码的表征方式有多种,如基于图表征、基于文本表征、基于抽象语法树表征等。其中,基于图的表征方式能够对代码的语法信息、语义信息、控制流、数据流等信息进行深层次的表征,因此基于图表征的方法在漏洞检测领域受到广泛使用及关注,成为当下研究的热点。现阶段将图神经网络模型用于漏洞检测,尚未建立成熟的体系。大多数应用只是简单使用图学习领域已有的模型,并没有针对漏洞代码自身特点进行设计,导致神经网本文档来自技高网...

【技术保护点】

1.一种可学习的层次化图表示源代码漏洞检测系统,其特征在于,包括代码图表征处理模块、代码语义提取模块和漏洞检测模型;所述代码图表征提取模块用于对代码进行清理,删除代码中无效的注释信息,并对代码进行符号化处理,使用静态程序分析工具提取代码中的图结构信息;所述代码语义提取模块用于从源代码中提取词token,并通过Word2Vec技术将代码中的词映射到高维向量空间中,对源代码进行向量化表示;所述漏洞检测模型包括对比损失计算模块和可学习的图读出模块,所述对比损失计算模块用于在漏洞检测模型的训练过程中,能够在学习如何有效地压缩和表征图的同时,保留对分类任务至关重要的细粒度局部块结构信息;所述可学习...

【技术特征摘要】

1.一种可学习的层次化图表示源代码漏洞检测系统,其特征在于,包括代码图表征处理模块、代码语义提取模块和漏洞检测模型;所述代码图表征提取模块用于对代码进行清理,删除代码中无效的注释信息,并对代码进行符号化处理,使用静态程序分析工具提取代码中的图结构信息;所述代码语义提取模块用于从源代码中提取词token,并通过word2vec技术将代码中的词映射到高维向量空间中,对源代码进行向量化表示;所述漏洞检测模型包括对比损失计算模块和可学习的图读出模块,所述对比损失计算模块用于在漏洞检测模型的训练过程中,能够在学习如何有效地压缩和表征图的同时,保留对分类任务至关重要的细粒度局部块结构信息;所述可学习的图读出模块用于将可训练的cls节点与所有其他节点建立连...

【专利技术属性】
技术研发人员:郭帆胡崧曲彦文
申请(专利权)人:江西师范大学
类型:发明
国别省市:

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

1