一种基于区块链的智能合约安全检测系统技术方案

技术编号:39414692 阅读:8 留言:0更新日期:2023-11-19 16:06
本发明专利技术公开了一种基于区块链的智能合约安全检测系统,具体涉及数据分析技术领域,包括代码分析模块、交易记录分析模块、权限控制模块、安全漏洞识别模块、数据整合模块、修复建议生成模块以及可视化界面模块,本发明专利技术可以提高合约的安全性,通过对合约代码和交易记录的分析,可以及时发现合约中的潜在漏洞和安全风险,可以检测常见的安全漏洞,系统通过数据整合模块将来自不同模块的数据整合在一起,提供综合的安全分析和报告,开发者和审计人员可以通过可视化界面模块直观地查看和理解安全分析结果,提高工作效率,可以提供修复建议系统可以根据检测到的安全漏洞,生成相应的修复建议,提高合约的安全性。提高合约的安全性。提高合约的安全性。

【技术实现步骤摘要】
一种基于区块链的智能合约安全检测系统


[0001]本专利技术涉及数据分析
,更具体地说,本专利技术涉及一种基于区块链的智能合约安全检测系统。

技术介绍

[0002]现有的智能合约安全检测系统,包括智能合约预处理程序模块、核心检测引擎模块和检测结果展示模块,通过智能合约预处理程序模块,对合约进行抽象语法树分析和内部调用关系分析,实现对合约函数关联关系的分析;核心检测引擎模块根据非确定性、数据隐私安全和逻辑安全每种风险项的特征,采用包括包检测、指令检测和逻辑检测等,分析得出合约的风险项;最后检测结果通过可视化展示模块呈现给用户;然而上述技术仍存在不足,上述系统在使用过程中仅使用了静态分析技术,数据分析具有一定的局限性,并且分析的方面不够完整,缺少对权限控制、交易记录的分析,并且在检测之后得出合约的风险项,并没有说明风险程度,在最后将检测结果反馈给用户,缺少修复建议,用户仍需对风险项进行进一步分析和计算,寻找最合适的解决方案,上述系统不够智能化,只能发现风险不能提供解决风险的参考性建议,无法降低人工成本。

技术实现思路

