火星链 火星链
Ctrl+D收藏火星链
首页 > 币安币 > 正文

VAULT:慢雾:技术简析 OUSD 损失 700 万美金事件

作者:

时间:1900/1/1 0:00:00

据慢雾区情报,2020年11月17日,以太坊DeFi项目OUSD遭受闪电贷攻击。慢雾安全团队于第一时间跟进并进行相关分析。以下是慢雾安全团队针对本次攻击的简要分析。攻击过程详细分析会在稍后发布。如有兴趣可保持持续关注。

1.攻击者使用dydx闪电贷借出70000个ETH,随后通过Uniswap将其兑换为USDT和DAI。

2.攻击者调用OUSDVault的mint函数,Vault会先进行一次rebase将之前积累的奖励进行分配,随后将750万USDT从攻击者合约转入OUSDVault中。此时OUSD合约会铸出等量的750万OUSD代币给攻击合约,最后通过allocate来结算当前的收益。

慢雾:V神相关地址近日于Uniswap卖出3000枚以太坊:11月14日消息,据慢雾监测显示,以太坊创始人Vitalik Buterin地址(0xe692开头)近日在Uniswap V3上分三笔将3000枚以太坊(约400万美元)兑换成了USDC。[2022/11/14 13:03:22]

3.在攻击者转入750万之前,Vault的价值约为7018138美元。攻击者转入750万USDT后将占Vault总价值的一半以上。

4.随后攻击合约利用mintMultiple函数传入DAI合约地址与攻击合约的地址,同样是先进行一次rebase,将之前累计的收益进行分配(包含先前转入的750万USDT部分),再通过transferFrom先将攻击合约的2050万DAI转入Vault中。随后将调用攻击合约的transferFrom函数,攻击者在攻击合约的transferFrom函数中构造再次调用Vault合约mint函数的逻辑来实现重入攻击。

慢雾:BTFinance被黑,策略池需防范相关风险:据慢雾区情报,智能DeFi收益聚合器BT.Finance遭受闪电贷攻击。受影响的策略包括ETH、USDC和USDT。经慢雾安全团队分析,本次攻击手法与yearnfinance的DAI策略池被黑的手法基本一致。具体分析可参考慢雾关于yearnfinace被黑的技术分析。慢雾安全团队提醒,近期对接CurveFinance做相关策略的机池频繁遭受攻击。相关已对接CurveFinance收益聚合器产品应注意排查使用的策略是否存在类似问题,必要时可以联系慢雾安全团队协助处理。[2021/2/9 19:19:41]

5.在上一步骤中转入2050万DAI后通过攻击合约的transferFrom函数再次调用Vault的mint函数。由于重入时传入2000USDT符合判断是否调用rebase的条件,此时将进行一次rebase,而由于rebase需要Vault中的资产总价值和OUSD的总铸币数有差值才能触发。按照原本的业务场景是进行allocate结算收益后改变Vault中的资产总价值然后通过rebase进行分配。而由于重入原因并没有先通过oUSD.mint进行铸币操作,且攻击者已先将2050万的DAI转入Vault中,所以Vault中的资产总价值仍然增加了,导致合约中的资产总价值大于OUSD的总铸币量。因此Vault会将增加的2050万DAI当成收益部分进行rebase分配。在步骤3中由于攻击者资产已占Vault总价值的一半以上,所以此时攻击者将凭空获得超过价值1025万的收益分配。

慢雾:Cover协议被黑问题出在rewardWriteoff具体计算参数变化导致差值:2020年12月29日,慢雾安全团队对整个Cover协议被攻击流程进行了简要分析。

1.在Cover协议的Blacksmith合约中,用户可以通过deposit函数抵押BPT代币;

2.攻击者在第一次进行deposit-withdraw后将通过updatePool函数来更新池子,并使用accRewardsPerToken来记录累计奖励;

3.之后将通过_claimCoverRewards函数来分配奖励并使用rewardWriteoff参数进行记录;

4.在攻击者第一次withdraw后还留有一小部分的BPT进行抵押;

5.此时攻击者将第二次进行deposit,并通过claimRewards提取奖励;

