事件背景
Cream Finance是建立在智能合约基础上的开放普惠的金融体系。通过以方便快捷的方式在线提供消费贷款,是一个利用流动性挖矿的去中心化借贷和交易平台。
北京时间2020年2月13日,Cream Finance官方推特称出现黑客盗币事件,并表示随后会披露漏洞细节。
随后零时科技安全团队立刻对该安全事件进行复盘分析。
事件分析
通过分析此事件,该次攻击由0x905315602ed9a854e325f692ff82f58799beab57合约地址完成,目前该地址已被标记为盗币者地址,并存在多次攻击交易,如图:
主要攻击的6笔交易如下:
- 攻击者通过杠杆不断借款(每次借款为前一次的两倍),最终获得cySUSD。
https://cn.etherscan.com/tx/0x7eb2436eedd39c8865fcc1e51ae4a245e89765f4c64a13200c623f676b3912f9
2. 攻击者继续进行借款并获得cySUSD(和上次交易一样)。
https://cn.etherscan.com/tx/0x64de824a7aa339ff41b1487194ca634a9ce35a32c65f4e78eb3893cc183532a4
3. 攻击者借出180万USDC,之后通过Curve.fi将USDC兑换为sUSD,最终获得cySUSD,并继续利用杠杆翻倍借款sUSD。最后偿还闪电贷。
https://cn.etherscan.com/tx/0x7eb2436eedd39c8865fcc1e51ae4a245e89765f4c64a13200c623f676b3912f9
- 攻击者继续借出1000万USDC,通过兑换等操作获取cySUSD,并继续利用杠杆翻倍借款sUSD,最后偿还闪电贷。
https://cn.etherscan.com/tx/0xd7a91172c3fd09acb75a9447189e1178ae70517698f249b84062681f43f0e26e
- 攻击者再次借出1000万USDC,通过兑换等操作获取cySUSD,最后归还闪电贷。(至此攻击者已通过以上交易获取大量的cySUSD资产,目前就可从IronBank借到自己想要的资产)
https://cn.etherscan.com/tx/0xacec6ddb7db4baa66c0fb6289c25a833d93d2d9eb4fbe9a8d8495e5bfa24ba57
- 攻击者利用自己得到的大量cySUSD资产,从Cream.Finance中借出多个数字资产(13244 WETH,3605354 USDC,5647242 USDT,4263138 DAI),完成攻击获利。
https://cn.etherscan.com/tx/0x745ddedf268f60ea4a038991d46b33b7a1d4e5a9ff2767cdba2d3af69f43eb1b
总结
本次盗币是攻击者利用零抵押跨协议贷款的缺陷进行漏洞攻击,通过不断的利用杠杆来增加借款的金额,增加流动性,兑换为cySUDC,并通过多次操作获取大量cySUDC从而最终借出自己想要的资产。
安全建议
DeFi今年确实备受关注,黑客攻击也不断发生,类似Cream Finance这样的项目,包括cream finance,alpha finance均受到不同程度的黑客攻击。针对频频发生的黑客攻击事件,我们给出的安全建议就是:
在项目上线之前,找专业的第三方安全企业进行全面的安全审计,而且可以找多家进行交叉审计;
可以发布漏洞赏金计划,发送社区白帽子帮助找问题,先于黑客找到漏洞;
加强对项目的安全监测和预警,尽量做到在黑客发动攻击之前发布预警从而保护项目安全。