mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

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

收藏
分享

By:Johan@慢雾安全团队

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

什么是“假充值”?

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

慢雾在早期已经披露过多起“假充值”攻击事件:

【1】USDT 假充值:USDT 虚假转账安全⻛险分析 | 2345 新科技研究院区块链实验室

【2】EOS 假充值:EOS 假充值(hard_fail 状态攻击)红色预警细节披露与修复方案【3】以太坊代币假充值:以太坊代币“假充值”漏洞细节披露及修复方案

【4】比特币 RBF 假充值风险:比特币 RBF 假充值风险分析

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

漏洞分析

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

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

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

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

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

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

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

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

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

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

还原攻击真相

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

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

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

漏洞修复

漏洞补丁:

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

总结

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

往期回顾

往期回顾

强扭的瓜不甜 —— SafeDollar 被黑分析

“不可思议” 的被黑之旅 —— Impossible Finance 被黑分析

走过最长的路,竟是自己的套路 —— Alchemix 事件分析

HPOOL 入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」

重磅!慢雾的安全审计结果已集成到 CoinMarketCap

强扭的瓜不甜 —— SafeDollar 被黑分析“不可思议” 的被黑之旅 —— Impossible Finance 被黑分析走过最长的路,竟是自己的套路 —— Alchemix 事件分析HPOOL 入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」重磅!慢雾的安全审计结果已集成到 CoinMarketCap

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾 GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

链闻号

https://www.chainnews.com/u/958260692213.htm

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。
相关阅读

DeFi潮流新风口:从链上数据看跨链桥的发展新方向

总锁仓额突破131亿美元,9月独立地址总数超12万个

Bitwise 向美SEC提交比特币策略ETF申请,旨在投资比特币期货和其他金融产品

PANews 9月15日消息,根据一份公开的监管文件,资产管理公司Bitwise 下属部门 Bitwise Index Services 向美国证券交易委员会(SEC)递交了比特币期货交易所交易基金 ETF申请,新基金名为Bitwise Bitcoin Strategy ETF。旨在投资比特币期货和其他金融产品。该文件称:“该基金不会直接投资于比特币,虽然该基金主要通过间接投资于在 CFTC 注册的商品交易所交易的标准化、现金结算的比特币期货合约来获得比特币敞口,但它也可能投资于集合投资工具和加拿大上市的提供比特币敞口的基金”。文件显示,ETF 还可能投资于现金、美国政府证券或货币市场基金。US Bancorp Fund Services 将担任转账代理和管理人,而美国银行将担任托管方。据了解,美国证券交易委员会(SEC)至今还未批准任何比特币 ETF 基金。此外,美证监会主席 Gary Gensler 表示该机构更有可能批准比特币期货 ETF 而不是现货 ETF,因为期货 ETF 将投资于芝加哥商品交易所(CME)提供监管的比特币期货产品,而比特币现货则不受监管。来源链接

知情人士:因需求强烈,Coinbase计划发行的债券或增加至20亿美元

PANews 9月15日消息,有知情人士称,此前计划发行15亿美元债券的Coinbase会将交易规模提升至20亿美元,因为至少已经有70亿美元的订单涌入。其他知情人士表示,等额的7年期和10年期债券将分别以3.375%和3.625%的利率发行,低于最初讨论的借贷成本。彭博社表示,固定收益投资者对该产品的热捧,代表了加密货币不再是一个专属于风险资本的行业,因为养老基金和对冲基金在内的专注投资债务的投资者都希望参与到此次的投资中。此前根据 Coinbase 提交给美国证券交易委员会(SEC)文件显示,Coinbase 将通过私募发行 15 亿美元于 2028 年和 2031 年到期的有担保高级票据,这些票据将由 Coinbase 的全资子公司 Coinbase, Inc. 提供全额无条件担保。来源链接