当前位置:首页 > 知识 >

TransitSwap跨链DEX聚合器攻击分析

10月2日,跨链DEX聚合器TransitSwap遭到攻击,导致许多用户的资金从钱包中被盗,预计损失超过2100万美元。TransitFinance表示,多个安全公司和团队正在继续追踪黑客的行踪,并通过电子邮件、区块链等方式与黑客进行交流。团队已经收集了失窃用户的具体数据信息,制定了具体的退款计划。与此同时,该团队还将继续努力追回黑客窃取的剩余资产,并将其退还给受害用户。在本文发表之前,黑客已经归还了约70%的资产。

黑客的详细地址是0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46。Hyperlab室依据区块链交易进行分析,本次攻击的主要原因是TransitSwap协议在进行代币交换时没有全面检查用户传输的信息,导致外部方可进行调用。

在使用TransitSwap进行交换时,用户会调用一个代理合约(0x8785bb8deae13783b24d7afe250d42ea7d7e9d72)。该代理合约将根据货币类型选择路径。然后路由器桥合约(0x0B47275E0Fe7D5054373778960c99FD24F59ff52)将调用管理权限合约(0xed1afc8c4604958c2f38a3408fa63b32e737c428)的claimtokens函数进行转账。而claimTokens函数将根据调用特定货币合约的transferFrom函数公式进行转账。它收到的主要参数来自顶层路由器桥合约,本来就没有对这些主要参数进行任何限定,只检查调用者是否为路由器代理合约或路由器桥合约。

网络攻击利用路由器代理合约、路由器桥合约和管理权限合约对传输信息进行安全检查不足。根据路由器代理合约传输的结构后数据信息,调用路由器桥合约的callBytes函数公式。该函数解析出网络攻击指定的交换合约与交换数据信息。在此时,交换合约被选定为管理权限合约的详细地址,交换数据信息被选定为调用claimTokens函数公式,将特定用户的货币转移到网络攻击指定地址。这样,网络攻击完成了对管理权限合约授权用户的全部货币的窃取。

Hyperlab室提醒,在跨合约的函数公式调用时,合约开发人员必须全面检查用户传输的信息,对其下层传输的参数进行恰当的校检。对TransitSwap用户来说,应停止使用TransitSwap,并提高自己对区块钱包安全防范意识,特别是对DEX的路由器授权管理权限要保持谨慎。

本文转载自驼鸟区块链。

猜你喜欢

微信二维码

微信