TRU:复盘Euler Finance 2亿美元被盗案的来龙去脉 本次事件带给我们哪些启示?_Grayscale Bitcoin Trust tokenized stock FTX

2023年3月13日,据区块链安全审计公司Beosin旗下BeosinEagleEye安全风险监控、预警与阻断平台监测显示,DeFi借贷协议EulerFinance遭到攻击,损失约1.97亿美元。

我们已于昨晚将简析分享出来:1.97亿美元大劫案如何发生?Beosin关于EulerFinance事件的简析

今天,我们再次将事件复盘,带大家了解本次事件的来龙去脉。

首先我们需要知道本次事件的“受害者”EulerFinance是谁?

根据相关资料,早在2020年6月,Euler便荣获了由EncodeClub举办的Spark高校黑客马拉松在线竞赛的第一名。

Euler最初是一个建立于Aave、Compound等借贷协议基础之上的协议,它允许用户为任何ERC-20Token创建自己的借贷市场,同时还提供Reactive利率模型以减少治理干预。

据了解,其能够实现为长尾市场资产提供借贷功能的最主要原因是,Euler引入了时间加权平均价格这一被UniswapV3所使用的构建块。

2021年8月,Euler获得由Paradigm领投800万美元的A轮融资,其他参投方包含Lemniscap及来自区块链知名项目的个人投资者。

在官网上,Euler也展示着他们拥有6家安全公司审计,均未发现关键漏洞,那他们这次是如何被本次这位攻击者打穿防线的呢?

Certik复盘Yearn闪电贷攻击:黑客完成5次DAI与USDT从3crv中存取操作后偿还闪电贷:Certik发布文章,复盘Yearn闪电贷攻击。黑客操作的具体操作如下:

1.利用闪电贷筹措攻击所需初始资金。

2.利用 Yearn.Finance 合约中漏洞,反复将 DAI 与 USDT 从 3crv 中存入和取出操作,目的是获得更多的3Crv代币。这些代币在随后的3笔转换代币交易中转换为了USDT与DAI稳定币。

3.完成5次重复的DAI 与 USDT 从 3crv 中存取操作后,偿还闪电贷。[2021/2/5 18:57:51]

接下来,我们看一下黑客是如何操作的,以其中一笔交易为例:

攻击事件相关信息

项目地址:

0x27182842e098f60e3d576794a5bffb0777e025d3

攻击交易:

https://etherscan.io/tx/0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d

万卉复盘Yam事件:反馈周期将是未来线上治理的关键参数:8月13日消息,Primitive Ventures创始合伙人万卉在微博复盘Yam事件,她提到反馈周期将是未来线上治理的关键参数,此外,项目方不应通过软性贿赂影响博弈结构。万卉还表示,在沟通过程中没有把复杂的信息做到社区可以消化的转述(这个确实很难,但是未来的社区治理要吸取经验教训),并且合约写死的时间线过于紧凑,导致出事没有足够的协调时间,这个当年在312的时候MAKER拍卖也发生过,当时也是时间太紧张导致流拍。这个反馈周期是未来线上治理一个很关键的参数,不能太短,也不能太长。

在号召投票的时候,不应该通过“软性贿赂”来影响博弈结果。譬如为了获取足够的票仓,来进行投票奖励。这个会影响理性的判断,特别是对于信息有限的社区成员,可能会带来负外部性。[2020/8/13]

https://etherscan.io/tx/0x47ac3527d02e6b9631c77fad1cdee7bfa77a8a7bfd4880dccbda5146ace4088f

https://etherscan.io/tx/0x71a908be0bef6174bccc3d493becdfd28395d78898e355d451cb52f7bac38617

https://etherscan.io/tx/0x62bd3d31a7b75c098ccf28bc4d4af8c4a191b4b9e451fab4232258079e8b18c4

复盘:两条趋势线突破均有主力买入成交确认:AICoin PRO版K线主力成交数据显示:23日20:35~23日21:35,比特币价格运行至4月19~23日四小时周期的下降趋势线(7305-7189)以及4月7日~23日四小时周期的下降趋势线(7475-7189)附近,并分别于20:35和21:35完成突破。

20:35第一条趋势线突破,突破前后,有4笔,共计950万美元主力买入成交;21:35第二条趋势线突破,突破前后,有7笔,共计1003万美元的主力买入成交。主力大单的迅速跟进确认了两条下降趋势线的突破。

随后,不断有大买单跟进说明了趋势还在持续,直到22:25分出现一笔500万美元的大卖单,趋势告一段落。[2020/4/24]

https://etherscan.io/tx/0x465a6780145f1efe3ab52f94c006065575712d2003d83d85481f3d110ed131d9

https://etherscan.io/tx/0x3097830e9921e4063d334acb82f6a79374f76f0b1a8f857e89b89bc58df1f311

攻击者地址:

0x5f259d0b76665c337c6104145894f4d1d2758b8c

0xb2698c2d99ad2c302a95a8db26b08d17a77cedd4

复盘:又是币安主力先动的手,现货遭大量抛售:AICoin PRO版K线主力成交数据显示:过去24小时,比特币价格从6900美元上方跌至最低6468美元。其中,币安BTC现货在15日18:30分率先出现主力卖出大单成交。18:20~20:20间,共计有16笔,899.51枚BTC大单卖出成交; 随后,火币BTC现货开始挂起卖出委单,15日19:40--16日00:15,共有3笔,挂卖量2113.82枚BTC的大额委托卖单出现并成交2131.97BTC。 今晨05:45-09:05的第二次下挫中,同样是币安率先出现主力卖出大单成交,共计有21笔,1666.8枚BTC。 请密切留意币安及火币的主力动向。[2020/4/16]

