基于静态分析与模糊测试结合的智能合约漏洞检测方法

    公开(公告)号:CN117951712B

    公开(公告)日:2024-11-05

    申请号:CN202410090931.9

    申请日:2024-01-23

    申请人: 烟台大学

    IPC分类号: G06F21/57 G06F11/36 G06F21/56

    摘要: 本发明涉及网络安全技术领域,具体为基于静态分析与模糊测试结合的智能合约漏洞检测方法;该漏洞检测方法,首先基于关键变量静态提取函数调用序列,以引导产生符合交易序列的测试用例;然后,基于函数调用序列生成初始测试用例,接着将测试用例进行交叉变换和经函数层面的变异处理和交易层面的变异处理,生成高质量的变异测试用例;最后,根据测试预言,利用变异测试用例遍历智能合约执行路径,得到漏洞检测结果;该检测方法,与现有工具相比,具有较高的代码覆盖率,能检测到更多数量的漏洞,且检测效果更为准确,平均准确率提高了约10%,同时平均代码覆盖率比目前较为先进的模糊测试工具提高了约14%。

    一种基于中间表示的智能合约漏洞检测方法、系统和设备

    公开(公告)号:CN118194294A

    公开(公告)日:2024-06-14

    申请号:CN202410304571.8

    申请日:2024-03-18

    申请人: 烟台大学

    IPC分类号: G06F21/57

    摘要: 本发明涉及网络安全技术领域,具体为一种基于中间表示的智能合约漏洞检测方法、系统和设备;该检测方法,将待检智能合约的Solidity代码转换为中间表示,既简化了合约分析过程,又能够保留Solidity源代码中的重要语义信息,在保证漏洞分析准确的基础上,减小计算量,提高计算稳定性;该检测方法将中间表示与不同漏洞检测逻辑结合,分别对重入漏洞、拒绝服务漏洞检测和交易顺序依赖漏洞进行检测,检测结果具有较高的精确率、召回率和F1分数。

    基于源代码和字节码的智能合约漏洞检测方法和系统

    公开(公告)号:CN118171290B

    公开(公告)日:2024-07-19

    申请号:CN202410591644.6

    申请日:2024-05-14

    申请人: 烟台大学

    IPC分类号: G06F21/57 G06F40/30

    摘要: 本申请涉及电数字数据处理技术领域,具体为基于源代码和字节码的智能合约漏洞检测方法和系统;为解决现有技术中智能合约误报率高,检测准确率低的技术问题,本申请首先基于待检智能合约的字节码,获取语义事实,并基于语义事实进行字节码层面的漏洞检测,得到准确的潜在漏洞函数;然后基于语义事实和源代码的映射关系,获取潜在漏洞函数在源代码中的具体行数,得到潜在漏洞代码行;最后,通过分析控制流图中潜在漏洞代码行中函数调用关系,执行源代码层面的漏洞检测,分析是否存在漏洞,从而降低误报率,得到更准确的漏洞检测结果,该检测方法运用在智能合约漏洞检测领域,能够大大提高智能合约漏洞检测准确率,有利于维护网络安全。

    基于静态分析与模糊测试结合的智能合约漏洞检测方法

    公开(公告)号:CN117951712A

    公开(公告)日:2024-04-30

    申请号:CN202410090931.9

    申请日:2024-01-23

    申请人: 烟台大学

    IPC分类号: G06F21/57 G06F11/36 G06F21/56

    摘要: 本发明涉及网络安全技术领域,具体为基于静态分析与模糊测试结合的智能合约漏洞检测方法;该漏洞检测方法,首先基于关键变量静态提取函数调用序列,以引导产生符合交易序列的测试用例;然后,基于函数调用序列生成初始测试用例,接着将测试用例进行交叉变换和经函数层面的变异处理和交易层面的变异处理,生成高质量的变异测试用例;最后,根据测试预言,利用变异测试用例遍历智能合约执行路径,得到漏洞检测结果;该检测方法,与现有工具相比,具有较高的代码覆盖率,能检测到更多数量的漏洞,且检测效果更为准确,平均准确率提高了约10%,同时平均代码覆盖率比目前较为先进的模糊测试工具提高了约14%。

    一种基于中间表示的智能合约漏洞检测方法、系统和设备

    公开(公告)号:CN118194294B

    公开(公告)日:2024-08-20

    申请号:CN202410304571.8

    申请日:2024-03-18

    申请人: 烟台大学

    IPC分类号: G06F21/57

    摘要: 本发明涉及网络安全技术领域,具体为一种基于中间表示的智能合约漏洞检测方法、系统和设备;该检测方法,将待检智能合约的Solidity代码转换为中间表示,既简化了合约分析过程,又能够保留Solidity源代码中的重要语义信息,在保证漏洞分析准确的基础上,减小计算量,提高计算稳定性;该检测方法将中间表示与不同漏洞检测逻辑结合,分别对重入漏洞、拒绝服务漏洞检测和交易顺序依赖漏洞进行检测,检测结果具有较高的精确率、召回率和F1分数。

    基于源代码和字节码的智能合约漏洞检测方法和系统

    公开(公告)号:CN118171290A

    公开(公告)日:2024-06-11

    申请号:CN202410591644.6

    申请日:2024-05-14

    申请人: 烟台大学

    IPC分类号: G06F21/57 G06F40/30

    摘要: 本申请涉及电数字数据处理技术领域,具体为基于源代码和字节码的智能合约漏洞检测方法和系统;为解决现有技术中智能合约误报率高,检测准确率低的技术问题,本申请首先基于待检智能合约的字节码,获取语义事实,并基于语义事实进行字节码层面的漏洞检测,得到准确的潜在漏洞函数;然后基于语义事实和源代码的映射关系,获取潜在漏洞函数在源代码中的具体行数,得到潜在漏洞代码行;最后,通过分析控制流图中潜在漏洞代码行中函数调用关系,执行源代码层面的漏洞检测,分析是否存在漏洞,从而降低误报率,得到更准确的漏洞检测结果,该检测方法运用在智能合约漏洞检测领域,能够大大提高智能合约漏洞检测准确率,有利于维护网络安全。