链闻消息,ValueDeFi的MultiStables保险库遭遇闪电贷攻击,慢雾安全团队于第一时间跟进并进行相关分析,以简要的形式呈现给大家,供大家参考。1.攻击者首先从Aave中借出80000个ETH,为攻击做准备;2.攻击者使用80000个ETH在UniswapWETH/DAI池中用闪电贷借出大量的DAI和在UniswapWETH/DAI兑换出大量的USDT;3.用户调用ValueMultiVaultBank合约的deposit合约使用第2步中小部分的DAI进行充值,ValueMultiVaultBank合约中一共有3种资产,分别是3CRV、bCRV、和cCRV。ValueMultiVaultBank合约在铸币的时候会将合约中的bCRV、cCRV转换成以3CRV进行计价,转化的途径为bCRV/cCRV->USDC->3CRV。其中USDC->3CRV使用的是DAI/USDC/USD池中USDC/3CRV的价格。转换完成后,ValueDeFi合约根据合约中总的3CRV的价值和攻击者充值的DAI数量计算mVUSD铸币的数量;4.攻击者在CurveDAI/USDC/USDT池先使用第二步中剩余的大部分DAI和USDT兑换USDC,拉高DAI/USDC/USDT池中的USDC/3CRV的价格;5.攻击者在ValueMultiVaultBank合约中发起3CRV提现,此时ValueMultiVaultBank合约和第3步一样,会先将合约中的bCRV、cCRV转换成以3CRV计价,由于在第4步中,USDC/3CRV的价格已经被拉高,导致换算的过程中,ValueMultiVaultBank合约中的bCRV,cCRV能换算成更多的3CRV,也就是说使用同等份额的mVUSD可以换取更多的3CRV;6.拿到3CRV后,攻击者到Curve的DAI/USDC/USDT池中使用3CRV换回DAI,并在Uniswap中兑换回ETH,然后归还Aave的闪电贷。总结:由于ValueDeFi合约在铸币过程中将合约资产转换成3CRV时依赖CurveDAI/USDC/USDT池中USDC/3CRV的价格,导致攻击者可以通过操控CurveDAI/USDC/USDT池中USDC/3CRV的价格来操控mVUSD/3CRV的价值,从而获利。
慢雾:上周Web3安全事件中总损失约1996.3万美元:金色财经报道,据慢雾区块链被黑档案库统计,2023年8月14日至8月20日,共发生安全事件10起,总损失约1996.3万美元。具体事件:
8月14日,Hexagate发推表示,过去几天单个MEV Bot被利用了约20万美元。以太坊上Zunami Protocol协议遭遇价格操纵攻击,损失1,179个ETH(约220万美元)。
8月15日,以太坊扩容解决方案Metis官方推特账号被盗。Sei Network官方Discord服务器遭入侵。Base生态项目RocketSwap遭遇攻击,攻击者窃取了RCKT代币,将其转换为价值约86.8万美元的ETH并跨链到以太坊。
8月16日,借贷协议SwirlLend团队从Base盗取了约290万美元的加密货币,从Linea盗取了价值170万美元的加密货币。BAYC推出的链上许可申请平台Made by Apes的SaaSy Labs APl存在一个问题,允许访问MBA申请的个人详细信息。
8月18日,DeFi借贷协议Exactly Protocol遭受攻击,损失超7,160枚ETH(约1204万美元)。
8月19日,Cosmos生态跨链稳定币协议Harbor Protocol被利用,损失42,261枚LUNA、1,533枚CMDX、1,571枚stOSMO和18,600万亿枚WMATIC。
8月20日,衍生品市场Thales发布公告称,一名核心贡献者的个人电脑/Metamask遭到黑客攻击,一些充当临时部署者(2.5万美元)或管理员机器人(1万美元)的热钱包已被攻破。[2023/8/21 18:13:42]
慢雾: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]
慢雾:攻击者系通过“supply()”函数重入Lendf.Me合约 实现重入攻击:慢雾安全团队发文跟进“DeFi平台Lendf.Me被黑”一事的具体原因及防御建议。文章分析称,通过将交易放在bloxy.info上查看完整交易流程,可发现攻击者对Lendf.Me进行了两次“supply()”函数的调用,但是这两次调用都是独立的,并不是在前一笔“supply()”函数中再次调用“supply()”函数。紧接着,在第二次“supply()”函数的调用过程中,攻击者在他自己的合约中对Lendf.Me的“withdraw()”函数发起调用,最终提现。慢雾安全团队表示,不难分析出,攻击者的“withdraw()”调用是发生在transferFrom函数中,也就是在Lendf.Me通过transferFrom调用用户的“tokensToSend()”钩子函数的时候调用的。很明显,攻击者通过“supply()”函数重入了Lendf.Me合约,造成了重入攻击。[2020/4/19]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。