【技术实现步骤摘要】
一种基于图神经网络的多特征融合区块链智能合约漏洞检测方法、装置、计算机及存储介质
[0001]本专利技术涉及区块链安全检测领域,尤其涉及一种基于图神经网络的多特征融合智能合约漏洞检测方法。
技术介绍
[0002][0003]目前针对智能合约进行漏洞检测的工具主要分为形式化验证法、符号执行法、模糊测试法、中间表示法、深度学习法等五大类。通过对这五大类智能合约漏洞检测工具进行实验,通过现有的检测工具中运用形式化验证法与中间表示法对智能合约进行检测的工具可以针对更多漏洞进行检测,这可能与形式化验证以及中间表示发展较早有关,但是漏洞检测的准确率并不高。而深度学习方法则是最近几年发展迅速的研究方向,也因发展较晚而对智能合约漏洞种类检测较少,但是漏洞检测的准确率比其它四类检测工具准确率要高。然而,可以检测所有版本智能合约漏洞的工具比较少,Oyente、TMP、AME等工具只可以检测0.4版本的智能合约,Securify可以检测0.5、0.6版本的智能合约,Slither、Mythril可以检测所有版本智能合约,但是结合通过研究发现其效率
【技术保护点】
【技术特征摘要】
1.一种基于图神经网络的多特征融合区块链智能合约漏洞检测方法,其特征在于,所述方法包括:爬取区块链上部署的智能合约,获取智能合约数据集;根据智能合约漏洞检测工具处理智能合约数据集,获取存在漏洞的智能合约,并标记所有智能合约;判断获取的所述存在漏洞的智能合约类型;将所述所有智能合约源代码转换为智能合约结构图;利用图神经网络提取所述智能合约结构图,并通过多层感知机提取智能合约源代码中专家模式特征;将所述提取的智能合约结构图的特征和专家模式特征进行特征融合,通过神经网络学习融合的特征并针对不同智能合约漏洞类型进行漏洞预测;根据漏洞预测结果判断是否存在漏洞。2.根据权利要求1所述的一种基于图神经网络的多特征融合区块链智能合约漏洞检测方法,其特征在于,所述智能合约漏洞检测工具包括:Slither、Oyente和Securify。3.根据权利要求1所述的一种基于图神经网络的多特征融合区块链智能合约漏洞检测方法,其特征在于,所述将所述所有智能合约源代码转换为智能合约结构图,具体为:将智能合约代码中函数定义为节点,函数间调用关系定义为边。4.根据权利要求1所述的一种基于图神经网络的多特征融合区块链智能合约漏洞检测方法,其特征在于,所述利用图神经网络提取所述智能合约结构图,所述图神经网络包括:Graph Attention Network、Graph Isomorphic Network或Temporal Message Propagation Graph Neural Network。5.一种基于图神经网络的多特征融合区块链智能合约漏洞检测装置,其特征在于,所述装置包括:智能合约数据集获取单元,用于爬取区块链上部署的智能合约,获取智能合约数据集;智能合约漏洞单元,用于根据智能合约漏洞检测工具处理智能合约数据集,获取存在漏洞的智能合约,并标记所有智能合约;漏洞类型判断单元,用于判断获取的所述...
【专利技术属性】
技术研发人员:何道敬,李鑫吉,
申请(专利权)人:上海境山科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。