CER:CertiK:Solana跨链桥虫洞事件分析

北京时间2022年2月3日凌晨1点58分,Solana跨链桥项目虫洞遭受攻击者发起的攻击。黑客绕过了Solana上的WormholeBridge验证过程,并为自己铸造了WormholeETH(wETH)。此次事件中,攻击者通过注入一个性的sysvar帐户绕过了系统验证步骤,并成功生成了一条恶意“消息”,指定要铸造12万枚wETH。最后,攻击者通过使用恶意“消息”调用了“complete_wrapped”函数,成功铸造了12万枚wETH,价值约3.2亿美元。该事件造成的损失金额之大,令其成为了DeFi史上第二大黑客攻击事件。虫洞简介

虫洞,又称爱因斯坦-罗森桥,也译作蛀孔。是宇宙中可能存在的连接两个不同时空的狭窄隧道。言归正传,其实Solana的跨链桥虫洞协议,确有虫洞在科学乃至科幻小说里相同的意思和定位。虫洞可连接两个不同时空的隧道,从而节约时间进行“传送”。而Solana的跨链桥虫洞协议,是连接以太坊的桥。简单来说,它帮助我们节约了交易的时间和周期,避开以太坊的拥堵从而体验到Solana的快速交易。漏洞利用交易

Messari:2022年Balancer锁仓量下降57%:1月10日消息,加密分析公司Messari发布《2022四季度Balancer状态报告》。数据显示,四季度Balancer在以太坊上的锁仓量下降了10%,但是在Polygon、Arbitrum和Optimism上的锁仓量却分别增加了42%、71%和20%,这些Layer 2上的锁仓量增长大部分归功于来自Lido和Rocket Pool的外部激励,这两个DeFi协议在Arbitrum和Optimism链上Balancer流动性池锁仓量中占比达到约50%。

纵观整个2022 年,Balancer总锁仓量下降了57%,但表现仍好于整体加密货币市场和其他DeFi协议,其跌幅小于竞争对手Uniswap(-61%)、Sushiswap(-90%)和Curve(-84%)。[2023/1/10 11:04:11]

铸币12万枚WormholeETH:https://solscan.io/tx/2zCz2GgSoSS68eNJENWrYB48dMM1zmH8SZkgYneVDv2G4gRsVfwu5rNXtK5BKFxn7fSqX9BvrBc1rdPAeBEcD6Es将代币转到以太坊:https://etherscan.io/address/0x629e7da20197a5429d30da36e77d06cdf796b71a#internaltx漏洞攻击流程

BNB Chain将通过Fjord启动Balancer流动性引导池:12月19日消息,BNB Chain通过Fjord启动Balancer流动性引导池,将允许新项目无缝且公平地产生流动性。流动性引导池最初将支持ERC-20代币,并将于2023年通过Fjord NFT在BNB Chain上公平发布NFT。[2022/12/19 21:54:21]

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

BabyHusky已通过Certik审计将于7月15日开启游戏业务:据官方消息,MDIS跨链燃烧代币BabyHusky已完成Token代码与机池双审计,审计结果可以在Certik官网进行查询。BabyHusky优化了原全战三国的数据参数,并将在7月15日上线各项游戏功能。

目前BabyHusky是BSC上具有机池、游戏等实际应用场景的燃烧系列代币,MDIS将持续的推动BabyHusky燃烧价值的落地。[2021/7/7 0:34:20]

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

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

Balancer增长主管:DeFi将取代大量的传统金融服务:CryptoPotato与Balancer增长主管Jeremy Musighi就2021年的牛市发表了自己的看法。他认为,市场会认识到DeFi将有多大的影响,而且它将继续存在,他认为DeFi带来了进一步的认识和教育,即DeFi是如何取代我们的许多传统金融服务和产品的。此外,他还表示,\"比特币仍然被用作加密货币的主要储备资产\"。(CryptoPotato)[2021/7/5 0:28:55]

③然而,函数“load_current_index”并不能验证“sysvaraccount”是否真的是“systemsysvar”。由于从“sysvar”中检索到的当前指令是由攻击者控制的,因此它可以顺利通过以下验证过程。步骤二:攻击者随后使用上一步验证的签名调用“post_vaa”函数,并创建一个恶意消息帐户,声明要铸造12万枚wETH:https://solscan.io/tx/2SohoVoPDSdzgsGCgKQPByKQkLAXHrYmvtE7EEqwKi3qUBTGDDJ7DcfYS7YJC2f8xwKVVa6SFUpH5MZ5xcyn1BCK

LANCER李维:区块链行业深度从业者需要承担KOL的角色:4月17日17:00,LANCER创始人李维做客MXC抹茶大课堂,就《币圈KOL如何破局》话题进行分享。

李维表示:“KOL要对区块链行业具有相当深度的了解,区块链行业深度从业者需要承担KOL的角色。因为这个行业涉及到数学、金融学、货币学、密码学以及博弈论等专业知识,对于普通人来说,实在是太生涩了,普通人几乎不明白区块链是什么,这需要KOL带领更多的人去认知和感悟这个行业,这是KOL在区块链行业中最重要的角色。”[2020/4/17]

①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/j3jUDG43di8Dsg7Q3jQhstamtBovu1GLqnDJ7yNvM3r4pnK9e7uqgt9uBobCjT5S1BKhZZFQNQwDxypEYqLknechttps://solscan.io/tx/5UaqPus91wvAzKNve6L8YAHsESomZQ7GWi37gPFyzTHcXNMZA641bb8m8txo7bS7A5cAnzKDKYyiKcQC8GgDcAufhttps://solscan.io/tx/3AugXqrXunBa96YfqENhPBiWZWpnSnJdqAHS64qcHTVU9KtfGon8cN9cUuXsDmBobBBXjYUtuRxnYxgERS42nh6Ghttps://solscan.io/tx/2SndtH3tU4j6v14HJzEde3d3dnpdHqTPn4VnvhTj4zKLo26H5kmtCwjn2nANfjXNVbmFsyEGtD4Jte25azsPwaRk合约漏洞分析

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

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

目前,Wormhole团队已修复漏洞并已恢复网络。在此,CertiK给开发者提出如下几点建议:开发者在使用外部依赖的函数时,需要对这个函数有足够的了解。随时关注外部依赖代码库的重要更新,在有重大版本变动时及时对自己的代码库做出相应的调整。当代码版本更新时,也需及时进行全面审计,并将审计后的代码及时更新到已部署上链的代码中。农历破五将至,希望大家“破五穷”。同时也希望每一个项目在经过严格的审计之后上线部署从而获得更高的安全性并减少财产损失的可能。好运从新的一年起开始不断“循环”;安全从严格的审计开始,每个项目都有更好的“开端”!迄今为止,CertiK已获得了2500家企业客户的认可,保护了超过3110亿美元的数字资免受损失。欢迎点击CertiK公众号底部对话框,留言免费获取咨询及报价!

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

金星链

[0:15ms0-0:955ms