EST:慢雾:Harvest.Finance 被黑事件简析_NEST币

2020年10月26号,据慢雾区消息HarvestFinance项目遭受闪电贷攻击,损失超过400万美元。以下为慢雾安全团队对此事件的简要分析。

1.攻击者通过Tornado.cash转入20ETH作为后续攻击手续费

2.攻击者通过UniswapV2闪电贷借出巨额USDC与USDT

慢雾:AToken钱包疑似遭受攻击 用户反馈钱包中资产被盗:据慢雾区情报,近期 AToken 钱包(atoken.com)疑似遭受到攻击,用户在使用 AToken 钱包后,币被偷偷转移走。目前已经有较多的用户反馈钱包中的资产被盗。AToken 钱包官方推特在2021年12月20日发布了停止运营的声明。官方 TG 频道中也有多位用户反馈使用 AToken 钱包资产被盗了,但是并没有得到 AToken 团队的回复和处理。

如果有使用 AToken 钱包的用户请及时转移资产到安全的钱包中。具体可以参考如下操作:

1. 立即将 AToken 钱包中的相关的资产转移到新的钱包中。

2. 废弃导入 AToken 或者使用 AToken 生成的助记词或私钥的钱包。

3. 参考慢雾安全团队梳理的数字资产安全解决方案,对数字资产进行妥善的管理。

4. 留存相应有问题的 AToken 钱包 APP 的安装包,用于后续可能需要的取证等操作。

5. 如果资产已经被盗,可以先梳理被盗事件的时间线,以及黑客的相关地址 MistTrack 可以协助挽回可能的一线希望。[2022/2/9 9:39:46]

3.攻击者先通过Curve的exchange_underlying函数将USDT换成USDC,此时CurveyUSDC池中的investedUnderlyingBalance将相对应的变小

慢雾:有用户遭钓鱼攻击,在OpenSea上架的NFT以极低匹配价格售出:据慢雾消息,有用户在 OpenSea 挂单售卖的 NFT 被恶意的以远低于挂单价匹配买。经慢雾安全团队分析,此是由于该受害用户遭受钓鱼攻击,错误的对攻击者精心构造的恶意订单进行签名,恶意订单中指定了极低的出售价格、买方地址为攻击者以及出售 NFT 为受害用户在 OpenSea 上架的待出售 NFT。攻击者使用受害用户已签名的出售订单以及攻击者自己的购买订单在 OpenSea 中进行匹配,并以攻击者指定的极低价格成交,导致受害用户的 NFT 以非预期的价格售出。[2021/12/11 7:31:47]

4.随后攻击者通过Harvest的deposit将巨额USDC充值进Vault中,充值的同时Harvest的Vault将铸出fUSDC,而铸出的数量计算方式如下:

慢雾:yearn攻击者利用闪电贷通过若干步骤完成获利:2021年02月05日,据慢雾区情报,知名的链上机池yearnfinance的DAI策略池遭受攻击,慢雾安全团队第一时间跟进分析,并以简讯的形式给大家分享细节,供大家参考:

1.攻击者首先从dYdX和AAVE中使用闪电贷借出大量的ETH;

2.攻击者使用从第一步借出的ETH在Compound中借出DAI和USDC;

3.攻击者将第二部中的所有USDC和大部分的DAI存入到CurveDAI/USDC/USDT池中,这个时候由于攻击者存入流动性巨大,其实已经控制CruveDAI/USDC/USDT的大部分流动性;

4.攻击者从Curve池中取出一定量的USDT,使DAI/USDT/USDC的比例失衡,及DAI/(USDT&USDC)贬值;

5.攻击者第三步将剩余的DAI充值进yearnDAI策略池中,接着调用yearnDAI策略池的earn函数,将充值的DAI以失衡的比例转入CurveDAI/USDT/USDC池中,同时yearnDAI策略池将获得一定量的3CRV代币;

6.攻击者将第4步取走的USDT重新存入CurveDAI/USDT/USDC池中,使DAI/USDT/USDC的比例恢复;

7.攻击者触发yearnDAI策略池的withdraw函数,由于yearnDAI策略池存入时用的是失衡的比例,现在使用正常的比例体现,DAI在池中的占比提升,导致同等数量的3CRV代币能取回的DAI的数量会变少。这部分少取回的代币留在了CurveDAI/USDC/USDT池中;

8.由于第三步中攻击者已经持有了CurveDAI/USDC/USDT池中大部分的流动性,导致yearnDAI策略池未能取回的DAI将大部分分给了攻击者9.重复上述3-8步骤5次,并归还闪电贷,完成获利。参考攻击交易见原文链接。[2021/2/5 18:58:47]

amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());

计算方式中的underlyingBalanceWithInvestment一部分取的是Curve中的investedUnderlyingBalance值,由于Curve中investedUnderlyingBalance的变化将导致Vault铸出更多的fUSDC

5.之后再通过Curve把USDC换成USDT将失衡的价格拉回正常

6.最后只需要把fUSDC归还给Vault即可获得比充值时更多的USDC。

7.随后攻击者开始重复此过程持续获利

其他攻击流程与上诉分析过程类似

参考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877

总结:此次攻击主要是HarvestFinance的fToken(fUSDC、fUSDT...)在铸币时采用的是Curvey池中的报价(即使用Curve作为喂价来源),导致攻击者可以通过巨额兑换操控预言机的价格来控制HarvestFinance中fToken的铸币数量,从而使攻击者有利可图。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-3:959ms