智能合约的漏洞检测及模型构建方法、设备及存储介质技术

技术编号:40901632 阅读:15 留言:0更新日期:2024-04-18 11:19
本说明书一个或多个实施例提供一种智能合约的漏洞检测及模型构建方法、设备及存储介质。漏洞检测方法包括:获取智能合约对应的知识图谱,知识图谱包含用于记录代码指令的节点和用于表示程序执行方向的边;确定与知识图谱中包含的各个节点对应的节点特征,并基于节点特征构建特征矩阵,以及,根据知识图谱中的边所指示的节点之间的连接关系构建邻接矩阵;将特征矩阵和邻接矩阵输入智能合约漏洞检测模型中进行漏洞检测;其中,智能合约漏洞检测模型基于若干智能合约分别对应的特征矩阵、邻接矩阵和用于描述智能合约包含的合约代码是否存在代码漏洞的标签进行有监督训练得到。本实施例有利于实现准确的漏洞检测。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及计算机软件,尤其涉及一种智能合约的漏洞检测方法、智能合约漏洞检测模型的构建方法、电子设备及计算机可读存储介质。


技术介绍

1、区块链是一个去中心化的共享账本和数据库。智能合约是部署在区块链上能自动执行的程序代码,能保证多个不受信任的主体之间协作交易的正常执行。部署在区块链平台上的智能合约的实际应用包括但不限于金融交易、供应链、线上银行、拍卖和游戏开发等等。近年来,利用智能合约包含的合约代码中的代码漏洞窃取非法经济利益的安全事件频频发生,使得检测智能合约包含的合约代码中的代码漏洞、防护智能合约安全变得至关重要。


技术实现思路

1、有鉴于此,本说明书一个或多个实施例提供一种智能合约的漏洞检测方法、智能合约漏洞检测模型的构建方法、电子设备及计算机可读存储介质。

2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

3、根据本说明书一个或多个实施例的第一方面,提出了一种智能合约的漏洞检测方法,包括:

4、获取与智能合约包含的合约代码对应的知识图本文档来自技高网...

【技术保护点】

1.一种智能合约的漏洞检测方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,与所述知识图谱中包含的各个节点对应的节点特征包括基于以下至少一种信息确定的特征:

3.根据权利要求2所述的方法,其特征在于,基于所述节点记录的代码指令中隶属于预设的指令类型的代码指令的数量,确定与所述知识图谱中包含的节点对应的节点特征,包括:

4.根据权利要求3所述的方法,其特征在于,所述预设的指令类型包括多种类型;

5.根据权利要求4所述的方法,其特征在于,所述预设的指令类型包括以下至少一种:算数类型、存储类型、调用类型。p>

6.根据权...

【技术特征摘要】

1.一种智能合约的漏洞检测方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,与所述知识图谱中包含的各个节点对应的节点特征包括基于以下至少一种信息确定的特征:

3.根据权利要求2所述的方法,其特征在于,基于所述节点记录的代码指令中隶属于预设的指令类型的代码指令的数量,确定与所述知识图谱中包含的节点对应的节点特征,包括:

4.根据权利要求3所述的方法,其特征在于,所述预设的指令类型包括多种类型;

5.根据权利要求4所述的方法,其特征在于,所述预设的指令类型包括以下至少一种:算数类型、存储类型、调用类型。

6.根据权利要求2所述的方法,其特征在于,基于节点的子孙节点的数量,确定与所述知识图谱中包含的节点对应的节点特征,包括:

7.根据权利要求2所述的方法,其特征在于,基于检测所述节点记录的代码指令是否包含存在代码漏洞的代码指令的第一检测结果,确定与所述知识图谱中包含的节点对应的节点特征,包括:

8.根据权利要求7所述的方法,其特征在于,所述预设的代码漏洞包括多种类型的代码漏洞;

9.根据权利要求8所述的方法,其特征在于,所述代码漏洞包括以下示出的任一或者多种类型:可重入漏洞、时间戳依赖漏洞、整数溢出漏洞。

10.根据权利要求2所述的方法,其特征在于,所述第二检测结果为检测所述节点记录的代码指令是否包含用于描述代码保护机制的代码指令,并且包含的所述用于描述代码保护机制的代码指令是否满足预设条件的检测结果;

11.根据权利要求10所述的方法,其特征在于,基于检测所述节点记录的代码指令是否包含用于描述代码保护机制的代码指令的第二检测结果,确定与所述知识图谱中包含的节点对应的节点特征,包括:

12.根据权...

【专利技术属性】
技术研发人员:杨金妮周知远卢冶朵晓东徐鹏飞
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1