当前位置: 首页 > 专利查询>南通大学专利>正文

一种基于GraphCodeBERT的安全漏洞检测方法技术

技术编号:33478768 阅读:36 留言:0更新日期:2022-05-19 00:53
本发明专利技术提供了一种基于GraphCodeBERT的安全漏洞检测方法,其技术方案为:首先对源代码进行预处理,得到数据流词元、源代码词元和注释词元,作为安全漏洞检测模型的输入,模型采用编码器

【技术实现步骤摘要】
一种基于GraphCodeBERT的安全漏洞检测方法


[0001]本专利技术涉及软件安全漏洞检测领域,尤其涉及一种基于GraphCodeBERT的安全漏洞检测方法。

技术介绍

[0002]在现代软件工程的开发过程中,软件安全问题与信息安全问题将一直作为一个难题伴随在软件更新迭代和技术快速发展的左右,自然而然地,软件安全漏洞的自动化检测成为了保证软件安全的重要技术手段之一,也成为了信息与网络安全领域、软件工程领域与程序分析领域相关研究人员的重点研究课题。
[0003]目前对于大型软件工程开发过程中的安全性保证任务以及对于现阶段软件安全紧急事件的快速响应与处理任务,软件安全漏洞排查、软件修复与版本更替依然需要投入大量的人力和时间,也就是说,如果需要任务处理,只有对软件项目熟悉和对软件安全漏洞熟悉的分析人员能够应对,而且是以大量的时间被消耗在程序分析调试以及程序补丁编写为代价。开发人员首先需要进行从头至尾的代码审查,充分了解整个软件的运行过程和执行细节,以找到引起软件安全问题的原因;然后开发人员需要对漏洞进行补丁修改,并进行一系列的修复测试以本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于GraphCodeBERT的安全漏洞检测方法,其特征在于,包括如下步骤:(1)将源代码建模为抽象语法树,随后通过遍历抽象语法树,识别出其中的变量序列,接着从变量序列中抽取出变量关系,使用集合V和集合E分别表示节点集合和有向边集合,随后将集合内的元素视为数据流词元;(2)基于编码器

解码器架构,构建安全漏洞静态检测模型,在编码器端采用预训练模型GraphCodeBERT,其输入为数据流词元、基于代码文本的词元和基于注释文本的词元,其输出为代码的嵌入表示,用向量或者矩阵来表示;在解码器端采用双向长短期记忆BiLSTM模型来构建分类器,其输入是编码器端输出的代码嵌入表示,输出是该代码内是否含有安全漏洞;(3)当面对新的代码时,识别出对应的数据流词元、基于代码文本的词元和基于注释文本的词元,将其输入步骤(2)中构建的安全漏洞静态检测模型,并得到预测结果,即含有安全漏洞或不含有安全漏洞。2.根据权利要求1所述的基于GraphCodeBERT的安全漏洞检测方法,其特征在于:步骤(1)中从源代码中识别出数据流词元,具体包括如下步骤:1

1)将源代码建模为抽象语法树;1

2)遍历步骤1

1)中建立的抽象语法树,识别出其中的变量序列,接着从变量序列中抽取出变量关系,如果一个变量节点A的值来自于其祖先节点B,得到一个由B指向A的关系;如果一个变量节点A的值来自于其孩子节点B和C,分别得到由B指向A和由C指向A的关系;如果两个变量A与B是运算符节点的两个子节点,得到的是两个独立的有向图,不建...

【专利技术属性】
技术研发人员:陈翔郑炜高嘉良缪芸周彦琳苏展陈雪娇林浩
申请(专利权)人:南通大学
类型:发明
国别省市:

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

1