一种基于区块链的智能合约安全检测系统的制作方法

文档序号:36002111发布日期:2023-11-16 14:58阅读:33来源:国知局
一种基于区块链的智能合约安全检测系统的制作方法

本发明涉及数据分析,更具体地说,本发明涉及一种基于区块链的智能合约安全检测系统。


背景技术:

1、现有的智能合约安全检测系统,包括智能合约预处理程序模块、核心检测引擎模块和检测结果展示模块,通过智能合约预处理程序模块,对合约进行抽象语法树分析和内部调用关系分析,实现对合约函数关联关系的分析;核心检测引擎模块根据非确定性、数据隐私安全和逻辑安全每种风险项的特征,采用包括包检测、指令检测和逻辑检测等,分析得出合约的风险项;最后检测结果通过可视化展示模块呈现给用户;

2、然而上述技术仍存在不足,上述系统在使用过程中仅使用了静态分析技术,数据分析具有一定的局限性,并且分析的方面不够完整,缺少对权限控制、交易记录的分析,并且在检测之后得出合约的风险项,并没有说明风险程度,在最后将检测结果反馈给用户,缺少修复建议,用户仍需对风险项进行进一步分析和计算,寻找最合适的解决方案,上述系统不够智能化,只能发现风险不能提供解决风险的参考性建议,无法降低人工成本。


技术实现思路

1、为了克服现有技术的上述缺陷,本发明的提供一种基于区块链的智能合约安全检测系统,通过对合约代码、交易记录以及其他数据进行分析,得到合约安全性指数,并生成修复建议,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明提供如下技术方案:包括:代码分析模块、交易记录分析模块、权限控制模块、安全漏洞识别模块、数据整合模块、修复建议生成模块以及可视化界面模块。

3、代码分析模块:用于解析智能合约的代码,提取合约代码内的关键信息,并将信息传输至安全漏洞识别模块;

4、交易记录分析模块:用于获取合约的交易记录,从中获取合约的使用情况、交易历史以及异常行为数据,并将数据传输至安全漏洞识别模块;

5、权限控制模块:用于限制用户对合约的操作权限,阻止未授权的用户进行恶意操作,并对权限控制过程进行分析,计算出智能合约的权限控制质量指数,将计算出的数据传输至数据整合模块;

6、安全漏洞识别模块:用于根据接收到的智能合约各类数据,利用静态和动态分析技术,对合约数据进行全面检测,识别存在的安全漏洞,并根据识别出的问题漏洞,计算出智能合约的漏洞危险性指数,并将合约的漏洞危险性指数传输至数据整合模块;

7、数据整合模块:用于根据智能合约的权限控制质量指数以及漏洞危险性指数计算出合约的安全性指数,并将计算出的数据传输至修复建议生成模块;

8、修复建议生成模块:用于对合约的安全性指数进行分级判断,并建立修复模型,根据安全性指数所处的不同等级,调取不同的修复模型,并根据修复模型生成修复建议,传输至可视化界面模块;

9、可视化界面模块:用于提供良好的用户界面,显示合约的安全状态、历史记录以及修复建议。

10、优选的,代码分析模块用于解析智能合约的代码,提取合约代码内的关键信息,所述代码分析模块具体包括:

11、词法语法分析单元:代码分析模块利用词法分析器将合约代码拆分成独立的词法单元,并将代码转化为词法单元的序列,再利用语法分析器,识别代码中的语法规则,并根据词法单元的序列构建抽象语法树;

12、语义分析单元:在语法分析的基础上,语法分析单元利用语义分析器对合约代码进行语义分析,检查代码中的语义错误和不一致;

13、控制流数据流分析单元:通过分析合约代码的控制流程,确定合约代码的执行路径和异常情况,通过数据流分析,生成合约代码的数据流图,展示变量的定义和使用、变量的赋值和传递;

14、数据传输单元:将各类分析结果传输至安全漏洞识别模块。

15、优选的,交易记录分析模块用于获取合约的交易记录,从中获取合约的使用情况、交易历史以及异常行为数据,所述交易记录分析模块具体包括:

16、合约使用情况分析单元:通过根据交易记录中的信息,分析合约的使用情况,具体包括:合约的调用次数、交易的数量和金额;

17、交易历史分析单元:交易记录分析模块可以分析合约的交易历史,得到合约的交易模式和交易行为数据;

18、异常行为分析:利用阈值分析、异常模式检测、数据关联分析技术,对交易模式、金额、频率进行分析,检测合约的异常行为。

19、优选的,权限控制模块用于限制用户对合约的操作权限,阻止未授权的用户进行恶意操作,并对权限控制过程进行分析,计算出智能合约的权限控制质量指数,所述权限控制模块具体包括:

20、权限控制定义单元:由合约开发者根据合约的具体需求确定合约的权限控制策略,具体包括需要进行权限控制的操作类型、每种操作权限对应的每种用户类型;

21、权限控制实现单元:根据权限控制策略,使用访问控制合约实现相应的权限控制机制;

