“科学家”的盛宴 Cheese Bank被带走的330万美元

PeckShield
PeckShield 机构得得号

Nov 17, 2020 PeckShield是面向全球的业内顶尖区块链安全团队。

该文章已上链

摘要: 在DeFi浪潮上,获利的多为“科学家”和大户,技术和资金是他们的资本,而安全才是 DeFi 项目唯一有利的防线。科学家们的薅羊毛游戏会无限进行下去,DeFi 们将如何守住最后一道防线?

今年11月,去中心化金融(DeFi)总锁仓量再创新高,突破16亿美元。DeFi,宣称人人公平可参与,凭借吸纳百亿资金入场在今年备受瞩目,但与此同时出现了一群人,他们依靠者技术实力和知识门槛专薅 DeFi 的羊毛,这群人被中文币圈中戏称为 “科学家”。

据PeckShield统计,自今年起,已发生多起“科学家”薅 DeFi 羊毛的安全事件。今年2月,有“科学家”利用DeFi 贷款协议 bZx 通过一笔交易获取十几万账面收益;10月,攻击者利用闪电贷攻击 Harvest.Finance 协议,使其损失高达 3380 万美元,以及11月攻击者利用闪电贷攻击 Value DeFi 的 MultiStablesVault 池子,导致平台亏损价值近 740 万美元的 DAI。

DeFi 中的“科学家”可类比为互联网的技术羊毛党。在移动互联网补贴大战中,职业羊毛党应运而生。一个手机号只会注册一次享受一次优惠,这些职业羊毛党则开辟了一条养卡、注册账号、代收短信验证码、薅羊毛的产业链。

而在 DeFi 的世界里,“科学家”则把 “借款、转移(执行)、还款” 都编程到一笔发往智能合约的交易里,以此来实现以极低甚至零成本在各个 DeFi 协议之间进行高额套利,或者利用可组合性的漏洞进行攻击盗取巨额资金。

PeckShield 近日发现,“科学家”于北京时间11月7日凌晨3时22分,利用闪电贷(Flash loan)通过一笔交易攻击一家去中心化数字银行 Cheese Bank 获利 330 万美元。

凭空套走的 330 万美元

PeckShield 通过追踪和分析发现,攻击者首先通过 dYdX 闪电贷贷出  21,000 枚ETH; 

通过 dYdX 闪电贷贷出  21,000 枚ETH

随后,在 UniswapV2 中将 50 枚WETH 兑换为 107,000 枚CHEESE (Cheese Bank 通证),此时 CHEESE 的单价为 0.00047 ETH/枚(在 UniswapV2 协议中可将 ETH 1:1 转换为 WETH,同时WETH 也可 1:1 转换为 ETH ),攻击者剩余 20,950 枚ETH; 

在 UniswapV2 中将 50 枚WETH 兑换为 107,000 枚CHEESE

接下来,攻击者在 UniswapV2 中抵押 107,000 枚CHEESE 和 78 枚ETH 来提供交易流动性,同时获得 UniswapV2 上自动生成的 UNI_V2 LP 凭证。UNI_V2 LP 凭证是流动性提供者(LP)在 UniswapV2 上提供流动性并提取相应资产的唯一质押凭证。此时攻击者剩余 20,871 枚ETH(包含交易手续费); 

在 UniswapV2 中抵押 107,000 枚CHEESE 和 78 枚ETH 提供交易流动性

据悉,Cheese Bank 于今年10月推出借贷协议 2.0 版本,2.0 版本支持创新的流动性凭证(LP Tokens)抵押借贷功能。攻击者在上一步获取 UNI_V2 LP 凭证,有利于他接下来在 Cheese Bank 上贷出其他加密资产。

攻击者进一步把所获取的抵押品 UNI_V2 LP 凭证转换为 sUSD_V2 凭证,这一步有利于攻击者以 UNI_V2 LP 凭证作为抵押品在 Cheese Bank 上贷出稳定币; 

把所获取的抵押品 UNI_V2 LP 凭证转换为 sUSD_V2 凭证

随后,攻击者在 UniswapV2 中将 20,000 枚ETH 兑换为 288,000 枚CHEESE,这一步会影响 UniswapV2 上 CHEESE 池子的平衡,进而抬高 CHEESE 的价格,此时 CHEESE 的单价为 0.069 ETH/枚(相较于此前 0.00047 ETH/的价格提高了145倍),攻击者剩余 871 枚ETH(包含交易手续费)。CHEESE 单价的提高能够有效地提升抵押在 Cheese Bank  UNI_V2 LP 的价值,帮助攻击者提高在 Cheese Bank 中借贷加密资产的额度。值得注意的是,Cheese Bank 以流动性矿池 UNI_V2-CHEESE-ETH 中 WETH 的数量来衡量所对应的  UNI_V2 LP 凭证的价格,攻击者通过提高 UNI_V2 LP 凭证的价格能有效地贷出更多 USDC 、USDT 、DAI  。

抬高 CHEESE 的价格

在这一步中,攻击者通过重置喂价预言机来操纵 UNI_V2 LP 凭证的价格,从下列公式可知,UNI_V2 LP 的价格受到流动池中 WETH 的数量和 UNI_V2-USDT-ETH 池中 ETH价格的影响,即 WETH*2*ETH的价格=LP总价,LP单价=LP总价/LP总供应量,当攻击者将增加池中 WETH 的数量时,UNI_V2 LP 凭证的价格也会上涨。

重置喂价预言机来操纵 UNI_V2 LP 凭证的价格

攻击者就是通过上一步,即提高 UNI_V2 LP 凭证的价格来贷出价值 330 万美元的 USDC 、 USDT 和 DAI,并顺利从 Cheese Bank 转出,将其纳入囊中,此时,他只需将所贷的 21,000 ETH 还上即可。 

据 PeckShield 统计,攻击者共计从 Cheese Bank 中贷出 2 百万枚USDC, 123 万枚USDT 和 8.7 万枚 DAI 。

从 Cheese Bank 中贷出 2 百万枚USDC 

共计 2 百万枚USDC, 123 万枚USDT 和 8.7 万枚 DAI

并将这笔攻击所获资产从 0x02b7 的地址中分批转出。

最后,攻击者在 Uniswap V2 上将 288,000 枚CHEESE 转换为 19,980 枚ETH (包含手续费),为补足所贷的 21,000 枚ETH,他将 58,000 枚 USDC 转换为 132 ETH ,再加上剩余的 871 枚ETH(包含交易手续费)归还给 dYdX 闪电贷,一切就好像没有发生过一样。

归还 dYdX 闪电贷

PeckShield  相关负责人表示:“在追踪过程中,我们发现这实际上是‘科学家’精心设计的一次攻击。在实施之前,‘科学家’演算过他所持有的 LP 凭证值正好是能把 Cheese Bank 清空的数额。”

“科学家”精心设计的攻击

在DeFi浪潮上,获利的多为“科学家”和大户,技术和资金是他们的资本,而安全才是 DeFi 项目唯一有利的防线。科学家们的薅羊毛游戏会无限进行下去,DeFi 们将如何守住最后一道防线?PeckShield 将持续紧密关注。

 

作者:PeckShield;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

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

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

分享到:

相关推荐

    评论(0

    Oh! no

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

    分享到微信