首页|基于深度学习的智能合约漏洞检测方法研究

基于深度学习的智能合约漏洞检测方法研究

宁浩含

基于深度学习的智能合约漏洞检测方法研究

宁浩含1
扫码查看

作者信息

  • 1. 郑州轻工业大学
  • 折叠

摘要

区块链是一个去中心化数据库,通过集成加密技术、分布式共识机制、智能合约等核心技术实现远程点对点之间的价值传递,区块链技术的出现为智能合约提供了可靠的执行环境。智能合约是部署在区块链上可自动执行的计算机程序,各个网络节点通过调用智能合约的API接口,使以太坊虚拟机运行合约代码以实现智能合约的执行。智能合约近年来被广泛应用于多种现实场景,如医疗、物联网、金融、供应链等。各领域智能合约所持有的高额价值吸引了大量黑客对其展开攻击,频发的智能合约安全事件使其安全性和可靠性受到质疑,智能合约的漏洞检测已经成为区块链安全方面亟待解决的问题。大量研究人员对此展开研究,并获得了一些成果,但是现有方法大多具有特征类型单一、检测类别少、误报率高等缺点。针对上述问题,本文基于深度学习的智能合约漏洞检测技术进行深入研究。论文主要研究内容如下: (1)为了解决现有基于机器学习智能合约漏洞检测方法所提取的特征类型单一问题,提出了一种融合智能合约源代码和操作码的特征提取方法。将源代码转化为可以更好表示代码内部逻辑结构的抽象语法树,通过分析抽象语法树的路径信息提取路径上下文向量,然后使用全连接层和注意力层网络分别对高维的路径上下文特征进行压缩和聚合来提取源代码特征,同时将简化处理后的操作码通过Word2Vec模型实现操作码的特征提取。最终连接源代码特征和操作码特征便得到了智能合约的混合特征矩阵。在我们构建的数据集上与其他四种特征提取方法进行对比,结果表明混合特征提取方法的各项指标相较其他方法表现最优。 (2)现有的智能合约漏洞检测方法大多执行二分类操作,只能实现一种漏洞的识别,且识别精度较低。然而,现实中一份智能合约可能包含多种漏洞,因此智能合约的漏洞检测是一个多标签学习问题。本文提出了一种结合双向长短期记忆神经网络(BidirectionalLongShort-TermMemory,Bi-LSTM)和注意力机制的多标签漏洞检测模型,其中Bi-LSTM层负责对混合特征矩阵实现进一步的特征前后语义信息提取,注意力层对重要特征进行加权处理,增强了模型的泛化能力。实验结果表明该模型在所有对比模型中的综合表现最好,实现了同时检测多种漏洞的目标,证明了本文所提模型对智能合约多种漏洞检测任务的有效性。

关键词

智能合约/漏洞检测/深度学习/长短期记忆神经网络/混合特征提取

引用本文复制引用

授予学位

硕士

学科专业

计算机技术

导师

钱慎一/何亚琼

学位年度

2023

学位授予单位

郑州轻工业大学

语种

中文

中图分类号

TP
段落导航相关论文