企业文化

  • 首页
  • 企业文化
  • DeFi安全专栏

DeFi安全专栏

2024-11-07 15:34:56

8 月 30 日,CreamFinance 遭到重入攻击,PeckShield 第一时间预警并定位。Etherscan数据显示,2 名攻击者共进行了 17 笔交易,窃取了以太币、 AMP 、Cream Ether 等加密货币,损失超过 1800 万美元。前情提要:台湾Defi Cream Finance再遭闪电贷骇客攻击,损失1800万美元的 ETH AMP

BitGet注册

由于 AMP 支持类似 ERC777 的货币标准,而它的特性与某些协议不相兼容。此次 CreamFinance 的重入攻击正是操纵了此漏洞。

DeFi安全专栏

攻击者总共发起来17 笔攻击交易, PeckShield派盾简述其中一笔交易的攻击过程:

首先,攻击者创建攻击合约 A,从 UniSwap V2 中借出闪电贷 500 WETH;

第二步,攻击者将所借 500 WETH 质押到 CreamFinance,获得 241722 crETH;

第三步,攻击合约利用第二步所获得的质押物,通过函数 CErc20Delegatorborrow() 借出 1948 万 AMP。同时,利用重入漏洞,在用户的资料未更新前,又借出 crETH 代币,获得 355 ETH。

第四步,攻击者创建攻击合约 B,并将 974 万 AMP 代币从攻击合约 A 转入攻击合约 B 中。因为第三步的重入攻击,攻击攻击合约 A 已经资不抵债。所以攻击者利用攻击合约 B 中的 974 万 AMP,清算了攻击合约 A,并获得 90686 crETH。

第五步,攻击合约 B 赎回 90686 crETH,获得 18758 ETH;此时, 合约 B 的 balanceof() 为 18758 WETH;

第六步,合约 B 将 18758 WETH 转给合约 A,并调用函数 selfdestruct();合约 A 的余额为 54258 ETH;

最终,攻击者归还闪电贷,获利 1880 万美元。

防御方法

在进行代币交换的时候,先扣除用户的代币,再将 ETH 发送给用户。

多个合约进行交互的时候需要考虑 DeFi 业务组合可能存在的系统性风险问题,平台方不仅要确保在产品上线前有过硬的程式码审计和漏洞排查,还要在不同产品做业务组合时考虑因各自不同业务逻辑而潜在的系统性风控问题。

相关报导

被误解的闪电贷:我只是一个工具5月DeFi安全事件25起、BSC占15起史上最大遭骇案》Poly骇客已还6亿美元近全数,霸气拒绝Defi抓漏奖金!新手必读 DeFi 发生史上最大骇客案,普通人怎避开重重陷阱?

LINE 与 Messenger 不定期为大家服务