首页>财经 > 正文
业务逻辑漏洞+闪电贷攻击:Euler Finance被攻击事件分析-全球要闻
来源: SharkTeam 发布于:2023-03-15 15:41:38

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用于准备接下来的攻击。同时,攻击者部署了两个合约:被清算者(0xB324581E)和清算者(0xD041709e)。

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

(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。

(4)攻击者(0xB2698C2D)使用repay函数将借款剩下的1/3(1,000枚)WBTC偿还Euler的部分债务。攻击者向Euler发送1,000枚WBTC,并且销毁0.0000001 dWBTC。此时,该地址总计有20,728 eWBTC和0.000001 dWBTC。

(5)攻击者(0xB2698C2D)重复步骤3的mint方式,(0xB324581E)地址中再次从Euler中获得19,753 eWBTC和0.000002 dWBTC。此时,该地址总计有40,481 eWBTC和0.0000039 dWBTC。eWBTC价值大于dWBTC,在健康值范围内。

(6)攻击者(0xB2698C2D)利用donateToReserves函数进行捐赠被清算者(0xB324581E)地址中的10,000枚eWBTC。此时,该地址总计有30,481 eWBTC和0.0000039 dWBTC。eWBTC价值小于dWBTC,不在健康值范围内。

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

(8)攻击者(0xB2698C2D)提取3,849枚WBTC,归还闪电贷。剩余849枚WBTC通过[Uniswap V3: WBTC].swap兑换了11,559枚以太币。

漏洞分析:

(1)在抵押借贷协议中,涉及资产凭证代币转账都需要检查健康因子,保证协议不会出现坏账。在Euler合约中,负责检查健康因子的函数是checkLiquidity。

(2)在mint、transferFrom函数中都有对健康因子进行检查,但是在donateToReserves函数中,没有对健康因子进行检查。如果正常坏账,资金最终也是流向Euler。但是,结合闪电贷借款时创建两个合约和两次mint,并且捐献自己的资产凭证给Euler这些操作来看。在攻击者资不抵债时,既是被清算者也是清算者,即自己清算自己。

事件总结:本次事件涉及多个攻击交易,每个交易涉及不同的池。但是,根本原因是项目方添加donateToReserves业务逻辑函数时,没有详细去考虑业务逻辑严谨性。导致添加逻辑函数后,多种业务逻辑交织,出现业务逻辑校验漏洞。

二、安全建议

针对本次事件,我们在开发智能合约时应当注意以下事项:

(1)添加新的业务逻辑功能时,应考虑整个业务逻辑的严谨性;

(2)项目上线前,需要向第三方专业的审计团队寻求技术帮助。

About Us

SharkTeam的愿景是全面保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立长期合作关系。

Twitter:https://twitter.com/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

Telegram:https://t.me/sharkteamorg

更多区块链安全咨询与分析,点击下方链接查看

D查查|链上风险核查https://app.chainaegis.com

关键词:

猜你喜欢

  • 业务逻辑漏洞+闪电贷攻击:Euler Finance被攻击事件分析-全球要闻
  • GPT-4震撼发布,有哪些变化?
  • 照拂新车主,不负老车主,哪吒S限时优惠+90天保价政策来了!
  • MakerDAO投票限制市场紧急情况下的DAI波动性,允许将单个抵押品的债务上限设置为零-环球时讯
  • 以太坊Goerli测试网激活Shapella升级,仍有验证节点尚未升级-消息
  • X2Y2对NFT贷款和再融资收取管理费-全球消息
  • 加密钱包基础设施初创公司Capsule完成一轮融资,a16z和Geometry共同领投-每日速递
  • Lido V2版本预计将于5月中旬进行主网升级-世界快消息
  • OpenAI发布GPT-4,压力来到谷歌百度这边
  • 消息称阿联酋 G42 收购字节跳动部分私募市场股份,后者目前估值已达 2200 亿美元-环球今日报
  • 工信部:开展5G网络运行安全能力提升专项行动
  • 华硕在印推出新款ZenBook笔记本电脑:可选锐龙5 7530U/7 7730U
  • 官宣,联想拯救者春季发布会定档3.21-快资讯
  • 谁能和特斯拉正面交锋?资深人士:小米汽车或许可以-世界微头条
  • 尼康 Z8 机身尺寸被曝与 D850 相机相近,有望在近期发布
  • 《科学》研究绘制首个昆虫大脑图谱,离人类又近一步-环球通讯
  • ChatGPT大升级,直接能考上哈佛,抢先体验后我慌了
  • 如何让睫毛变长变密一点_如何让睫毛变长变密
  • 创通联达发布三款全新模组 为多领域智能设备开发赋能-环球热议
  • 网红美容仪是美丽密码还是智商税?业内人士:效果大都是自己在鼓吹-天天实时