基于交易序列分层变异的EVM模糊测试
以太坊虚拟机是以太坊区块链中关键组成部分,其缺陷会导致交易的执行结果出现偏差,给以太坊生态带来严重问题.现有的以太坊虚拟机缺陷检测工作仅将虚拟机视为独立的智能合约执行工具,没有完整测试其工作流程,从而导致缺陷检测存在盲点.针对上述问题,提出了一种以太坊虚拟机运行全过程的缺陷检测方法(ETHCOV).ETHCOV首先结合权重策略指导智能合约、合约接口参数输入和交易序列按不同粒度变异,然后将其与区块状态以及世界状态打包作为测试用例,最后将测试用例输入到以太坊虚拟机中触发运行并对比检验运行结果,以此来检测以太坊虚拟机的漏洞缺陷.基于上述方法实现了一个原型系统,并以2万多个真实智能合约作为为输入对以太坊虚拟机进行缺陷检测测试.实验结果表明,相较于现有工具EVMFuzzer,ETHCOV的测试效率提升了 339%,代码覆盖率提升了 125%,并检测出3组用例的不一致输出.这些结果表明ETHCOV能有效检测以太坊虚拟机的缺陷.
以太坊虚拟机、模糊测试、智能合约、交易序列
32
TP311.52;TN915.04;O657.2
国家自然科学基金;湖北省重点研发计划
2023-09-25(万方平台首次上网日期,不代表论文的发表时间)
共8页
257-264