攻击过程复盘

1.攻击者利用闪电贷借出了3000万DAI,并创建了两个攻击合约。其中,0x583是借贷合约,0xA03是清算合约。攻击者将3000万DAI转入借贷合约。

2.攻击者质押了2000万DAI,获得了19,568,124个eDAI的抵押。

复盘:主力开空均价6823美元:AICoin PRO版K线主力大单统计显示,4月11-12日,OKEx BTC季度合约上有14笔,总成交5148.58万美元的委托大卖单成交,结合AI-PD-持仓差值,这一过程持仓量增加明显,可判断为主力开空,开空均价6823.56美元。火币BTC季度合约在这个位置附近同样有2500多万美元的主力开空单。[2020/4/13]

3.攻击者接着调用mint函数利用这19,568,124个eDAI借贷195,681,243个eDAI和200,000,000个dDAI(债务资产)。

4.攻击者接着将剩余的1000万DAI使用repay函数进行了质押,再次利用mint函数借贷了195,681,243个eDAI和200,000,000个dDAI。

5.攻击者后续进行了donateToReserves操作,将一亿个eDAI进行了销毁,使得eDAI小于了dDAI,满足了清算条件。

6.清算合约对借贷合约进行了清算。

7.攻击者将Euler合约中的3890万DAI提取出来,并将3000万个DAI归还给了AAVE。最终获利约890万DAI。

漏洞分析

在本次攻击中,Etoken合约的donateToReserves函数未对用户实际持有的代币数量和捐赠之后用户的账本的健康状态进行检查,导致攻击者可以捐赠1亿个eDAI。捐赠之后,用户的账本健康状态符合清算条件,导致借贷合约被清算。借贷合约会将eDAI和dDAI转移到清算合约,然后进行清算。由于坏账额度异常巨大,清算合约会应用最大折扣进行清算,导致清算合约清算后之后有310.93M个eDAI和259.31M个dDAI。此时,用户已恢复健康,可以提取资金,可提取的金额是eDAI和dDAI的差值。但由于池子中仅有3890万DAI,因此只有该金额可以被提取。总体而言,攻击的根本原因在于Etoken合约未对用户实际持有的代币数量和捐赠之后用户的账本的健康状态进行正确的检查,这为攻击者提供了机会。

资金流向

截至发稿前,8080.98个ETH存放在0xb2698c2d99ad2c302a95a8db26b08d17a77cedd4地址中。

我们继续用BeosinKYT虚拟资产反合规和分析平台发现,88,651.70个ETH和43063733.27个DAI存放在0xb66cd966670d962C227B3EABA30a872DbFb995db地址中。

只有少部分转移到TornadoCash。

Beosin安全团队统计发现本次事件被盗资金约为34,224,863.42个USDC和849.14个WBTC和85818.26个stETH和8,877,507.35个DAI。BeosinKYT将持续对被盗资金进行监控。

扩展阅读:BeosinKYT,一个满足您所有AML需求的“链上专家”

受Euler影响的协议有哪些?

在攻击事件发生后,据0xScopeProtocol监测,部分项目及巨鲸地址在EulerFinance被攻击事件中遭到了波及,其中AngleProtocol在Euler中有1760万美元USDC;IdleDAO在Euler中有460万美元USDC;SwissBorg在Euler中存入了6357枚以太坊和170万枚USDT,攻击事件发生后,SwissBorg迅速借出了4752枚cbETH以减少损失,但仍滞留了约426万美元资产;0x28a5开头巨鲸地址与czsamsun.eth分别在协议中滞留了400万美元和274万美元资产。

紧接着,固定利率借贷协议YieldProtocol在官网上表示,由于EulerFinance安全事件影响,将在完全评估事件影响之前暂停在以太坊上通过UI与YieldProtocol的交互。

收益聚合器Yearn发推表示,虽然没有直接暴露于Euler被攻击事件,但一些Yearn金库间接暴露于黑客攻击。

3月14日,DeFi协议IdleFinance发推称,经过调查,EulerFinance事件对协议YieldTranches策略的敞口涉及约535万美元稳定币及320枚ETH,BestYield策略的敞口涉及480万美元稳定币和313枚ETH。此外IdleFinance强调实际影响将取决于Euler团队采取的行动和可能采取的缓解措施,以上数字并非实际回撤,而是锁定在Euler的实际数字。

可见本次攻击事件带来的影响依然还在持续。

本次事件带给我们哪些启示?

针对本次事件,Beosin安全团队建议:1.在开发智能合约时,应注意后续新增功能是否对前面逻辑造成影响。2.在开发智能合约时,应注意对资产的检查。3.项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。

由本次事件,可以看到2023年全球Web3安全形势依然严峻,要真正程度上抑制黑客的猖獗活动,需要整个行业做出多方努力。

项目方做好自身安全防护非常重要,不管是合约安全,还是团队运营安全等,有一个薄弱的领域都可能让项目方造成巨大损失。对于项目方来说,需要一个解决方案能兼顾各方面的安全问题。

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

区块博客

[0:0ms0-10:931ms