在线留言 网站地图 百度蜘蛛
隐藏客服菜单
contact us

联系我们

区块链交易所开发 > 区块动态 > 区块链应用程序开发
区块链应用程序开发
编辑 :

安迪区块链交易所开发

时间 : 2020-12-14 16:20 浏览量 : 12

目前现有的智能合约安全评测办法,首要包含如下几种:根据形式化验证的安全评测办法、根据符号履行与符号抽象的安全评测办法;根据机器学习与深度学习的安全评测办法;其间,根据形式化验证的办法,本质是一个根据数学模型的验证办法,其是经过将智能合约的程序源码转化成特定的数学模型,将合约代码所需求满意的要求作为性质进行证明,即经过数学言语描绘合约代码,并证明其满意特定性质,该办法在详细编码完成过程中,一般需求将智能合约源码转化成某种可直接进行形式化验证的中间言语,或者进行数学建模、定义形式化规矩。

根据符号履行、符号抽象的办法,其根底均是构建程序的Control Flow Graph(控制流程图)。根据控制流程图的根底上,符号履行的办法经过盯梢程序的每一个履行流程来进行查验,而符号抽象的办法,则是经过解耦合约代码的模块,对解耦后的模块进行校验剖析。目前常见的运用该办法的运用及产品有Mythril、Oyenete、Securify,其存在必定的误报率、检测时刻较长(单个合约30-60秒)。

根据机器学习、深度学习的安全评测办法,其理论根底是根据机器学习、深度学习的代码缝隙检测模型,经过对程序代码构建数值型特征作为模型输入,来完成对模型的练习。该办法存在数据集缺失以及模型检测率不高级缺点。

智能合约是可编程的数字形式的协议,其由特定的合约言语编码而成,合约言语满意图灵齐备,经过编译、布置形成可履行的程序。智能合约首要完成区块链上的数据存储、读写以及一些逻辑操作,因此,一些根据区块链的运用是利用智能合约完成的。但是,智能合约作为区块链运用开发中的首要技能,当智能合约一旦布置到区块链上之后无法修正,导致了因智能合约发生的安全缝隙极大影响区块链运用的可靠性。

13
技能完成要素:


针对现有的智能合约缝隙检测技能的不足,本发明提出一种根据规矩引擎的智能合约安全评测办法,详细技能方案如下:

一种根据规矩引擎的智能合约安全评测办法,其特征在于,该办法包含如下过程:

S1:获取方针智能合约,根据方针智能合约的言语规矩生成语法剖析器,所述的方针智能合约言语规矩不带有歧义性句子;

S2:运用S1生成的语法剖析器剖析所述的方针智能合约,生成合约语法树;并自定义智能合约缝隙规矩引擎的规矩库;

S3:运用智能合约缝隙规矩引擎不断遍历扫描S2的合约语法树,得到规矩库中每条规矩的扫描成果;

S4:对S3取得的规矩扫描成果进行规范评测,得到终究的评测成果。

进一步地,所述的S1中的语法剖析器为ANTLR语法剖析器。

进一步地,所述的S4中采用CVSS3.0统一缝隙评分规范剖析S3取得的规矩扫描成果。

进一步地,所述的S3中的合约语法树满意树状数据结构,其每个节点都作为智能合约的独立句法结构。

进一步地,所述的S3中运用智能合约缝隙规矩引擎不断遍历扫描S2的合约语法树时,若规矩有匹配中的,则认为合约触碰该条规矩,记载合约的代码行号、缝隙代码以及该条规矩的详细信息。

本发明的有益效果:

本发明在智能合约运用开发中,经过构建合约缝隙规矩库,完成合约缝隙规矩引擎遍历合约语法树,最终运用CVSS3.0规范完成了智能合约的安全缝隙评测。本发明在智能合约布置到区块链之前,提供了一种规范规范的缝隙检测办法,使得智能合约运用的安全性得以保证,极大减少区块链上智能合约缝隙带来的损失。

cache
Processed in 0.013476 Second.