System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于多模态深度学习模型的智能合约控制流的漏洞检测方法及系统技术方案_技高网
当前位置: 首页 > 专利查询>海南大学专利>正文

基于多模态深度学习模型的智能合约控制流的漏洞检测方法及系统技术方案

技术编号:45041260 阅读:2 留言:0更新日期:2025-04-22 17:29
本发明专利技术涉及一种基于多模态深度学习模型的智能合约控制流的漏洞检测方法及系统。所述方法包括:获取智能合约源代码并转换为字节码,控制流图,并使用深度学习模型提取出图特征向量;根据智能合约源代码生成抽象语法树并生成抽象语法特征向量;提取注释并生成注释特征向量;将图特征向量、抽象语法特征向量、注释特征向量进行垂直堆叠,得到综合特征表示矩阵;通过乘以RBF核函数与余弦相似度相结合的方式,计算综合特征表示矩阵之间的合约相似性;对待检测智能合约进行克隆检测、漏洞检测。通过提取图特征向量、抽象语法特征向量、注释特征向量,进行合约克隆分析以及漏洞检测,能够全面捕捉合约的细节,可以提高漏洞检测准确性和泛化能力。

【技术实现步骤摘要】

本专利技术涉及智能合约安全,特别是涉及一种基于多模态深度学习模型的智能合约控制流的漏洞检测方法及系统


技术介绍

1、在区块链领域,智能合约由于其独特特性,在整个生命周期都面临着安全威胁。尽管关于智能合约安全的研究很多,现有的智能合约漏洞检测技术虽然取得了一定的进展,但仍存在显著不足,当前的智能合约漏洞检测方法通常依赖单一模态,仅分析源代码或字节码,难以全面捕捉合约的结构、语法和语义信息,导致在检测复杂或新型漏洞时准确性和泛化能力有限。虽然基于控制流图或抽象语法树的深度学习模型提高了检测效果,但它们未能充分捕捉合约的语义和结构信息。同样,现有的代码克隆检测工具在保留代码结构和语义方面表现不足,导致性能下降。例如,传统的漏洞检测技术基于word2vec嵌入方法,利用简单的深度学习模型来学习具有漏洞的智能合约的模型,从而能够比较快速、有效地自动检测特定模式的漏洞。此外,依赖专家定义规则的工具耗时费力,难以有效应对快速变化的漏洞类型。

2、因此,传统的漏洞检测技术,往往存在检测准确性和泛化能力较低的问题。


技术实现思路

1、基于此,为了解决上述技术问题,提供一种基于多模态深度学习模型的智能合约控制流的漏洞检测方法及系统,可以提高漏洞检测准确性和泛化能力。

2、一种基于多模态深度学习模型的智能合约控制流的漏洞检测方法,所述方法包括:

3、获取智能合约源代码并转换为字节码,根据提取所述字节码生成控制流图,并使用深度学习模型gru-gcn提取出所述控制流图中的图特征向量;

4、根据所述智能合约源代码生成抽象语法树,提取出所述抽象语法树中的节点信息,并使用所述深度学习模型根据所述节点信息生成抽象语法特征向量;

5、提取出所述智能合约源代码中的注释,对所述注释进行预处理,使用卷积神经网络根据预处理后的注释生成注释特征向量;

6、将所述图特征向量、抽象语法特征向量、注释特征向量进行垂直堆叠,得到综合特征表示矩阵并进行存储;

7、确定待检测智能合约,计算出对应的目标综合特征表示矩阵,通过乘以rbf核函数与余弦相似度相结合的方式,计算所述目标综合特征表示与所述综合特征表示矩阵之间的合约相似性;

8、根据所述合约相似性对所述待检测智能合约进行克隆检测、漏洞检测。

9、在其中一个实施例中,根据提取所述字节码生成控制流图,并使用深度学习模型gru-gcn提取出所述控制流图中的图特征向量,包括:

10、使用微调后的bert模型对所述控制流图中的节点进行bert嵌入,并提取节点特征;

11、根据所述节点特征,使用深度学习模型gru-gcn计算出每个节点的最终隐藏状态;

12、所述深度学习模型gru-gcn基于所述最终隐藏状态生成所述控制流图中的图特征向量。

13、在其中一个实施例中,使用所述深度学习模型根据所述节点信息生成抽象语法特征向量,包括:

14、分别将各个所述节点信息输入至所述深度学习模型中,通过所述深度学习模型生成各个表示抽象语法特征的向量;

15、基于各个所述表示抽象语法特征的向量生成抽象语法特征向量。

16、在其中一个实施例中,提取出所述智能合约源代码中的注释,对所述注释进行预处理,使用卷积神经网络根据预处理后的注释生成注释特征向量,包括:

17、从所述智能合约源代码中提取出所有的注释,并对所述注释进行清洗操作,得到预处理后的注释;

18、对所述预处理后的注释进行bert嵌入特征提取,使用所述卷积神经网络结合自注意力机制,从所述预处理后的注释中提取出注释特征向量。

19、在其中一个实施例中,所述方法还包括:

20、通过所述卷积神经网络结合自注意力机制,从所述预处理后的注释中提取出各个注释关键词;

