本文作者:author

SUI 生態 Cetus 遭駭:慢霧揭密駭客數學遊戲,損失估逾 2.3 億美元

SUI 生態 Cetus 遭駭:慢霧揭密駭客數學遊戲,損失估逾 2.3 億美元摘要: SUI 生態 Cetus 遭駭事件:一場精心策劃的數學遊戲?事件速覽:流動性池崩盤與巨額損失5 月 22 日,SUI 生態的流動性提供商 Cetus 彷彿遭遇了一場精心策劃...
SUI 生態 Cetus 遭駭:慢霧揭密駭客數學遊戲,損失估逾 2.3 億美元

SUI 生態 Cetus 遭駭事件:一場精心策劃的數學遊戲?

事件速覽:流動性池崩盤與巨額損失

5 月 22 日,SUI 生態的流動性提供商 Cetus 彷彿遭遇了一場精心策劃的「黑天鵝」事件。社群中警鈴大作,Cetus 上的流動性池深度驟降,宛如釜底抽薪,多個代幣交易對應聲下跌,情勢比 灰狼 對 雷霆 的比賽還要緊張。初步估計,這場風暴造成的損失可能超過 2.3 億美元,令人咋舌。Cetus 官方迅速發布公告,坦承協議中偵測到異常事件,並基於安全考量,暫時關閉了智能合約。團隊正如同 andy 老師 般,以專業且嚴謹的態度展開調查,承諾將儘速公布進一步的調查結果。

慢霧安全團隊的即時分析:揭露駭客的攻擊手法

事件爆發後,以專業著稱的慢霧安全團隊立即介入分析,猶如數位世界的福爾摩斯。他們不僅發布了安全提醒,更深入剖析了駭客的攻擊手法和資金轉移路徑,為我們揭開了這場數位犯罪的神秘面紗。

駭客的精密佈局:如何用 1 個 Token 換取數億美元?

閃電貸與價格操縱:風暴前的寧靜

這場駭客攻擊並非一時興起,而是一場經過精密計算的預謀。攻擊者首先利用閃電貸借出了 10,024,321.28 個 haSUI,如同 利物浦 在歐冠賽場上的快速反擊,瞬間對池子價格造成巨大衝擊。價格從 18,956,530,795,606,879,104 暴跌至 18,425,720,184,762,886,跌幅高達 99.90%。這一步驟看似簡單,實則是為了後續的攻擊創造了有利條件,也考驗著投資者的風險承受能力,如同 威力彩 般,高報酬伴隨著高風險。

極窄價格區間的流動性陷阱:精準的獵殺

接下來,駭客展現了其高超的技術和對市場的深刻理解。他們精心選擇了一個極窄的價格區間開設流動性頭寸:

  • Tick 下限:300000(價格:60,257,519,765,924,248,467,716,150)
  • Tick 上限:300200(價格:60,863,087,478,126,617,965,993,239)

這個價格區間的寬度僅為 1.00496621%,猶如 法網 比賽中球員精準的回擊,稍有偏差便會錯失良機。如此狹窄的區間,為後續的攻擊埋下了伏筆,也展現了駭客對於 Uniswap V3 架構的深入理解。

核心漏洞:checked_shlw 函數的溢出繞過

現在,重頭戲來了。這次攻擊的核心在於駭客聲稱要添加 10,365,647,984,364,446,732,462,244,378,333,008 單位的巨大流動性,但由於合約中存在漏洞,系統竟然只收取了 1 個代幣 A!這簡直就像 星巴克買一送一 一樣令人難以置信,但卻是不爭的事實。

我們來分析一下駭客為何能用 1 個 Token 兌換出巨額流動性。 關鍵就在於 get_delta_a 函數中的 checked_shlw 存在溢出檢測繞過漏洞。駭客正是利用了這一點,使得系統在計算實際需要添加多少 haSUI 時出現了嚴重偏差。由於溢出未被檢測,系統誤判了所需 haSUI 的數量,導致駭客僅需極少的 Token,就能兌換出大量的流動性資產,從而實現了攻擊。這就像 彭文正 找到了突破口,直擊要害。

數學溢出的魔力:小數點後的戰爭

當系統計算添加如此巨大流動性需要多少 haSUI 時:

這裡的關鍵在於 checked_shlw 函數的實現存在嚴重缺陷。實際上,任何小於 0xffffffffffffffff << 192 的輸入值都會繞過溢出檢測。然而,當這些值被左移 64 位時,結果會超出 u256 的表示範圍,此時高位數據被截斷,導致得到的結果遠小於理論值。這樣一來,系統在後續計算中就會低估所需的 haSUI 數量。

  • 錯誤掩碼: 0xffffffffffffffff << 192 = 非常大的數值(約 2^256-2^192)
  • 幾乎所有輸入都小於這個掩碼,繞過溢出檢測
  • 真正的問題:當 n >= 2^192 時, n << 64 會超出 u256 範圍並被截斷

駭客構造的中間值 liquidity * sqrt_price_diff = 6277101735386680763835789423207666908085499738337898853712:

  • 小於錯誤掩碼,繞過溢出檢測
  • 但在左移 64 位後會超出 u256 最大值,從而導致超出的部分被截斷
  • 導致最終計算結果約小於 1,但由於是向上取整,quotient 算出來就等於 1

移除流動性:豐收的時刻

