原文:《遭遇“黑吃黑”? MEV機器人損失2500萬美元攻擊事件分析》
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:
Block 16964664: A user managed to drain five MEV bots by exploiting a bug in mev-boost-relay.
Here's the block: https://t.co/ruSz8YzAJR
Here's the user: https://t.co/VY4gpmX0L8
Here's the patch: https://t.co/TPO80i3dz5
Here's the longer explanation: pic.twitter.com/NIe2QJxNGE— samczsun (@samczsun) April 3, 2023
攻擊簡介:
惡意節點利用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萬美元。