21、对各个所述注释关键词进行汇总,生成词云;

22、根据所述词云确定所述注释中最常用的词汇,并计算出所述最常用的词汇对应的使用频率。

23、在其中一个实施例中,将所述图特征向量、抽象语法特征向量、注释特征向量进行垂直堆叠,得到综合特征表示矩阵并进行存储,包括:

24、将与所述智能合约对应的所述图特征向量、抽象语法特征向量、注释特征向量进行垂直堆叠,得到所述智能合约的综合特征表示矩阵;

25、其中,所述综合特征表示矩阵中包含有所述智能合约的控制流、语法结构、语义信息;

26、将所述综合特征表示矩阵存储在csv文件中。

27、在其中一个实施例中,根据所述合约相似性对所述待检测智能合约进行克隆检测,包括:

28、基于所述合约相似性,将所述目标综合特征表示与所述综合特征表示矩阵进行相似性对比,得到相似度;

29、将所述相似度与相似度阈值进行比较,若所述相似度大于所述相似度阈值,则所述待检测智能合约与所述智能合约存在克隆代码;

30、查找所述克隆代码并输出。

31、在其中一个实施例中,根据所述合约相似性对所述待检测智能合约进行漏洞检测,包括:

32、基于所述合约相似性,将所述目标综合特征表示与所述综合特征表示矩阵进行相似性度量,得到相似性度量结果;

33、根据所述相似性度量结果识别所述待检测智能合约中与所述智能合约控制流漏洞对应的漏洞代码;

34、根据所述漏洞代码检测出所述待检测智能合约中存在的漏洞。

35、一种基于多模态深度学习模型的智能合约控制流的漏洞检测系统,所述系统包括:

36、控制流特征提取模块,用于获取智能合约源代码并转换为字节码,根据提取所述字节码生成控制流图,并使用深度学习模型gru-gcn提取出所述控制流图中的图特征向量;

37、抽象语法特征提取模块,用于根据所述智能合约源代码生成抽象语法树,提取出所述抽象语法树中的节点信息,并使用所述深度学习模型根据所述节点信息生成抽象语法特征向量;

38、注释特征提取模块,用于提取出所述智能合约源代码中的注释,对所述注释进行预处理,使用卷积神经网络根据预处理后的注释生成注释特征向量;

39、特征矩阵计算模块,用于将所述图特征向量、抽象语法特征向量、注释特征向量进行垂直堆叠,得到综合特征表示矩阵并进行存储;

40、合约相似性计算模块,用于确定待检测智能合约,计算出对应的目标综合特征表示矩阵,通过乘以rbf核函数与余弦相似度相结合的方式,计算所述目标综合特征表示与所述综合特征表示矩阵之间的合约相似性;

41、克隆分析以及漏洞检测模块,用于根据所述合约相似性对所述待检测智能合约进行克隆检测、漏洞检测。

42、上述基于多模态深度学习模型的智能合约控制流的漏洞检测方法及系统,通过提取控制流图中的图特征向量、抽象语法特征向量、注释特征向量,能够全面捕捉合约的语义、结构和执行细节,对于准确检测这些漏洞尤为重要;本文档来自技高网...

【技术保护点】

1.一种基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,根据提取所述字节码生成控制流图,并使用深度学习模型GRU-GCN提取出所述控制流图中的图特征向量,包括:

3.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,使用所述深度学习模型根据所述节点信息生成抽象语法特征向量,包括:

4.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,提取出所述智能合约源代码中的注释,对所述注释进行预处理,使用卷积神经网络根据预处理后的注释生成注释特征向量,包括:

5.根据权利要求4所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,将所述图特征向量、抽象语法特征向量、注释特征向量进行垂直堆叠,得到综合特征表示矩阵并进行存储,包括:

7.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,根据所述合约相似性对所述待检测智能合约进行克隆检测,包括:

8.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,根据所述合约相似性对所述待检测智能合约进行漏洞检测,包括:

9.一种基于多模态深度学习模型的智能合约控制流的漏洞检测系统,其特征在于,所述系统包括:

10.根据权利要求9所述的基于多模态深度学习模型的智能合约控制流的漏洞检测系统,其特征在于,所述控制流特征提取模块还用于:使用微调后的BERT模型对所述控制流图中的节点进行BERT嵌入,并提取节点特征;根据所述节点特征,使用深度学习模型GRU-GCN计算出每个节点的最终隐藏状态;所述深度学习模型GRU-GCN基于所述最终隐藏状态生成所述控制流图中的图特征向量。

...

【技术特征摘要】

1.一种基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,根据提取所述字节码生成控制流图,并使用深度学习模型gru-gcn提取出所述控制流图中的图特征向量,包括:

3.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,使用所述深度学习模型根据所述节点信息生成抽象语法特征向量,包括:

4.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,提取出所述智能合约源代码中的注释,对所述注释进行预处理,使用卷积神经网络根据预处理后的注释生成注释特征向量,包括:

5.根据权利要求4所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的基于多模态深度学习模型的智能合约控制流的漏洞检测方法,其特征在于...

【专利技术属性】
技术研发人员:李晓琦彭红利李文凯王鑫
申请(专利权)人:海南大学
类型:发明
国别省市:

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

1