闪电贷攻击:风险与防范

  • hacken
  • 发布于 2025-07-10 23:17
  • 阅读 12

本文探讨了 DeFi 领域中闪电贷攻击的风险,通过真实的案例(如 Euler Finance、Cream Finance 和 bZx 受到的攻击)分析了攻击原理和造成的损失。同时,文章还提供了开发者和创业者可以采取的行动措施,以保护自己和用户免受攻击,包括使用重入保护、访问控制、第三方审计、多种预言机以及了解最新的安全实践。

更新于:2025 年 7 月 9 日

7 分钟阅读

作者:Hacken

闪电贷已成为去中心化金融 (DeFi) 生态系统中日益普及的一项功能,它为个人和企业提供了快速获取大量资金而无需抵押品的机会。借助闪电贷,借款人可以收到资金,并在单个交易区块结束时立即返还给借贷平台。

然而,轻松获得这些贷款也导致了闪电贷攻击的增加,这是一种利用漏洞的手段,恶意行为者可以利用闪电贷提供的临时流动性来操纵价格或窃取资金。这些攻击可能会对个人和 DeFi 平台造成毁灭性的后果,造成数百万美元的损失。

在本文中,我们将探讨与闪电贷攻击相关的风险,并提供开发人员和企业家可以采取的可行步骤来保护自己和用户。我们将研究闪电贷攻击的真实案例,并讨论如何通过改进的安全措施和最佳实践来预防这些攻击。

闪电贷攻击是如何运作的?

闪电贷攻击依赖于闪电贷提供的临时流动性来操纵加密货币的价格、利用 DeFi 智能合约中的漏洞或窃取协议中的资金。

要执行闪电贷攻击,攻击者通常遵循三个步骤:

  1. 借款:攻击者从 DeFi 平台借出一笔闪电贷,并在不提供任何抵押品的情况下借入大量加密货币。

  2. 操纵:攻击者利用借来的资金操纵目标加密货币的价格或利用 DeFi 智能合约中的漏洞

  3. 偿还:攻击者通常在同一交易区块内偿还闪电贷,并将借来的资金返还给借贷平台。

闪电贷攻击成功的关键是在同一交易区块内偿还贷款的能力。这使得攻击者能够利用临时流动性而无需提供任何抵押品,这使得借贷平台难以保护自己免受此类攻击。

简单的闪电贷示例

假设攻击者想要利用 DeFi 智能合约中的漏洞来窃取资金。攻击者首先从借贷平台借出 1000 ETH 的闪电贷(撰写本文时价值约 180 万美元)。然后,攻击者使用 500 ETH 购买一种在交易所 A 上被低估而在交易所 B 上被高估的加密货币。

例如,假设加密货币 XYZ 在交易所 A 上被低估,其交易价格为 1 ETH = 10 XYZ,而在交易所 B 上被高估,其交易价格为 1 ETH = 12 XYZ。攻击者使用 500 ETH 在被低估的交易所 A 上购买 5000 XYZ,然后立即以 600 ETH 的价格在被高估的交易所 B 上出售 5000 XYZ。

现在攻击者有 1100 ETH:原始的 500 ETH 加上套利交易的 600 ETH 利润。攻击者偿还 1000 ETH 的闪电贷,加上任何费用和利息,并保留剩余的 100 ETH 利润。

这是一个闪电贷套利攻击的例子。此攻击利用不同交易所之间的价格差异来产生利润。套利本质上不是恶意的;许多交易者出于合法目的使用闪电贷。但是,当通过加剧 DeFi 智能合约中的漏洞来窃取协议中的资金时,它就变得恶意了。

闪电贷攻击类型

值得注意的是,这只是一个例子。现实世界中的闪电贷攻击可能采取许多不同的形式,具体取决于所使用的特定漏洞或操纵策略。

价格操纵:攻击者可以使用闪电贷通过人为地抬高或降低其价值来操纵加密货币的价格。这可能会给根据操纵后的价格下订单的交易者造成重大损失。

套利:攻击者可以使用闪电贷来执行套利交易,从而利用单独的去中心化交易所 (DEX) 之间的价格差异。虽然这种攻击不一定是恶意的,但它仍然可能给合法交易者造成损失。

智能合约漏洞利用:攻击者可以使用闪电贷来利用 DeFi 智能合约中的漏洞,例如重入漏洞或整数溢出错误。这可能使他们能够从协议中窃取资金或执行其他攻击。

必须强调的是,在大多数情况下,闪电贷本身并不是漏洞。攻击者利用它们快速获得大量资金,这可能因此对受影响的系统造成重大改变。

闪电贷攻击的真实案例

Euler Finance:1.97 亿美元(2023 年 3 月)

这是最新且同时也是最大的黑客攻击之一。 黑客利用了平台本身内部费率计算中的错误。

漏洞解释: Euler Finance平台用户使用两种主要类型的代币进行借贷:eToken(代表抵押品)和dToken(代表债务)。 黑客利用了该平台的 eToken 功能中的缺陷,该缺陷导致借入资产到抵押资产的转换不正确。黑客涉及两个主要的链上实体:一个抢先交易机器人和他们的个人钱包。他们从受制裁的混合器 Tornado Cash 获得初始资金,用于支付gas费和创建必要的合约。

攻击解释: 黑客从 DeFi 协议 Aave 借走了约 3000 万美元 DAI 的闪电贷。他们将 2000 万美元的 DAI 存入 Euler 的平台,并收到了类似数量的 eDAI 代币。通过利用该平台的借贷能力,黑客借入了原始存款金额的 10 倍。他们使用剩余的 1000 万美元 DAI 来偿还部分已获得的债务,并继续借款,直到闪电贷被关闭。

