使用深度学习的以太坊区块链智能合约漏洞检测。(主要是重入漏洞)
1、摘要
静态分析器用于在开发过程中发现智能联系人中的漏洞,但非常耗时。
文章提出了一种基于机器学习的方法来检测智能合约中的重入漏洞,系统由三个组件组成:数据准备、Op2Vec 和 LSTM 模型。
(1)收集了 30,000 个智能合约,将它们分成两组,每组 15,000 个,分别用于 Op2Vec 生成和 LSTM 训练。
(2)使用 Skip-Gram 算法将操作码关键字映射到向量表示,Op2Vec。
(3)使用 Slither 静态分析器进行标记。
(4)双向LSTM模型。
源码:link
漏洞检测方法分为两类:静态分析和动态分析。静态分析涉及检查程序的源代码而不考虑其运行时行为,而动态分析需要通过运行时测量来评估程序以检测漏洞。
2、实验内容
主要实验是使用 BI-LSTM 进行重入检测
系统由三部分组成:数据准备、Op2Vec 程序和 LSTM(长短期记忆)模型。该架构促进了两种类型的数据处理以及单个 LSTM 模型。训练数据集分为两类:易受攻击和干净,从而支持用于漏洞检测的二元分类方法。