事件背景
Cream Finance是建立在智能合约基础上的开放普惠的金融体系。通过以方便快捷的方式在线提供消费贷款,是一个利用流动性挖矿的去中心化借贷和交易平台。
北京时间2020年2月13日,Cream Finance官方推特称出现黑客盗币事件,并表示随后会披露漏洞细节。

随后零时科技安全团队立刻对该安全事件进行复盘分析。
事件分析
通过分析此事件,该次攻击由0x905315602ed9a854e325f692ff82f58799beab57合约地址完成,目前该地址已被标记为盗币者地址,并存在多次攻击交易,如图:

主要攻击的6笔交易如下:
- 攻击者通过杠杆不断借款(每次借款为前一次的两倍),最终获得cySUSD。
85fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8W2)9J5k6h3g2@1K9r3g2J5M7$3y4S2L8W2)9J5k6h3y4G2L8g2)9J5c8Y4c8^5i4K6u0r3x3s2R3%4k6h3t1J5y4o6x3$3k6h3g2V1k6o6x3&6j5K6R3^5y4U0g2X3j5$3x3I4k6e0f1I4j5h3f1@1j5e0t1@1y4h3f1^5z5e0M7$3y4h3j5@1j5K6j5@1j5e0p5K6x3U0l9H3j5K6j5J5x3$3j5$3y4K6k6T1x3K6V1I4x3X3j5&6

- 攻击者继续进行借款并获得cySUSD(和上次交易一样)。
792K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8W2)9J5k6h3g2@1K9r3g2J5M7$3y4S2L8W2)9J5k6h3y4G2L8g2)9J5c8Y4c8^5i4K6u0r3x3s2R3$3y4r3c8W2z5o6t1@1j5e0N6S2j5e0x3K6z5h3k6X3y4o6q4T1x3e0b7^5y4K6p5&6y4r3y4S2y4U0x3@1j5e0W2U0k6e0x3#2j5e0x3J5j5K6j5#2k6U0c8W2y4K6S2W2j5U0x3^5z5e0y4U0j5K6p5^5x3K6f1K6x3X3p5@1

- 攻击者借出180万USDC,之后通过Curve.fi将USDC兑换为sUSD,最终获得cySUSD,并继续利用杠杆翻倍借款sUSD。最后偿还闪电贷。
fd4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8W2)9J5k6h3g2@1K9r3g2J5M7$3y4S2L8W2)9J5k6h3y4G2L8g2)9J5c8Y4c8^5i4K6u0r3x3s2R3%4k6h3t1J5y4o6x3$3k6h3g2V1k6o6x3&6j5K6R3^5y4U0g2X3j5$3x3I4k6e0f1I4j5h3f1@1j5e0t1@1y4h3f1^5z5e0M7$3y4h3j5@1j5K6j5@1j5e0p5K6x3U0l9H3j5K6j5J5x3$3j5$3y4K6k6T1x3K6V1I4x3X3j5&6

- 攻击者继续借出1000万USDC,通过兑换等操作获取cySUSD,并继续利用杠杆翻倍借款sUSD,最后偿还闪电贷。
ea7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8W2)9J5k6h3g2@1K9r3g2J5M7$3y4S2L8W2)9J5k6h3y4G2L8g2)9J5c8Y4c8^5i4K6u0r3x3s2S2V1y4$3p5&6x3e0p5%4x3X3x3K6k6X3b7H3z5h3q4U0j5U0M7#2j5e0V1@1y4o6M7I4z5o6W2W2x3e0p5%4z5r3q4W2y4K6l9#2x3e0M7$3z5e0S2X3x3U0b7&6j5U0R3@1x3o6j5J5y4U0R3I4k6U0b7K6k6U0m8W2x3U0k6W2

- 攻击者再次借出1000万USDC,通过兑换等操作获取cySUSD,最后归还闪电贷。(至此攻击者已通过以上交易获取大量的cySUSD资产,目前就可从IronBank借到自己想要的资产)
b83K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8W2)9J5k6h3g2@1K9r3g2J5M7$3y4S2L8W2)9J5k6h3y4G2L8g2)9J5c8Y4c8^5i4K6u0r3x3s2S2S2j5$3g2U0y4X3c8V1j5U0N6V1j5U0c8T1j5h3p5$3y4X3x3H3k6X3t1$3x3U0R3&6j5K6t1#2j5e0R3K6x3$3b7&6x3$3b7J5k6o6W2W2j5U0c8X3j5X3f1&6j5e0S2V1z5o6b7&6y4h3f1#2j5X3k6S2x3U0c8T1j5e0f1%4

- 攻击者利用自己得到的大量cySUSD资产,从Cream.Finance中借出多个数字资产(13244 WETH,3605354 USDC,5647242 USDT,4263138 DAI),完成攻击获利。
a99K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8W2)9J5k6h3g2@1K9r3g2J5M7$3y4S2L8W2)9J5k6h3y4G2L8g2)9J5c8Y4c8^5i4K6u0r3x3s2R3%4y4o6g2V1k6r3g2V1k6U0t1$3z5r3j5$3x3r3g2S2y4r3p5H3x3K6R3&6z5e0q4V1y4o6k6T1x3K6y4T1y4$3p5I4k6o6c8W2y4h3p5&6k6X3j5J5y4K6j5%4j5$3c8T1j5e0u0V1x3$3q4X3y4U0W2X3y4o6y4W2j5U0q4T1

总结
本次盗币是攻击者利用零抵押跨协议贷款的缺陷进行漏洞攻击,通过不断的利用杠杆来增加借款的金额,增加流动性,兑换为cySUDC,并通过多次操作获取大量cySUDC从而最终借出自己想要的资产。
安全建议
DeFi今年确实备受关注,黑客攻击也不断发生,类似Cream Finance这样的项目,包括cream finance,alpha finance均受到不同程度的黑客攻击。针对频频发生的黑客攻击事件,我们给出的安全建议就是:
在项目上线之前,找专业的第三方安全企业进行全面的安全审计,而且可以找多家进行交叉审计;
可以发布漏洞赏金计划,发送社区白帽子帮助找问题,先于黑客找到漏洞;
加强对项目的安全监测和预警,尽量做到在黑客发动攻击之前发布预警从而保护项目安全。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课