【论文阅读】Smart Contract Vulnerability Detection Using Graph Neural Networks

文章介绍了使用图神经网络和时间消息传播网络对智能合约进行漏洞检测的方法,构建了合约图来表示函数的结构,通过图规范化和新型消息传播网络DR-GCN和TMP来提高检测效率和准确性,对比了与现有工具的性能,展示了归一化图在提升模型表现上的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文题目

1、摘要

1、使用图神经网络(GNN)进行智能合约漏洞检测:构建了一个合约图来表示智能合约函数的句法和语义结构,图中的节点表示关键函数调用或变量,而边则捕获其时态执行轨迹。
2、为了突出显示主要节点,设计了一个消除阶段来规范化图形
3、提出了一种无度图卷积神经网络(DR-GCN)和一种新型的时间消息传播网络(TMP),从归一化图中学习漏洞检测
研究现状:
目前智能合约漏洞检测的方法主要受到编程语言社区现有测试方法的启发,围绕符号执行和动态执行方法。
1、现有方法严重依赖几个专家定义的硬规则来检测智能合约漏洞:专家规则容易出错;复杂的模式是难以涵盖的。
2、攻击者可能很容易绕过规则进行攻击,会导致高误报率和假阴性率
3、因为规则是由开发检测工具的少数“集中式”专家贡献的,因此可扩展性本质上是有限的。随着智能合约数量的快速增长,少数专家不可能筛选所有合约来设计精确的规则,而其他“去中心化”专家的知识也无法用于改进模型。
将 GCN 扩展到无度 DR-GCN来处理归一化图;考虑不同程序元素的不同作用和时间关系,提出了一种新颖的时间消息传播网络(TMP)。主要检测包括重入、时间戳依赖和无限循环漏洞,具体漏洞介绍之前有。

2、研究方法

三个阶段:
(1)图生成阶段:从源代码中提取控制流和数据流语义,并显式建模回退机制;
(2)受k-partite图启发的图规范化阶段;
(3)用于漏洞建模和检测的新型消息传播网络TMP
部图(partite graph)是一类特殊的图,即一个图的节点集可分成若干个子集,使得每一条边的两端点不在同一子集内,若一个图的节点集能分成k个两两不交的非空子集,使得这个图的每一条边的两端点不在同一个子集内,则称这个图为k部图。若k=2,则称这种k部图为二部图;若k=3,则称这种k部图为三部图,若在一个k部图中,任一节点与其他部的所有节点都相邻,则称它为完全k部图。

2.1 图生成阶段

通过考虑边缘的时间顺序来构造边缘并提取了三类节点:主节点、辅助节点和回退节点。
流程图

2.1.1 主节点

主节点表示对自定义或内置函数的调用,这些函数对于检测特定漏洞非常重要。
例如,对于重入漏洞,主节点对传递函数或内置 call.value 函数的调用进行建模,这是检测重入的关键。针对时间戳依赖漏洞,提取内置函数 invocation block.timestamp 作为主节点。对于无限循环,合约中的所有自定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值