基于操作码序列的以太坊交易行为图的构建方法及系统

文档序号:36312803发布日期:2023-12-07 18:02阅读:33来源:国知局
基于操作码序列的以太坊交易行为图的构建方法及系统

本文件涉及区块链安全及漏洞检测,尤其涉及一种基于操作码序列的以太坊交易行为图的构建方法及系统。


背景技术:

1、随着以太坊应用场景的多样化,智能合约的复杂性不断增加,智能合约安全漏洞造成的影响也愈发显著,同时运行在应用层上的dapp也逐渐暴露出更多安全隐患,智能合约的安全性和可靠性成为国内外研究的新关注点。其实插桩、控制流图这些分析技术都有学者应用于智能合约的漏洞检测,比如符号执行、污点分析等传统静态分析方法便使用了这些技术,然而利用这些技术生成用于深度学习的关于智能合约漏洞检测的大型数据集却几乎没有。业界常用的用于深度学习模型训练的源数据包括智能合约源码和静态操作码序列,但这两种数据集既没有结合交易的动态特征,数据量也不大,无法给深度学习模型提供高质量的特征向量。

2、适用于大多数应用场景分析的异构图在这两年也成为区块链科研工作者的切入热点,他们把智能合约源码或静态操作码序列转成异构图,从而提取图特征进行模型训练,但目前依旧缺乏基于交易操作码序列的交易行为异构图的搭建方法。因此,有必要提供一套通用方法来构建基于交易操作码序列的交易行为异构图,以提供更详细和全面的交易行为分析。现有技术方案大致分为基于源代码和基于链上交易两大类。

3、基于源代码的方案是一种静态检测方案,提取控制流和数据流的语义信息作为图特征;基于链上交易的方案是将链上交易日志转换成异构图进行特征提取。基于源代码的方案用于构建异构图,缺乏链上交易的动态特征;基于链上交易的方案用于构建异构图,缺乏部分内部交易的语义信息。为此。有必要提出了一种基于操作码序列的以太坊交易行为图的构建方法,使得异构图包含链上交易更详细的底层信息。


技术实现思路

1、本说明书一个或多个实施例提供了一种基于操作码序列的以太坊交易行为图的构建方法,包括:

2、s1、通过将云服务器上已插桩的以太坊客户端geth开启交易数据重放的过程,收集以太坊交易信息;

3、s2、根据以太坊外部交易类型提取外部交易特征;

4、s3、根据以太坊内部交易类型对应的判别方法提取内部交易特征;

5、s4、将每笔以太坊交易提取的外部交易特征和内部交易特征转换成完整的交易行为图。

6、本说明书一个或多个实施例提供了一种基于操作码序列的以太坊交易行为图的构建系统,包括:

7、插桩模块,用于通过将云服务器上已插桩的以太坊客户端geth开启交易数据重放的过程,收集以太坊交易信息;

8、外部交易特征模块,用于根据以太坊外部交易类型提取外部交易特征;

9、内部交易特征模块,用于根据以太坊内部交易类型对应的判别方法提取内部交易特征;

10、交易行为图模块,用于将每笔以太坊交易提取的外部交易特征和内部交易特征转换成完整的交易行为图。

11、采用本发明实施例,利用以太坊交易数据重放后获取的所有交易信息,根据外部交易与内部交易的判别方法,通过分析交易涉及的账户地址与操作码序列,构建以太坊交易行为图,这种异构图会包含链上交易更详细的底层信息,为智能合约漏洞检测提供了一种新思路。该基于操作码序列的以太坊交易行为图的构建方法,因为以太坊交易的海量数据量决定了交易行为图的海量数据量,能为智能合约漏洞检测提供很好的数据基础。



技术特征:

1.一种基于操作码序列的以太坊交易行为图的构建方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述收集以太坊交易信息包括:外部交易发起者、外部交易接收者、传入参数、gas开销、转账金额、区块号、区块时间戳、交易哈希、部署合约地址;若交易是智能合约调用交易,则交易信息进一步包括操作码序列。

3.根据权利要求1所述的方法,其特征在于,所述以太坊外部交易类型包括外部账户转账交易和智能合约调用交易;

4.根据权利要求2所述的方法,其特征在于,所述s3具体包括:

5.根据权利要求1所述的方法,其特征在于,所述s4具体包括:

6.一种基于操作码序列的以太坊交易行为图的构建系统,其特征在于,包括:

7.根据权利要求6所述的系统,其特征在于,所述插桩模块收集以太坊交易信息包括:外部交易发起者、外部交易接收者、传入参数、gas开销、转账金额、区块号、区块时间戳、交易哈希、部署合约地址;若交易是智能合约调用交易,则交易信息进一步包括操作码序列。

8.根据权利要求6所述的系统,其特征在于,所述外部交易特征模块具体用于:获取以太坊外部交易类型,所述以太坊外部交易类型包括外部账户转账交易和智能合约调用交易;

9.根据权利要求7所述的系统,其特征在于,所述内部交易特征模块具体用于:

10.根据权利要求6所述的系统,其特征在于,所述交易行为图模块具体用于:


技术总结
本发明提供了一种基于操作码序列的以太坊交易行为图的构建方法及系统,其中,方法包括:通过将云服务器上已插桩的以太坊客户端Geth开启交易数据重放的过程,收集以太坊交易信息;根据以太坊外部交易类型提取外部交易特征;根据以太坊内部交易类型对应的判别方法提取内部交易特征;将每笔以太坊交易提取的外部交易特征和内部交易特征转换成完整的交易行为图。通过分析交易涉及的账户地址与操作码序列,构建以太坊交易行为图,这种异构图会包含链上交易更详细的底层信息,为智能合约漏洞检测提供了一种新思路。该基于操作码序列的以太坊交易行为图的构建方法,为智能合约漏洞检测提供很好的数据基础。

技术研发人员:彭滔,李旭彬,王国军,李培强,顾婉仪,翟广鑫,陈厚积,张雨恒
受保护的技术使用者:广州大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1