THORChain连遭三击 黑客会是同一个吗?
据慢雾 AML 团队分析统计,THORChain 三次攻击真实损失如下:
2021 年 6 月 29 日,THORChain 遭 “假充值” 攻击,损失近 35 万美元;
2021 年 7 月 16 日,THORChain 二次遭 “假充值” 攻击,损失近 800 万美元;
2021 年 7 月 23 日,THORChain 再三遭攻击,损失近 800 万美元。
这不禁让人有了思考:三次攻击的时间如此相近、攻击手法如此相似,背后作案的人会是同一个吗?
慢雾 AML 团队利用旗下 MistTrack 反洗钱追踪系统对三次攻击进行了深入追踪分析,为大家还原整个事件的来龙去脉,对资金的流向一探究竟。
第一次攻击:“假充值”漏洞
攻击概述
本次攻击的发生是由于 THORChain 代码上的逻辑漏洞,即当跨链充值的 ERC20 代币符号为 ETH 时,漏洞会导致充值的代币被识别为真正的以太币 ETH,进而可以成功的将假 ETH 兑换为其他的代币。此前慢雾安全团队也进行了分析,详见:假币的换脸戏法 —— 技术拆解 THORChain 跨链系统“假充值”漏洞。
根据 THORChain 官方发布的复盘文章[1],此次攻击造成的损失为:
9352.4874282 PERP1.43974743 YFI2437.936 SUSHI10.615 ETH
资金流向分析
根据官方提供的黑客地址,慢雾 AML 团队分析并整理出了攻击者相关的钱包地址情况如下:
经 MistTrack 反洗钱追踪系统分析发现,攻击者在 6 月 21 号开始筹备,使用匿名兑换平台 ChangeNOW 获得初始资金,然后在 5 天后 (6 月 26 号) 部署攻击合约。
在攻击成功后,多个获利地址都把攻击获得的 ETH 转到混币平台 Tornado Cash 以便躲避追踪,未混币的资金主要是留存在钱包地址 (0xace...d75) 和 (0x06b...2fa) 上。
慢雾 AML 团队统计攻击者获利地址上的资金发现,官方的统计遗漏了部分损失:
29777.378146 USDT78.14165727 ALCX11.75154045 ETH0.59654637 YFI
第二次攻击:取值错误导致的 “假充值” 漏洞
攻击概述
根据分析发现,攻击者在攻击合约中调用了 THORChain Router 合约的 deposit 方法,传递的 amount 参数是 0。然后攻击者地址发起了一笔调用攻击合约的交易,设置交易的 value(msg.value) 不为 0,由于 THORChain 代码上的缺陷,在获取用户充值金额时,使用交易里的 msg.value 值覆盖了正确的 Deposit event 中的 amount 值,导致了 “空手套白狼” 的结果。
根据 THORChain 官方发布的复盘文章[2],此次攻击造成的损失为:
2500 ETH57975.33 SUSHI8.7365 YFI171912.96 DODO514.519 ALCX1167216.739 KYL13.30 AAVE
资金流向分析
慢雾 AML 团队分析发现,攻击者相关的钱包地址情况如下:
MistTrack 反洗钱追踪系统分析发现,攻击者地址 (0x4b7...c5a) 给攻击者地址 (0x3a1...031) 提供了初始资金,而攻击者地址 (0x4b7...c5a) 的初始资金来自于混币平台 Tornado Cash 转出的 10 ETH。
在攻击成功后,相关地址都把攻击获得的币转到地址 (0xace...70e)。
该获利地址 (0xace...70e) 只有一笔转出记录:通过 Tornado Cash 转出 10 ETH。
慢雾 AML 团队统计攻击者获利地址上的资金发现,官方的统计遗漏了部分损失:
2246.6 SUSHI13318.35 DODO110108 KYL243.929 USDT259237.77 HEGIC
第三次攻击:退款逻辑漏洞
攻击概述
本次攻击跟第二次攻击一样,攻击者部署了一个攻击合约,作为自己的 router,在攻击合约里调用 THORChain Router 合约。但不同的是,攻击者这次利用的是 THORChain Router 合约中关于退款的逻辑缺陷,攻击者调用 returnVaultAssets 函数并发送很少的 ETH,同时把攻击合约设置为 asgard。然后 THORChain Router 合约把 ETH 发送到 asgard 时,asgard 也就是攻击合约触发一个 deposit 事件,攻击者随意构造 asset 和 amount,同时构造一个不符合要求的 memo,使 THORChain 节点程序无法处理,然后按照程序设计就会进入到退款逻辑。
(截图来自 viewblock.io)
有趣的是,推特网友把这次攻击交易中的 memo 整理出来发现,攻击者竟喊话 THORChain 官方,表示其发现了多个严重漏洞,可以盗取 ETH/BTC/LYC/BNB/BEP20 等资产。