基于可疑代码路径导向的合约漏洞检测方法及系统技术方案

技术编号:41525636 阅读:17 留言:0更新日期:2024-06-03 22:59
本发明专利技术公开了基于可疑代码路径导向的合约漏洞检测方法及系统,该方法首先借助开源模糊测试工具和开源智能合约静态分析工具得到初始数据,在通过遍历处理得到基础数据。其次将交易集合中的交易根据函数入口地址和可疑代码路径打上进化标签,得到标签交易集合,并遍历交易初始化模块得到的标签交易集合中的标签交易,根据标签交易中的进化标签决定该交易的执行和遗传变异。然后将路径约束作为输入,利用符号执行求解器对该路径约束进行反向值求解,并将该值放入对应参数池中。最后将操作码序列作为输入,进入漏洞规则判断器中检测,输出合约漏洞报告。本发明专利技术在相同的数据集内,能更多、更快、更准确地发现智能合约漏洞。

【技术实现步骤摘要】

本专利技术属于区块链智能合约的自动化安全漏洞检测,特征涉及基于可疑代码路径导向的合约漏洞检测方法及系统


技术介绍

1、为了有效地检测智能合约中的漏洞,有效的解决方法主要分为模糊测试和混合模糊测试这两类。

2、1.单纯采用模糊测试方法检测合约漏洞:contractfuzzer最早将模糊测试方法用于合约漏洞检测,采用随机变异方式生成测试用例,由于函数参数的取值完全随机化,导致智能合约漏洞漏检率较高;sfuzz在contractfuzzer基础上,利用afl的变异策略生成测试用例进行,并采用基于分支距离反馈的思想给分支距离近的测试用例分配更多的变异能量,引导测试更多难以覆盖的分支,提高漏洞检测率;但是,sfuzz本质上仍然是一种随机变异的模糊测试方法,仍然难以测试覆盖深层次分支。

3、2.采用模糊测试+符号执行的混合模糊测试方法检测合约漏洞:confuzzius采用遗传算法和数据依赖关系来生成交易序列,并且在模糊器分支覆盖率没有变化时使用符号执行寻求突破,以测试覆盖更多深层次分支,提高漏洞检测率。虽然confuzzius采用了更加有效的本文档来自技高网...

【技术保护点】

1.基于可疑代码路径导向的合约漏洞检测方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤1具体过程如下:

3.根据权利要求2所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤2具体过程如下:

4.根据权利要求3所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤3具体过程如下:

5.根据权利要求4所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤4具体过程为:将步骤3-1-3或者步骤3-2-7得到的路径约束PConstraint1和PConst...

【技术特征摘要】

1.基于可疑代码路径导向的合约漏洞检测方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤1具体过程如下:

3.根据权利要求2所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤2具体过程如下:

4.根据权利要求3所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤3具体过程如下:

5.根据权利要求4所述的基于可疑代码路径导向的合约漏洞检测方法,其特征在于,步骤4具体过程为:将步骤3-1-3或者步骤3-2-7得到的路径约束pconstraint1和pconstraint2,利用z3求解器进行反向值求解,若求解成功,则将该...

【专利技术属性】
技术研发人员:徐向华黄志强
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1