-
公开(公告)号:CN118260773A
公开(公告)日:2024-06-28
申请号:CN202410525501.5
申请日:2024-04-29
Applicant: 兰州交通大学
Abstract: 一种基于多关系图的源代码漏洞检测方法,其首先从标准漏洞数据库SARD和NVD数据集中切分得到C语言源代码数据集,借助Joern生成AST并取得其程序切片;其次,为了捕获AST的额外语法信息,使用编译器对AST添加携带额外信息的边进行扩展以增强其结构和连接性,然后将增强的AST转化为多关系图;最后,构建多关系图注意力网络学习嵌入向量。使用图注意力网络从源代码中提取多个代码关系,利用多关系图的邻接矩阵和初始节点表示学习全局嵌入向量,对其进行归一化并馈送到softmax层进行处理。本发明借助新设计的表征方式和多关系图聚合学习,能够为下游软件漏洞检测任务提供更优质的代码表示,从而实现准确、高效且更适用的漏洞检测方法。
-
公开(公告)号:CN118260771A
公开(公告)日:2024-06-28
申请号:CN202410513921.1
申请日:2024-04-26
Applicant: 兰州交通大学
IPC: G06F21/57
Abstract: 一种基于CodeBERT的源代码漏洞定位方法,首先将源代码生成其对应的程序依赖图PDG,依据FC、AE、AU和PU等四种语法规则对源代码进行切片得到程序切片;其次,生成源代码对应的LLVM IR中间代码,接着,基于程序切片对LLVM IR中间代码进行切片,得到基于LLVM IR的切片LlvmCS;然后,设计基于CodeBERT的漏洞定位模型,在标准CodeBERT中加入融合层、K‑max池化层和平均池化层共同实现漏洞定位。本发明解决了传统基于深度学习的漏洞检测技术存在程序切片粒度较粗,且在模型设计时忽略跨函数跨文件的较长代码切片,存在漏洞定位精度较低的问题。
-