22、权限控制分析单元:通过分析权限控制事件,获取权限控制数据,具体包括:正常操作次数、用户个数、未经授权的操作次数、存在权限被恶意绕过的情况次数、未经授权的用户冒充他人执行受限操作次数、权限控制失败次数、异常操作次数、操作者异常访问次数;

23、权限控制质量指数计算单元:根据分析的结果,计算智能合约的权限控制质量指数:,其中m代表用户个数、qn代表正常操作次数、an代表未经授权的操作次数、sn代表存在权限被恶意绕过的情况次数、dn代表未经授权的用户冒充他人执行受限操作次数、fn代表权限控制失败次数、gn代表异常操作次数、hn代表操作者异常访问次数。

24、优选的,安全漏洞识别模块用于根据接收到的智能合约各类数据,利用静态和动态分析技术,对合约数据进行全面检测,识别存在的安全漏洞,并根据识别出的问题漏洞,计算出智能合约的漏洞危险性指数,所述安全漏洞识别模块具体包括:

25、静动态分析单元:利用符号执行以及模糊测试技术,对智能合约数据进行分析;

26、漏洞识别单元:根据静态和动态分析的结果,识别智能合约中存在的安全漏洞,具体包括:合约使用时长、漏洞个数、各漏洞类型发生的次数、易利用性指数、各漏洞造成的资金损失数量、数据泄露数量、合约功能受限程度、合约完整性受损程度、用户信任受损程度;

27、漏洞危险性指数计算单元:根据漏洞数据,计算智能合约的漏洞危险性指数:,其中tn代表合约使用时长、wn代表漏洞个数、en代表各类型漏洞的发生次数、rn代表易利用性指数、yn代表各漏洞造成的资金损失数量、un代表数据泄露数量、zn代表合约功能受限程度、xn代表合约完整性受损程度。

28、优选的,数据整合模块用于根据智能合约的权限控制质量指数以及漏洞危险性指数计算出合约的安全性指数,所述数据整合模块具体包括:

29、数据接收单元:接收安全漏洞识别模块、权限控制模块传输的数据;

30、数据整合单元:根据接收到的数据,计算出合约的安全性指数:,k1+k2=1,k2>k1;

31、数据传输单元:将计算出的合约安全性指数传输至修复建议生成模块。

32、优选的,修复建议生成模块用于对合约的安全性指数进行分级判断,并建立修复模型,根据安全性指数所处的不同等级,调取不同的修复模型,并根据修复模型生成修复建议,所述修复建议生成模块具体包括:

33、安全性等级划分单元:确定安全性指数的不同等级划分,当,合约安全等级为一等级,此时合约安全等级最低,合约中存在严重的风险,可能导致重大的损失或安全威胁,当,合约安全等级为第二等级,此时合约中存在较高的风险,可能导致较大的损失或安全威胁,当,合约安全等级为第三等级,此时合约安全等级最高,合约中可能存在一些次要的风险,但不会导致重大损失或安全威胁;

34、修复模型设计单元:根据不同的安全性等级,设计相应的修复模型,首先收集现有合约中已知的漏洞样本、已修复样本和安全性评估报告,其次使用机器学习算法构建一个漏洞分类模型,之后确定修复策略和措施,使用规则引擎、知识库或专家系统,根据漏洞分类模型的识别结果和安全性等级,确定与每个漏洞类型和安全性等级相对应的修复策略和措施,最后采用规则引擎、机器学习算法以及混合方法,根据漏洞的安全性等级和具体特征,匹配相应的修复模型;

35、修复评估与反馈单元:通过漏洞修复案例的实际测试或模拟验证来评估修复效果,之后将修复模型部署到实际的交互式界面,为开发者或审计人员提供修复建议。

36、优选的,可视化界面模块用于提供良好的用户界面,显示合约的安全状态、历史记录以及修复建议,所述可视化界面模块具体包括:

37、安全状态浏览单元:在可视化界面上显示合约的安全状态概览,包括:漏洞数量、安全性等级;

38、历史记录查看单元:提供历史记录查看功能,显示合约的漏洞修复历史和相关信息;

39、修复建议展示单元:根据生成的相应修复建议在可视化界面上进行展示,具体包括漏洞描述、建议措施、代码示例和注意事项;

40、用户交互单元:提供用户交互功能,包括:搜索、筛选、排序,用户根据自己的需求查看和分析合约的安全状态和历史记录。

41、本发明的技术效果和优点:

42、本发明可以提高合约的安全性,通过对合约代码和交易记录的分析,可以及时发现合约中的潜在漏洞和安全风险,可以检测常见的安全漏洞,可以提供全面的安全分析和报告,系统通过数据整合模块将来自不同模块的数据整合在一起,提供综合的安全分析和报告,开发者和审计人员可以通过可视化界面模块直观地查看和理解安全分析结果,提高工作效率,可以提供修复建议系统可以根据检测到的安全漏洞,生成相应的修复建议,这些修复建议可以帮助开发者快速定位和修复合约的安全问题,提高合约的安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1