一、事件概览
北京时间2021年2月5日,舆情监测到,DeFi知名项目YearnFinance发生闪电贷攻击事件。
简言之,本次攻击事件的具体手法为攻击者利用闪电贷借取巨额资金,而后进行循环套利。根据成都链安安全团队的响应和分析,本次攻击事件的合约为yValut+CurvePool。
二、事件分析
Coinbase向12.5万用户发送错误邮件,导致出现大规模恐慌:8月31日消息,美国领先的加密货币交易所Coinbase上周末错误地向用户发送电子邮件,指出他们的双因素身份验证(2FA)设置已更改后,这让用户出现大规模恐慌。据悉,8月27日,Coinbase不小心将电子邮件发送给了125,000名用户,引起了广泛的公众强烈反对。Coinbase于8月29日在Twitter上为这次事故道歉,并表示:“我们专注于在加密社区中建立信任和安全,以便我们都想要的开放金融体系成为现实。我们认识到,像这样的问题会损害这种信任。”(Cointelegraph)[2021/8/31 22:49:02]
1.攻击者在yVault合约中存入DAI,并调用earn触发yValut向流动性池使用DAI添加流动性,如下图所示:
12.5万枚ETH在未知钱包间转移,价值约3.3亿美元:据Whale Alert数据,北京时间5月20日16:50:02,125,423枚ETH(约3.3亿美元)从未知钱包转移到了未知钱包,交易哈希为46d45eb64462754f043254b50abd5963d52249b77daff6cce5f2db922956bd1e。[2021/5/20 22:25:29]
行情 | ETH 1小时涨幅超过2.50%:据Bitfinex数据显示,ETH 现报价163.27美元,1小时内涨幅超过2.50%,波动较大,请做好风险控制[2018/12/24]
上图红框显示,在进行铸币时,需要读取合约中的DAI余量,但因为策略合约中的DAI已经抵押至curve合约进行盈利,所以要计算DAI代币的量,只能通过价值换算,计算出所持有的Curve代币能够兑换的DAI的量。
2.攻击者利用借来的资金向流动性池使用USDT添加流动性,获得Curve代币,如下图所示:
迫于韩国当局的全方位压力有3家银行宣布不为虚拟货币交易所提供虚拟账户:韩国虚拟货币交易所将在30日开始恢复实名制,但是有3家银行决定不为虚拟货币交易所提供新的虚拟账户,另外3家表示完全没有为虚拟货币交易所提供虚拟账户的计划。新韩银行,NH农业银行及IBK企业银行表示将决定暂停提供新的虚拟账户。只有那些以前拥有虚拟货币交易账户的客户可以在30日完成确认真实姓名后使用他们现有的账户。国民银行在去年7月虚拟货币交易所中发生泄露客户信息事件之后关闭了虚拟账户。KEB韩亚银行正在考虑与全球金融公司建立自己的区块连锁网络,但并未与虚拟货币交易所签署协议。友利银行因由于更换自己的计算机网络,很难在30日之前建立真实姓名系统而决定暂时不提供虚拟账户。[2018/1/24]
这里值得注意的是,攻击者向池中注入的是单一的USDT,因为池子的特性,我们知道,当一种代币的含量上升,其相对价格也就下降。
3.攻击者取出yValut合约中存入的DAI,如下图所示:
根据#2可知,此时的池子中因为USDT的含量增加,所以DAI的相对价格是上升的,这也就导致攻击者所持有的Curve代币兑换出的DAI相对下降,池子中将会余留少量DAI。
4.攻击者指定与添加流动性时相等的USDT数量,进行流动性移除,注意这里因为#3时将一部分DAI取走,所以USDT的相对#2时价格下降,所以这里将余下一部分Curve代币.
?
不断进行上述循环,这使得攻击者消耗DAI进而获取Curve代币。
经过多次循环之后,攻击者套取了大量的Curve代币,而将DAI代币打入了Curve合约中。在整个攻击流程结束时,攻击者使用Curve代币,兑换出DAI/USDC。
这次兑换,因为不是USDT的兑换,即使此时的DAI相对攻击前含量较高,也会按照同等比例进行兑换,也就是攻击者打入Curve池子中多出的DAI代币,也会分发给攻击者。
这里,我们再来看攻击者在进行攻击时的第一步操作,如下图所示:
攻击者利用闪电贷向池子中添加了巨量的流动性,这就导致这些多出的DAI,最终将会大部分分给攻击者。
而除去这一部分损失,攻击者还获得了更多的Curve代币,从而获利。
三、安全建议
针对本次事件,成都链安安全团队认为,很大程度上源于项目方潜在的合约漏洞未得到全面的安全排查,进而导致闪电贷攻击事件的发生。
在此,成都链安需要提醒区块链各生态项目方,切不可因项目上线完成之后就掉以轻心,做好日常的安全排查和安全加固等工作,寻求第三方安全公司的力量,建立一整套的安全防护机制,防范于未然。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。