mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

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

收藏
分享

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

作者|王心玉

来源|链得得

10 月 26 日,黑客利用闪贷从 DeFi 协议 Harvest Finance的金库中盗走了 2400 万美元资金,尽管攻击者事后归还了大约 250 万美元的资金,但 Harvest 用户面临的损失依旧超过了 2000 万美元。

对此,Harvest团队发推称承认编程漏洞属于团队责任,称将按照快照将退还的部分资金返还给用户,剩余被盗资金的赔偿计划还在研究中。同时请求黑客退还资金。

—1—

攻击过程

整个攻击过程持续了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. 随后攻击者开始重复此过程持续获利

—2—

事件影响

受此次安全事件影响,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 万美元。

—3—

补救措施方案

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

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

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

1. 实施存款承诺与披露机制。

废除在单笔交易中执行存款与取款的功能,以此防止闪电贷攻击。从用户的角度来说,这意味着他们的代币将通过单一一笔交易被转入Harvest中。

用户也需要在另一笔交易中(最好是在不同的区块内)取出其份额。这会导致用户体验发生变化,因为有可能用户需要支付更高、但仍能接受的Gas费。

2. 加强对策略中的现有存款套利检查配置。

当前的阈值为3%,但这不足以使金库免受攻击。一个更高的阈值能提高这类攻击的经济成本。但是也有可能导致在自然的无常损失影响下存款受限制。

周日的事件只持续了7分钟,也就是说这种措施还没办法完全防止攻击,只能作为其他手段的补充。

3. 基础资产提现。

当用户把钱存入使用共享池(例如Y池)的金库,他们的个人资产就被转为共享池(例如yCurve)中资产。如果用户只是提现基础资产,他们就可以根据当前的市场情况将其兑换为组合资产。

如果市场被操纵,交易也会跟着被操纵,这就能使得攻击方无法获取利润。从一个普通用户的角度来看,提取yCRV之后,用户可以通过另一笔交易将其转换为稳定币。

尽管用户体验会改变,但这也可以解决滑点的问题,因此对协议有利。这种方法的缺点是,它会将金库提现机制和当前正在使用的策略绑定起来:如果将策略切换到一个不使用共享基础池或使用不同池的其它策略,提现的币种也会改变。

4. 使用预言机来决定资产价格。

虽然外界预言机如ChainLink或者Maker可以决定资产价值的大概值,这个值和真实的价格还有一定的联系。

如果DeFi项目内部的底层资产价格和预言机的报价出现差值,金库就又面临着投机和闪贷攻击。所以,这并不是Harvest的理想解决方案。

但是,Harvest还是会考虑在系统设计和补救措施中使用预言机。

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。