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

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

什么是“假充值”?

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

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

漏洞分析

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

数据:目前以太坊网络gas price达到400多Gwei:9月3日消息,据ethgasstation信息显示,目前以太坊网络gas price达到400多Gwei。此外,ultrasound.money信息显示,过去1小时,ETH燃烧量较高的项目为shroomz、pLOOT等。[2021/9/4 22:59:12]

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

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

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

美国参议院经济政策小组委员会或将就加密货币举行进一步的听证会:尽管CBDC在周三的参议院银行委员会听证会上引起了一些关注,但围绕比特币的问题引起了立法者团体的更多关注,其中以参议员Elizabeth Warren为首。听证会提出了迄今为止美国立法者对比特币最尖锐的批评之一,Warren随后将加密货币比作过去发行的“野猫银行债券”。一位议员表示,由Warren担任主席的经济政策小组委员会也可能会就加密货币领域举行进一步的听证会。参议员Cynthia Lummis则在会上将萨尔瓦多最近采用加密货币作为法定货币的法案与美国的可能做法进行了比较。另外4名参会者Narula,哥伦比亚法学院的Lev Menand、斯坦福大学的Darrell Duffie和数字美元基金会主任Chris Giancarlo都认为,建立完善的数字美元系统对美国有益。

注:在美国1836年至1865年的自由银行时代,资金不足的州特许银行发行纸币。这些银行被称为“野猫银行”。这些“野猫银行”与资金较为稳定的州立银行一起存在,当时美国没有本国货币。各州很容易授予银行执照,也没有实施有效监管。银行倒闭和彻头彻尾的局经常发生,让人们的钱一文不值。(CoinDesk)[2021/6/10 23:26:14]

- 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() 进行判断,过滤了没有进行赋值的假充值代币。

总结

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

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

链链资讯

狗狗币线上线下数字人民币使用调查:银行兑换不到1分钟 餐馆几秒完成

“‘京彩奋斗者数字嘉年华’活动虽然结束了,但我会继续使用(数字人民币)。”北京市一名出租司机王师傅(化名)对《证券日报》记者说,身边很多出租司机都有数字人民币钱包App,也在主动充值使用。 在王师傅看来,同行中大部分人对数字人民币接受度都非常高。 在与《证券日报》记者的交流中,谈到数字人民币,王师傅显得非常积极,其本人也是数字人民币红包中签的幸运儿。

币安下载金色趋势丨这两个数据显示牛市仍在延续

目前行情走到这个局面,月线自4月到目前已经收3连阴,价格也从前顶接近65000美金跌至最低3万美金下方,市场上大部分人都认为牛市结束了,那么这轮312启动的牛市是否真结束了? 长期月线走势图可以很直观看到,月线3连阴,也未破下方12月均线支撑,该均线是比较关键的趋势支撑线,13年牛市中期的大调整,币价自高位回落,然后在12月均线附近止跌企稳。

ICP美联储关于CBDC演讲全文:对CBDC的全面宏观理解

6 月 29 日凌晨,美联储监管副主席 Randal K. Quarles 发表了一篇主题为「降落伞裤和央行数字货币」的演讲。 「降落伞裤」是一种影射,在上世纪 80 年代,美国人突然开始流行这种服饰,在这篇演讲中,美联储副监管主席用这一词来表达自己对央行数字货币(CBDC)的态度。

ADA45天市值跌去95% “天王"Dfinity怎么了?

它曾被捧为继比特币和以太坊之后,区块链的第三次伟大创新,它也获得过A16Z、Polychain等明星投资机构的巨额资金支持,在上线之后,众多头部交易所抢着上线了它的代币。 作为今年来最受期待的公链之一,Dfinity可谓是出尽了风头。 但其在上线主网后的表现,却令人不禁摇头感叹。

[0:0ms0-3:735ms