什么事三明治攻击?本次攻击又是如何发生,Beosin 安全团队第一时间对事件进行了分析,结果如下。
封面:Photo by Clint Patterson on Unsplash
2023 年 4 月 3 日,据 Beosin-Eagle Eye 态势感知平台消息,MEV 机器人遭受恶意三明治攻击,损失约 2500 万美元。
什么是三明治攻击?本次攻击又是如何发生,Beosin 安全团队第一时间对事件进行了分析,结果如下。
攻击 block:
https://etherscan.io/block/16964664
攻击者:
https://etherscan.io/address/0x3c98d617db017f51c6a73a13e80e1fe14cd1d8eb
Mev bug git link:
https://github.com/flashbots/mev-boost-relay/pull/330
Bundles analyze@samczsun:
https://twitter.com/samczsun/status/1642848556590723075?s=46&t=Ucn3vRhyG0n8a4YU2zWE0g
攻击简介:
恶意节点利用 MEV-boost-relay 相关漏洞,然后通过恶意三明治攻击价格操纵并最终获利。
MEVbot 介绍:
最大可提取价值 (MEV) 是指通过在区块中添加和排除交易并更改区块中的交易顺序,可以从区块生产中提取的超过标准区块奖励和燃料费用的最大值。
在区块链数据上运行复杂的算法来检测盈利的 MEV 机会, 有机器人自动将这些盈利交易提交到网络。
MEVbot 有许多策略,dex 中通过币价差套利,清算,NFT MEV 等等而本次攻击中涉及的三明治交易,为了实现这样的功能,MEV bot 会监视内存池内 DEX 的交易并且计算影响,抢先下单低价买入,然后在用户交易后卖出获利。最近 FlashBots 等 MEV 服务的兴起现在允许交易者创建 “三明治捆绑包”,其中所有 3 笔交易都执行,或者都不执行。与此同时,矿工交易团队也有所增加,他们将三明治包直接挖到他们的区块中。
三明治攻击(sandwich attacks)是 DeFi 里流行的抢先交易技术的一种。为了形成一个 “三明治” 交易,攻击者(或者我们叫他掠夺性交易员)会找到一个待处理的受害者交易,然后试图通过前后的交易夹击该受害者。这种策略来源于买卖资产从而操作资产价格的方法。
三明治攻击介绍:
三明治攻击(sandwich attacks)是 DeFi 里流行的抢先交易技术的一种。为了形成一个 “三明治” 交易,攻击者(或者我们叫他掠夺性交易员)会找到一个待处理的受害者交易,然后试图通过前后的交易夹击该受害者。这种策略来源于买卖资产从而操作资产价格的方法。
三明治交易的目标是利用意外受害者的滑点,同时也有许多诱饵机器人反过来利用 MEVBot 的策略,例如恶意的诱饵代币,或者转账函数中特殊的金额指定等,而本次攻击利用了 MEVBot 相关漏洞。
链下 BUG 描述:
正常情况下恶意提议者很难修改 bundles,这是因为双签惩罚,但是攻击 parent_root 和 state_root 被恶意设置为 0x00,会导致 PublishBlock 返回 error,但是由于旧版本没有对返回的 error 进行处理,从而获取已经披露的 Bundles,才导致了事件的发生,下图是 git 中对该漏洞的修复。
链上攻击流程:
1. 其中一次攻击为例,攻击者首先将目标瞄准到流动性很低的池子,并试探 MEV 机器人是否会抢跑交易。例如下图中,我们可以看到攻击者通过 0.04 WETH 试探 MEV 机器人,勾引 MEV 机器人进行抢跑套利。发现池子确实有 MEV 机器人进行监控,并且 MEV 机器人会使用其所有的资金进行套利。
2. 攻击者试探成功之后使用预先在 Uniswap V3 中兑换出来的大量代币在低流动性的 V2 池内进行兑换操作,勾引 MEV 使用全部的 WETH 进行抢跑购买不值钱的代币。然而被抢跑的交易其实才是瞄准了 MEV 的攻击交易,使用了大量的代币换出 MEV 刚刚进行抢跑的所有 WETH。
3. 这时由于 MEV 进行抢跑的 WETH 已经被攻击交易兑换出来,所以 MEV 机器人想要重新换回 WETH 的操作会执行失败。
例如
总结
一是因为攻击者利用 MEVbot 相关 Bug,这是攻击能够完成的主要原因。
二是因为 MEV 每次在低流动性池中套利仍然会使用自身所有的资金,这是攻击损失如此大的可能原因。
三是因为在 uniswap V3 中可以用少量资金获得同样的代币,而其价值在 V2 池中已经被操纵失衡,这是攻击中使用的主要手法。
部分参考:https://github.com/flashbots/mev-boost-relay/pull/330 感谢 twitter@samczsun
资金追踪:
截止发稿前,Beosin KYT 反洗钱分析平台发现目前主要被盗资金位于地址 0x3c98d617db017f51c6a73a13e80e1fe14cd1d8eb($20,051,175.47),0x5B04db6Dd290F680Ae15D1107FCC06A4763905b6($2,334,519.51),0x27bf8f099Ad1eBb2307DF1A7973026565f9C8f69($2,971,393.59)。约 2520 万美元。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。