基于GNN的智能合约漏洞检测(tmp)概述

原文:Smart Contract Vulnerability Detection Using Graph Neural Networks
Yuan Zhuang 1,∗ , Zhenguang Liu 1,∗ , Peng Qian 1,∗ , Qi Liu 2 , Xiang Wang 3 , Qinming He 4

现有的漏洞检测方法大都依赖于特定的专家规则,因此导致了比较低的检测准确率。在这篇文章中,我们发明了一种基于GNN的智能合约漏洞检测方法。首先,我们构造了一个合约图来表示智能合约方程的语义和语法结构。为了凸显主要的节点,我们设计了清除阶段来使得图变得规范。然后,我们提出了一种无度数的图卷积神经网络和一种新颖的消息暂时传输机制(TMP)来从规范化的图中学习漏洞。实验结果表明我们的方法表现得很出色。

在这里插入图片描述
在这个video中提出,现有的检测方法依赖专家规则、有信息丢失、不可扩展;而基于机器学习的方法是程序分析的新趋势、同时可以检测出未知的漏洞。

在这里插入图片描述

然后其介绍了问题描述,以及重入、无限循环和时间戳依赖三个漏洞

在这里插入图片描述
然后介绍了它们的方法:将solidity按照代码元素的关系生成图、对图进行清理并规范化,对规范化的图使用消息传递网络从而获取输出标签

在这里插入图片描述

随后是如何建立点和边,点可以是关键的函数、变量和fallback函数,边可以是控制流、数据流、顺序流和fallback流

在这里插入图片描述
随后介绍了横向的漏洞检测工具对比和纵向的其他神经网络对比,以及数据集的选取

在这里插入图片描述
然后炫耀了一波它们方法秒杀其他工具

在这里插入图片描述
最后是总结,它们的方法是深度学习在智能合约漏洞检测的新尝试!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
智能合约漏洞检测是一个重要的研究领域,基于图神经网络(GNN)的方法近年来受到了广泛关注。GNN可以有效地对智能合约的代码进行建模,从而揭示潜在的漏洞。 基于GNN智能合约漏洞检测方法通常包括以下步骤: 1. 构建合约代码的图表示:将合约代码表示为一个图结构,其中合约中的函数和变量作为节点,它们之间的关系作为边。这样可以将合约代码的结构和依赖关系编码到图中。 2. 特征提取:对于每个节点和边,可以提取相应的特征,例如节点的类型、边的类型和方向等。这些特征可以通过对合约代码进行静态分析或者使用预训练的嵌入模型获得。 3. 图神经网络模型:使用GNN模型对图进行学习和表示学习。GNN可以通过迭代地聚合节点和边的信息来学习节点和边的表示,从而得到整个图的表示。常用的GNN模型包括Graph Convolutional Networks (GCN)、GraphSAGE和Gated Graph Neural Networks (GGNN)等。 4. 漏洞检测:通过学习得到的图表示,可以使用分类器或者生成器来进行漏洞检测。分类器可以预测每个节点或者边是否存在漏洞,而生成器可以生成新的合约代码,以验证是否存在漏洞。 总的来说,基于GNN智能合约漏洞检测方法可以充分利用合约代码的结构信息,辅助开发者发现和修复潜在的漏洞。这些方法在实际的智能合约安全分析中具有潜力和应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白速龙王的回眸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值