合约授权的风险:Transit Swap 被盗约2100万美元事件分析
2022年10月2日,据成都链安鹰眼-区块链安全态势感知平台舆情监测显示,****Transit Swap 项目遭受攻击,被盗约2100万美元。 ** ** ******关于本次事件,**成都链安安全团队第一时间进行了分析。 ** ** ** **
首先在今早发现被盗后,Transit Swap 技术团队紧急暂停服务,无法进行任何操作,很多用户也在社交平台纷纷表示自己钱包的资产被盗。
据悉,本次事件的主角Transit Swap是某加密钱包下的******闪兑交易平台。 ** ** **
首先我们需要知道什么是闪兑?
很多加密钱包出了闪兑功能,之所以叫这个名字主要就是因为不同数字货币之间的交易速度很快,因为闪兑不需要像交易所那样来撮合买方和卖方之间的订单,闪兑更像是柜台交易,就像去银行拿美元兑换人民币,在汇率已知的情况下,给多少美元,银行就会根据汇率兑换给你相应数量的人民币。
******闪兑除了兑换交易速度快之外,还有一些其他的功能,这也是很多用户使用它的原因 ** ** ** 。
下面,我们******回到本次事件技术层面来分析 ** ** ** 。
BSC链上的攻击交易:
https://bscscan.com/tx/0x181a7882aac0eab1036eedba25bc95a16e10f61b5df2e99d240a16c334b9b189
以太坊上的攻击交易:
https://etherscan.io/tx/0x743e4ee2c478300ac768fdba415eb4a23ae66981c076f9bff946c0bf530be0c7
用户进行swap兑换时,正常流程是先通过Transit Cross Router v3合约选择路由合约,随后通过Transit Swap&Cross Approve Proxy合约进行权限验证后,调用claimTokens函数将用户兑换的token转入路由合约中。******而Transit Swap 合约实现时,上述三个合约均未对用户输入数据进行正确的验证,导致攻击者可以构造出任意指定的兑换数据calldata,其中可以将授权过的用户的代币转入攻击者指定的任意地址之中。 ** ** **
这个合约未对下面的calldata进行验证,解析后为下图的input,里面指定了收款人为攻击者地址。
攻击者就通过这种方式,共获利约2100万美元。随后将资金归集到获利地址0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46,
但是项目方依然没有放弃,随后Transit Swap 官方发布公告称,******目前已确定黑客 IP、电子邮件地址,以及相关的链上地址。 ** ** ** Transit Swap 团队表示将尽力追踪黑客,并尝试与黑客沟通,帮助用户挽回损失。
随着事件的影响力扩大,攻击者似乎也知道真实身份难保。也可能是被项目方“感化”,这位攻击者决定退回盗取的资产。
截止发稿前,目前攻击者已将BNB链上的37,000 BNB 和1500 ETH,以太坊上的3,180 ETH归还给项目方。2500 BNB被转移到Tornado.Cash,剩余的12,612 BNB仍在攻击者地址上,价值约356万美元。成都链安链必追-虚拟货币案件智能研判平台正在对被盗资金进行实时追踪。
从本次事件,我们可以看到,******合约授权依然潜藏着诸多风险。 ** ** **
来源:成都链安