Bybit 被盜事件分析

區塊空間
·
·
IPFS
我昨天看了 Patrick Collins 的 YouTube 影片 他輕鬆易懂地講解了類似的區塊鏈攻擊流程,今天我會用簡單的故事和圖片,幫大家解開 Bybit 這次攻擊的秘密,並把一些難懂的部分講清楚。

看看下面的圖 Bybit 用了一個很典型的系統來保護錢:他們有冷錢包(像保險庫一樣,離線存儲)和多重簽名錢包(需要多個人簽名才能動錢),確保安全。冷錢包裡的錢要轉到線上(溫錢包)時,會經過一個「中間人」— 代理合約(Proxy),再轉到真正的業務合約(Safe 合約),處理實際操作。這設計本來很穩,但駭客找到了一個漏洞!😱  

Bybit 的系統有三個主要部分:
⇾ 多重簽名錢包(像 Trezor):離線操作,需要多個人同意才能動錢,確保安全,但駭客可能利用交易數據下手(見圖中「Off-Chain Data: To - attacker」)。
⇾ 代理合約(Proxy):位於「On-Chain」部分,線上「中間人」,負責接收請求並將其轉發到實際的業務邏輯合約。代理合約通常用於升級合約或分離邏輯與存儲,但這也可能成為攻擊的切入點。
⇾ Safe 合約:處理真實業務,正常情況下是安全的目標合約。但在攻擊中,中間人被控制,其功能可能被繞過或篡改。

攻擊流程:通俗版

「駭客用了三個聰明的步驟,讓這個「保險箱」被打開:
1️⃣ 準備惡意工具:他們提前部署了兩個「壞程式」— Malicious1(改中間人的設定)和 Malicious2(偷錢)。這就像準備了一個特洛伊木馬,藏在普通包裹裡。
2️⃣ 偽裝交易:駭客發了一筆表面正常、發送到多重簽名錢包的交易,但裡面藏了「隱秘工具」— delegate call。這工具讓壞程式能在中間人(代理合約)環境裡跑,改掉了設定。
3️⃣ 掌控系統:Malicious1 偷偷改了中間人的「指向」(implementation 地址),讓它指向 Malicious2。從那刻起,所有交易都被轉到壞程式,駭客輕鬆把 14 億美元的以太幣轉走!🤯

補充:Bybit 的攻擊中,駭客偽裝了簽名界面(UI),讓多重簽名者以為是在做正常轉帳,但實際改動了系統邏輯,這就像被騙簽了錯的合約——「盲簽」(Blind Signing)漏洞。  

攻擊流程:技術版

以下是更技術層面的細節,解釋駭客如何利用 Bybit 的系統漏洞:

1️⃣ 部署惡意合約:攻擊者部署了兩個惡意合約:
⇢ Malicious1:用於修改 Proxy 合約的存儲(例如改變 implementation 地址)。
⇢ Malicious2:用於執行具體的惡意行為,如竊取資產。

2️⃣ 構造特殊交易:
⇢ 交易表面上發送到多重簽名錢包(To: Multi-Sig),但實際包含惡意數據。
⇢ 關鍵是使用 delegate call,操作碼(operation)設為 1,允許惡意代碼在 Proxy 的上下文中執行,而不直接修改 Proxy 的代碼。

3️⃣ 攻擊執行:
⇢ Malicious1 通過 delegate call 在 Proxy 環境中運行,修改了 Proxy 的 implementation 地址,指向 Malicious2。
⇢ 結果,所有後續對 Proxy 的調用都被重定向到 Malicious2,從而執行竊取資產或其他惡意邏輯。

如果你對技術感興趣,這裡有更深入的細節

// 普通轉帳
{
  to: "0x123…", // 接收地址
  value: 100, // 轉帳金額
  


data: "transfer()" // 簡單的轉帳函數調用
}
但惡意攻擊的是長這樣//攻擊者的惡意數據:
{
to: "多重簽名地址", // 表面上看起來沒問題
data: 
 { // 但在 data 中隱藏了危險操作
  operation: 1, // 
  delegate call標記!
  to: "惡意合約地址",
  data: "看似是 transfer 但實際是修改存儲的程式碼"
 }
}

operation 的差異:
⇾ 使用 operation: 0 時,外部程式只能在自己的範圍內運行,不會影響呼叫它的系統。
⇾ 使用 operation: 1 時,外部程式可以完全控制呼叫系統的數據和設定,就像拿到主控權  

以上是 Bybit 這次攻擊的簡易講解,核心手法為駭客利用偽造的多重簽名(Multisig)介面,通過社交工程攻擊或其他方式控制多名簽署者的設備,篡改了 Safe(前身為 Gnosis Safe)多簽錢包的前端顯示(UI)。具體來說:

  • 簽署者看到的地址和 URL 看似正確,但實際交易負載(交易數據)已被替換,包含惡意邏輯(如 delegate call 或修改存儲),導致資金被轉移至駭客控制的地址。

  • 這種攻擊不僅涉及技術漏洞(例如前端與合約交互的安全性不足),還結合了人為操作失誤(如盲簽,Blind Signing),突顯了多重簽名系統在 UI 設計和安全審計方面的弱點

  • 駭客的「隱秘工具」(delegate call)就像一個魔法遙控器,讓壞程式在中間人裡面跑,改掉它的「指向」,讓所有交易聽惡意程式的指令。這工具本來是用來靈活呼叫程式,但被駭客用來搞破壞!

歡迎追蹤我的 substack & Threads

CC BY-NC-ND 4.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

區塊空間區塊鏈熱愛者 | 區塊鏈開發者 主業寫程式,newsletter - 歐洲 web3 探索 目前有經營 IG - 區塊空間
  • 来自作者

蛤 ? 區塊鏈