结论: 由于此次攻击,Euler 损失了约 1.97 亿美元的加密货币,其中包括 DAI、wBTC、stETH 和 USDC。 Euler 的原生代币 EUL 也下跌了超过 45%。

附注: 攻击发生后不久,黑客将资金返还给了平台。

Cream Finance:1.3 亿美元(2021 年 10 月)

2021 年 10 月,CREAM Finance 遭受了历史上规模最大的 DeFi 黑客攻击之一,损失超过 1.3 亿美元。

漏洞解释: 本次攻击中利用的漏洞与 CREAM 的 yUSDVault 有关。攻击者的目标是铸造大量 crYUSD 代币,并利用金库中的缺陷使这些股份的感知价值翻倍。

攻击解释: 在攻击期间,两个帐户从 MakerDAO 和 AAVE 借出了闪电贷。来自 MakerDAO 的 DAI 被存入 Curve 的 yPool 以创建 yDAI,后者被用于铸造 yUSD。来自 AAVE 的 ETH 充当抵押品,用于借入额外的 yUSD。第二个地址将大约 5 亿美元的 yUSDVault 代币转账到第一个地址。

第一个地址多次重复此过程,积累了大约 15 亿美元的 crYUSD 和 5 亿美元的 yUSDVault。攻击者赎回了 5 亿美元的 yUSDVault 以换取 yUSD,从而将金库中 yUSDVault 代币的总供应量减少到约 800 万美元。然后,攻击者将大约 800 万美元的 yUSD 存入金库,从而有效地使其整体价值翻倍。

CREAM 的 yUSDVault 的 PriceOracleProxy 通过将金库的总价值除以 yUSDVault 代币的总供应量来确定它们的价值。通过将 yUSDVault 的总供应量减少到约 800 万美元,并将 800 万美元的 yUSD 存入金库,攻击者实际上使 yUSDVault 股份(crYUSD)的感知价值翻倍。

结论: 第一个攻击者地址拥有价值 15 亿美元的 crYUSD,现在金库对其估值为 30 亿美元。攻击者使用 20 亿美元和之前提取的 5 亿美元来偿还他们的闪电贷。剩余的价值 10 亿美元的 crYUSD 允许攻击者耗尽 CREAM 中可用的 1.3 亿美元资产。

bZx:100 万美元(2021 年 11 月)

这次黑客攻击非常复杂,涉及两次截然不同的攻击。在定位到第一个漏洞后,黑客迅速使用了另一种方法执行了第二次攻击。

漏洞解释: 第一次攻击中的核心漏洞是 BZx 依赖单一的预言机来确定价格,这使得攻击者能够使用闪电贷来操纵抵押品池。在第二次攻击中,漏洞是 BZx 使用 Uniswap 现货价格作为预言机,该价格被操纵以抬高抵押品的价值。

攻击解释: 在第一次攻击中,黑客通过闪电贷借入了 1000 万美元的 ETH,并使用它通过在 ETH-wBTC 交易对上做空 5 倍来操纵抵押品池,从而导致了巨大的滑点。在第二次攻击中,攻击者使用闪电贷将 Uniswap Synthetix USD 价格抬高至 2 美元,然后将 sUSD 存入 BZx 作为抵押品,以借入比他们应该被允许的更多的 ETH。

结论: 这些对 BZx 的攻击暴露了该平台的漏洞,特别是其对单一预言机的依赖以及其抵押品池易受操纵的影响。这些攻击导致超过 98.5 万美元的损失,凸显了采取强有力的安全措施的必要性以及使用多个受信任的预言机进行价格确定的重要性。

如何预防闪电贷攻击?

考虑到前面的例子,我们可以编制一份保护免受闪电贷攻击的关键方法列表。

  • 使用重入保护来防止意外的合约调用。使用适当的访问控制机制,例如 OpenZeppelin 的 Ownable,来限制关键功能。使用经过良好测试的库和框架(如 OpenZeppelin)进行合约开发。
  • 由于这些攻击来自外部智能合约,因此验证允许利用闪电贷功能的地址是明智之举。确保外部合约调用是真实和安全的,并且仅限于与受信任的合约交互。
  • 采用全面的第三方智能合约审计和验证始终是一种有价值的安全措施。进行全面测试以识别潜在漏洞,并与信誉良好的审计公司合作审查你的合约。
  • 使用各种预言机获取最准确和安全的价格信息,考虑到某些预言机可能容易受到攻击。实施时间加权平均价格 (TWAP) 机制以最大程度地减少与价格操纵相关的风险。
  • 定期审查并及时了解 DeFi 安全最佳实践和漏洞报告。

最后想法

闪电贷攻击是对 DeFi 协议的重大威胁,因为它们可能允许攻击者利用智能合约中的漏洞并窃取资金。但是,通过实施诸如重入保护、访问控制机制和第三方审计之类的最佳实践,开发人员和企业家可以降低盗窃风险。

同样重要的是及时了解最新的安全最佳实践和漏洞报告,因为 DeFi 格局在不断发展。通过保持警惕并主动解决潜在威胁,我们可以帮助为每个人构建一个更安全和更可靠的去中心化金融系统。

  • 原文链接: hacken.io/discover/flash...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
hacken
hacken
江湖只有他的大名,没有他的介绍。