被盗 1.3 亿美元!吸引“渣男”体质?Cream Finance今年第五次遭黑客攻击全解析

成都链安

    10月27日,链必安-区块链安全态势感知平台舆情监测显示,DeFi借贷协议Cream Finance再次遭受攻击,损失达1.3亿美元。被盗的资金主要是CreamLP代币和其他ERC-20代币。关于本次攻击,成都链安技术团队第一时间进行了事件分析。
    
    #1?事件概览
    攻击如何发生 Event overview
    被盗约1.3亿美元!Cream Finance今年第五次遭黑客攻击,可能它真的有吸引“渣男”的体质。
    10月28日消息,DeFi 协议 Cream Finance 针对闪电贷攻击事件发布回应称,其以太坊 CREAM v1 借贷市场被黑客攻击,攻击者从多个地址转移了价值约 1.3 亿美元的代币,没有其他市场受到影响。团队已经暂停了基于以太坊的 v1 借贷市场,并且正在进行事后审查。
    
    #2?事件具体分析
    攻击者如何得手?Event overview
    攻击者:
    0x24354d31bc9d90f62fe5f2454709c32049cf866b
    攻击合约:
    0x961d2b694d9097f35cfffa363ef98823928a330d
    0xf701426b8126BC60530574CEcDCb365D47973284
    交易hash:
    0x0fe2542079644e107cbf13690eb9c2c65963ccb79089ff96bfaf8dced2331c92
    1. 第一步先通过闪电贷从
    DssFlash(0x1eb4cf3a948e7d72a198fe073ccb8c7a948cd853)合约借500,000,000DAI。
    
    
    2. 把DAI放到yDAI
    (0x16de59092dae5ccf4a1e6439d611fd0653f0bd01)合约中进行抵押,换取451,065,927.891934141488397224yDAI。
    
    
    
    3. 把换取yDAI代币放到Curve.fi: y Swap?
    (0x45f783cce6b7ff23b2ab2d70e416cdb7d6055f51)中添加流动性并获取447,202,022.713276945512955672yDAI+yUSDC+yUSDT+yTUSD 。
    
    
    4. 接着将
    447,202,022.713276945512955672yDAI+yUSDC+yUSDT+yTUSD抵押并获取446,756,774.416766306389278551yUSD。
    
    
    5. 再在crYUSD中调用铸币函数,铸造?22,337,774,341.38713187?个crYUSD代币。
    
    
    6.攻击合约
    A(0x961d2b694d9097f35cfffa363ef98823928a330d)在构造函数里创建了攻击合约
    B(0xf701426b8126BC60530574CEcDCb365D47973284),在5之后,攻击合约B从AAVE借贷524,102.159298234706604104??WETH
    
    
    7.B发送6000WETH给A
    
    
    8. ?B将剩余的WETH兑换为ETH,并以此调用crETH池子进行抵押。
    
    
    9. ?使用攻击合约B借出
    446,758,198.60513882090167283?个YUSD代币,并以此铸币crYUSD,铸完币后归还,并将crYUSD发送给A,重复两次。
    
    
    10. 使用攻击合约B借出
    446,758,198.60513882090167283个YUSD,发送给A。
    
    
    11. ?使用1,873.933802532388653625 WETH在uniswap v3中交换出7,453,002.766252个USDC。
    
    12. 将3,726,501.383126 个USDC在Curve.fi中交换为DUSD。
    
    13.?将DUSD交换为?
    450,228,633.135400282653487952 yDAI+yUSDC+yUSDT+yTUSD。
    
    14. 将8,431,514.81679698041016119个 yDAI+yUSDC+yUSDT+yTUSD 直接发送回yUSD抵押池。由于使用直接转账,totalDebt不变,balanceOf(self)变大,导致totalAsset变大,最终影响到oracle预言机的价格获取pricePerShare变大,即可以通过抵押yUSD借出更多的代币。
    
    
    
    
    15. 以yUSD代币为抵押,借出cream 协议所有支持借贷的代币。
    
    
    16. 最后归还攻击A合约的闪电贷。
    
    #3?事件复盘
    我们需要注意什么 Case Review
    本次攻击是典型的闪电贷进行价格操作,通过闪电贷获取大量资金后,利用合约设计缺陷,大幅改变价格导致获利。Cream的预言机价格计算使用与yUSD的totalAsset有关。向yUSD合约直接转账时,不会更新Debt,从而使totalAsset增大,从而使得yUSD价格变高,可以从Cream中借出更多的资金。
    
    ??注意 ??
    此前,Cream Finance已经至少遭到黑客的四次攻击,这次攻击也使得该项目成为黑客成功攻击次数最多的DeFi项目。
    今年2月13日,黑客利用Alpha Homora V2技术漏洞从Cream Finance旗下零抵押跨协议贷款功能 Iron Bank借出ETH、DAI、USDC等资产,导致该项目损失约3800万美元。此后Alpha Finance表示将全额赔付资产。
    同月28日,DeFi聚合平台Furucombo遭到严重漏洞攻击,Cream Finance 储备金账户受影响,Cream Finance 团队随即撤销了所有对外部合约的批准,但仍损失 110 万美元。
    3月15日,Cream Finance 域名遭到黑客攻击,部分用户会看到网站发起输入助记词的请求,很快该项目官方发推提醒用户不要输入助记词,表示其智能合约和用户资金仍然安全,并在1个小时后宣布重新获得域名所有权。
    8月30日,Cream Finance 因可重入漏洞遭遇闪电贷攻击,黑客获利4.2亿个AMP、1308个ETH以及少量USDC等稳定币资产,总资产价值超过3400万美元。
    加上本次攻击事件,Cream Finance?可以说是年度最“衰”的DeFi项目。