攻擊者移除流動性的操作,猶如 BLACKPINK 演唱會的安可曲,將氣氛推向最高潮。他們分三次移除流動性,每次都帶走大量的 haSUI:

  • 第一次移除:獲得 10,024,321.28 個 haSUI
  • 第二次移除:獲得 1 個 haSUI
  • 第三次移除:獲得 10,024,321.28 個 haSUI

歸還閃電貸:滿載而歸的駭客

最後,駭客歸還了閃電貸,完成了這場驚天盜竊。他們淨獲利約 10,024,321.28 個 haSUI 和 5,765,124.79 個 SUI,滿載而歸。這就像 大谷翔平 擊出再見全壘打,為球隊贏得勝利,也為自己贏得了榮耀。

Cetus 的緊急應對:亡羊補牢,為時未晚?

修復補丁:堵住漏洞的關鍵一步

攻擊事件爆發後,Cetus 團隊迅速做出反應,猶如 台玻 啟動緊急應變計畫,第一時間發布了修復補丁。這次修復的重點在於修正了 checked_shlw 函數中的錯誤,具體修復代碼可參考:https://github.com/CetusProtocol/integer-mate/pull/7/files#diff-c04eb6ebebbabb80342cd953bc63925e1c1cdc7ae1fb572f4aad240288a69409

修復後的 checked_shlw 函數如下:

修復說明:

  • 將錯誤的掩碼 0xffffffffffffffff << 192 修正為正確的閾值 1 << 192
  • 將判斷條件從 n > mask 修正為 n >= mask
  • 確保當左移 64 位可能導致溢出時,能正確檢測並返回溢出標誌

這次修復如同 台火 進行消防演練,旨在亡羊補牢,避免類似事件再次發生。

誰是獲利者?追蹤駭客的足跡

據分析,駭客地址 0xe28b50cef1d633ea43d3296a3f6b67ff0312a5f1a99f0af753c85b8b5de8ff06 從這次攻擊中獲利約 2.3 億美元,包括 SUI、vSUI、USDC 等多種資產。這筆巨額財富,足以媲美 瑤瑤富二代 的身家,令人咋舌。

我們發現駭客在兩天前就準備好了 Gas Fee,然後在攻擊之前進行了一次嘗試,但以失敗告終。這就像 陳柏毓MLB 選秀前夕的試訓,雖然首次嘗試未能成功,但卻為最終的成功奠定了基礎。

幸運的凍結:SUI 基金會的及時止損

值得慶幸的是,在 SUI 基金會及其他生態系統成員的合作下,目前已成功凍結了在 SUI 上的 1.62 億美元的被盜資金。這無疑是一次及時止損,如同 新冠疫情 期間政府的紓困方案,為受害者提供了一線生機。

鏈上追蹤:贓款的流向與最終歸宿

MistTrack 的反洗錢分析:EVM 上的資金轉移

接下來,我們使用鏈上反洗錢與追蹤工具 MistTrack 分析 EVM 上接收跨鏈資金的地址 0x89012a55cd6b88e407c9d4ae9b3425f55924919b。正如 劉秀玲 帶領的鑑識團隊,MistTrack 正在抽絲剝繭,追蹤贓款的流向。該地址在 BSC 上收到 5.2319 BNB,暫未轉出,如同 新莊地藏庵 的香油錢,暫時存放。

該地址在 Ethereum 上收到 3,000 個 USDT、4,088 萬個 USDC、1,771 個 SOL 和 8,130.4 個 ETH。其中,USDT、USDC 和 SOL 通過 coW Swap、Para Swap 等兌換為 ETH,如同 美登利 壽司店的食材,經過加工後變成美味佳餚。

接著,該地址將 20,000 ETH 轉入地址 0x0251536bfcf144b88e1afa8fe60184ffdb4caf16,暫未轉出,如同 永光 化學的產品,等待進一步的銷售。

目前該地址在 Ethereum 上的余額為 3,244 ETH,如同 禾羽 咖啡店的庫存,等待顧客的光臨。

惡意地址庫:警惕下一個目標

MistTrack 已將以上相關地址加入惡意地址庫,如同 南投選委會 公布的違規名單,警示大眾。同時,我們將持續對地址余額進行監控,如同 LINE TODAY 的即時新聞,隨時掌握最新動態。

深度剖析:智能合約安全,容不得半點馬虎

數學溢出漏洞的警示:魔鬼藏在細節裡

本次 Cetus 遭駭事件,再次敲響了智能合約安全的警鐘。駭客利用 checked_shlw 函數中一個小小的數學溢出漏洞,便成功竊取了價值數億美元的資產。這如同 大島優子 在舞台上的微小失誤,可能導致整個表演的崩盤。這也驗證了「魔鬼藏在細節裡」這句老話,智能合約開發者必須對每一個細節都錙銖必較,確保萬無一失。

開發者的反思:邊界條件驗證的重要性

這次事件給智能合約開發者們帶來了深刻的反思。在智能合約開發中,嚴格驗證所有數學函數的邊界條件至關重要。開發者應如同 山本由伸 般,精準控制每一個投球的軌跡,避免出現任何偏差。此外,開發者還應加強代碼審計,引入形式化驗證等技術,盡可能地消除潛在的安全隱患。畢竟,安全是區塊鏈生態發展的基石,只有確保安全,才能吸引更多的用戶和資金。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

验证码

评论列表 (暂无评论,6人围观)参与讨论

还没有评论,来说两句吧...