[发明专利]一种动静态相结合的Hyperledger Fabric链码漏洞检测方法在审
申请号: | 202210641442.9 | 申请日: | 2022-06-08 |
公开(公告)号: | CN115618351A | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 张贺;王岩泽;丁梦洁;李杉杉;李佩如;荣国平;周鑫;邵栋 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56;G06F11/36 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 静态 相结合 hyperledger fabric 漏洞 检测 方法 | ||
本发明提出了一种动静态相结合的Hyperledger Fabric链码漏洞检测方法,该方法为基于静态检测和动态检测相结合的Hyperledger Fabric(HF)智能合约漏洞检测方法,用于检测基于Go语言编写的HF智能合约(链码)的已知和未知漏洞。该方法包括以下步骤:S1、对待测链码的包定义语句和结构体定义语句进行格式化处理;S2、对格式化后的链码进行静态检测;S3、对格式化后的链码进行动态检测;S4、生成待测链码的检测报告。本方法将传统的软工技术应用于HF链码这个新领域,旨在落实HF链码的安全实践,确保HF链码正常工作,同时为HF链码的安全研究提供一些思路。
技术领域
本发明涉及区块链智能合约安全技术领域,具体为一种动静态相结合的Hyperledger Fabric链码漏洞检测方法。
背景技术
Hyperledger Fabric(HF)以其安全可靠的优势,被广泛应用于医疗、食品安全等多个领域。运行在HF上的智能合约(链码)也在分散的应用场景中扮演着越来越重要的角色。然而,随着链码经济价值的提高,针对链码的各种类型攻击不断涌现,导致巨额财务损失,严重影响HF的发展,因此解决链码的安全问题具有重要意义。然而,目前HF链码的漏洞类型梳理并不全面,忽略了实践中常见的开发规范和隐私数据安全问题。检测技术主要以静态检测为主,检测结果不理想,且检测目标局限在已知漏洞类型。检测方法多停留在理论层面,实践性较弱。
发明内容
本发明的目的在于提供一种动静态相结合的Hyperledger Fabric链码漏洞检测方法,以解决现有研究的局限性。具体而言,为了检测常见的HF链码漏洞类型,本发明设计了基于抽象语法树和形式化验证的静态检测方法,以及基于污点分析的动态检测方法;为了检测未知的链码漏洞类型,使现有的检测技术不再局限于检测已知漏洞类型,本发明引入了模糊测试方法,检测尚未被学术界和工业界发现的HF链码漏洞类型。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
一种动静态相结合的Hyperledger Fabric链码漏洞检测方法,包括已知漏洞和未知漏洞的检测方法,具体步骤如下:
S1、对待测链码的包定义语句和结构体定义语句进行格式化处理;
S2、对格式化后的链码进行静态检测;
S3、对格式化后的链码进行动态检测;
S4、生成待测链码的检测报告。
进一步的,已知漏洞指“使用内置函数”、“字段声明”、“使用继承的函数和变量”、“程序并发性”、“映射结构迭代”、“未初始化存储指针”、“全局变量”、“写后读”、“未使用的隐私数据机制”、“范围查询风险”、“跨通道链码调用”、“系统命令执行”、“外部库调用”、“Web服务”、“外部文件访问”、“随机数生成”、“系统时间戳”、“未处理的错误”、“未加密的敏感数据”、“未检查的输入参数”、“无限循环”和“注释标题不足以检查实现和使用情况”这22种漏洞类型。
进一步的,未知漏洞指尚未被工业界和学术界发现的HF链码漏洞类型。
进一步的,在步骤S1中,还包括以下步骤:
S11、将待测链码的包定义语句格式化为“Packagetest”;
S12、将待测链码的结构体定义语句中结构体名称格式化为“Chaincode”。
进一步的,在步骤S2中,静态检测指基于抽象语法树的模型检测方法。
进一步的,在步骤S2中,还包括以下步骤:
S21、根据链码漏洞类型的特征建立漏洞状态库;
S22、借助抽象语法树提取待测链码的特征;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210641442.9/2.html,转载请声明来源钻瓜专利网。