损失3.26亿,跨链协议再暴雷:Wormhole被黑事件分析

  • SharkTeam
  • 更新于 2022-03-07 11:36
  • 阅读 6471

Wormhole被黑事件分析

2月3日,跨链协议Wormhole遭黑客攻击,经Wormhole官方确认,本次攻击事件中损失达12万枚ETH(约合3.26亿美元),目前8万枚ETH已转移至以太坊网络,其余4万枚ETH保留在Solana 上。 image.png

SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

一、事件分析

以ETH网络中的攻击交易分析如下: image.png

第1笔交易0xf54d9d84e3c8a63cd007cd52d42eedbb7be34a64f7c088086071f1e2929e1521 image.png

image.png 该交易中,攻击者账户向Wormhole跨链桥合约(Token Bridge)存入了0.1 ETH。

第2笔交易0x4d5201dd4a377f20e61fb8f42e6f929ec16bcec918f0584e39241d15b254a80fimage.png

image.png 该交易中,攻击者账户从Wormhole跨链桥合约(Token Bridge)中提取了10000 ETH。

第3笔交易0x24c7d855a0a931561e412d809e2596c3fd861cc7385566fd1cb528f9e93e5f14 image.png

image.png 该交易中,攻击者账户从Wormhole跨链桥合约(Token Bridge)中提取了80000 WETH。

第4笔交易0xd31b155e259a403ebe69831fae0ec2b4bd33dfa090c43b605a57d5c72c4fbbc7 image.png

image.png 该交易中,攻击者账户从Wormhole跨链桥合约(Token Bridge)中提取了3750 ETH.

第5笔交易0xacd309b02e4b533484d148de9ab0adf367ed4e70ed751d1ff036152dc3bc0479 image.png

image.png 该交易中将攻击者账户中的80000 WETH兑换成80000 ETH。

Solana网络中,攻击者账户2SDN4vEJdCdW3pGyhx2km9gB3LeHzMGLrG2j4uVNZfrx的交易如下: image.png 其中的交易跟以太坊网络中的攻击交易在ETH金额上完全匹配的上。攻击者在以太坊网络中将0.1 ETH通过Wormhole跨链协议转移到了Solana网络中,即攻击者在以太坊网络中向跨链桥合约存入0.1 ETH,然后在Solana网络中向攻击者铸造了0.1 Wormhole ETH。然后利用合约漏洞在Solana网络中铸造了 120000 Wormhole ETH,然后分多次在其他公链网络中提取走,其中的10000 ETH,80000 ETH以及3750 ETH由攻击者在以太坊网络中提取到了攻击账号中。这里明显攻击者实际上并没有向跨链桥合约存入120000 ETH,那么我们分析攻击者是利用合约漏洞在没有存入对应数量的ETH时从合约中直接铸造了120000 Wormhole ETH。

Wormhole是一个资产跨链桥,Wormhole 有一组“监护人”,他们负责签署链之间的资产转移。提取 8万 ETH 的交易,实际上是攻击者将8万ETH从Solana 转移到以太坊,而交易签名是由Wormhole合约机制检查过的。Wormhole“监护人”以某种方式签署了这笔8万 ETH 的转账,分析是合约在铸币的过程中缺乏签名验证或者攻击者可以绕过验证进行铸币。

在 Solana 上铸造 Wormhole ETH 的交易触发了这个 Wormhole 函数“complete_wrapped”,此函数采用的参数之一是“transfer message”,是由监护人签名的消息,其说明了要铸造的代币和数量。详见:

https://github.com/certusone/wormhole/blob/8d15138d5754b5e1202ff8581012debef25f7640/solana/modules/token_bridge/program/src/instructions.rs#L190

而“transfer message”合约是通过触发“post_vaa”函数创建,“post_vaa”通过检查监护人的签名来检查消息是否有效,而也正是这个签名检查步骤被绕过,造成协议被攻击。 image.png

二、资金动向监测

Wormhole攻击者通过Wrapped Ether合约将大部分攻击获利转入以下ETH地址:

网络 地址
ETH 0x629e7da20197a5429d30da36e77d06cdf796b71a

通过使用ChainAegis链上核查平台进行详细分析,该ETH地址为新地址,攻击发生之前有两笔可疑交易: image.png

攻击发生前4个小时,攻击者通过匿名交易协议Tornado.cash获得0.937个ETH,可能是攻击的启动资金。Tornado.cash是黑客常用的洗钱工具,可以推测后续黑客大概率会继续使用该协议进行资金转移。通过Tornado.cash进行入金说明黑客这次攻击准备充分,且具备较高的反追踪意识。

通过Tornado.cash获得资金的一分钟内,黑客地址向另一ETH主网地址0x9602发送了0.1ETH,用途未知。通过链上核查,该关联地址与币安交易所热钱包有多笔交易往来,判断为该交易所用户: image.png

截至目前,黑客地址暂未转移获利资金: image.png 我们将通过链上实时监控预警模块持续对该地址进行监控,并对后续动向进行分析。

三、安全建议

SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。

SharkTeam作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。

Twitter:https://twitter.com/sharkteamorg

Telegram:https://t.me/sharkteamorg

更多区块链安全资讯与行业分析,点击下方链接查看 D查查|链上风险核查

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
SharkTeam
SharkTeam
0xC0f5...8888
SharkTeam是领先的Web3安全服务提供商,提供智能合约审计、链上分析和应急响应服务。 Web: https://www.sharkteam.org Telegram: https://t.me/sharkteamorg Twitter:https://twitter.com/sharkteamorg