Beanstalk遭到黑客攻击 7600万美元被盗

Beanstalk遭到黑客攻击 7600万美元被盗

2022 年 4 月 17 日,Beanstalk 协议由于其新引入的 Curve LP Silos 中的缺陷而遭受了闪电贷攻击,该缺陷破坏了协议的治理机制,最终允许攻击者紧急执行恶意提案以窃取项目资金.

我们将分析导致这种多步攻击展开的事件顺序。作为前言,我们想声明攻击中利用的代码**尚未经过Omniscia的审计**,因为它是在我们对系统的初始审计之外引入的。

根据最先发现这次攻击的 PeckShield的说法,总损失达到 1.82 亿美元,攻击者能够赚到大约 8000 万美元。其他损失是由于执行闪电贷款 所需的费用。

Beanstalk遭到黑客攻击 7600万美元被盗
Beanstalk遭到黑客攻击 7600万美元被盗

前提:Beanstalk Silo LP 扩展

Beanstalk 协议最近在其代码库中引入了BIP-12BIP-16,引入了对 BEAN3CRV-f 和 BEANLUSD-f LP 代币的支持,这些代币可以作为可以存入协议孤岛策略的资产。

每当向项目的一个孤岛存入一笔存款时,用户就会获得 stalk 和种子奖励的认可,并被允许参与协议的治理系统。治理系统本身实现了一种锁定机制,不允许相同数量的单元被多次投票。

作为最后一个贡献因素,治理模块包含一个“emergencyCommit”函数,它允许调用者绕过提案的通常生命周期,并在他们拥有绝对多数投票权时立即执行它。

核心缺陷:闪电贷敏感治理

导致漏洞利用显现的核心缺陷是,为项目的筒仓系统引入的两个新的 LP 资产可以通过快速贷款(因为它们代表 LP 单位)创建,并且它们的 Bean 计价价值 (BDV) 计算仍然不受影响与 Uniswap LP BDV 计算器相比,通过闪存贷款。

具体来说,BDV 计算使用 Curve 的“get_virtual_price”函数,该函数产生 LP 代币相对于标的资产的价格,但是,Curve 假设标的资产是等价的。

这种不正确的等价假设允许在闪贷期间进行等额存款,导致获得的 LP 评估大大高于 Uniswap LP 对中的评估。

促成因素:可升级模式和追溯投票

通常,系统治理模块中用于投票的资金会在提案被投票后保持锁定一段时间。Beanstalk 协议使用 Diamond EIP-2535标准,这意味着存储在协议中的各种资产将存在于单个地址中。

Beanstalk 协议通过其 Beanstalk-Improvement-Proposal (BIP) 治理机制支持协议升级,因此,升级可以执行任意代码执行,从而允许攻击者取回锁定的资金,作为其恶意更新的一部分。

Beanstalk 的投票系统设计允许对任何活动的 BIP 进行追溯投票,从而允许新生成的投票适用于历史 BIP。这允许攻击者提前提交他们的恶意BIP-18以满足紧急提交时间阈值。

执行:多协议闪贷

一旦达到恶意 BIP-18 的时间阈值,攻击者就会在大约下午 12:24 [+UTC]执行攻击。他们从 Aave V2 生态系统启动了 DAI、USDC 和 USDT 稳定币的闪电贷,从 BEAN/WETH Uniswap V2 池启动了 BEAN 的闪电贷,以及从 LUSD-OHM Sushiswap V2 启动了 LUSD 的闪电贷水池。

在接下来的步骤中,他们将他们的闪贷 DAI、USDC 和 USDT 处理为 3Crv Curve LP 单元,其中一部分输入到 LUSD3CRV-f 池中,以获取更多 LUSD 单元以用于 BEAN 计价的元池。

攻击者继续向 BEAN3CRV-f 池提供单向流动性,并向 LUSDBEAN-f 池提供双向流动性,从两个池中获取大量 LP 单位,这些 LP 单位随后被存入项目的孤岛。

一旦攻击者拥有足够的投票权,他们就会通过 Beanstalk 协议的 `emergencyCommit` 方法执行他们的恶意 BIP,并获得 3600 万个 BEAN 单元、BEAN/ETH Uniswap V2 对的 0.54~ LP 单元以及他们使用的初始 LP 代币用于投票机制。

0.54~ LP 单位因此在 Uniswap V2 对上被烧毁,总共有 10,883 WETH(3346 万美元~)和 32,511,085~ BEAN 单位现在不存在价值,因为 Uniswap V2 对已经完全清空。

攻击者将其所有资产清算为 ETH,并将 BEAN 单元锁定在其智能合约中,因为它们无法再被清算。

关键要点:安全审计限制

我们认为有必要对非技术市场参与者进行教育和告知技术审计的状态、范围和限制。我们的团队目前正在开展多项旨在揭开审计神秘面纱的计划。

展望未来,我们将确保向我们的客户强调迭代更新应始终经过全面审核,并在部署之前与Omniscia进行沟通。

Beanstalk公告

Beanstalk 于 4 月 17 日遭到攻击,导致非 Beanstalk 用户资产被盗约 7600 万美元。

Beanstalk 是一种基于去中心化信用的稳定币协议,于 4 月 17 日世界标准时间下午 12:24 左右遭到攻击,导致非 Beanstalk 用户资产被盗约 7600 万美元。肇事者使用闪电贷来利用协议的治理机制并将资金发送到他们控制的钱包。致力于 Beanstalk 的去中心化开发团队 Beanstalk Farms 正在准备一项战略,以安全地重新启动更安全的 Beanstalk 并指明前进的道路。

昨天早上,以太坊主网上的 Beanstalk 合约被 Beanstalk 治理过程中的一个先前未知的问题所利用。Beanstalk Farms 团队立即收到警报,并采取行动暂时关闭协议治理并暂停 Beanstalk。大约 7600 万美元从协议的流动资金池中被盗。此后,该团队烧毁了剥削者合同中剩余的 Bean。

自攻击以来,Beanstalk 社区对该项目表现出了难以置信的支持,并为合适的前进道路提供了许多深思熟虑的想法。Beanstalk Farms 团队考虑了这些想法,并制定了一个具有四个主要目标的提案:确保 Beanstalk 经济模式的持久成功;吸引足够的资金重启 Beanstalk;尽可能多地保留每个农民的茎、种子和豆荚的位置,以及;将新资本与之前的 Stalk 和 Pod 持有者保持一致。

关于Beanstalk

Beanstalk 是一种去中心化协议,它允许任何人实现开放的、基于信用的稳定币的价值。由贷方、借方和储户组成的 Beanstalk 社区保护协议原生稳定币 Bean,其目标是创建世界上最易于访问的数字货币系统。通过消除抵押要求,Beanstalk 旨在成为一种无需信任的解决方案的催化剂,以释放去中心化金融的普遍潜力。

后续

一条推文中,如果攻击者返还 90%,Beanstalk 将向攻击者提供 10% 的被盗资金作为漏洞赏金。

Beanstalk遭到黑客攻击 7600万美元被盗

值得注意的是,小偷似乎还向乌克兰救济基金乌克兰加密货币捐赠捐赠 了 25 万美元。

Beanstalk遭到黑客攻击 7600万美元被盗
Beanstalk遭到黑客攻击 7600万美元被盗

ESET 全球网络安全顾问 Jake Moore 评论说:“这笔令人瞠目结舌的被盗资金不仅会在经济上产生影响,而且还可能会削弱信任。” “由于极高的回报,攻击者主要针对加密金融系统,同时往往没有留下任何证据。”

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注