System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于图卷积的智能合约漏洞检测系统技术方案_技高网
当前位置: 首页 > 专利查询>厦门大学专利>正文

基于图卷积的智能合约漏洞检测系统技术方案

技术编号:41092000 阅读:2 留言:0更新日期:2024-04-25 13:51
本发明专利技术公开了基于图卷积的智能合约漏洞检测系统,涉及智能合约技术领域,包括数据预处理模块、图构建模块、漏洞检测模型建立模块、训练模块和报告提交模块。本发明专利技术通过图卷积和多头注意力机制的配合,将结构特征映射到向量空间,提取第一特征向量和第二特征向量,将第一特征向量和第二特征向量合并可得到最终特征向量,从而建立漏洞检测模型,将处理的智能合约数据输入漏洞检测模型中进行训练,从而寻找智能合约是否存在漏洞,在存在漏洞时,需要将合约漏洞对应的约束条件添加到路径约束条件集中,用于约束求解,同时对检测的漏洞进行分类,完成漏洞检测,进一步提高了智能合约漏洞的检测效果。

【技术实现步骤摘要】

本专利技术涉及智能合约,具体为基于图卷积的智能合约漏洞检测系统


技术介绍

1、智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转,智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。

2、现有技术中,如中国专利号为:cn114462045b的“一种智能合约漏洞检测方法”,包括如下步骤:步骤s1:构建与智能合约训练样本对应的训练操作码,以窗口大小为n的滑动窗口对训练操作码进行遍历截取以获得多个训练操作码片段,每个训练操作码片段包含多个训练操作码单元,选取部分或全部训练操作码片段生成与训练操作码对应的训练操作码片段集;步骤s2:将transformer模型作为智能合约漏洞检测模型,采用训练操作码片段集对transformer模型进行训练,直至损失函数达到最小值,以使transformer模型训练完成。

3、但现有技术中,在对智能合约漏洞进行检测时,只支持对重入和整数溢出等漏洞的检测,而一些不常见的漏洞则会被忽略,例如精度丢失等,检测不够全面,无法全面的对智能合约的漏洞进行检测和分类,无法保证智能合约漏洞检测的准确率和误报率,漏洞检测性能较差,同时在智能合约漏洞检测完成后,不便于对漏洞进行分析确定其成因。

4、所以我们提出了基于图卷积的智能合约漏洞检测系统,以便于解决上述中提出的问题。


技术实现思路

1、本专利技术的目的在于提供基于图卷积的智能合约漏洞检测系统,以解决上述
技术介绍
提出的无法全面的对智能合约的漏洞进行检测和分类,同时在智能合约漏洞检测完成后,不便于对漏洞进行分析确定其成因的问题。

2、为实现上述目的,本专利技术提供如下技术方案:基于图卷积的智能合约漏洞检测系统,包括数据预处理模块、图构建模块、漏洞检测模型建立模块、训练模块和报告提交模块;

3、所述数据预处理模块用于提供用户交互界面,接收用户输入的智能合约,根据用户输入的合约类型进行预处理操作,拆分智能合约源码,提取重要的属性特征;

4、所述图构建模块用于构建合约图,获取关键变量的调用和依存关系,并进行分析;

5、所述漏洞检测模型建立模块用于通过mlp对输入数据进行过滤,基于图卷积对过滤数据进行特征提取,将提取的特征向量整合构建漏洞检测模型;

6、所述漏洞检测模型建立模块包括特征过滤模块、第一特征提取模块、第二特征提取模块和整合模块;

7、所述特征过滤模块用于通过多层感知器对输入的多个数据特征进行过滤,使用relu函数作为激活函数,softmax函数作为损失函数,将影响轻微的数据剔除;

8、所述第一特征提取模块用于使用图卷积对图数据进行第一特征向量提取;

9、所述第二特征提取模块用于使用多头注意力机制辅助第一特征提取模块进行第二特征向量提取;

10、所述整合模块用于将第一特征提取模块和第二特征提取模块中提取的第一特征向量和第二特征向量进行合并,得到最终特征向量,建立漏洞检测模型;

