作为全球最大,最为知名的区块链生态之一,Cosmos 生态专注于提升区块链互操作性,实现不同区块链之间的高效互通。Cosmos 为开发者提供模块化的 Cosmos SDK,帮助开发者快速搭建专属于特定应用的区块链,包括广受用户关注的 dYdX V4在内的诸多应用均据此进行搭建。因此 Cosmos 生态的安全问题往往具备广泛的影响力。例如 Cosmos SDK 曾发生的 Dragonfruit 漏洞就影响了多个主流公链的正常运行,导致链开发人员不得不暂停链的正常运行以采取漏洞修复措施。由 CertiK 研究团队发布的《Cosmos 生态安全指南》全面剖析了 Cosmos 生态中关键组件的安全状况,针对以往发现的安全漏洞进行归纳分类,为 Cosmos 生态开发者和用户总结出通用的漏洞模型,审计思路和需要重点关注的安全问题,助力提升 Cosmos 生态与整个区块链行业的安全水平。
由于 Cosmos 生态系统基础组件的分散性,链开发者需要根据不同的功能需求使用或者扩展不同的组件,导致生态上的安全问题存在多样性的特点。该报告不仅是对以往重大安全漏洞的分析,还将一些常见的安全漏洞根据漏洞起因,效果,代码位置等分类,以安全手册的形式最大程度地为 Cosmos 生态开发者提供安全指南,并为相关的安全审计人员提供学习和审计 Cosmos 安全问题的途径。
目前,Cosmos 生态开发者最常用的基础组件是 Cosmos SDK 和 IBC 协议(The Inter-Blockchain Communication protocol),这两者也是开发者最常使用的扩展和添加链自身逻辑的组件。
对于 Cosmos SDK 来说,从危险程度和影响范围考虑,我们主要关注 Critical 和 Major 的安全漏洞,他们通常可以造成以下风险:
1. 链停止运行
2. 资金损失
3. 影响系统状态或正常运行
而这些危险的起因往往是以下几种类型的安全漏洞:
1. 拒绝服务
2. 错误的状态设置
3. 验证缺失或者不合理
4. 唯一性问题
5. 共识算法问题
6. 实现上的逻辑漏洞
7. 语言特性问题
而对于 IBC 来说,常见漏洞分类见下:
1. 命名漏洞
字符串处理漏洞
字节码处理漏洞
2. 传输过程漏洞
数据包顺序漏洞
数据包超时漏洞
数据包认证漏洞
其他数据包漏洞
3. 逻辑漏洞
状态更新漏洞
投票共识等漏洞
其他逻辑漏洞
4. Gas 消耗漏洞
尽管 Cosmos 上的安全问题呈现多样性,但从积极角度考虑,Cosmos 生态相关的开发流程正在逐步规范化,因此涉及到的安全对象和攻击入口更加确定,从而为 Cosmos 生态安全审计人员对链的审计思路提供了一个更清晰的框架。《Cosmos 生态安全指南》出于提升 Cosmos 生态系统安全性的愿景,将细致剖析这些安全场景,详情内容可下载研究报告阅读。
CertiK 团队一直以来都在通过持续的研究和挖掘,致力于协助提升 Cosmos 以及整个Web3生态的安全性,并将定期输出各类项目安全报告和技术研究,欢迎大家持续关注!如有任何疑问,可随时与我们取得联系。
阅读及下载报告全文:https://indd.adobe.com/view/91035407-4f21-4383-9485-a56394d9f95f