据慢雾区消息,2021年6月29日,去中心化跨链交易协议THORChain发推称发现一个针对THORChain的恶意攻击,THORChain节点已作出反应并进行隔离和防御。慢雾安全团队第一时间介入分析,经分析发现,这是一起针对跨链系统的“假充值”攻击,结果分享如下:
什么是“假充值”?
当我们在谈论“假充值”攻击时,我们通常谈的是攻击者利用公链的某些特性,绕过交易所的充值入账程序,进行虚假充值,并真实入账。
慢雾xToken被黑事件分析:两个合约分别遭受“假币”攻击和预言机操控攻击:据慢雾区消息,以太坊 DeFi 项目 xToken 遭受攻击,损失近 2500 万美元,慢雾安全团队第一时间介入分析,结合官方事后发布的事故分析,我们将以通俗易懂的简讯形式分享给大家。
本次被黑的两个模块分别是 xToken 中的 xBNTa 合约和 xSNXa 合约。两个合约分别遭受了“假币”攻击和预言机操控攻击。
一)xBNTa 合约攻击分析
1. xBNTa 合约存在一个 mint 函数,允许用户使用 ETH 兑换 BNT,使用的是 Bancor Netowrk 进行兑换,并根据 Bancor Network 返回的兑换数量进行铸币。
2. 在 mint 函数中存在一个 path 变量,用于在 Bancor Network 中进行 ETH 到 BNT 的兑换,但是 path 这个值是用户传入并可以操控的
3. 攻击者传入一个伪造的 path,使 xBNTa 合约使用攻击者传入的 path 来进行代币兑换,达到使用其他交易对来进行铸币的目的。绕过了合约本身必须使用 ETH/BNT 交易对进行兑换的限制,进而达到任意铸币的目的。
二)xSNXa 合约攻击分析
1. xSNXa 合约存在一个 mint 函数,允许用户使用 ETH 兑换 xSNX,使用的是 Kyber Network 的聚合器进行兑换。
2. 攻击者可以通过闪电贷 Uniswap 中 ETH/SNX 交易对的价格进行操控,扰乱 SNX/ETH 交易对的报价,进而扰乱 Kyber Network 的报价。从而影响 xSNXa 合约的价格获取
3. 攻击者使用操控后的价格进行铸币,从而达到攻击目的。
总结:本次 xToken 项目被攻击充分展现了 DeFi 世界的复杂性,其中针对 xSNXa 的攻击更是闪电贷操控价格的惯用手法。慢雾安全团队建议 DeFi 项目开发团队在进行 DeFi 项目开发的时候要做好参数校验,同时在获取价格的地方需要防止预言机操控攻击,可使用 Uniswap 和 ChainLink 的预言机进行价格获取,并经过专业的安全团队进行审计, 保护财产安全。详情见官网。[2021/5/13 21:57:48]
随着RenVM、THORChain等跨链服务的兴起,跨链节点充当起了交易所的角色,通过扫描另一条公链的资产转移情况,在本地公链上生成资产映射。THORChain正是通过这种机制,将以太坊上的代币转移到其它公链。
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]
漏洞分析
我们从业务逻辑入口去追踪分析此漏洞的成因。
首先看到在处理跨链充值事件时,调用了getAssetFromTokenAddress?方法去获取代币信息,并传入了资产合约地址作为参数:
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
?
动态 | 账号创建10亿个EOS假币,项目方应提高警惕:Beosin成都链安态势感知安全预警:今日下午14:20:11?根据成都链安区块链安全态势感知系统Beosin-Eagle Eye检测发现,账户larry5555555 发布了10亿 EOS假币并分发到了数个小号(pandoras1111,pandoras.e等),鹰眼将持续追踪这些假币的流向,请各项目方持续关注事件走势,做好及时应急措施预警准备和自查,检查自己的合约是否正确判断接收代币的发行方,必要时可以找区块链安全公司进行代码审计,并可加入成都链安鹰眼态势感知系统,我们将第一时间为大家免费提供预警报警服务,避免用户资产受损。[2019/6/21]
日本1.9亿假币比特币案,4人遭到起诉:据日经新闻报道,东京地方检察厅调查了四名企业高层,包括Kentaro Yagihashi,因用假币比特币遭到欺诈指控。警察因欺诈行为共逮捕了12人,并对包括自营职业者在内的8人作出不起诉处理,对4人作出起诉处理。但地区检察官没有披露处理的原因。此前,据TBS报道,前后有12人因假币比特币被日本逮捕,涉案金额高达1.9亿日元。[2018/5/2]
在getAssetFromTokenAddress方法里,我们看到它调用了getTokenMeta?去获取代币元数据,此时也传入了资产合约地址作为参数,但在此处有一个定义引起我们的警觉,在初始化代币时,默认赋予了代币符号为ETH,这就是漏洞的关键点之一:asset:=common.ETHAsset,如果传入合约地址对应的代币符号为ETH,那么此处关于symbol的验证将被绕过。
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
12人因以假币价值170万美元的比特币被日本逮捕:据cointelegraph援引TBS报道,东京和兵库县的在此逮捕了涉嫌用假的法币价值1.9亿日元(合170万美元)比特币的五人。至此,案件中被捕人员总数达到12人。据TBS报道,2017年7月25日,一家东京酒店中,嫌疑人们装作受害人的公司经纪人,交换了2亿日元(约合190万美元)的假币现金。受害人从经纪人确认已收到现金后,受害人接着将约1.9亿日元(合170万美元)的比特币等值转移到在横浜一家加密货币交易所的指定账户。 嫌疑人后兑现了比特币,赚得超过1.7亿美元。前七名嫌疑人于4月10日被捕,32岁的Kentaro Yagihashi涉嫌指挥该团体。所有十二名男子均否认指控。[2018/4/19]
继续验证我们的猜测,我们看到当代币地址在系统中不存在时,会从以太坊主链上去获取合约信息,并以获取到的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()进行判断,过滤了没有进行赋值的假充值代币。
总结
幸运的是项目方及时发现了本次攻击,未造成巨额财产损失,但作为跨链系统,未来可能聚集巨额的多链资金,安全性不容忽视,因此慢雾安全团队建议在进行跨链系统设计时应充分考虑不同公链不同代币的特性,充分进行“假充值”测试,做好状态监控和预警,必要时可联系专业安全公司进行安全审计。
标签:ETHCHAAINChainethnicalGods UnchainedPEPECHAIN价格globalchain
导读FTX创始人SamBankman-Fried近日接受《彭博社》专访,专题题目是《理想vs.现实:加密货币的未来》.
1900/1/1 0:00:00高盛周二在给客户的一份报告中表示,具有最高“实际使用潜力”的区块链是以太坊,这表明其ETH可能成为占主导地位的数字价值存储.
1900/1/1 0:00:00原文标题:《SyntheticDerivatives?》原文作者:PapVeradittakit只用了短短一年多时间,DeFi已经开始「入侵」许多传统金融系统的核心用例.
1900/1/1 0:00:002021年NFT市场正经历爆发式增长。数据能说明一切,2020年Q4NFT销售额仅9300万美元,而2021年Q1NFT的销售额达到20亿美元,增长超过20倍.
1900/1/1 0:00:00DeFi数据1.DeFi总市值:814.66亿美元 市值前十币种排名数据来源DeFiboxDeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:30.
1900/1/1 0:00:00到月球上!这就是加密货币爱好者会告诉我们的加密货币的未来前景。然而,正如目前的情况所显示的,如果稳定币造成的一些短期问题不能永久解决,加密货币可能真的会成为月球上使用的货币.
1900/1/1 0:00:00