Vulnerability Detection via Multiple-Graph-Based Code Representation

计算机科学 图形 编码(集合论) 理论计算机科学 程序设计语言 脆弱性(计算) 计算机安全 集合(抽象数据类型)
作者
Fangcheng Qiu,Zhongxin Liu,Xing Hu,Xin Xia,Gang Chen,Xinyu Wang
出处
期刊:IEEE Transactions on Software Engineering [IEEE Computer Society]
卷期号:50 (8): 2178-2199 被引量:72
标识
DOI:10.1109/tse.2024.3427815
摘要

During software development and maintenance, vulnerability detection is an essential part of software quality assurance. Even though many program-analysis-based and machine-learning-based approaches have been proposed to automatically detect vulnerabilities, they rely on explicit rules or patterns defined by security experts and suffer from either high false positives or high false negatives. Recently, an increasing number of studies leverage deep learning techniques, especially Graph Neural Network (GNN), to detect vulnerabilities. These approaches leverage program analysis to represent the program semantics as graphs and perform graph analysis to detect vulnerabilities. However, they suffer from two main problems: (i) Existing GNN-based techniques do not effectively learn the structural and semantic features from source code for vulnerability detection. (ii) These approaches tend to ignore fine-grained information in source code. To tackle these problems, in this paper, we propose a novel vulnerability detection approach, namedMGVD(Multiple-Graph-BasedVulnerabilityDetection), to detect vulnerable functions. To effectively learn the structural and semantic features from source code,MGVDuses three different ways to represent each function into multiple forms, i.e., two statement graphs and a sequence of tokens. Then we encode such representations to a three-channel feature matrix. The feature matrix contains the structural feature and the semantic feature of the function. And we add a weight allocation layer to distribute the weights between structural and semantic features. To overcome the second problem,MGVDconstructs each graph representation of the input function using multiple different graphs instead of a single graph. Each graph focuses on one statement in the function and its nodes denote the related statements and their fine-grained code elements. Finally,MGVDleverages CNN to identify whether this function is vulnerable based on such feature matrix. We conduct experiments on 3 vulnerability datasets with a total of 30,341 vulnerable functions and 127,931 non-vulnerable functions. The experimental results show that our method outperforms the state-of-the-art by 9.68% – 10.28% in terms of F1-score.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
归云留忆完成签到,获得积分10
1秒前
2秒前
zqq完成签到,获得积分10
2秒前
逍遥完成签到,获得积分10
2秒前
3秒前
3秒前
4秒前
4秒前
4秒前
为你博弈完成签到,获得积分10
5秒前
5秒前
6秒前
lby发布了新的文献求助10
6秒前
温柔之槐发布了新的文献求助10
7秒前
为你博弈发布了新的文献求助10
7秒前
完美世界的应助被曾康杰采纳,获得10
9秒前
星辰大海的应助被Dooup采纳,获得10
10秒前
踏实紫萱发布了新的文献求助10
10秒前
藜杖叩门完成签到,获得积分10
11秒前
CipherSage的应助被wm采纳,获得10
11秒前
魏远鸿发布了新的文献求助10
11秒前
英俊的铭的应助被鳗鱼念桃采纳,获得10
12秒前
陈住气完成签到 ,获得积分10
12秒前
长情如南关注了科研通微信公众号
12秒前
szk完成签到,获得积分10
13秒前
14秒前
言非离完成签到,获得积分10
19秒前
科研通AI6.2的应助被qunqing采纳,获得10
19秒前
19秒前
Yixinliu发布了新的文献求助10
20秒前
高兴薯片完成签到 ,获得积分10
21秒前
bcc发布了新的文献求助10
21秒前
22秒前
22秒前
ting完成签到,获得积分10
22秒前
朴艺晨完成签到 ,获得积分10
23秒前
24秒前
24秒前
安静破茧完成签到,获得积分10
24秒前
song完成签到,获得积分10
24秒前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
拉伸高分子熔体中缠结行为的模拟和小角中子散射研究 1080
Encyclopedia of Modern Artificial Intelligence 1000
Особенности технологий и методов информационно-психологических войн СССР с Великобританией и США в период 1939-1953 гг 1000
Das Matthäusevangelium: Kapitel 1:1–17 1000
Analyses de reconnaissances de dettes passées devant les échevins d'Ypres (1249-1291) 600
Cellulose and Cellulose Derivatives: Synthesis, Modification and Applications 600
热门求助领域 (近24小时)
化学 材料科学 医学 生物 纳米技术 计算机科学 工程类 有机化学 化学工程 生物化学 物理 复合材料 内科学 催化作用 光电子学 人工智能 细胞生物学 无机化学 物理化学 数学
热门帖子
关注 科研通微信公众号,转发送积分 8143360
求助须知:如何正确求助?哪些是违规求助? 9542847
关于积分的说明 21653935
捐赠科研通 7728606
什么是DOI,文献DOI怎么找? 3422020
关于科研通互助平台的介绍 2547337
邀请新用户注册赠送积分活动 2464829