据慢雾区消息,2021年6月29日,去中心化跨链交易协议THORChain发推称发现一个针对THORChain的恶意攻击,THORChain节点已作出反应并进行隔离和防御。慢雾安全团队第一时间介入分析,经分析发现,这是一起针对跨链系统的“假充值”攻击,结果分享如下:
什么是“假充值”?
当我们在谈论“假充值”攻击时,我们通常谈的是攻击者利用公链的某些特性,绕过交易所的充值入账程序,进行虚假充值,并真实入账。
随着RenVM、THORChain等跨链服务的兴起,跨链节点充当起了交易所的角色,通过扫描另一条公链的资产转移情况,在本地公链上生成资产映射。THORChain正是通过这种机制,将以太坊上的代币转移到其它公链。
dYdX官方:市场上出现dYdX假币售卖,谨防上当受:dYdX平台上线以来,随着De-Fi热度的持续增高,用户对于dYdX平台通证的期待也越来越高。但是近期发现有人冒充官方人员在市场上?进行dYdX平台通证售卖的现象。
dYdX官方特此声明,目前还未有发币计划,且从未对外进行售卖平台通证额度以及系列募资行为。
dYdX官方谨此呼吁所有爱好者特别注意,dYdX暂无发币计划,请不要参与任何dYdX平台币投资行为,谨防上当受,造成资金受损。[2021/2/10 19:25:39]
漏洞分析
我们从业务逻辑入口去追踪分析此漏洞的成因。
首先看到在处理跨链充值事件时,调用了getAssetFromTokenAddress?方法去获取代币信息,并传入了资产合约地址作为参数:
分片网络Near警示用户Uniswap假币局:8 月 9 日,分片网络Near在推特上警示,目前在Uniswap已出现假币局,请用户注意辨别。据查看,当前 Uniswap 确已出现“NEAR”为名的代币和交易对。[2020/8/9]
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
?
在getAssetFromTokenAddress方法里,我们看到它调用了getTokenMeta?去获取代币元数据,此时也传入了资产合约地址作为参数,但在此处有一个定义引起我们的警觉,在初始化代币时,默认赋予了代币符号为ETH,这就是漏洞的关键点之一:asset:=common.ETHAsset,如果传入合约地址对应的代币符号为ETH,那么此处关于symbol的验证将被绕过。
动态 | 警惕市场上各种假币局 避免真币兑换假币:据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/ethereum_block_scanner.go
动态 | 去年2月至今年1月期间共收录虚假币368个:根据BT110的数据统计,从2018年2月至2019年1月的12个月间,共收录虚假币368个,相当于一天发一币。368个虚假币中被查获的只有11个,占比不到3%。另外还有22个项目潜逃,占比不到6%。剩余的虚假币仍在运营中。记录在案的虚假币中,币占比68%,空气币占比24%,剩余部分是其他虚假币行为,包括基金代币、虚拟资产交易代币等。[2019/3/15]
继续验证我们的猜测,我们看到当代币地址在系统中不存在时,会从以太坊主链上去获取合约信息,并以获取到的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()进行判断,过滤了没有进行赋值的假充值代币。
总结
幸运的是项目方及时发现了本次攻击,未造成巨额财产损失,但作为跨链系统,未来可能聚集巨额的多链资金,安全性不容忽视,因此慢雾安全团队建议在进行跨链系统设计时应充分考虑不同公链不同代币的特性,充分进行“假充值”测试,做好状态监控和预警,必要时可联系专业安全公司进行安全审计。
你能想象到吗?虚拟世界的一块土地的售价竟然堪比一线城市。在虚拟和现实加速互动的全新时代,虚拟土地成为重要的生产资料和生活资料,Metaverse和NFT的到来正让这一资源水涨船高.
从今年五月中旬开始,比特币市场开始出现抛售迹象,结果,这股抛压并没有一路来到当前交易低点区间。上周,比特币一度跌至28,993美元,不过现在已经恢复到35,000美元左右.
看下BTC2011-2021年长期年线走势,整体沿趋势线一路向上,说明只要长期持有,都是牛市。所以交易不难,关键是心态.
Tradeyourownrisk.风险提示:本文创作仅出于个人对DeFi爱好及分享,不代表及构成任何投资理财及资讯建议,入市有风险,投资需谨慎,风险自担.
加密世界中人们常说这样一句话:「Codeislaw.」,每一个协议的运行都严格遵照代码,不可篡改.
6月28日,收益聚合器MerlinLab遭到黑客攻击。PeckShield「派盾」安全人员定位发现,收益聚合器MerlinLab遭到黑客攻击源于MerlinStrategyAlpacaBNB中存.