一种融合全局和局部特征的智能合约相似性检测方法

    公开(公告)号:CN115617395A

    公开(公告)日:2023-01-17

    申请号:CN202211262995.X

    申请日:2022-10-14

    Abstract: 本发明公开了一种融合全局和局部特征的智能合约相似性检测方法,其借助合约函数块提取工具提取字节码函数块,使用SimHash算法编码函数块为特征向量,利用海明距离算法计算得出函数块的相似性矩阵,从而得出局部相似值;然后通过对智能合约增加控制流和数据流分析来提取合约的程序依赖图,再使用基于Graph2vec算法的图嵌入模型编码器将程序依赖图编码为特征向量,以此特征向量为相似度计算函数的输入得到合约的全局相似值,最后利用全局和局部的特征融合计算得出合约的相似性结果。本发明融合全局和局部特征的方法考虑到了多维的合约代码特征,实现了更准确的检测效果,具有良好的通用性和实用价值。

    针对智能合约调用序列优化与资源分配导向的模糊测试方法

    公开(公告)号:CN115562987A

    公开(公告)日:2023-01-03

    申请号:CN202211210769.7

    申请日:2022-09-30

    Abstract: 本发明公开了一种针对智能合约调用序列优化与资源分配导向的模糊测试方法,针对智能合约中的全局状态变量的进行数据流依赖分析,生成合约的函数调用序列,然后在模糊测试执行过程中迭代更新种子,通过分支距离度量,与新分支距离更近的种子将被选择,对测试用例进行优化,驱动模糊测试器更快地覆盖条件严格的分支;进而选择智能合约中需重点分析的稀有分支与易受攻击分支作为目标分支,并为目标分支分配更多的模糊测试资源;最后对函数调用序列进行优化变异,从而让模糊检测器能够挖掘更深层的分支。本发明结合了序列生成与优化策略、种子迭代优化策略、资源调度策略,提高了模糊检测的效率和准确率,具有良好的实用价值以及很好的借鉴意义。

    基于AST多维特征融合的智能合约代码克隆检测方法

    公开(公告)号:CN115422541B

    公开(公告)日:2025-05-23

    申请号:CN202211157768.0

    申请日:2022-09-22

    Abstract: 本发明公开了一种基于AST多维特征融合的智能合约代码克隆检测方法,能够有效地解决智能合约代码克隆检测问题。本发明通过将智能合约代码转换为抽象语法树AST,分别对AST横向和纵向两个方向进行分析,提取相应的语法信息和语义信息,然后利用编码器得到AST横向和纵向的融合特征向量;最后通过相似性检测算法计算两个不同合约函数块融合特征向量的相似度。本发明方法通过融合语法和语法特征,能够更加精准地实现智能合约的代码克隆检测,具有良好的前瞻性和参考性。

    基于模型指导智能合约调用序列生成的双层模糊测试方法

    公开(公告)号:CN117251375A

    公开(公告)日:2023-12-19

    申请号:CN202311298302.7

    申请日:2023-10-09

    Abstract: 本发明公开了一种基于N‑gram模型指导智能合约调用序列生成的双层模糊测试方法,通过训练函数序列生成模型来知道模糊测试器确定函数调用的先后关系;在第一层模糊测试的过程中结合了分支搜寻策略,来探寻函数调用序列对应所有可到达的分支以及能够到达该分支测试用例形成测试套件集合;在第二层模糊测试的过程中结合了掩码引导变异策略,引导测试套件中的测试用例变异生成更多能够到达对应分支的测试用例。本发明方法采用双层模糊结构,同时结合了合约调用序列的生成模型、分支搜寻策略、掩码引导变异策略,指导模糊检测器实现效率更快、覆盖率更广、准确率更高的智能合约漏洞检测,不仅具有良好的实用价值,而且有很好的借鉴意义。

    基于AST多维特征融合的智能合约代码克隆检测方法

    公开(公告)号:CN115422541A

    公开(公告)日:2022-12-02

    申请号:CN202211157768.0

    申请日:2022-09-22

    Abstract: 本发明公开了一种基于AST多维特征融合的智能合约代码克隆检测方法,能够有效地解决智能合约代码克隆检测问题。本发明通过将智能合约代码转换为抽象语法树AST,分别对AST横向和纵向两个方向进行分析,提取相应的语法信息和语义信息,然后利用编码器得到AST横向和纵向的融合特征向量;最后通过相似性检测算法计算两个不同合约函数块融合特征向量的相似度。本发明方法通过融合语法和语法特征,能够更加精准地实现智能合约的代码克隆检测,具有良好的前瞻性和参考性。

Patent Agency Ranking