6.问题出在rewardWriteoff的具体计算,在攻击者第二次进行deposit-claimRewards时取的Pool值定义为memory,此时memory中获取的Pool是攻击者第一次withdraw进行updatePool时更新的值;

7.由于memory中获取的Pool值是旧的,其对应记录的accRewardsPerToken也是旧的会赋值到miner;

8.之后再进行新的一次updatePool时,由于攻击者在第一次进行withdraw后池子中的lpTotal已经变小,所以最后获得的accRewardsPerToken将变大;

9.此时攻击者被赋值的accRewardsPerToken是旧的是一个较小值,在进行rewardWriteoff计算时获得的值也将偏小,但攻击者在进行claimRewards时用的却是池子更新后的accRewardsPerToken值;

10.因此在进行具体奖励计算时由于这个新旧参数之前差值,会导致计算出一个偏大的数值;

11.所以最后在根据计算结果给攻击者铸造奖励时就会额外铸造出更多的COVER代币,导致COVER代币增发。具体accRewardsPerToken参数差值变化如图所示。[2020/12/29 15:58:07]

6.随后将通过oUSD.mint铸出2000OUSD,并通过allocate结算重入时2000USDT的收益(从上一步骤可以看出攻击合约传入的2000USDT只是为了满足调用rebase的条件,触发收益分配而已)。重入结束后仍将通过oUSD.mint铸出之前转入的2050万DAI等值的OUSD代币。

7.最后Vault的总价值约为3501万美元,但攻击者所拥有的价值超过3825万美元,因此攻击者用大部分的OUSD去Vault进行赎回操作,将Vault基本提空,而其余的OUSD是通过Uniswap和Sushiswap的OUSD-USDT池将OUSD换成USDT来增加收益。

总结:此次攻击关键在于调用外部合约造成的重入问题与Vault的rebase收益分配机制相结合,导致攻击者可以通过重入来凭空获得巨额的收益分配。针对此类情况,慢雾安全团队建议对传入资产进行检查后,对不在白名单内的资产直接进行回滚,并使用防重入锁以避免重入攻击。

相关链接:

(1)参考攻击交易:

0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401

标签:USDULTVAULTOUSDbusd币有什么用Ultra NFTPvault FinanceOUSD币

币安币热门资讯
比特币交易:南非高等法院对比特币公司MTI下达临时清算令

南非高等法院最近对MirrorTradingInternational下达了临时清算令,此前两名投资者未能撤回其比特币,并提出了救济申请.

1900/1/1 0:00:00
比特币:分析:机构投资者的兴趣增加,比特币价格一度逼近1.9万美元

比特币价格今天一度逼近1.9万美元,而此时机构投资者对比特币的兴趣越来越大。比特币在过去几周的大部分时间里都在1.8万美元至2万美元之间波动,最近一次反弹发生在比特币昨日跌破1.76万美元之后,

1900/1/1 0:00:00
DEF:分析显示:Defi回春迹象明显?,短期大概率会进行一次回调

北京时间11月11日8点,反映加密货币市场整体走势的ChaiNext100指数报1336.61点,过去24小时上涨0.44%,成交额535.97亿美元,成交较前24小时减少20.57%.

1900/1/1 0:00:00
区块链:世界区块链大会·武汉丨许超:今年震撼我的DeFi事件是YF和YAM的发行

2020年12月6日上午,在“2020世界区块链大会·武汉”平行论坛“数字经济与开放金融”上,ForTube联合创始人许超认为YFI和YAM的发行令他震撼,这也促进了很多人对DeFi的认知.

1900/1/1 0:00:00
WEB3:大秦智能与云巢网络达成深度合作 实现人类基因数据碎片化存储上链

据官方消息,近日,大秦智能董事长徐耀庭及CEO陆军一行参观国家大基因数据中心,并与云巢网络公司达成深度合作.

1900/1/1 0:00:00
BTC:Gate.io行情:BTC创新高后高位震荡,长期仍看涨不变

据Gate.io全球交易数据,截至12月21日11:50,BTC现货报23964.80美元,周末虽然再次创新高,成功站上24200美元的历史最高位,但紧随而至的近1000美元的回落幅度.

1900/1/1 0:00:00