假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

2021-06-30 18:06:53

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

据慢雾区消息,2021 年 6 月 29 日,去中心化跨链交易协议 THORChain 发推称发现一个针对 THORChain 的恶意攻击,THORChain 节点已作出反应并进行隔离和防御。慢雾安全团队第一时间介入分析,经分析发现,这是一起针对跨链系统的“假充值”攻击,结果分享如下:

什么是“假充值”?

当我们在谈论“假充值”攻击时,我们通常谈的是攻击者利用公链的某些特性,绕过交易所的充值入账程序,进行虚假充值,并真实入账。

随着 RenVM、THORChain 等跨链服务的兴起,跨链节点充当起了交易所的角色,通过扫描另一条公链的资产转移情况,在本地公链上生成资产映射。THORChain 正是通过这种机制,将以太坊上的代币转移到其它公链。

漏洞分析

我们从业务逻辑入口去追踪分析此漏洞的成因。

首先看到在处理跨链充值事件时,调用了 getAssetFromTokenAddress 方法去获取代币信息,并传入了资产合约地址作为参数:

- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

getAssetFromTokenAddress 方法里,我们看到它调用了 getTokenMeta 去获取代币元数据,此时也传入了资产合约地址作为参数,但在此处有一个定义引起我们的警觉,在初始化代币时,默认赋予了代币符号为 ETH,这就是漏洞的关键点之一:asset := common.ETHAsset,如果传入合约地址对应的代币符号为 ETH,那么此处关于 symbol 的验证将被绕过。

- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

继续验证我们的猜测,我们看到当代币地址在系统中不存在时,会从以太坊主链上去获取合约信息,并以获取到的 symbol 构建出新的代币,此时所有的漏洞成因都已经显现:

- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

- bifrost/pkg/chainclients/ethereum/tokens_db.go

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

总结一下,首先是由于错误的定义,如果跨链充值的 ERC20 代币符号为 ETH,那么将会出现逻辑错误,导致充值的代币被识别为真正的以太币 ETH

还原攻击真相

我们来看一笔攻击交易的执行过程,可以提取出充值的代币合约地址:

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

我们在 Etherscan 上查看这个代币合约地址:

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

发现这个地址对应的合约的代币符号正是 ETH,攻击者正是通过部署了假币合约,完成了这次跨链假充值。

漏洞修复

漏洞补丁:

假币的换脸戏法:技术拆解 THORChain 跨链系统“假充值”漏洞

项目方在发现攻击后快速对代码进行了修复,删除了默认的代币类型,使用 common.EmptyAsset 进行空代币定义,并在后续逻辑中使用 asset.IsEmpty() 进行判断,过滤了没有进行赋值的假充值代币。

总结

幸运的是项目方及时发现了本次攻击,未造成巨额财产损失,但作为跨链系统,未来可能聚集巨额的多链资金,安全性不容忽视,因此慢雾安全团队建议在进行跨链系统设计时应充分考虑不同公链不同代币的特性,充分进行“假充值”测试,做好状态监控和预警,必要时可联系专业安全公司进行安全审计。

郑重声明:本文版权归原作者所有,转载文章仅为传播信息之目的,不构成任何投资建议,如有侵权行为,请第一时间联络我们修改或删除,多谢。

推荐文章

早报 | Lighter 24 小时交易量突破 110 亿美元;Circle Q3 财报公布;Strategy 美股市值跌破其 BTC 持仓价值

整理:ChainCatcher 重要资讯: 币安将停止币安直播平台服务,币安广场将继续提供直播服务...

72 3周前

24H热门币种与要闻 | Sui将推出原生稳定币USDsui;美SEC拟推出基于Howey测试的代币分类法(11月13日)

1、CEX 热门币种 CEX 成交额 Top 10 及 24 小时涨跌幅: BNB -0.78%...

星球日报
75 3周前

DAT的拐点?这12家财库公司代表mNav已跌破1

@OdailyChina @LeoAndCrypto 2025 年是 DAT 蓬勃发展的一年,自从...

星球日报
67 3周前

解读 Fusaka 升级:扩容、降本、提速,以太坊的又一次「性能飞跃」

以太坊现货 ETF 在上周疲弱后重新录得净流入,市场情绪正逐步回暖。以太坊的下一次升级,也已经在路...

88 3周前

美SEC主席最新演讲:告别混乱十年,加密监管进入清晰化时代

女士们、先生们,早上好!感谢你们的热情介绍,也感谢邀请我今天来到这里,我们将继续探讨美国如何引领下...

星球日报
87 3周前

停摆结束=市场反弹?美股、黄金、BTC历次政府重启后表现全解析

原文作者:David,深潮 TechFlow 北京时间 11 月 13 日凌晨 5 点,一场持续...

星球日报
78 3周前