[发明专利]一种智能合约漏洞检测方法有效
申请号: | 202111662475.3 | 申请日: | 2021-12-31 |
公开(公告)号: | CN114462045B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 张莹;顾晔;徐天天;陈甜妹;岑雷扬 | 申请(专利权)人: | 国网浙江省电力有限公司物资分公司;国网浙江浙电招标咨询有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06K9/62 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 赵佳 |
地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 漏洞 检测 方法 | ||
本发明公开了一种智能合约漏洞检测方法,包括如下步骤:构建与智能合约训练样本对应的训练操作码,滑动窗口对训练操作码进行遍历截取以获得多个训练操作码片段,生成与训练操作码对应的训练操作码片段集;将Transformer模型作为智能合约漏洞检测模型,采用训练操作码片段集对Transformer模型进行训练;对待检测智能合约进行预处理生成待检测操作码,滑动窗口对待检测操作码进行截取生成待检测操作码片段集,将待检测操作码片段集输入至Transformer模型;由分类器输出智能合约漏洞检测结果。Transformer模型会对具体训练操作码片段和其他所有训练操作码片段之间的相关性进行计算,因此最终训练完成的Transformer模型在实际使用的时候能够输出充分展现智能合约漏洞线索的结果。
技术领域
本发明涉及一种智能合约漏洞检测方法,属于数据漏洞检测领域。
背景技术
智能合约是区块链技术中的一个重要的新兴分支,其语言尚未成熟,开发人员水平有限,因此现有的绝大部分已有的智能合约或多或少都有漏洞,且智能合约的数据量也相对不足。
针对智能合约漏洞检测现阶段主要依靠训练完成的CNN,并采用分词器对智能合约操作码以操作码单元为基本单元的方式进行拆分,但是CNN本质上是一个n-gram模型,这就导致在对智能合约中特定操作码单元计算关联分数的时候只会考虑该特定操作码单元之前的操作码单元,这就导致CNN的训练效果很差,不能很好地识别智能合约漏洞。
也因此,大部分情况下CNN更多地只适用于视觉图像以及自然语言处理,在对智能合约漏洞检测上的应用存在很大的局限性。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足而提供一种智能合约漏洞检测方法。
解决上述技术问题,本发明采用如下技术方案:
一种智能合约漏洞检测方法,包括如下步骤:
步骤S1:构建与智能合约训练样本对应的训练操作码,以窗口大小为n的滑动窗口对训练操作码进行遍历截取以获得多个训练操作码片段,每个训练操作码片段包含多个训练操作码单元,选取部分或全部训练操作码片段生成与训练操作码对应的训练操作码片段集;
步骤S2:将Transformer模型作为智能合约漏洞检测模型,采用训练操作码片段集对Transformer模型进行训练,直至损失函数达到最小值,以使Transformer模型训练完成;
步骤S3:对待检测智能合约进行预处理,以生成待检测操作码,以窗口大小为n的滑动窗口对待检测操作码进行遍历截取,以生成待检测操作码片段集,将待检测操作码片段集输入至Transformer模型;
步骤S4:Transformer模型将结果输出至分类器,由分类器输出智能合约漏洞检测结果。
本发明的有益效果为:
Transformer模型在自身自注意力机制作用下通过训练操作码片段集进行训练的时候,在针对具体训练操作码片段相关性计算的环节,会对具体训练操作码片段和其他所有训练操作码片段之间的相关性进行计算,因此最终训练完成的Transformer模型在实际使用的时候能够输出充分展现智能合约漏洞线索的结果,同时具体训练操作码片段和其他所有训练操作码片段之间的相关性计算为并行运算,因此Transformer模型的训练过程也被极大缩短。
本发明步骤S1中,同一个训练操作码对应的训练操作码片段集有多个,训练操作码片段集分为正训练操作码片段集和负训练操作码片段集;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网浙江省电力有限公司物资分公司;国网浙江浙电招标咨询有限公司,未经国网浙江省电力有限公司物资分公司;国网浙江浙电招标咨询有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111662475.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能计算机外接电线理线设备
- 下一篇:一种实验兔培养用培养箱