11、所述训练模块用于将处理好的智能合约数据输入建立的漏洞检测模型中进行训练,寻找被测的智能合约存在漏洞的可能性,在存在漏洞时,将合约漏洞对应的约束条件添加到路径约束条件集中,用于约束求解,并对检测漏洞进行分类,完成对漏洞的检测;

12、所述报告提交模块用于生成漏洞检测报告,根据报告进行智能合约改进。

13、优选的,所述图构建模块包括节点构建模块和边构建模块;

14、所述节点构建模块用于使用函数对智能合约进行拆分,将拆分的特征、将调用节点的元素和使用节点复制的元素构建为节点;

15、所述边构建模块用于获取节点间的调用关系,对边构建一个包括边的起始节点、终止节点和类型的三元组,其中,边的类型包括控制流边、数据流边、前向边和回退边。

16、优选的,所述图卷积的计算公式如下:

17、

18、其中,hj表示第j层的特征向量,h0表示初始输入,表示的度矩阵。

19、优选的,所述多头注意力机制的计算公式如下:

20、qn=xwq;

21、kn=xwk;

22、vn=xwv;

23、

24、mat=norm(x+concat(head1,···,headi)w0);

25、特征向量的计算公式如下:

26、vec=pooling(mat);

27、其中,x是词向量矩阵,wq、wk、wv是权重矩阵,m表示注意力头部的个数,

28、优选的,所述最终特征向量计算公式如下:

29、y=concat(h,vec);

30、所述检测结果计算公式如下:

31、

32、其中,s表示全连接层。

33、优选的,所述报告提交模块包括检测报告生成模块和检测报告查看模块;

34、所述检测报告生成模块用于整合训练模块的训练结果,调取存在漏洞的智能合约,生成漏洞检测结果报告;

35、所述检测报告查看模块用于将生成的漏洞检测报告发送至用户,用户可查看检测报告,对智能合约进行修复和改进。

36、优选的,所述漏洞检测报告中包括智能合约名称、漏洞名称、漏洞描述、漏洞代码定位和安全解决方案。

37、与现有技术相比,本专利技术的有益效果是:

38、本专利技术通过数据预处理模块、图构建模块、漏洞检测模型建立模块、训练模块和报告提交模块之间的配合,使用图卷积和多头注意力机制的配合,将结构特征映射到向量空间,提取第一特征向量和第二特征向量,将第一特征向量和第二特征向量合并可得到最终特征向量,构建新的智能合约特征数据集,提取更多类别的特征,达到了更准确的分类的目的,通过最终特征向量建立漏洞检测模型,将处理的智能合约数据输入漏洞检测模型中进行训练,从而寻找智能合约是否存在漏洞,在存在漏洞时,需要将合约漏洞对应的约束条件添加到路径约束条件集中,用于约束求解,同时对检测的漏洞进行分类,完成漏洞检测,提高了智能合约漏洞检测的准确率和误报率,从而进一步提高对智能合约漏洞的检测效果。

本文档来自技高网...

【技术保护点】

1.基于图卷积的智能合约漏洞检测系统,其特征在于:包括数据预处理模块(1)、图构建模块(2)、漏洞检测模型建立模块(3)、训练模块(4)和报告提交模块(5);

2.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述图构建模块(2)包括节点构建模块(21)和边构建模块(22);

3.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述图卷积的计算公式如下:

4.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述多头注意力机制的计算公式如下:

5.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述最终特征向量计算公式如下:

6.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述报告提交模块(5)包括检测报告生成模块(51)和检测报告查看模块(52);

7.根据权利要求6所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述漏洞检测报告中包括智能合约名称、漏洞名称、漏洞描述、漏洞代码定位和安全解决方案。

【技术特征摘要】

1.基于图卷积的智能合约漏洞检测系统,其特征在于:包括数据预处理模块(1)、图构建模块(2)、漏洞检测模型建立模块(3)、训练模块(4)和报告提交模块(5);

2.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述图构建模块(2)包括节点构建模块(21)和边构建模块(22);

3.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,其特征在于:所述图卷积的计算公式如下:

4.根据权利要求1所述的基于图卷积的智能合约漏洞检测系统,...

【专利技术属性】
技术研发人员:朱海明刘鹏王其聪
申请(专利权)人:厦门大学
类型:发明
国别省市:

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

1