买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开了一种源代码层级的智能合约漏洞检测方法及系统,方法包括:获取智能合约样本数据并进行预处理,检测和分析是否存在漏洞以及漏洞类型,并进行多标签标记,作为样本集合;针对样本集合生成抽象语法树,生成词法单元序列文本并进行向量化,经打包填充形成样本数据集;结合注意力机制,构建基于深度神经网络的漏洞检测模型;针对每种漏洞类型持续训练及优化对应的二元分类器,选取分类效果最好的作为多标签分类器;将需要检测的智能合约源代码的向量化数据输入多标签分类器,得到漏洞检测结果。通过本发明的技术方案,提高了漏洞检测的准确率和效率,降低了漏报率和误报率,以尽早发现漏洞并及时采取补救措施。
主权项:1.一种源代码层级的智能合约漏洞检测方法,其特征在于,包括:通过爬虫方式获取智能合约样本数据,并对所述智能合约样本数据进行预处理;检测和分析预处理后的所述智能合约样本数据中是否存在漏洞以及漏洞类型,并进行多标签标记,作为样本集合;针对所述样本集合进行词法分析和语法分析生成抽象语法树,并对所述抽象语法树进行深度优先遍历生成词法单元序列文本;采用词嵌入模型对所述词法单元序列文本进行向量化,并对向量化数据打包填充,形成样本数据集;结合注意力机制,构建基于深度神经网络的漏洞检测模型;针对每种漏洞类型在所述漏洞检测模型中持续训练及优化对应的二元分类器,选取分类效果最好的漏洞检测模型作为多标签分类器;将需要进行漏洞检测的智能合约源代码进行上述预处理和向量化操作,并将向量化数据输入所述多标签分类器,输出得到所述智能合约源代码的漏洞检测结果;所述检测和分析预处理后的所述智能合约样本数据中是否存在漏洞以及漏洞类型的具体过程包括:基于预设的漏洞库,采用多种检测和分析方式判断预处理后的所述智能合约样本数据中是否存在所述漏洞库中的漏洞,生成是否存在漏洞的标签,并对存在漏洞的样本数据细化得到漏洞类型;将不同方式得到的样本数据的检测和分析结果进行汇总,针对同一样本数据的所有检测结果中是否存在同一种漏洞类型的标签的比例达到预设比例时,以该标签作为当前样本数据是否存在该种类型漏洞的标签;所述针对所述样本集合进行词法分析和语法分析生成抽象语法树的具体过程包括:利用语法解析工具,根据自定义的文法规则生成词法分析器和语法分析器;利用所述词法分析器将所述样本集合中的智能合约源代码转化为对应的Token流;利用所述语法分析器分析所述Token流中语法单元的关系,生成所述抽象语法树。
全文数据:
权利要求:
百度查询: 北京工业大学 一种源代码层级的智能合约漏洞检测方法及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。