20230827 Balancer攻击事件,价格操纵与精度丢失,这经典组合拳是何原因?

摘要:攻击背景介绍 2023.08.27(没错是 2023 不是 2025),Balancer V2 的稳定币池遭到了黑客攻击,导致多条链上价值约 368k 美元的资产被盗。黑客利用 rounding down(精度丢失)问题操纵 bb-a-US
攻击背景介绍 2023.08.27(没错是 2023 不是 2025),Balancer V2 的稳定币池遭到了黑客攻击,导致多条链上价值约 368k 美元的资产被盗。黑客利用 rounding down(精度丢失)问题操纵 bb-a-USDC 的价格,从稳定币池中兑换出大量资产。 攻击交易之一:https://app.blocksec.com/explorer/tx/eth/0x2a027c8b915c3737942f512fc5d26fd15752d0332353b3059de771a35a606c2d 相关合约: Vault:https://etherscan.io/address/0xba12222222228d8ba445958a75a0704d566bf2c8 bb-a-USDC:https://etherscan.io/address/0x9210F1204b5a24742Eba12f710636D76240dF3d0 bb-a-USD:https://etherscan.io/address/0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb2 项目背景介绍 Balancer 是一个基于以太坊的去中心化自动做市商 (AMM) 协议,能够集成任意数量的互换曲线和资金池类型。 本次攻击发生在 Balancer V2 ,涉及两种 Pool: Balancer Pool Token(BPT):https://docs.balancer.fi/concepts/core-concepts/balancer-pool-tokens.html Linear Pools:https://docs-v2.balancer.fi/concepts/pools/linear.html Stable Pools:https://docs-v2.balancer.fi/concepts/pools/composable-stable.html BPT BPT 代表 Balancer Pool 的代币份额。当用户向 Balancer 池存入代币增加流动性时,会收到流动性池中所占 share 的 BPT。 Linear Pools Linear Pools 适用于某种代币及其已知(计算或查询得到的)汇率的收益代币之间的兑换。例如,Aave 的DAI和aDAI。为了激励用户维护池子保持一定比例的原生代币与收益代币,Linear Pools 设有目标范围,采用费用/奖励机制来激励套利者维持两种代币之间的理想比例(超出目标范围需支付费用,回到目标范围可获得奖励)。线性池的另一个关键特性是允许用户直接交易 BPT,无需加入或退出。 在本次攻击中的价格操纵环节涉及了一个由 USDC 和 Wrapped aUSDC 组成的 Linear Pool,这个池子的 BPT 为 bb-a-USDC。攻击者通过精度丢失问题操控并抬高 bb-a-USDC 的价格。 https://etherscan.io/address/0x9210F1204b5a24742Eba12f710636D76240dF3d0 Stable Pools Stable Pools 专为接近等价或已知汇率的资产而设计,通过定制的 swap 逻辑,可以大幅提高同类资产互换和相关资产互换的资本效率。 以接近 1:1 的比例进行兑换的代币:例如两种相同货币的稳定币(例如:DAI、USDC、USDT),或合成资产(例如:renBTC、sBTC、WBTC)。 在本次攻击中涉及了一个由 [bb-a-USDT, bb-a-DAI, bb-a-USDC] 三种 BPT 组成的 Stable Pool,这个池子的 BPT 为 bb-a-USD。攻击者在抬高 bb-a-USDC 的价格后,利用 bb-a-USDC 兑换出超额的 bb-a-USDT 和 bb-a-DAI 完成获利。 https://etherscan.io/address/0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb2 Trace 分析 攻击者通过 AAVE V3 闪电贷借出大量 USDC,然后在回调函数中通过 Balancer: Vault.batchSwap 进行攻击获利。最后归还闪电贷并转移资金。 重点分析 Balancer: Vault.batchSwap 中的操作,主要由 7 个 onSwap 操作和 repay 操作组成。
阅读全文