皇冠体育寻求亚洲战略合作伙伴,皇冠代理招募中,皇冠平台开放会员注册、充值、提现、电脑版下载、APP下载。

首页科技正文

新2最新登录(www.x2w99.com):假币的换脸戏法:手艺拆解 THORChain 跨链系统“冒充值”破绽

admin2021-11-1080

欧博allbet网址

欢迎进入欧博allbet网址(www.aLLbetgame.us),欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

,

据慢雾区新闻,2021 年 6 月 29 日, *** 化跨链生意协议 THORChain 发推称发现一个针对 THORChain 的恶意攻击,THORChain 节点已作出反映并举行隔离和防御。慢雾平安团队第一时间介入剖析,经剖析发现,这是一起针对跨链系统的“冒充值”攻击,效果分享如下:

什么是“冒充值”?

当我们在谈论“冒充值”攻击时,我们通常谈的是攻击者行使公链的某些特征,绕过生意所的充值入账程序,举行虚冒充值,并真实入账。

随着 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 构建出新的代币,此时所有的破绽成因都已经展现:

新2最新登录址

www.x2w99.com)实时更新发布最新最快最有效的新2最新登录网址,包括新2最新登录手机网址,新2最新登录备用网址,皇冠新2最新登录网址,新2最新登录足球网址,新2最新登录网址大全。

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

总结

网友评论

3条评论