买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:昆明理工大学
摘要:本发明涉及区块链智能合约安全技术领域,具体涉及一种基于多模态深度学习的区块链智能合约漏洞检测方法,包括以下步骤:S1:提取了智能合约的代码属性图CPG;S2:采用SwinTransformerV2的大规模预训练视觉模型提取计算机视觉特征;S3:采用UniXcoder的大规模预训练模型提取代码语义特征;S4:多个交错的图卷积池化层块Conv‑Pool块组成图特征提取器进行提取图特征;S5:将步骤S2、S3、S4特征提取器获得的三个特征融合在一起,得到多模态特征实现区块链智能合约的重入漏洞检测;本发明中公开的基于多模态深度学习的检测方法能有效提高对区块链智能合约重入漏洞的检测精度,推动区块链智能合约的安全风险防范工作。
主权项:1.一种基于多模态深度学习的区块链智能合约漏洞检测方法,其特征在于,包括以下步骤:S1:提取了智能合约的代码属性图CPG;S2:采用SwinTransformerV2的大规模预训练视觉模型提取计算机视觉特征,对于给定的CPG图片I,SwinV2将其作为输入,并输出一个矢量化的特征表示;输出特征向量的维数为1536,通过一个全连接层将特征向量投影到一个较小的空间512维,得到的图片特征表示为Ic∈R1×D;其中Ic表示计算机视觉特征向量,R表示计算机视觉模型特征矩阵,D等于512;S3:采用UniXcoder的大规模预训练模型提取代码语义特征,将给定合约的代码拆分为单独的语句,整个合约和单个语句由UniXcoder的预训练字节对编码标记器进行标记;之后UniXcoder分别在合约级别和语句级别进行转换,将输入的智能合约和语句分别转换为768维向量,总共生成n+1个代码特征,即整个合约的1个特征,以及所有代码行的n个特征;将获取到的智能合约代码语义特征通过全连接层进行投影,最终智能合约代码语义特征表示为Tc∈R1×D,而语句级的代码特征Tnode={t1,t2,…,tn}将用作图的初始节点嵌入;其中Tc表示代码语义特征向量,R表示代码语义模型特征矩阵,ti表示代码行的特征向量,Tnode表示代码行的特征向量的集合,D等于512;S4:多个交错的图卷积池化层块组成图特征提取器进行提取图特征,图输出层集成了不同图尺度的特征,并通过全连接层进行投影,将特征映射到最终的输出结果;利用全连接层对获取到的图的归一化向量进行投影处理确保三个模态特征的权重均衡,最终得到的图特征可以表示为Vc∈R1×D;其中Vc表示图特征向量,R表示图特征矩阵,D的值等于512;S5:将步骤S2、S3、S4特征提取器获得的三个特征Ic、Vc和Tc融合在一起,得到多模态特征F=[Ic,Vc,Tc],其中F∈R1×D;通过将最终表示F传递给全连接层即最终分类层及Softmax层,获得给定输入合约的类标签的概率分布;在训练阶段,使用交叉熵损失函数以最小化交叉熵损失,从而使模型的预测概率尽可能接近真实标签的概率分布,进行智能合约漏洞分类;其中Ic表示计算机视觉特征向量,Vc表示图特征向量,Tc表示代码语义特征向量,F表示多模态融合特征向量,R表示多模态融合特征矩阵,D的值等于1536。
全文数据:
权利要求:
百度查询: 昆明理工大学 一种基于多模态深度学习的区块链智能合约漏洞检测方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。