当前位置:首页 > 知识 >

CertiK揭示Solana跨链桥虫洞事件

2022年2月3日凌晨1点58分,北京时间,Solana跨链桥项目虫洞(Wormhole)遭受了一次黑客攻击。攻击者成功绕过了Solana上Wormhole跨链桥的验证过程,并铸造了WormholeETH(wETH)代币。

在该攻击中,攻击者利用了一个欺骗性的sysvar账户来绕过系统验证步骤,并成功生成了一条恶意消息,指定要铸造12万个wETH。最后,攻击者通过调用恶意消息中的complete_wrapped函数,成功铸造了12万个wETH代币,总价值约为3.2亿美元。

这次攻击造成了巨大的损失,成为DeFi历史上第二大黑客攻击事件。

虫洞(Wormhole)是连接宇宙中两个不同时空的狭窄隧道,也被称为爱因斯坦-罗森桥。在科学和科幻小说中,这个概念都有相似的含义和用途。

在虫洞跨链桥协议(Wormhole Protocol)中,它充当了连接以太坊和其他区块链的桥梁。简单来说,它帮助我们节省交易时间和周期,避免了在以太坊网络拥堵时的交易延迟。

攻击者利用的漏洞过程如下: 第一步:攻击者使用一个假的sysvar账户调用了"verify_signatures"函数,绕过了验证过程。 第二步:攻击者利用验证过的签名调用了"post_vaa"函数,并创建了一个恶意消息账户,声明要铸造12万个wETH。 第三步:攻击者调用了"complete_wrapped"函数,读取了恶意消息账户中的数据,并铸造了12万个wETH。 第四步:部分铸造的wETH被转移到了以太坊,其余部分转移到了USDC和SOL。

这个漏洞的根本原因是在验证签名过程(verify_signatures)中使用了一个已被废弃的函数load_current_index。该函数无法验证输入的sysvar账户是否真的是systemsysvar账户,攻击者可以利用这个漏洞伪造关键账户。

为了避免类似问题的再次发生,所有使用这个函数的账户都应进行检查和验证。特别是在这种情况下,由于部分检查过程依赖于外部调用,对外部调用的可靠性过于信任,导致了风险的产生。

目前,Wormhole团队已修复了漏洞并恢复了网络。CertiK对开发者提出以下建议:在使用外部依赖函数时,开发者需要对该函数有足够的了解。及时关注外部依赖代码库的重要更新,并在有重大版本变化时及时调整自己的代码库。在代码版本更新时,需要进行全面审计,并及时将审计代码更新到已部署的链代码中。

CertiK是一家拥有2500家企业客户认可的安全审计公司,保护了超过3110亿美元的数字资产免受损失。如果您需要咨询和报价,欢迎点击CertiK微信官方账号底部对话框留言免费咨询。祝大家在新的一年里好运连连,同时希望每个项目经过严格审计后在线部署,以获得更高的安全性,减少财产损失的可能性。

猜你喜欢

关注我们

微信二维码

微信