SOL:首发 | Solana跨链桥虫洞事件分析

北京时间2022年2月3日凌晨1点58分,Solana跨链桥项目虫洞遭受攻击者发起的攻击。黑客绕过了Solana上的WormholeBridge验证过程,并为自己铸造了WormholeETH(wETH)。

此次事件中,攻击者通过注入一个性的sysvar帐户绕过了系统验证步骤,并成功生成了一条恶意“消息”,指定要铸造12万枚wETH。最后,攻击者通过使用恶意“消息”调用了“complete_wrapped”函数,成功铸造了12万枚wETH,价值约3.2亿美元。

该事件造成的损失金额之大,令其成为了DeFi史上第二大黑客攻击事件。

虫洞简介

虫洞,又称爱因斯坦-罗森桥,也译作蛀孔。是宇宙中可能存在的连接两个不同时空的狭窄隧道。

言归正传,其实Solana的跨链桥虫洞协议,确有虫洞在科学乃至科幻小说里相同的意思和定位。

前FTX高管斥资数百万美元资助与加密货币或Web3完全无关的项目:金色财经报道,前FTX高管斥资数百万美元资助与加密货币或Web3完全无关的项目,其中包括一个独特命名的价值180万美元的菠萝屋。

根据6月26日发布的一份报告,这包括该交易所的联合创始人Sam Bankman-Fried和其他前高管在非营利的FTX基金会下进行的\"慈善\"捐款。报告称,其中有价值70万美元的FTX基金会赠款,其中40万美元给了一个在YouTube上发布与'理性主义和有效利他主义材料有关的动画视频的实体。另一笔30万美元的资助给了一个人,让他\"写一本关于如何弄清人类效用函数的书\"。[2023/6/27 22:02:59]

虫洞可连接两个不同时空的隧道,从而节约时间进行“传送”。而Solana的跨链桥虫洞协议,是连接以太坊的桥。简单来说,它帮助我们节约了交易的时间和周期,避开以太坊的拥堵从而体验到Solana的快速交易。

漏洞利用交易

铸币12万枚WormholeETH:?

Shardeum创始人:下一个Web3浪潮将颠覆一些行业:金色财经报道,Shardeum创始人Nischal Shetty在社交媒体上称,下一个Web3浪潮将颠覆一些行业,Play to Earn将是这样的一个领域,中心化的P2E模式是有缺陷的。玩家没有办法知道他们是否在玩一个公平的游戏。而去中心化的P2E确保公平游戏。

此前报道,Shardeum正寻求以2亿美元估值进行2000万至3000万美元融资。[2022/8/24 12:45:26]

https://solscan.io/tx/2zCz2GgSoSS68eNJENWrYB48dMM1zmH8SZkgYneVDv2G4gRsVfwu5rNXtK5BKFxn7fSqX9BvrBc1rdPAeBEcD6Es?

将代币转到以太坊:?

https://etherscan.io/address/0x629e7da20197a5429d30da36e77d06cdf796b71a#internaltx?

DeBank推出Web 3 ID功能:1月13日,据官方消息,DeBank平台已推出Web3用户ID功能并启动ID铸造。DeBank称,Web3 ID无预挖,无预留ID,无官方特权;准确的目标分配:注册名额将根据“Web3社交排名”分批开放,防止机器人批量注册,因此用户可以首先获得他们喜欢的ID;原生Web3身份系统:这个“Web3用户ID”是一个跨链系统,因为Web3会建立在多链生态系统而不是单链上。

此外,DeBank还发布第一轮报名规则:即向“Web3社交排行榜”前10名用户开放10个名额。[2022/1/13 8:45:59]

漏洞攻击流程

步骤一:攻击者使用假sysvaraccount调用“verify_signatures”函数:https://solscan.io/tx/25Zu1L2Q9uk998d5GMnX43t9u9eVBKvbVtgHndkc2GmUFed8Pu73LGW6hiDsmGXHykKUTLkvUdh4yXPdL3Jo4wVS①以伪造的“sysvaraccount”作为参数调用的“verify_signatures”函数:

金色首发 EOS超级节点竞选投票率达6.49%:金色财经数据播报,截止北京时间6月13日15:50,EOS投票率达6.49%。EOS引力区和EOS佳能作为两个来自中国的超级节点竞选团队暂居第五和第六名。其中EOS引力区的得票总数为903万,占比2.96%;EOS佳能的得票总数为877万,占比2.87%。此前异军突起的EOSflytomars暂居第17位,得票总数为630万,占比2.07%。目前跻身前30名的超级节点竞选团队中,有八个团队来自中国。[2018/6/13]

相比之下,以下截图是以真实的“sysvaraccount”作为参数的“verify_signatures”函数:

IMEOS首发 EOS Go公布新增两条复选条件 :据金色财经合作伙伴IMEOS报道:今日,EOS Go在 steemit上公布新增的两条复选条件为:

1. 保证安全的计划:候选节点是否在steemit上发布文章介绍该节点的安全方法和计划,“安全方法”标准是向EOS选民展示安全最佳实践知识和组织实施计划的机会;

2. 立场:描述该节点分享通胀奖励和/或向EOS代币持有人派发股息的立场(候选节点在steemit发布)。主要阐述以下两个问题:

该组织是否会出于任何原因向EOS令牌选民提供支付,包括BP选举和社区建议?

该组织是否有书面的无票付款政策?如果是这样,请提供一个链接。[2018/4/27]

②?“verify_signatures”函数从sysvar(L92)加载当前指令。

③?然而,函数“load_current_index”并不能验证“sysvaraccount”是否真的是“systemsysvar”。由于从“sysvar”中检索到的当前指令是由攻击者控制的,因此它可以顺利通过以下验证过程。

步骤二:攻击者随后使用上一步验证的签名调用“post_vaa”函数,并创建一个恶意消息帐户,声明要铸造12万枚wETH:https://solscan.io/tx/2SohoVoPDSdzgsGCgKQPByKQkLAXHrYmvtE7EEqwKi3qUBTGDDJ7DcfYS7YJC2f8xwKVVa6SFUpH5MZ5xcyn1BCK

①Account2是通过“verify_signatures”指令生成的签名集。②Account3是将在“complete_wrapped”函数中使用的消息帐户。

步骤三:攻击者调用“complete_wrapped”函数读取恶意消息账户中的数据并铸造12万枚wETH:https://solscan.io/tx/2zCz2GgSoSS68eNJENWrYB48dMM1zmH8SZkgYneVDv2G4gRsVfwu5rNXtK5BKFxn7fSqX9BvrBc1rdPAeBEcD6Es

①?Account3是“post_vaa”函数生成的消息账户。

②?Account6是“收件人”地址,用于接收铸造的WormholeETH。③Account9是WormholeETH的铸币机构,是一个PDA。这就是为什么在签名验证通过后,攻击者可以直接铸造代币。

步骤四:部分铸造的wETH被转移到以太坊,其余的被交换到USDC和SOL:

https://solscan.io/tx/j3jUDG43di8Dsg7Q3jQhstamtBovu1GLqnDJ7yNvM3r4pnK9e7uqgt9uBobCjT5S1BKhZZFQNQwDxypEYqLknec

https://solscan.io/tx/5UaqPus91wvAzKNve6L8YAHsESomZQ7GWi37gPFyzTHcXNMZA641bb8m8txo7bS7A5cAnzKDKYyiKcQC8GgDcAuf

https://solscan.io/tx/3AugXqrXunBa96YfqENhPBiWZWpnSnJdqAHS64qcHTVU9KtfGon8cN9cUuXsDmBobBBXjYUtuRxnYxgERS42nh6G

https://solscan.io/tx/2SndtH3tU4j6v14HJzEde3d3dnpdHqTPn4VnvhTj4zKLo26H5kmtCwjn2nANfjXNVbmFsyEGtD4Jte25azsPwaRk

合约漏洞分析

这个漏洞的根本原因是在验证签名过程中,程序使用了一个在Solana更新至1.8.0时即被废弃的“load_current_index”函数。该函数不会验证输入的“sysvaraccount”是否真的是“systemsysvar”,从而攻击者可以趁机伪造这个关键帐户。

为了防止将来此类问题的发生,必须检查并验证函数使用的所有帐户。特别是在该案例中,由于部分检查过程依赖于外部调用,而外部调用的可靠性被过度信任,从而引入了风险。

总结

目前,Wormhole团队已修复漏洞并已恢复网络。在此,CertiK给开发者提出如下几点建议:

开发者在使用外部依赖的函数时,需要对这个函数有足够的了解。

随时关注外部依赖代码库的重要更新,在有重大版本变动时及时对自己的代码库做出相应的调整。

当代码版本更新时,也需及时进行全面审计,并将审计后的代码及时更新到已部署上链的代码中。

农历破五将至,希望大家“破五穷”。同时也希望每一个项目在经过严格的审计之后上线部署从而获得更高的安全性并减少财产损失的可能。好运从新的一年起开始不断“循环”;安全从严格的审计开始,每个项目都有更好的“开端”!

迄今为止,CertiK已获得了2500家企业客户的认可,保护了超过3110亿美元的数字资免受损失。欢迎点击CertiK公众号底部对话框,留言免费获取咨询及报价!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:46ms0-3:612ms