【技术实现步骤摘要】
一种基于孪生网络的智能合约重入漏洞检测方法
[0001]本专利技术涉及智能合约漏洞检测的
,尤其涉及一种基于孪生网络的智能合约重入漏洞检测方法。
技术介绍
[0002]智能合约的概念最早是由Nick Szabo提出,他将智能合约表示为“一组以数字化形式来定义的协议,协议包含了参与的各方如何履行这些协议”。Nick Szabo希望通过密码学协议以及数字化安全机制,实现逻辑清楚、检测容易、责任明确的合约,从而改变传统的合约机制,将原本纸面上的合约置于去中心化的环境中,但是由于当初技术的落后,并没有能够搭载智能合约的载体,无法为智能合约提供可信的执行环境,智能合约并没有能够良好的应用。2008年,一位叫中本聪的学者,提出了比特币,比特币依托的底层技术,即区块链,区块链能支持货币加密,记录加密,并将其放入“块”中,再将块之间按时间顺序相关联,形成一个按时间顺序排列的块链。区块链技术为智能合约提供了良好的执行环境,同时区块链技术的兴起重塑了智能合约,解决了之前智能合约存在的技术不成熟和应用场景缺失的问题。借助区块链技术,智能合约 ...
【技术保护点】
【技术特征摘要】
1.一种基于孪生网络的智能合约重入漏洞检测方法,其特征在于:包括,整理原始智能合约样本,形成最初的样本集合,并对所述最初的样本集合进行处理,生成第一次处理的样本集合;通过Word2vec模型对第一次处理的样本集合嵌入向量并组成矩阵,获得第二次处理的样本集合;令第二次处理的样本集合中正样本和负样本数量一致,获得第三次处理的样本集合,并利用第三次处理的样本集合制作数据集;将所述数据集分别输入神经网络A和神经网络B,以提取特征A和特征B,并计算特征A和特征B间的相似度;分别将特征A和特征B的相似度与阈值进行比较,完成检测。2.如权利要求1所述的基于孪生网络的智能合约重入漏洞检测方法,其特征在于:包括,处理所述最初的样本集合包括,确定与智能合约重入漏洞相关的关键变量和关键调用函数;从最初的样本集合中提取智能合约,删除智能合约中的空白行,非ASCII码字符、注释和非关键片段,并从中提取和智能合约重入漏洞相关的代码行,汇集为代码片段;将所述代码片段作为第一次处理的样本集合。3.如权利要求2所述的基于孪生网络的智能合约重入漏洞检测方法,其特征在于:所述第二次处理的样本集合包括,分别将所述第一次处理的样本集合标记为标签0和标签1,其中,所述标签0表示不包含重入漏洞,所述标签1表示包含重入漏洞;将第一次处理的样本集合划分为一个标记序列;其中,所述标记序列包括关键字、操作、规则变化变量和符号;将标记的第一次处理的样本集合和标记序列输入Word2vec模型,通过Word2vec模型生成对应的标签,并整合所述标签获得所述第二次处理的样本集合。4.如权利要求3所述的基于孪生网络的智能合约重入漏洞检测方法,其特征在于:所述第三次处理的样本集合包括,计算第二次处理的样本集合中包含重入漏洞和不包含重入漏洞的样本数量;从数量较多的样本集合中随机选择与数量较小的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。