1、 活动概述
美国东部时间5月12日上午9点44分,根据beosin鹰眼平台的监测,DeFi质押和流动性策略平台xtoken遭到攻击,xbnta Bancor池和xsnxa平衡器池立即耗尽。据统计,xtoken黑客事件造成约2500万美元损失。
虽然事发后,xtoken团队**发表声明,并对被黑客攻击的原因及后续的补救措施作出了积极回应;不过,成都连锁安全团队认为,xtoken被黑客攻击事件具有一定的典性,涉及闪电贷款攻击、价格操纵等常见黑客攻击套路。因此,立即介入分析,梳理xtoken被黑客攻击的过程,希望能为广大DeFi项目方提供借鉴和警醒。
2、 事件分析
在被黑客攻击的情况下,攻击者在同一事务中使用了两个典的攻击例程。
首先,黑客利用flash loan操作SNx在dex中的价格,进而影响xsnx中的铸币税,以达到套利的目的;
其次,黑客利用xbnt合约中错误的权限配置,传入意外的路径地址,从而达到利用航空货币牟利的目的。
接下来,让我们来看看黑客如何使用“flash loan attack”+错误的权限配置“完成整个攻击过程。
准备
1.袭击者首先利用闪电贷款借了很多钱;
2.为了获得大量的SNx代币,我们使用AAVE的借用函数和swap的DEX函数;
3.其次,SNx在Uniswap中被抛售,扰乱了Uniswap中SNx的价格;
进攻开始了
4.用少量ETH可获得大量xsnx;
原理说明:
这一次,攻击者使用xsnx契约来支持ETH和SNx交换xsnx。具体来说,当用户传入ETH时,合约会通过Uniswap将用户的ETH转换成等价的SNx,然后交换xsnx。由于攻击者在“准备工作”中的1-3操作,操纵了Uniswap中ETH到SNx的价格,使得少量ETH可以交换大量SNx,然后交换大量xsnx。
攻击的结束
5.攻击者通过出售Bancor来获利。由于班科尔的价格没有受到影响,所以当时的价格还是正常的。此时,攻击者可以套利,然后返还闪贷;
第二次攻击开始了
6.然后用利润换很多xbnt。
原理说明:
这一次,攻击者使用xbnt契约来支持xbnt的功能。合同将在Bancor将ETH转换为BNT,然后铸造xbnt。但是,需要注意的是,这个强制转换函数可以指定交换路径,也就是说,它也可以强制转换而不转换为BNT,这使得攻击者可以任意指定交换代币地址。
3、 事件恢复
在xtoken团队的官方回复中,他对黑客攻击事件造成的资产损失深表遗憾,并提到将在即将推出的产品中引入安全功能,以防止此类攻击。遗憾的是,这一安全功能尚未引入整个产品线,造成2500万美元的资本损失。
针对xtoken被黑客攻击事件,成都链安团队提醒我们,随着重大DeFi项目的不断发展,整个DeFi世界将变得越来越多变,新项目往往会与之前的DeFi项目在各个方面进行互动,比如上述AAVE和DEX。因此,在开发新DeFi项目时,不仅要注意自身逻辑的安全性和稳定性,还要考虑自身逻辑和基本DeFi项目的总体逻辑是否合理。
同时,我们建议各大DeFi项目方也要积极与第三方安全公司建立联动机制,通过开展安全合作,建立安全防护机制,做好项目的前期防范和日常防护工作,时刻加强安全意识。
文章标题:Flash loan攻击+错误权限配置2500万美元白费
文章链接:https://www.btchangqing.cn/257645.html
更新时间:2021年05月13日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。