首页 > 热点新闻 > 业务逻辑漏洞+闪电贷攻击:Euler Finance被攻击事件分析
SharkTeam  

业务逻辑漏洞+闪电贷攻击:Euler Finance被攻击事件分析

摘要:3月13日,Ethereum 链上项目 Euler Finance遭到闪电贷攻击,攻击者已获利近2亿美元。

3月13日,Ethereum 链上项目 Euler Finance遭受闪电贷攻击,攻击者已盈利近2亿美金。

SharkTeam对于此事事情第一时间展开了技术指标分析,并归纳了安全防护方式,期待后面新项目能够以此为戒,共铸区块链行业安全屏障。

一、事件分析

攻击者地址:

0x5F259D0b76665c337c6104145894F4D1D2758B8c(MEV Bot)

0xB2698C2D99aD2c302a95A8DB26B08D17a77cedd4

0xb66cd966670d962C227B3EABA30a872DbFb995db

攻击者合约:

0xeBC29199C817Dc47BA12E3F86102564D640CBf99(tx: 0xc310a0af)

0x036cec1a199234fC02f72d29e596a09440825f1C

攻击买卖:

0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d

0x71a908be0bef6174bccc3d493becdfd28395d78898e355d451cb52f7bac38617

0x62bd3d31a7b75c098ccf28bc4d4af8c4a191b4b9e451fab4232258079e8b18c4

0x465a6780145f1efe3ab52f94c006065575712d2003d83d85481f3d110ed131d9

0x3097830e9921e4063d334acb82f6a79374f76f0b1a8f857e89b89bc58df1f311

0x47ac3527d02e6b9631c77fad1cdee7bfa77a8a7bfd4880dccbda5146ace4088f

攻击步骤:

此次事情有多次攻击买卖,这种买卖都运用了同一个合约系统漏洞开展攻击。对于此事,我们在选择其中一个池买卖。下面会让攻击者合约(0x036cec1a),攻击买卖(0x71a908be)展开分析攻击步骤。

(1)最先,攻击者(0xB2698C2D)从AAVE借走3,000枚WBTC用以提前准备接下来攻击。与此同时,攻击者启动了2个合约:被清算者(0xB324581E)和清算者(0xD041709e)。

image.png

(2)攻击者(0xB2698C2D)向Euler存进所借2/3(2,000枚)WBTC,得到约1,975枚eWBTC。

image.png

(3)攻击者(0xB2698C2D)根据mint函数开展10倍贷款存进被清算者(0xB324581E)地址中。这时,该地址从Euler中获取19,753 eWBTC和0.000002 dWBTC(这里涉及到dToken的精度难题,可以视为使用价值为20,000枚eWBTC,WBTC是8位精度,dWBTC对外开放通用性18位精度,实际上是27位精度)。这时,该地址总计有21,728 eWBTC和0.000002 dWBTC。

image.png

(4)攻击者(0xB2698C2D)应用repay函数公式将贷款剩下来的1/3(1,000枚)WBTC还款Euler的那一部分负债。攻击者向Euler推送1,000枚WBTC,而且消毁0.0000001 dWBTC。这时,该地址总计有20,728 eWBTC和0.000001 dWBTC。

image.png

(5)攻击者(0xB2698C2D)反复流程3的mint方法,(0xB324581E)地址中再度从Euler中获取19,753 eWBTC和0.000002 dWBTC。这时,该地址总计有40,481 eWBTC和0.0000039 dWBTC。eWBTC使用价值超过dWBTC,在健康值范围之内。

image.png

(6)攻击者(0xB2698C2D)运用donateToReserves函数公式开展捐助被清算者(0xB324581E)地址里的10,000枚eWBTC。这时,该地址总计有30,481 eWBTC和0.0000039 dWBTC。eWBTC使用价值低于dWBTC,没有在健康值范围之内。

image.png

(7)清算者(0xD041709e)启用liquidate函数清算0xB324581E地址,而且从被清算者(0xB324581E)地址中获取约3,849枚WBTC。

image.png

(8)攻击者(0xB2698C2D)获取3,849枚WBTC,偿还闪电贷。剩下849枚WBTC根据[Uniswap V3: WBTC].swap换取了11,559枚以太坊

漏洞分析:

(1)在抵押借贷合同中,涉及到财产凭据货币转帐都要查验身心健康因素,保证协议不会有坏账损失。在Euler合约中,承担查验身心健康因子的函数是checkLiquidity。

image.png

(2)在mint、transferFrom函数中都是有对身体健康因素开展安全检查,但在donateToReserves函数中,并没有对身体健康因素开展安全检查。假如正常的坏账损失,资产最后都是流入Euler。可是,融合闪电贷借款时建立2个合约和2次mint,而且捐赠自身的财产凭据给Euler这种实际操作来说。在攻击者资金链断裂时,既被清算者也是清算者,即自身清算自己。

image.png

事情汇总:此次事情涉及到好几个攻击买卖,每一个买卖涉及到不同类型的池。可是,根源在于项目方加上donateToReserves业务流程逻辑运算时,并没有详尽来考虑领域模型精确性。造成加上逻辑运算后,多种多样领域模型交错,发生领域模型校检系统漏洞。

二、安全建议

对于此次事情,大家在研发智能化合约时应注意以下事项:

(1)       加上新的业务逻辑功能时,应注意全部领域模型的精确性;

(2)项目上线前,应当向第三方更专业的财务审计精英团队寻找技术性协助。

About Us

SharkTeam的愿景是全方位维护Web3全球的安全性。精英团队由来自全国各地的资深的安全性专业人员高级科学研究人员构成,熟练区块链智能合约的底层基础理论,提供专业的智能化合约财务审计、链上剖析、应急处置等业务。已经与区块链生态体系各行各业的重要参加者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立长期合作伙伴关系。

image.png

Twitter:https://twitter.com/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

Telegram:https://t.me/sharkteamorg

大量区块链安全咨询和分析,点击进入连接查询

D查下|链上风险性审查https://app.chainaegis.com

转载:驼鸟区块链

Tags:
免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:msy2134。