据慢雾区消息,2021年6月29日,去中心化跨链交易协议THORChain发推称发现一个针对THORChain的恶意攻击,THORChain节点已作出反应并进行隔离和防御。慢雾安全团队第一时间介入分析,经分析发现,这是一起针对跨链系统的“假充值”攻击,结果分享如下:
什么是“假充值”?
当我们在谈论“假充值”攻击时,我们通常谈的是攻击者利用公链的某些特性,绕过交易所的充值入账程序,进行虚假充值,并真实入账。
CoinWind声明:请用户警惕PancakeSwap上的CowMoon假币:近日,CoinWind发现市场上已有打着CoinWind旗号在PancakeSwap上发行的假币CowMoon。在此,CoinWind郑重声明,CoinWind平台Token为COW,请广大用户注意防范风险,保护自身财产安全,并对打着ConinWind旗号发行代币的非法行为予以抵制。官方信息,请关注CoinWind官网及Twitter。[2021/6/7 23:17:10]
随着RenVM、THORChain等跨链服务的兴起,跨链节点充当起了交易所的角色,通过扫描另一条公链的资产转移情况,在本地公链上生成资产映射。THORChain正是通过这种机制,将以太坊上的代币转移到其它公链。
漏洞分析
我们从业务逻辑入口去追踪分析此漏洞的成因。
首先看到在处理跨链充值事件时,调用了getAssetFromTokenAddress?方法去获取代币信息,并传入了资产合约地址作为参数:
紧跟热点 ERC20标准FIL假币局再现:北京链安Chainsmap监测系统发现,随着Filecoin主网上线成为近期投资热点,以ERC20合约伪造“FIL”代币的局也已经再度出现。这些所谓的FIL代币甚至刚刚在两天前创建,即开始以空投的方式向一些地址转账,同时已经以此代币在Uniswap建立交易对池子,并有人参与交易。在此,我们提醒各位投资者在投资前,首先学习了解Filecoin技术和投资的常识,注意提防此类假币局。[2020/10/16]
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
?
JustSwap白名单上SSK假币已移除流动性池:数据显示,此前披露的SSK假币(地址:TYbtUJpoAos99Kt3ih81s6P8TZ1ATTv6Cj)已经移除流动性池。[2020/9/23]
在getAssetFromTokenAddress方法里,我们看到它调用了getTokenMeta?去获取代币元数据,此时也传入了资产合约地址作为参数,但在此处有一个定义引起我们的警觉,在初始化代币时,默认赋予了代币符号为ETH,这就是漏洞的关键点之一:asset:=common.ETHAsset,如果传入合约地址对应的代币符号为ETH,那么此处关于symbol的验证将被绕过。
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
Serum通证SRM将于今日香港时间21:30上线,在此之前上线的SRM均为假币:据官方公告,DeFi项目Serum通证SRM将于今日香港时间21:30上线FTX,BitMax,HBTC,Uniswap,Balancer,Mesa DEX及TomoDEX,并且不会在此之前开放SRM交易,一切在21:30之前上线的的SRM均可判定为为假币。上线详情请留意各交易所官方公告。[2020/8/11]
继续验证我们的猜测,我们看到当代币地址在系统中不存在时,会从以太坊主链上去获取合约信息,并以获取到的symbol构建出新的代币,此时所有的漏洞成因都已经显现:
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
动态 | 警惕市场上各种假币局 避免真币兑换假币:据CoinHunter.io监测,在过去一周内,仿冒知名代币进行的行为依旧活跃。其中,仅火币token(HT)的仿冒代币就多达10个。CoinHunter在此提醒广大交易者,切勿轻易相信陌生人提供的代币地址,转帐前应对代币合约的名字(name)、缩写(symbol)、交易活跃度、持有人数量等信息进行核对,以免受上当。
以下是部分仿冒火币token的假币地址:
0xf797472…;0x66eda29…;0xc50f43d…;0xb4a3d3b…;
0x34bc412…;0x223fe58…;0xb0bf377…;0xaae0d7d…;
0x31e02d2…;0xC671D15…;[2019/7/15]
-?bifrost/pkg/chainclients/ethereum/tokens_db.go
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
总结一下,首先是由于错误的定义,如果跨链充值的ERC20代币符号为ETH,那么将会出现逻辑错误,导致充值的代币被识别为真正的以太币ETH。
还原攻击真相
我们来看一笔攻击交易的执行过程,可以提取出充值的代币合约地址:
我们在Etherscan上查看这个代币合约地址:
发现这个地址对应的合约的代币符号正是ETH,攻击者正是通过部署了假币合约,完成了这次跨链假充值。
漏洞修复
漏洞补丁:
项目方在发现攻击后快速对代码进行了修复,删除了默认的代币类型,使用common.EmptyAsset进行空代币定义,并在后续逻辑中使用asset.IsEmpty()进行判断,过滤了没有进行赋值的假充值代币。
总结
幸运的是项目方及时发现了本次攻击,未造成巨额财产损失,但作为跨链系统,未来可能聚集巨额的多链资金,安全性不容忽视,因此慢雾安全团队建议在进行跨链系统设计时应充分考虑不同公链不同代币的特性,充分进行“假充值”测试,做好状态监控和预警,必要时可联系专业安全公司进行安全审计。
标签:ETHCHAAINChaintogetherbnb破解版rchain币最新价格行情DrinkChainblockchain翻译中文
文章系金色财经专栏作者梭哈君供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当.
1900/1/1 0:00:007月1日,雄安新区数字人民币红包兑换试点活动开启。国内首批区块链订单融资在雄安新区成功落地:11月20日消息,上海浦东发展银行河北雄安分行发放了首批区块链订单融资640万元,获得贷款的企业包括河.
1900/1/1 0:00:001.Arbitrum目前发展如何?作为以太坊rollup赛道扩容主力,Arbitrum和Optimism的推进速度还蛮快的.
1900/1/1 0:00:002010-2011年牛市,BTC牛市运行周期35周时间,价格在突破牛市中间一半位置迎来大幅调整,调整幅度高达48%,调整低点踩到中位线支撑,然后见底反弹继续牛市新高,价格再涨55倍.
1900/1/1 0:00:00作家、企业家LukeBurgis在其新书《想要:日常生活中模仿欲望的力量》中讨论了人类的欲望和行为的模仿根源。模仿欲望对加密领域有着深刻的影响.
1900/1/1 0:00:00KALEO在其推特上更新了比特币减半的价格分析线程,他认为目前我们处于比特币奖励减半的第二季度,此时的市场大局与2019年2月时的预测相符.
1900/1/1 0:00:00