[0003]为了克服现有技术的上述缺陷,本专利技术的提供一种基于区块链的智能合约安全检测系统,通过对合约代码、交易记录以及其他数据进行分析,得到合约安全性指数,并生成修复建议,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:包括:代码分析模块、交易记录分析模块、权限控制模块、安全漏洞识别模块、数据整合模块、修复建议生成模块以及可视化界面模块。
[0005]代码分析模块:用于解析智能合约的代码,提取合约代码内的关键信息,并将信息传输至安全漏洞识别模块;交易记录分析模块:用于获取合约的交易记录,从中获取合约的使用情况、交易历史以及异常行为数据,并将数据传输至安全漏洞识别模块;权限控制模块:用于限制用户对合约的操作权限,阻止未授权的用户进行恶意操作,并对权限控制过程进行分析,计算出智能合约的权限控制质量指数,将计算出的数据传输至数据整合模块;安全漏洞识别模块:用于根据接收到的智能合约各类数据,利用静态和动态分析技术,对合约数据进行全面检测,识别存在的安全漏洞,并根据识别出的问题漏洞,计算出智能合约的漏洞危险性指数,并将合约的漏洞危险性指数传输至数据整合模块;数据整合模块:用于根据智能合约的权限控制质量指数以及漏洞危险性指数计算出合约的安全性指数,并将计算出的数据传输至修复建议生成模块;修复建议生成模块:用于对合约的安全性指数进行分级判断,并建立修复模型,根
据安全性指数所处的不同等级,调取不同的修复模型,并根据修复模型生成修复建议,传输至可视化界面模块;可视化界面模块:用于提供良好的用户界面,显示合约的安全状态、历史记录以及修复建议。
[0006]优选的,代码分析模块用于解析智能合约的代码,提取合约代码内的关键信息,所述代码分析模块具体包括:词法语法分析单元:代码分析模块利用词法分析器将合约代码拆分成独立的词法单元,并将代码转化为词法单元的序列,再利用语法分析器,识别代码中的语法规则,并根据词法单元的序列构建抽象语法树;语义分析单元:在语法分析的基础上,语法分析单元利用语义分析器对合约代码进行语义分析,检查代码中的语义错误和不一致;控制流数据流分析单元:通过分析合约代码的控制流程,确定合约代码的执行路径和异常情况,通过数据流分析,生成合约代码的数据流图,展示变量的定义和使用、变量的赋值和传递;数据传输单元:将各类分析结果传输至安全漏洞识别模块。
[0007]优选的,交易记录分析模块用于获取合约的交易记录,从中获取合约的使用情况、交易历史以及异常行为数据,所述交易记录分析模块具体包括:合约使用情况分析单元:通过根据交易记录中的信息,分析合约的使用情况,具体包括:合约的调用次数、交易的数量和金额;交易历史分析单元:交易记录分析模块可以分析合约的交易历史,得到合约的交易模式和交易行为数据;异常行为分析:利用阈值分析、异常模式检测、数据关联分析技术,对交易模式、金额、频率进行分析,检测合约的异常行为。
[0008]优选的,权限控制模块用于限制用户对合约的操作权限,阻止未授权的用户进行恶意操作,并对权限控制过程进行分析,计算出智能合约的权限控制质量指数,所述权限控制模块具体包括:权限控制定义单元:由合约开发者根据合约的具体需求确定合约的权限控制策略,具体包括需要进行权限控制的操作类型、每种操作权限对应的每种用户类型;权限控制实现单元:根据权限控制策略,使用访问控制合约实现相应的权限控制机制;权限控制分析单元:通过分析权限控制事件,获取权限控制数据,具体包括:正常操作次数、用户个数、未经授权的操作次数、存在权限被恶意绕过的情况次数、未经授权的用户冒充他人执行受限操作次数、权限控制失败次数、异常操作次数、操作者异常访问次数;权限控制质量指数计算单元:根据分析的结果,计算智能合约的权限控制质量指数:,其中m代表用户个数、q
n
代表正常操作次数、a
n
代表未经授权的操作次数、s
n
代表存在权限被恶意绕过的情况次数、d
n
代表未经授权的用户
冒充他人执行受限操作次数、f
n
代表权限控制失败次数、g
n
代表异常操作次数、h
n
代表操作者异常访问次数。
[0009]优选的,安全漏洞识别模块用于根据接收到的智能合约各类数据,利用静态和动态分析技术,对合约数据进行全面检测,识别存在的安全漏洞,并根据识别出的问题漏洞,计算出智能合约的漏洞危险性指数,所述安全漏洞识别模块具体包括:静动态分析单元:利用符号执行以及模糊测试技术,对智能合约数据进行分析;漏洞识别单元:根据静态和动态分析的结果,识别智能合约中存在的安全漏洞,具体包括:合约使用时长、漏洞个数、各漏洞类型发生的次数、易利用性指数、各漏洞造成的资金损失数量、数据泄露数量、合约功能受限程度、合约完整性受损程度、用户信任受损程度;漏洞危险性指数计算单元:根据漏洞数据,计算智能合约的漏洞危险性指数:,其中t
n
代表合约使用时长、w
n
代表漏洞个数、e
n
代表各类型漏洞的发生次数、r
n
代表易利用性指数、y
n
代表各漏洞造成的资金损失数量、u
n
代表数据泄露数量、z
n
代表合约功能受限程度、x
n
代表合约完整性受损程度。
[0010]优选的,数据整合模块用于根据智能合约的权限控制质量指数以及漏洞危险性指数计算出合约的安全性指数,所述数据整合模块具体包括:数据接收单元:接收安全漏洞识别模块、权限控制模块传输的数据;数据整合单元:根据接收到的数据,计算出合约的安全性指数:,k1+k2=1,k2>k1;数据传输单元:将计算出的合约安全性指数传输至修复建议生成模块。
[0011]优选的,修复建议生成模块用于对合约的安全性指数进行分级本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的智能合约安全检测系统,其特征在于:包括:代码分析模块:用于解析智能合约的代码,提取合约代码内变量的定义和使用、变量的赋值和传递规律、代码语法规则,并将解析到的信息传输至安全漏洞识别模块;交易记录分析模块:用于获取合约的交易记录,从中获取合约的使用情况、交易历史以及异常行为数据,并将数据传输至安全漏洞识别模块;权限控制模块:用于限制用户对合约的操作权限,阻止未授权的用户进行恶意操作,并对权限控制过程进行分析,计算出智能合约的权限控制质量指数,将计算出的数据传输至数据整合模块;安全漏洞识别模块:用于根据接收代码分析模块以及交易记录分析模块传输的数据,并利用静态和动态分析技术,对合约数据进行全面检测,识别存在的安全漏洞,并根据识别出的问题漏洞,计算出智能合约的漏洞危险性指数,并将合约的漏洞危险性指数传输至数据整合模块;数据整合模块:用于系统根据智能合约的权限控制质量指数以及漏洞危险性指数计算出合约的安全性指数,并将计算出的数据传输至修复建议生成模块;修复建议生成模块:用于对合约的安全性指数进行分级判断,并建立修复模型,修复建议生成模块根据安全性指数所处的不同等级,调取不同的修复模型,并根据修复模型生成修复建议,具体包括漏洞描述、建议措施、代码示例和注意事项,并传输至可视化界面模块;可视化界面模块:用于提供良好的用户界面,显示合约的安全状态、历史记录以及修复建议。2.根据权利要求1所述的一种基于区块链的智能合约安全检测系统,其特征在于:所述代码分析模块用于解析智能合约的代码,提取合约代码内的关键信息,所述代码分析模块具体包括:词法语法分析单元:代码分析模块利用词法分析器将合约代码拆分成独立的词法单元,并将代码转化为词法单元的序列,再利用语法分析器,识别代码中的语法规则,并根据词法单元的序列构建抽象语法树;语义分析单元:在语法分析的基础上,语法分析单元利用语义分析器对合约代码进行语义分析,检查代码中的语义错误和不一致;控制流数据流分析单元:通过分析合约代码的控制流程,确定合约代码的执行路径和异常情况,通过数据流分析,生成合约代码的数据流图,展示变量的定义和使用、变量的赋值和传递规律;数据传输单元:将各类分析结果传输至安全漏洞识别模块。3.根据权利要求1所述的一种基于区块链的智能合约安全检测系统,其特征在于:所述交易记录分析模块用于获取合约的交易记录,从中获取合约的使用情况、交易历史以及异常行为数据,所述交易记录分析模块具体包括:合约使用情况分析单元:通过根据交易记录中的信息,分析合约的使用情况,具体包括:合约的调用次数、交易的数量和金额;交易历史分析单元:交易记录分析模块可以分析合约的交易历史,得到合约的交易模式和交易行为数据;异常行为分析:利用阈值分析、异常模式检测、数据关联分析技术,对交易模式、金额、
频率进行分析,检测合约的异常行为。4.根据权利要求1所述的一种基于区块链的智能合约安全检测系统,其特征在于:所述权限控制模块用于限制用户对合约的操作权限,阻止未授权的用户进行恶意操作,并对权限控制过程进行分析,计算出智能合约的权限控制质量指数,所述权限控制模块具体包括:权限控制定义单元:由合约开发者根据合约的具体需求确定合约的权限控制策略,具体包括需要进行权限控制的操作类型、每种操作权限对应的每种用户类型;权限控制实现单元:根据权限控制策略,使用访问控制合约实现相应的权限控制机制;权限控制分析单元:通过分析权限控制事件,获取权限控制数据,具体包括:正常操作次数、用户个数、未经授权的操作次数、存在权限被恶意绕过的情况次数、未经授权的用户冒充他人执行受限操作次数、权限控制失败次数、异常操作次数、操作者异常访问次数;权限控制质量指数计算单元:根据分析的结果,计算智能合约的权限控制质量指数:,其中m代表用户个数、q
n
代表正常操作次数、a
n
代表未经授权的操作次数、s
n
代表存在权限被恶意绕过的情况次数、d
n
代表未经授权的用户冒充...

【专利技术属性】
技术研发人员:唐海峰翁钦王晓兰周乐云林清良唐青南
申请(专利权)人:广东时汇信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1