一文了解Harvest Finance $2400万被盗事件经过及补救方案

王心玉
王心玉

Oct 28, 2020

该文章已上链

摘要: 为您一文梳理Harvest黑客攻击事件的经过、影响,以及后续补救措施。

一文了解Harvest Finance $2400万被盗事件经过及补救方案
00:00
07:05

10 月 26 日,黑客利用闪贷从 DeFi 协议 Harvest Finance的金库中盗走了 2400 万美元资金,尽管攻击者事后归还了大约 250 万美元的资金,但 Harvest 用户面临的损失依旧超过了 2000 万美元。对此,Harvest团队发推称承认编程漏洞属于团队责任,称将按照快照将退还的部分资金返还给用户,剩余被盗资金的赔偿计划还在研究中。同时请求黑客退还资金。

攻击过程

整个攻击过程持续了7分钟,以下为慢雾安全团队对此攻击过程的简要分析。

1. 攻击者通过 Tornado.cash 转入 20ETH 作为后续攻击手续费
2. 攻击者通过 UniswapV2 闪电贷借出巨额 USDC 与 USDT
3. 攻击者先通过 Curve 的 exchange_underlying 函数将 USDT 换成 USDC,此时 Curve yUSDC 池中的 investedUnderlyingBalance 将相对应的变小
4. 随后攻击者通过 Harvest 的 deposit 将巨额 USDC 充值进 Vault 中,充值的同时 Harvest 的 Vault 将铸出 fUSDC,而铸出的数量计算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
计算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的变化将导致 Vault 铸出更多的 fUSDC
5. 之后再通过 Curve 把 USDC 换成 USDT 将失衡的价格拉回正常
6. 最后只需要把 fUSDC 归还给 Vault 即可获得比充值时更多的 USDC
7. 随后攻击者开始重复此过程持续获利

事件影响

受此次安全事件影响,Harvest平台代币FARM币价暴跌50%,截至发稿达112美金。

同时,由于操作需求,此次安全事件也为数个DeFi平台带来了可观的交易手续费收入。

The Block 研究总监 Larry Cermak 对此发推称,这其中约 92%的交易量来自 USDT/ETH 交易对(48.3%)和 USDC/ETH 交易对(43.4%)。他们为 Uniswap 的 LP 产生了 576 万美元的费用。

DeFi爱好者jiecut在推特上发表,受本次Harvest安全事件中,黑客在链上的操作为部分平台带来了比较可观的收入。其中 Uniswap 的 流动性提供者收入近 600 万美元,平台交易量从1.48亿美元暴增到昨日的21.1亿美元;Curve LP 大约可获得 100 万美元;ETH Gas 费达 10 万美元;RenVM 的手续费为 2 万美元。

补救措施方案

10月27日,Harvest Finance发表文章公布了针对此次安全事件的补救措施。

Harvest Finance团队目前正在评估潜在的补救方案,并且将在接下来的版本中提现在新版本中的设计中,我们将在新金库中加入升级功能以及替代基于时间锁的投资策略,我们也会在新版本发布之前公布解决方案。

补救方法有以下几种可能:

1. 实施存款承诺与披露机制。废除在单笔交易中执行存款与取款的功能,以此防止闪电贷攻击。从用户的角度来说,这意味着他们的代币将通过单一一笔交易被转入Harvest中。用户也需要在另一笔交易中(最好是在不同的区块内)取出其份额。这会导致用户体验发生变化,因为有可能用户需要支付更高、但仍能接受的Gas费。

2. 加强对策略中的现有存款套利检查配置。当前的阈值为3%,但这不足以使金库免受攻击。一个更高的阈值能提高这类攻击的经济成本。但是也有可能导致在自然的无常损失影响下存款受限制。周日的事件只持续了7分钟,也就是说这种措施还没办法完全防止攻击,只能作为其他手段的补充。

3. 基础资产提现。当用户把钱存入使用共享池(例如Y池)的金库,他们的个人资产就被转为共享池(例如yCurve)中资产。如果用户只是提现基础资产,他们就可以根据当前的市场情况将其兑换为组合资产。如果市场被操纵,交易也会跟着被操纵,这就能使得攻击方无法获取利润。从一个普通用户的角度来看,提取yCRV之后,用户可以通过另一笔交易将其转换为稳定币。尽管用户体验会改变,但这也可以解决滑点的问题,因此对协议有利。这种方法的缺点是,它会将金库提现机制和当前正在使用的策略绑定起来:如果将策略切换到一个不使用共享基础池或使用不同池的其它策略,提现的币种也会改变。

4. 使用预言机来决定资产价格。虽然外界预言机如ChainLink或者Maker可以决定资产价值的大概值,这个值和真实的价格还有一定的联系。如果DeFi项目内部的底层资产价格和预言机的报价出现差值,金库就又面临着投机和闪贷攻击。所以,这并不是Harvest的理想解决方案。但是,Harvest还是会考虑在系统设计和补救措施中使用预言机。 

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 王心玉 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

相关币种

  • 币种
    实时价格
    涨跌幅
分享到:

相关推荐

    评论(1

    • hScxQN hScxQN
      回复
      0

      白嫖usdt,新用户完成高级实名认证将随机获得0 - 30 USDT 奖励,邀请越多,领取越多,单次奖励最高获得30 USDT https://aofex.co/register/?key=4654028

      Oct 29, 2020 via android

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信