智能合约漏洞案例,Euler Finance 1.96 亿美元闪电贷漏洞分析

智能合约漏洞案例,Euler Finance 1.96 亿美元闪电贷漏洞分析

2023 年 3 月 13 日上午 08:56:35 +UTC,DeFi 借贷协议 Euler Finance 遭遇闪电贷攻击。

Euler Finance 是一种作为无许可借贷协议运行的协议。其主要目标是为用户提供各种加密货币的借贷便利。这家总部位于英国的科技初创公司利用数学原理在以太坊和其他区块链网络上开发非托管协议,重点是实现高性能。
根据链上数据分析,攻击者已成功执行多笔交易,造成约 1.96 亿美元 的盗窃,成为 2023 年迄今为止最大的黑客攻击。被盗资产包括价值数百万的 DAI、USDC、Staked Ether (StETH) 和 Wrapped Bitcoin (WBTC)。

被盗资产明细如下:

详细分析

由于 Etoken 的 donateToReserves 函数中缺乏流动性检查,所以可能会发生攻击。攻击者使用不同的货币执行多次调用以产生利润,导致六种不同代币的巨额损失 1.96 亿美元。目前,资金仍留在攻击者的账户中。

攻击者地址为:https://etherscan.io/address/0xb66cd966670d962c227b3eaba30a872dbfb995db

攻击者的合约地址为:https://etherscan.io/address/0x036cec1a199234fc02f72d29e596a09440825f1c

其中一项攻击交易可以在这里找到:https://etherscan.io/tx/0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d

  1. 攻击者首先通过闪电贷向 Aave 借了 3000 万个 DAI,然后部署了两份合约:一份用于借贷,一份用于清算。
  2. 攻击者随后调用 deposit 函数并向 Euler 协议合约质押 2000 万个 DAI,获得 1950 万个 eDAI 作为回报。
  3. Euler Protocol 允许用户通过调用 mint 函数借入最多 10 倍于存款的资金。攻击者利用此功能借入了 1.956 亿个 eDAI 和 2 亿个 dDAI。
  4. 攻击者调用 repay 函数,用闪电贷借来剩下的 1000wDai 来偿还债务,并销毁 1000 万 dDAI。然后他们再次调用 mint 功能借入 1.956 亿个 eDAI 和 2 亿个 dDAI。
  5. 攻击者随后调用 donateToReserves 函数并捐赠了偿还债务所需金额的 10 倍,发送了 1 亿个 eDAI。然后他们调用 liquidate 函数启动清算过程,获得了 3.1 亿个 dDAI 和 2.5 亿个 eDAI。
  6. 攻击者调用了 withdraw 函数,获得了 3890 万个 DAI,用来偿还闪电贷借来的 3000 万个 DAI。他们从这次攻击中获利 887 万 DAI。

核心漏洞

首先,让我们看一下 donateToReserves 函数,这是用户容易被清算的地方。

对比下图中的 donateToReserves 函数和 mint 函数,我们可以看到 donateToReserves 函数中少了一个关键步骤 checkLiquidity。

接下来,我们跟进检查了 checkLiquidity 的实现。我们发现了 Call InternalModule 函数,它调用 RiskManager 来检查并确保用户的 Etoken > Dtoken。

每次操作都需要检查用户的流动性,调用 checkLiquidity。

但是 donateToReserves 函数不执行这个操作,让用户先通过协议的某些函数让自己处于清算状态,然后完成清算。

关于攻击的官方更新

Euler Finance 已在其官方推特(@eulerfinance)上确认了此次攻击,并表示他们目前正在与安全专业人员和执法部门合作解决该问题。

Euler Finance 最近更新了他们为协议用户收回资金的努力。他们概述了自攻击发生以来他们采取的几项行动,包括通过禁用 EToken 模块来尽快停止直接攻击,该模块阻止了存款和易受攻击的捐赠功能。

此外,他们还与各种安全组织合作,例如 TRM Labs、Chainalysis 和更广泛的以太坊安全社区,以协助调查和追回资金。Euler Finance 还与美国和英国的执法部门共享信息。

最后,该公司试图联系攻击者以了解更多有关潜在恢复选项的信息。

结论

最近针对 Euler Finance 协议的攻击凸显了实施严格安全措施的重要性,例如进行彻底审计和定期检查漏洞。

随着去中心化金融生态系统的不断发展,项目必须优先考虑用户资金的安全并采用最佳实践来降低未来类似攻击的风险。

相关推荐
华清远见成都中心几秒前
人工智能的关键技术有哪些?
人工智能
绿蕉1 分钟前
智能底盘:汽车革命的“新基石”
大数据·人工智能
GAOJ_K2 分钟前
滚珠花键的使用时长与性能保持的量化关系
大数据·人工智能·科技·自动化·制造
天一生水water5 分钟前
页岩油生产流程案例
人工智能·智慧油田
吳所畏惧10 分钟前
少走弯路:uniapp里将h5链接打包为apk,并设置顶/底部安全区域自动填充显示,阻止webview默认全屏化
android·安全·uni-app·json·html5·webview·js
Yeliang Wu12 分钟前
算力自由:用K8s和Ollama打造你的专属AI基础设施
人工智能·容器·kubernetes
*星星之火*17 分钟前
【大白话 AI 答疑】第6篇 大模型指令微调:instruction/input/output核心解析及案例
服务器·前端·人工智能
元智启18 分钟前
企业级AI智能体开发:从概念到落地的关键技术实践
人工智能
AI指北20 分钟前
每周AI看 | 亚马逊推出AI产品矩阵、网易云商客服Agent项目收录至《2025年中国数字服务产业发展白皮书》
人工智能·ai·ai agent·ai热点
skywalk816331 分钟前
GLM-edge-1.5B-chat 一个特别的cpu可以推理的小型llm模型
人工智能·ollama·llama.cpp