2023 年 4 月 9 日,SushiSwap 因未經驗證的外部參數(Unverified External Parameter)成為駭客攻擊目標。總損失約為 330 萬美元。
作為以太坊上擁有龐大用戶群的領先協議,即便是此類頂級協議,在合約升級過程中仍可能引入嚴重的安全問題。這提醒了 DeFi 社群,安全性應始終放在首位。 此外,本次安全事件是由一位白帽安全研究人員嘗試救援所觸發的,在社群內引發了相當大的爭議。我們在此對該事件進行簡明扼要的介紹,並將其列為 2023 年十大安全事件之一。
背景
SushiSwap
SushiSwap 是一個著名的去中心化交易所(DEX),曾對 Uniswap 發動過「吸血鬼攻擊」並取得巨大成功。其總鎖倉量(TVL)在巔峰時期曾達到 80 億美元,目前仍維持在 4 億美元左右。
授權(Approval)
簡而言之:指允許合約訪問並轉出您錢包中特定代幣的權限。
為了方便起見,許多合約預設會要求無限額授權。許多用戶擔心安全風險,因此只往各種協議中存入少量資金,但他們卻授予了這些協議無限額的資金授權。如果某個協議遭到破壞,帳戶中所有已授權的代幣都可能面臨損失風險。
漏洞分析
未經驗證的外部參數
RouteProcessor2 合約的 processRoute() 函數允許用戶完全控制呼叫流程(參數 route)。
而在 uniswapV3SwapCallback() 中,safeTransferFrom() 的參數 from 是從用戶提供的 route 中解碼出來的。
因此,授權了 RouteProcessor2 合約的用戶最終損失了他們的資產。
攻擊過程
本次事件涉及多筆攻擊交易,我們以第一筆攻擊交易為例。 交易哈希:0x43ff7e01423044cfb501b4fe9ef1386725c0ddc117dadd6e6620cb68bdeaf4f9
- 攻擊者呼叫了有漏洞的 RouteProcessor2 合約的
processRoute(),並精心構造了一個較長的參數route。
processRouteInternal()根據用戶提供的route創建了一個InputStream。
- 交易按照攻擊者的
route執行,直到達到swapUniV3()。請注意,pool是從stream中解碼出來的,這意味著攻擊者控制了在哪個pool進行swap(),並將其設定為lastCalledPool。
- 這呼叫了攻擊者部署的惡意合約,該合約隨後只需傳遞惡意的
calldata來回呼 RouteProcessor2 的uniswapV3SwapCallback()。 uniswapV3SwapCallback()需要檢查msg.sender,但由於lastCalledPool已經被設定為惡意合約,駭客繞過了該檢查。重要的是,safeTransferFrom()的參數from是從攻擊者構造的calldata中解碼出來的。
- 受害者的資產被轉移到了攻擊者部署的惡意合約中。
充滿爭議的白帽救援
值得一提的是,一位用戶名為 @trust__90 的白帽駭客發現了這個問題並嘗試救援資金,但這次救援行動卻釀成了災難:
- 使用記憶體池(mempool)廣播交易,而非透過私有 RPC。
- 僅嘗試救援 100 枚以太幣,而不是所有處於危險中的資金。
這為 MEV 機器人和其他攻擊者提供了機會,他們執行了多筆跟風交易(copycat transactions),有效地掏空了大部分資金。事後,@trust__90 面臨強烈抨擊,並試圖為其行為辯護。
人們在不知情的情況下說了各種刻薄的話,所以請允許我分享更多細節。
— Trust (@trust__90) 2023 年 4 月 10 日
在白帽行動前 3 小時,我已經與 Immunefi 的工作人員進行了私下協調。90 分鐘後,我意識到資產正被前端使用,並且……
BlockSec 救援
在此次攻擊中,我們同樣救援了 100 枚以太幣,並將資金歸還給了受害者 0xsifu。
迄今為止,我們已成功挫敗了超過 20 起現實世界中的駭客攻擊,並救援了超過 14,000,000 美元的資產。嘿,@0xsifu 我們已經成功阻擋了一筆攻擊交易並救援了 100 枚以太幣。請與我們聯絡。
— BlockSec (@BlockSecTeam) 2023 年 4 月 9 日
安全建議
升級必須進行審計
這提醒了整個 DeFi 社群:安全性應始終放在首位。審計並不能保證絕對安全,但缺乏審計絕對無法確保安全。
針對授權問題的緩解措施
2023 年發生了大量涉及授權攻擊的事件,我們藉此機會再次強調管理授權的重要性。 實用的安全做法是只授予必要的額度;若考慮便利性,建議僅授予比需求稍大的額度。
BlockSec 的 MetaSuites 提供了便捷的「授權診斷」功能。此外,您也可以使用像 Revoke Cash 這樣的工具定期檢查授權狀態。
採用監控與自動化響應機制
以太坊如同黑暗森林,DeFi 社群中的每個人都面臨著各種風險與挑戰,即便是安全專家也不例外。 2023 年,我們推出了 Phalcon Security,這是業界首個自動化響應系統,其設計不僅用於監控攻擊,更用於即時主動阻斷威脅。Phalcon 經過實戰檢驗的能力已證明了其有效性——成功挫敗了超過 20 起現實世界的駭客攻擊,保護了超過 14,000,000 美元的資產。這項創新確保了所有利益相關者都能更安心地入睡,因為他們知道有主動式安全措施在保護他們的投資。
閱讀本系列的其他文章:
- 導讀:2023 年十大「精彩」安全事件
- #1:利用 Flashbots Relay 中的漏洞收割 MEV 機器人
- #2:Euler Finance 事件:2023 年最大規模駭客攻擊
- #3:KyberSwap 事件:高超的捨入誤差利用與極其微妙的計算
- #4:Curve 事件:編譯器錯誤導致無害原始碼產出錯誤位元組碼
- #5:Platypus Finance:幸運地躲過了三次攻擊
- #6:Hundred Finance 事件:引發複製協議中精度相關漏洞攻擊潮
- #7:ParaSpace 事件:與時間賽跑,挫敗產業最嚴峻的攻擊
- #9:MEV 機器人 0xd61492:在一場精妙攻擊中從獵食者變為獵物
- #10:ThirdWeb 事件:受信任模組間的不相容導致安全漏洞暴露



