[发明专利]一种基于规则引擎的智能合约安全评测方法在审
申请号: | 201811251949.3 | 申请日: | 2018-10-25 |
公开(公告)号: | CN109492402A | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 梁秀波;邱炜伟;李启雷;李伟;尹可挺 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/41 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞;邱启旺 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 规则引擎 目标智能 语法分析器 安全评测 语言规则 规则库 语法树 漏洞 区块 评测 遍历扫描 规则扫描 获取目标 评测结果 扫描结果 歧义性 自定义 语句 察觉 防护 检测 部署 应用 分析 安全 开发 | ||
本发明公开一种基于规则引擎的智能合约安全评测方法,其包括如下步骤:获取目标智能合约,根据目标智能合约的语言规则生成语法分析器,所述的目标智能合约语言规则不带有歧义性语句;使用S1生成的语法分析器分析所述的目标智能合约,生成合约语法树;并自定义智能合约漏洞规则引擎的规则库;使用智能合约漏洞规则引擎不断遍历扫描S2的合约语法树,得到规则库中每条规则的扫描结果;对S3获得的规则扫描结果进行标准评测,得到最终的评测结果。本发明解决了智能合约在部署到区块链之前的安全风险难以察觉的问题,实现了智能合约开发到区块链应用的漏洞隐患的检测与防护。
技术领域
本发明涉及智能合约的安全评测领域,具体涉及一种基于规则引擎的智能合约安全评测方法。
背景技术
目前现有的智能合约安全评测方法,主要包括如下几种:基于形式化验证的安全评测方法、基于符号执行与符号抽象的安全评测方法;基于机器学习与深度学习的安全评测方法;其中,基于形式化验证的方法,本质是一个基于数学模型的验证方法,其是通过将智能合约的程序源码转化成特定的数学模型,将合约代码所需要满足的要求作为性质进行证明,即通过数学语言描述合约代码,并证明其满足特定性质,该方法在具体编码实现过程中,通常需要将智能合约源码转化成某种可直接进行形式化验证的中间语言,或者进行数学建模、定义形式化规则。
基于符号执行、符号抽象的方法,其基础均是构建程序的Control Flow Graph(控制流程图)。基于控制流程图的基础上,符号执行的方法通过跟踪程序的每一个执行流程来进行检验,而符号抽象的方法,则是通过解耦合约代码的模块,对解耦后的模块进行校验分析。目前常见的应用该方法的应用及产品有Mythril、Oyenete、Securify,其存在一定的误报率、检测时间较长(单个合约30-60秒)。
基于机器学习、深度学习的安全评测方法,其理论基础是基于机器学习、深度学习的代码漏洞检测模型,通过对程序代码构建数值型特征作为模型输入,来完成对模型的训练。该方法存在数据集缺失以及模型检测率不高等缺陷。
智能合约是可编程的数字形式的协议,其由特定的合约语言编码而成,合约语言满足图灵完备,通过编译、部署形成可执行的程序。智能合约主要实现区块链上的数据存储、读写以及一些逻辑操作,因此,一些基于区块链的应用是利用智能合约完成的。然而,智能合约作为区块链应用开发中的主要技术,当智能合约一旦部署到区块链上之后无法修改,导致了因智能合约产生的安全漏洞极大影响区块链应用的可靠性。
发明内容
针对现有的智能合约漏洞检测技术的不足,本发明提出一种基于规则引擎的智能合约安全评测方法,具体技术方案如下:
一种基于规则引擎的智能合约安全评测方法,其特征在于,该方法包括如下步骤:
S1:获取目标智能合约,根据目标智能合约的语言规则生成语法分析器,所述的目标智能合约语言规则不带有歧义性语句;
S2:使用S1生成的语法分析器分析所述的目标智能合约,生成合约语法树;并自定义智能合约漏洞规则引擎的规则库;
S3:使用智能合约漏洞规则引擎不断遍历扫描S2的合约语法树,得到规则库中每条规则的扫描结果;
S4:对S3获得的规则扫描结果进行标准评测,得到最终的评测结果。
进一步地,所述的S1中的语法分析器为ANTLR语法分析器。
进一步地,所述的S4中采用CVSS3.0统一漏洞评分标准分析S3获得的规则扫描结果。
进一步地,所述的S3中的合约语法树满足树状数据结构,其每个节点都作为智能合约的独立句法结构。
进一步地,所述的S3中使用智能合约漏洞规则引擎不断遍历扫描S2的合约语法树时,若规则有匹配中的,则认为合约触碰该条规则,记录合约的代码行号、漏洞代码以及该条规则的详细信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811251949.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内容载体风险检测方法、装置、设备及介质
- 下一篇:一种漏洞检测方法及装置