Fine-grained smart contract vulnerability detection by heterogeneous code feature learning and automated dataset construction

智能合约 脆弱性(计算) 抽象语法树 特征(语言学) 编码(集合论) 计算机科学 人工智能 深度学习 语法 图形 机器学习 源代码 计算机安全 理论计算机科学 程序设计语言 集合(抽象数据类型) 哲学 语言学 数据库事务
作者
Jie Cai,Bin Li,Tao Zhang,Jiale Zhang,Xiaobing Sun
出处
期刊:Journal of Systems and Software [Elsevier]
卷期号:209: 111919-111919 被引量:3
标识
DOI:10.1016/j.jss.2023.111919
摘要

Recently, several deep learning based smart contract vulnerability detection approaches have been proposed. However, challenges still exist in applying deep learning for fine-grained vulnerability detection in smart contracts, including the lack of the dataset with sufficient statement-level labeled smart contract samples and neglect of heterogeneity between syntax and semantic features during code feature learning. To utilize deep learning for fine-grained smart contract vulnerability detection, we propose a security best practices (SBP) based dataset construction approach to address the scarcity of datasets. Moreover, we propose a syntax-sensitive graph neural network to address the challenge of heterogeneous code feature learning. The dataset construction approach is motivated by the insight that smart contract code fragments guarded by security best practices may contain vulnerabilities in their original unguarded code form. Thus, we locate and strip security best practices from the smart contract code to recover its original vulnerable code form and perform sample labeling. Meanwhile, as the heterogeneity between tree-structured syntax features embodied inside the abstract syntax tree (AST) and graph-structured semantic features reflected by relations between statements, we propose a code graph whose nodes are each statement's AST subtree with a syntax-sensitive graph neural network that enhances the graph neural network by a child-sum tree-LSTM cell to learn these heterogeneous features for fine-grained smart contract vulnerability detection. We compare our approach with three state-of-the-art deep learning-based approaches that only support contract-level vulnerability detection and two popular static analysis-based approaches that support fine detection granularity. The experiment results show that our approach outperforms the baselines at both coarse and fine granularities. In this paper, we propose utilizing security best practices inside the smart contract code to construct the dataset with statement-level labels. To learn both tree-structured syntax and graph-structured semantic code features, we propose a syntax-sensitive graph neural network. The experimental results show that our approach outperforms the baselines.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
大幅提高文件上传限制,最高150M (2024-4-1)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
高挑的幼翠完成签到 ,获得积分10
刚刚
lovelife完成签到,获得积分10
1秒前
Diego发布了新的文献求助10
1秒前
klp335发布了新的文献求助30
1秒前
2秒前
寒冷的奇异果完成签到,获得积分10
3秒前
YaoZhang完成签到 ,获得积分10
4秒前
CipherSage应助东方天奇采纳,获得10
4秒前
困敦发布了新的文献求助10
5秒前
5秒前
积极的中蓝完成签到,获得积分10
5秒前
5秒前
浅眸流年完成签到,获得积分10
6秒前
小小王完成签到 ,获得积分10
6秒前
铁铁完成签到 ,获得积分10
7秒前
sunny完成签到 ,获得积分10
9秒前
zengyan完成签到 ,获得积分10
9秒前
桐桐应助书晴采纳,获得10
10秒前
11秒前
毛豆爸爸应助Tomice采纳,获得150
13秒前
15秒前
17秒前
东方天奇发布了新的文献求助10
17秒前
18秒前
Bulubulu发布了新的文献求助10
20秒前
怕黑月光发布了新的文献求助10
21秒前
21秒前
毛豆爸爸应助Tomice采纳,获得150
23秒前
慕青应助格子布采纳,获得10
24秒前
爱笑的无心完成签到 ,获得积分10
25秒前
shw发布了新的文献求助30
25秒前
x1完成签到,获得积分10
25秒前
英俊的铭应助pophoo采纳,获得10
26秒前
刘莅完成签到 ,获得积分10
27秒前
一杯完成签到,获得积分10
28秒前
lyjj023发布了新的文献求助30
28秒前
21完成签到,获得积分10
30秒前
30秒前
阿莫西林完成签到,获得积分10
32秒前
32秒前
高分求助中
The Oxford Handbook of Social Cognition (Second Edition, 2024) 1050
The Young builders of New china : the visit of the delegation of the WFDY to the Chinese People's Republic 1000
юрские динозавры восточного забайкалья 800
English Wealden Fossils 700
Chen Hansheng: China’s Last Romantic Revolutionary 500
Mantiden: Faszinierende Lauerjäger Faszinierende Lauerjäger 500
COSMETIC DERMATOLOGY & SKINCARE PRACTICE 388
热门求助领域 (近24小时)
化学 医学 生物 材料科学 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 基因 遗传学 催化作用 物理化学 免疫学 量子力学 细胞生物学
热门帖子
关注 科研通微信公众号,转发送积分 3141401
求助须知:如何正确求助?哪些是违规求助? 2792423
关于积分的说明 7802495
捐赠科研通 2448598
什么是DOI,文献DOI怎么找? 1302633
科研通“疑难数据库(出版商)”最低求助积分说明 626650
版权声明 601237