缓解Allbridge Core中的风险——Kudelski安全研究
区块链桥实现了两个不同区块链之间的互操作性。通常,它允许用户将数据和代币从一个链转移到另一个链。更准确地说,代币在一个链上被锁定,而其他代币则从池中释放或在另一个链上铸造。通过正确的代币记账,用户可以像从原始区块链转移过来一样与目标区块链上的代币进行交互。
桥还具有独特的功能,这些功能可能使维护安全性变得困难。它们涉及具有新颖实现、架构和编程语言的不同区块链。考虑到桥中通常锁定的资金量相对较大,安全性尤为重要。最近有几个零日漏洞利用专门针对桥的实例,造成了灾难性后果。
开始缓解这些桥的风险并最小化攻击者造成损害的能力的最佳实践是定期对合约和代码进行安全评估和架构审查,以识别和修复已知和潜在的漏洞。我们在审查此类系统中的安全漏洞时遵循一种专注的方法。我们不仅对系统可能的漏洞利用进行威胁评估,还对代码进行审查,分析资金损失场景,并评估参与代币移动活动的每个已识别组件的程序认证场景。
Allbridge Core是一个用于稳定币的跨链桥,具有流动性池质押和奖励功能。它使用消息协议执行交换,实现EVM和非EVM链之间的跨链传输。有关Allbridge及其路线图的更深入概述,请参阅Allbridge的核心文档页面此处。
Allbridge聘请Kudelski Security对其Allbridge Core(桥)进行安全评估,以识别和缓解与其智能合约桥相关的任何意外风险。这项工作于2022年12月完成。在我们的审查过程中,我们分析并审查了池合约,因为它包含提取代币的功能和代币交换机制。这是因为以下点是池合约的已知脆弱区域:
- 任何代币提取的访问控制
- 使用交换曲线的函数
- 代币交换的逻辑
- 虚拟代币的记账
- 记账中的数值错误
我们的评估重点关注截至2022年10月7日提交的代码,并专注于以下目标:
- 帮助客户更好地了解其外部边界的安全状况,并识别其部署的链和合约基础设施中的风险。
- 对现有安全措施的成熟度、充分性和效率提供专业意见。
- 识别潜在问题,包括资金损失场景,并根据我们的测试结果提供改进建议。
第一步是与Allbridge进行研讨会,他们的团队带领我们浏览了他们的代码库,涵盖了设计和功能。然后,我们创建了一个威胁模型,概述了他们的桥架构以及基于该架构的风险区域。接下来,我们进行了深入的代码审查,识别并分类了漏洞,重点关注智能合约及其基于的底层数学。我们在发现这些问题时与Allbridge团队进行了讨论,并提供了修复建议。
在整个评估过程中,Allbridge团队高度协作,对我们提出的任何问题或评论都积极响应。他们的代码结构良好且周到。与Allbridge团队合作非常愉快,我们期待未来再次与他们合作。
完整的Kudelski安全报告位于:https://kudelskisecurity.com/wp-content/uploads/Stable-Bridge-Secure-Code-Review-v3.1-public-redacted-1.pdf