区块链安全公司 Oak Security 对 Cosmos 链软件开发工具包 (SDK) 中的一个漏洞表示担忧,该漏洞可能导致网络遭受分布式拒绝服务 (DDoS) 攻击。该公司两位研究员 Edward Kotysh 和 Christian Vari 在 Medium 上发表文章,解释了为何这是一个重大风险。.
研究人员指出,漏洞在于 BeginBlock 和 EndBlock 函数不受 gas 计量限制。这是有意为之的设计,因为这两个函数不一定会影响用户交易,所以开发者可以利用这些空闲的计算时间。
然而,安全专家警告说,原本旨在给予开发者的少量自由裁量权,实际上可能会以多种方式对基于 Cosmos的网络造成重大损害。这些损害包括造成网络拥塞、影响验证节点,甚至导致网络完全瘫痪。.
他们说:
“这种自由可能是一把双刃剑,它可能会打开潘多拉魔盒,带来一系列潜在的安全漏洞。主要问题在于,如果没有 gas 限制,BeginBlock 和 EndBlock 中优化不佳或包含恶意代码的代码真的会造成严重破坏。”
研究人员通过实验验证了他们关于该漏洞潜在影响的理论。其中一项实验中,他们在不同的块高度向 BeginBlock 函数引入了随机延迟,延迟时间从五秒到一分钟不等。.
实验结果证实,延迟导致网络严重拥塞,减缓了网络运行速度,并增加了区块生成所需的时间。此外,验证节点也受到影响,部分验证节点未能按时签署区块,甚至完全错过了投票阶段。.
不出所料,由于可用于签署交易的验证者数量有限(不足三分之二),测试链出现了短暂的中断。研究人员指出,这可能会导致主网完全瘫痪,因为主网上同时进行着多笔需要最终确认的交易。.
Oak Security 为开发人员推荐了修复方案。
与此同时,安全专家们提出了修复漏洞的建议,以防止恶意攻击者利用该漏洞。他们认为,有必要实施严格的计算限制,以防止任何人轻易添加会导致过度计算的攻击手段。.
他们dent了三种不同的解决方案实现方式。这些方式包括:增加 BeginBlock 和 EndBlock 函数的时间复杂度,使其不会defi运行;使用上下文包装将资源密集型操作限制在计量上下文中;以及验证函数的所有输入。.
此外,他们还呼吁进行更全面的测试和模拟,以确定该漏洞可能被如何利用以及其潜在影响。.
他们还dent了架构保障措施和运行监控措施,以确保网络按照标准指标运行,并检测任何重大偏差。.
Cosmos SDK 发布新版本
与此同时, Cosmos SDK尚未对此安全报告发表评论,也未说明是否会采取任何措施来解决该问题。这可能是因为所dent的漏洞实际上是设计特性,而非像近期有关供应链攻击的安全警报中提到的漏洞或恶意软件。.
幸运的是,使用 Cosmos SDK 的开发人员可以实施安全专家的大多数建议,从而能够控制他们部署的内容,并确保其不会受到 DDoS 攻击。.
有趣的是, Cosmos SDK最近发布了 v0.53.0 版本。根据 X 上的公告,该版本是为了解决开发者们对先前版本提出的痛点而推出的。
据报道,最新版本新增了无序交易、提升了社区资金池的容量、自定义治理机制、纪元以及自定义铸币功能。此外,它还修复了一些漏洞,开发者现在即可在 GitHub 上进行升级。.
Cosmos SDK 是一款供开发者轻松构建自己的定制网络并与 Cosmos 区块链集成的工具,Cosmos 区块链是一个致力于成为区块链互联网的网络。.

