【技术实现步骤摘要】
本专利技术涉及智能合约安全领域。具体地,涉及到一种以太坊智能合约历史交易漏洞检测方法。
技术介绍
1、智能合约是在区块链网络之上的分布式,自我执行程序。智能合约一旦部署上链就是不可变,不可修改的,因此在智能合约部署上链前需确保智能合约没有漏洞是极其重要的。当前的智能合约安全研究大多都聚焦于智能合约源代码的漏洞检测,鲜少有研究人员关注智能合约间的交易安全。以太坊智能合约的漏洞也是在智能合约部署上链后在交易过程中被触发。分析以太坊交易中智能合约受到漏洞攻击细节,了解恶意合约的攻击行为有利于帮助检测更多以太坊历史交易中的攻击实例,最终能为以太坊智能合约编写者提供智能合约攻击实例参考,提高了以太坊智能合约代码的编写质量,避免写出不规范易受攻击的以太坊智能合约代码。进而降低了以太坊智能合约部署上链后的漏洞发生率。
2、以太坊智能合约历史交易漏洞检测相关工作:txspector通过将智能合约交易的操作码序列间的依赖关系转换为ir(一种特殊的中间表达形式),根据tr导出各操作码的操作信息,针对各类漏洞编写检测规则,使用souffle(静态
...【技术保护点】
1.一种以太坊智能合约历史交易的漏洞检测方法,其特征在于包括三个阶段:交易序列处理阶段、交易执行阶段、交易执行结果分析阶段,具体实现步骤如下:(1)将智能合约交易序列文件作为交易序列预处理阶段的输入,该阶段由两个部分组成:I.根据从合约交易序列文件中读取的交易序列,将交易操作码序列初始化为操作码对象序列;II.根据第一部分的操作码对象序列构建执行流图,并为执行流图的各个基本块构建对应的控制流图;(2)在该阶段生成的执行流图及对应的控制流图用于交易执行阶段复现合约历史交易,以及用于交易执行结果分析阶段的调用路径获取;在交易执行阶段,根据交易序列处理阶段所构建的执行流图和
...【技术特征摘要】
1.一种以太坊智能合约历史交易的漏洞检测方法,其特征在于包括三个阶段:交易序列处理阶段、交易执行阶段、交易执行结果分析阶段,具体实现步骤如下:(1)将智能合约交易序列文件作为交易序列预处理阶段的输入,该阶段由两个部分组成:i.根据从合约交易序列文件中读取的交易序列,将交易操作码序列初始化为操作码对象序列;ii.根据第一部分的操作码对象序列构建执行流图,并为执行流图的各个基本块构建对应的控制流图;(2)在该阶段生成的执行流图及对应的控制流图用于交易执行阶段复现合约历史交易,以及用于交易执行结果分析阶段的调用路径获取;在交易执行阶段,根据交易序列处理阶段所构建的执行流图和控制流图;首先为执行流图的各基本块选择对应的执行栈,以对应的执行栈作为执行环境,在evm中执行执行流图基本块对应的控制流图;在控制流图执行的过程中保留执行栈中执行的中间状态,执行的中间状态用于交易执行结果分析阶段对交易的漏洞分析;(3)在交易执行结果分析阶段,首先根据交易序列处理阶段生成的执行流图及控制流图获取交易序列中合约间的调用路径;然后结合调用路径、交易执行阶段生成的执行中间状态以及预定义的漏洞检测规则检测交易潜在的漏洞,最后根据检测结果输出交易漏洞检测报告。<...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。