六个方面剖析Value DeFi协议遭受闪电贷攻击事件
据慢雾区消息,2020 年 11 月 15 日,Value DeFi 的 Value DeFi MultiStables 保险库遭遇闪电贷攻击,慢雾安全团队于第一时间跟进并进行相关分析,以简要的形式呈现给大家,供大家参考。
1.攻击者首先从 Aave 中借出 80000 个 ETH ,为攻击做准备;
2. 攻击者使用 80000 个 ETH 在 Uniswap WETH/DAI 池中用闪电贷借出大量的 DAI 和 在 Uniswap WETH/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 的价格。转换完成后,Value Defi 合约根据合约中总的 3CRV 的价值和攻击者充值的 DAI 数量计算 mVUSD 铸币的数量;
4. 攻击者在 Curve DAI/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 的闪电贷 。
总结:由于 Value Defi 合约在铸币过程中将合约资产转换成 3CRV 时依赖 Curve DAI/USDC/USDT 池 中 USDC/3CRV的价格,导致攻击者可以通过操控 Curve DAI/USDC/USDT 池 中 USDC/3CRV 的价格来操控 mVUSD/3CRV 的价值,从而获利。
相关链接:
(1) 分析样本:
https://etherscan.io/tx/0x46a03488247425f845e444b9c10b52ba3c14927c687d38287c0faddc7471150a
Ai sẽ là người được lợi trong đợt Bull Run của Bitcoin?
Theo báo cáo của sàn giao dịch OKEx trong thời kỳ Bull Run hiện tại của Bitcoin, những ch...
MCDEX khởi chạy trên mạng thử nghiệm Arbitrum Rollup L2
MCDEX vui mừng thông báo về việc ra mắt testnet của mình trên Arbitrum Rollup, một giải pháp khả năn...
[Tổng kết AMA] Cùng BigcoinVietnam tìm hiểu về Lien.Finance
Vào 11:00 AM - 12:00 PM, thứ tư, ngày 02/12/2020 Lien.Finance và BigcoinVietnam đã tổ chức một ...