System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于检测智能合约漏洞的方法及装置、存储介质制造方法及图纸_技高网
当前位置: 首页 > 专利查询>海南大学专利>正文

用于检测智能合约漏洞的方法及装置、存储介质制造方法及图纸

技术编号:41288366 阅读:6 留言:0更新日期:2024-05-11 09:37
本申请涉及智能合约技术领域,公开一种用于检测智能合约漏洞的方法,包括:构建智能合约源代码对应的超图;将超图转换为矩阵形式,以形成多模态超图;基于多模态超图执行消息传递算法,得到样本数据;利用所述样本数据对图神经网络模型进行训练,得到智能合约漏洞检测模型;利用智能合约漏洞检测模型对多模态超图进行分类。该方法可以减少智能合约源代码高维度特征提取困难的情况。并且实现了对局部特征与全局特征的之间复杂关系的提取。从而,提升了对图神经网络模型进行训练后得到的智能合约漏洞检测模型的检测精度。进而,可以提升智能合约漏洞检测的准确率。本申请还公开一种用于检测智能合约漏洞的装置及存储介质。

【技术实现步骤摘要】

本申请涉及智能合约,例如涉及一种用于检测智能合约漏洞的方法及装置、存储介质


技术介绍

1、以太坊(ethereum)是一个开源的公共区块链平台,他拥有区块链的去中心化、共识、分布式账本等特点。它为所有开发者提供了基于solidity语言的智能合约解决方案平台,它上面提供各种模块让用户来创建属于自己项目的智能合约。

2、智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。然而,智能合约无法避免地存在安全漏洞。

3、为了实现对智能合约漏洞的检测。相关技术公开了一种基于深度学习的智能合约的漏洞检测模型智能合约漏洞检测方法,包括:根据智能合约漏洞类型,获取智能合约数据集;将所述智能合约数据集中的智能合约转化为操作码序列,将所述操作码序列作为训练样本;利用所述训练样本对智能合约漏洞检测模型进行训练,得到训练好的智能合约漏洞检测模型;其中,所述智能合约漏洞检测模型为基于平均随机梯度下降权重长短期记忆网络的智能合约漏洞检测模型;将待检测智能合约转化为操作码序列,所述操作码序列为待测操作码序列;将所述待测操作码序列输入所述训练好的智能合约漏洞检测模型,得到相应的检测结果。这样,相关技术中通过对操作码序列进行简化处理,减弱冗余操作码对检测结果的影响。根据相应漏洞类型提取出的关键操作码抽取上下文信息,因此最终整合的操作码序列更有针对性的反映漏洞信息,而且相比直接使用操作码序列,该序列长度大大减小,不仅缩短了模型训练的时间,同时解决了因序列过长导致的模型梯度消失和模型不稳定的问题。

4、在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:

5、相关技术中利用构建的智能合约漏洞检测模型,虽然可以实现对智能合约漏洞的检测,并缩短智能合约漏洞检测模型的训练时间,以及提升智能合约漏洞检测模型的稳定性。但是相关技术中未考虑智能合约漏洞检测模型对智能合约漏洞检测过程中准确率的问题。

6、需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现思路

1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

2、本公开实施例提供了一种用于检测智能合约漏洞的方法及装置、存储介质,可以提升智能合约漏洞检测的准确率。

3、在一些实施例中,所述方法包括:

4、构建智能合约源代码对应的超图;

5、将超图转换为矩阵形式,以形成多模态超图;

6、基于多模态超图执行消息传递算法,得到样本数据;

7、利用所述样本数据对图神经网络模型进行训练,得到智能合约漏洞检测模型;

8、利用智能合约漏洞检测模型对多模态超图进行分类。

9、可选地,构建智能合约源代码对应的超图,包括:根据智能合约源代码,分别构建超图的节点、时序边、作用域超边和数据流超边。

10、可选地,根据智能合约源代码,构建超图的节点,包括:获取待检测漏洞的类型;根据待检测漏洞的类型,构建智能合约源代码中函数和变量对应的节点。

11、可选地,根据智能合约源代码,构建超图的时序边,包括:根据智能合约源代码的执行顺序,构建时序边。

12、可选地,根据智能合约源代码,构建超图的作用域超边,包括:根据智能合约源代码的作用域,构建作用域超边。

13、可选地,根据智能合约源代码,构建超图的数据流超边,包括:根据智能合约源代码中函数的调用关系,构建数据流超边。

14、可选地,基于多模态超图执行消息传递算法,包括:根据多模态超图的超边,计算节点度;根据多模态超图的节点,计算边度。

15、可选地,利用智能合约漏洞检测模型对多模态超图进行分类,包括:对多模态超图进行数据建模;根据多模态超图中的超边进行消息传递;对消息传递后多模态超图的特征进行分类。

16、在一些实施例中,所述装置包括:处理器和存储有程序指令的存储器,其中,所述处理器被配置为在运行所述程序指令时,执行前述用于检测智能合约漏洞的方法。

17、在一些实施例中,所述存储介质,存储有程序指令,其中,所述程序指令在运行时,执行前述用于检测智能合约漏洞的方法。

18、本公开实施例提供的用于检测智能合约漏洞的方法及装置、存储介质,可以实现以下技术效果:

19、通过构建智能合约源代码对应的超图,利用超图可对智能合约的源代码进行多维度、多尺度特征提取,减少智能合约源代码高维度特征提取困难的情况。并且,利用多模态超图执行消息传递算法后得到的样本数据,对图神经网络模型进行训练过程中,由于保留了图的拓扑结构进行消息传递,实现了对局部特征与全局特征的之间复杂关系的提取。从而,提升了对图神经网络模型进行训练后得到的智能合约漏洞检测模型的检测精度。这样,利用训练得到的智能合约漏洞检测模型对智能合约的漏洞进行检测时,可以提升智能合约漏洞检测的准确率。

20、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

本文档来自技高网...

【技术保护点】

1.一种用于检测智能合约漏洞的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,构建智能合约源代码对应的超图,包括:

3.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的节点,包括:

4.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的时序边,包括:

5.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的作用域超边,包括:

6.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的数据流超边,包括:

7.根据权利要求1所述的方法,其特征在于,基于多模态超图执行消息传递算法,包括:

8.根据权利要求1所述的方法,其特征在于,利用智能合约漏洞检测模型对多模态超图进行分类,包括:

9.一种用于检测智能合约漏洞的装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至8任一项所述的用于检测智能合约漏洞的方法。

10.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至8任一项所述的用于检测智能合约漏洞的方法。

...

【技术特征摘要】

1.一种用于检测智能合约漏洞的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,构建智能合约源代码对应的超图,包括:

3.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的节点,包括:

4.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的时序边,包括:

5.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的作用域超边,包括:

6.根据权利要求2所述的方法,其特征在于,根据智能合约源代码,构建超图的数据流超边,包...

【专利技术属性】
技术研发人员:程杰仁文馨
申请(专利权)人:海南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1