-
公开(公告)号:CN118409977B
公开(公告)日:2024-10-11
申请号:CN202410891441.9
申请日:2024-07-04
Applicant: 浙江大学
Abstract: 本发明公开一种以太坊虚拟机的模糊测试方法,包括:对以太坊虚拟机进行代码插桩,以收集测试用例执行过程中覆盖的代码执行路径;构建数个由以太坊交易和执行交易前的账户状态组成的种子测试用例,组成初始的测试用例集合;从集合中选择一个排序靠前的测试用例,对其进行随机的变异操作;将变异后的测试用例提供给不同以太坊虚拟机,这些虚拟机根据测试用例设置账户状态,随后执行测试用例中的以太坊交易;将覆盖新代码路径的测试用例添加到集合中,通过比较不同虚拟机执行过程产生的状态是否一致来发现潜在的漏洞。本发明解决了现有方法无法生成复杂状态且容易漏报的问题,能够有效地挖掘不同以太坊虚拟机底层实现的漏洞。
-
公开(公告)号:CN118409977A
公开(公告)日:2024-07-30
申请号:CN202410891441.9
申请日:2024-07-04
Applicant: 浙江大学
Abstract: 本发明公开一种以太坊虚拟机的模糊测试方法,包括:对以太坊虚拟机进行代码插桩,以收集测试用例执行过程中覆盖的代码执行路径;构建数个由以太坊交易和执行交易前的账户状态组成的种子测试用例,组成初始的测试用例集合;从集合中选择一个排序靠前的测试用例,对其进行随机的变异操作;将变异后的测试用例提供给不同以太坊虚拟机,这些虚拟机根据测试用例设置账户状态,随后执行测试用例中的以太坊交易;将覆盖新代码路径的测试用例添加到集合中,通过比较不同虚拟机执行过程产生的状态是否一致来发现潜在的漏洞。本发明解决了现有方法无法生成复杂状态且容易漏报的问题,能够有效地挖掘不同以太坊虚拟机底层实现的漏洞。
-