[发明专利]智能合约与链环境交互漏洞检测方法、系统、设备及介质在审
申请号: | 202210620850.6 | 申请日: | 2022-06-02 |
公开(公告)号: | CN114896604A | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 孙海泳 | 申请(专利权)人: | 成都链安科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F9/46;G06F8/41;G06F16/27 |
代理公司: | 成都行之智信知识产权代理有限公司 51256 | 代理人: | 宋辉 |
地址: | 610000 四川省成都市中国(四川)自由贸易试*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 链环 交互 漏洞 检测 方法 系统 设备 介质 | ||
1.一种智能合约与链环境交互漏洞检测方法,其特征在于,包括:
将目标智能合约和链上智能合约源代码编译为智能合约中间码;
将智能合约中间码转换成智能合约行为模型;
将智能合约行为模型转化成交互事务模型;
对交互事务模型与目标属性模型进行形式化验证。
2.根据权利要求1所述的一种智能合约与链环境交互漏洞检测方法,其特征在于,将智能合约中间码转换成智能合约行为模型,具体为:
通过词法分析器将智能合约中间码转换成标记序列;
根据标记序列判断每行智能合约中间码的类型并生成中间码类型序列;
根据中间码类型序列生成以智能合约函数为基本单元的抽象中间码;
按照预设的语言语法规则将抽象中间码转换成基于时间自动机的行为模型。
3.根据权利要求1或2所述的一种智能合约与链环境交互漏洞检测方法,其特征在于,一个智能合约行为对应一个智能合约函数的时间自动机,包含合约状态、时间或非时间变量、事件和状态转移关系。
4.根据权利要求1所述的一种智能合约与链环境交互漏洞检测方法,其特征在于,将智能合约行为模型转化成交互事务模型,具体为:
从智能合约行为模型中选取若干行为组成与目标属性相关的非重复行为完备事务集,形成交互事务模型。
5.根据权利要求1或4所述的一种智能合约与链环境交互漏洞检测方法,其特征在于,在生成交互事务的过程中还包括:
利用启发策略库裁剪掉与目标属性无关的交互事务;
所述启发策略库存储了能够满足目标属性的必要事务特征,如果生成的交互事务满足这些必要事务特征才能够满足目标属性,否则应当被裁剪掉。
6.根据权利要求1所述的一种智能合约与链环境交互漏洞检测方法,其特征在于,所述目标属性模型通过将目标属性文档输入属性模型生成器自动生成;
所述目标属性文档为智能合约的安全需求描述文档。
7.一种智能合约与链环境交互漏洞检测系统,其特征在于,包括:智能合约前端编译器、自动化建模工具、属性模型生成器、统计模型检测引擎和报告生成器;
其中,所述智能合约前端编译器用于接收目标智能合约和链上智能合约源代码并将其编译为智能合约中间码;
所述自动化建模工具用于接收所述智能合约前端编译器输出的中间码,并依赖行为模型生成器和事务模型生成器,对中间码进行自动化建模得到智能合约交互事务模型;
所述属性模型生成器用于接收目标属性文档,并将其翻译成含时间属性的目标属性模型;
所述统计模型检测引擎,用于接收所述自动化建模工具生成的交互事务模型和属性模型生成器生成的目标属性模型,并对其进行形式化验证;
所述报告生成器用于接收所述统计模型检测引擎输出的验证结果,并生成智能合约漏洞检测文档。
8.根据权利要求7所述的一种智能合约与链环境交互漏洞检测系统,其特征在于,还包括启发策略库;
所述启发策略库,用于存储能够满足目标属性的必要事务特征,过滤掉所述行为模型生成器生成的与目标属性无关的事务。
9.根据权利要求7所述的一种智能合约与链环境交互漏洞检测系统,其特征在于,所述统计模型检测引擎具备时间特性和随机特性;
所述统计模型检测引擎利用时间特性和随机特性,得到两种类型的验证结果:
交互事务模型满足目标属性的概率;
以及目标属性模型满足目标属性的概率是否大于或等于预设阈值。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6中任一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都链安科技有限公司,未经成都链安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210620850.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于湿巾桶成型加工的落料码垛装置
- 下一篇:一种计算机支架