Menu

  • Home
  • Trending
  • Recommended
  • Latest

分類

  • #2021 新年特輯
  • 100天區塊鏈挑戰
  • 2019 台灣區塊鏈產業指南
  • 2020 台灣區塊鏈產業年鑑
  • 2022 台灣年度最影響力人物榜
  • 2023 台灣年度影響力人物榜
  • 2023 新春特輯
  • 2024 TON Hacker House
  • 2024新春特輯
  • ABS 2018 專題報導
  • AI
  • CBDC是什麼?為何全球都在積極研究、有什麼優點與隱憂
  • Cefi
  • dao
  • dApps
  • defi
  • DePIN 如何開啟去中心化物理網路革命?
  • Entertainment
  • EOS
  • EOS insights
  • Gaming
  • Howto & Style
  • ICO
  • JiaJia
  • Layer 2
  • Libra
  • Movie
  • Music
  • News
  • nft
  • Plurality 多元宇宙
  • Starknet 空投落地,後續帶來什麼影響?
  • TON的崛起之路》背靠 Telegram 如何實現 Web3 大規模應用?
  • Uncategorized
  • Web3.0
  • 中國
  • 亞太
  • 交易所
  • 人物專訪
  • 以太坊
  • 以太坊
  • 以太坊 Dencun 坎昆升級將臨,你需要知道的所有事
  • 以太坊再質押協議為何成為最熱門賽道?
  • 供應鏈
  • 保險
  • 債券
  • 元宇宙
  • 全台最大詐騙案!Ace交易所涉垃圾幣詐騙
  • 全球加密貨幣監管最新動態統整
  • 其他國家
  • 其他幣別
  • 分散式帳本技術
  • 創投
  • 加密貨幣「詐騙手法」整理,學習如何保護你的資產
  • 加密貨幣市場
  • 區塊鏈平台
  • 區塊鏈新手全攻略,你需要知道的加密貨幣基礎
  • 區塊鏈新手教學
  • 區塊鏈活動
  • 區鍵禧
  • 即時新聞
  • 台灣
  • 哈希派
  • 國際組織報告
  • 多元宇宙Plurality有多重要?未來20年人類躍進關鍵
  • 央行
  • 娛樂平台
  • 安全
  • 專欄作者
  • 巴拉區塊事
  • 市場分析
  • 幣安與美國司法部達成 43 億美元和解,CZ認罪
  • 影片測試的分類
  • 快訊
  • 技術
  • 抓住空投爆擊!值得埋伏的項目、互動教學總整理
  • 投資分析
  • 挖礦
  • 推薦閱讀
  • 搶先看
  • 支付
  • 政府報告
  • 數位產權
  • 數據報告
  • 概念
  • 歐洲
  • 比特幣
  • 比特幣現貨ETF上市,真帶來了增量資金?
  • 比特幣第四次減半將臨,行情怎麼走?
  • 比特幣銘文大爆發,Oridinal 如何改變 BTC 生態?
  • 比特彭
  • 汪彪
  • 法規
  • 測試網
  • 灰度
  • 物聯網
  • 犯罪
  • 獨立觀點
  • 瑞波
  • 環境永續
  • 社交
  • 私人機構報告
  • 稅務
  • 穩定幣
  • 管制
  • 美國
  • 肺炎
  • 能源
  • 訴訟
  • 評級報告
  • 財金哥 & 區塊妹
  • 身份驗證
  • 遊戲
  • 鄧庶杭
  • 金融市場
  • 銀行
  • 錢包

Subscriptions

  • 零壹財經 01 binary
    01 Binary
  • 0xdt
  • 0xJigglypuff
  • aaaaYYYY
  • ABCDELabs

Recent News

  • 圖解多元宇宙》V神、Glen力推的Plurality是什麼?為何協作技術是人類社會進步關鍵
  • 精選文章搶先看!動區登入Access質押訂閱服務,解鎖寶貴資訊快人一步
  • ABS獨家專訪》Gitcoin共同創辦人Scott:台灣是現實與Web3治理的重要交匯點
動區動趨-最具影響力的區塊鏈新聞媒體
  • Home
    • Home Layout 1
    • Home Layout 2
    • Home Layout 3
  • Browse
    • News
    • Movie
    • Music
    • Technology
    • Howto & Style
    • Entertainment
    • Gaming
  • Features
    • Youtube Video
    • Vimeo Video
    • Dailymotion Video
    • Self-hosted Video
    • User Profile
    • Playlists
    • User-created Playlist
    • Favorite Playlist (Private)
    • Watch Later Playlist (Private)
    • All JNews Features
No Result
View All Result
  • Login
  • Register
UPLOAD
動區動趨-最具影響力的區塊鏈新聞媒體
No Result
View All Result
Home 加密貨幣市場 交易所

怎麼用 Defi 工具「十幾秒零成本」獲利上千萬?詳細還原 bZx 駭客事件始末

怎麼用 Defi 工具「十幾秒零成本」獲利上千萬?詳細還原 bZx 駭客事件始末

PeckShield by PeckShield
2020-02-19
in 交易所, 保險, 債券, 即時新聞, 安全, 私人機構報告, 評級報告
960 19
0
Figure 1 - Five Arbitrage Steps in bZx Hack

Figure 1 - Five Arbitrage Steps in bZx Hack

1.5k
SHARES
6.1k
VIEWS
Share on FacebookShare on Twitter

02月15日,bZx 團隊在官方電報群上發出公告,稱有駭客對「bZx 借貸協議」進行了漏洞攻擊,且已暫停除了借貸外的其他功能;對於攻擊細節,bZx官方並沒有進行詳細披露。現在,就由據動區專欄作家機構,區塊鏈資安公司《PeckShield》帶您還原這場轟動全球 Defi 社群,十幾秒即套利 35 萬美元(約 1000 萬台幣)的傳奇攻擊事件始末。

本文目錄

  • RelatedPosts
  • 分析幣安上幣邏輯》RootData:這五個代幣或是Binance下次上架潛力項目
  • Gala Games遭駭後》韓國交易所Bithumb暫停$GALA出入金,遭DAXA列為警示項目
  • Bitget 交易所任命 Gracy Chen 為新任執行長
    • 漏洞的攻擊細節如下:
  • 第一步:閃貸獲取可用資金
  • 第二步:囤積 WBTC 現貨
  • 第三步:槓桿拉盤 WBTC 價格
  • 第四步:拋售WBTC 現貨
  • 第五步:閃貸還款 Flash Loan
  • 硬核解析:bZx 可規避風險程式碼邏輯缺陷
    • 最大資金盤 PlusToken 再轉移12,422比特幣(價值38億),恐趁 BTC 飆漲破萬點時銷贓
    • 澳本聰威脅:「我可以關掉比特幣網路」—— 真的做得到嗎?
    • 有哪些值得投資的 Defi 幣?從傳統金融「市盈率PE Ratio」分析:SNX 3倍 MKR 80倍…

 

RelatedPosts

分析幣安上幣邏輯》RootData:這五個代幣或是Binance下次上架潛力項目

Gala Games遭駭後》韓國交易所Bithumb暫停$GALA出入金,遭DAXA列為警示項目

Bitget 交易所任命 Gracy Chen 為新任執行長

PeckShield 安全人員主動跟進bZx 攻擊事件,發現這起事件是針對DeFi 項目間,共享可組合流動性的設計進行攻擊。

特別在有槓桿交易及借貸功能的DeFi 項目裡,該問題會更容易被利用。

延伸閱讀:什麼是「閃電貸 Flash Loan」?十幾秒內從”借貸協議 bZx”狠賺 35 萬美元的 DeFi 策略

延伸閱讀:有哪些值得投資的 Defi 幣?從傳統金融「市盈率PE Ratio」分析:SNX 3倍 MKR 80倍…

Figure 1 - Five Arbitrage Steps in bZx Hack
Figure 1 8211 Five Arbitrage Steps in bZx Hack

漏洞的攻擊細節如下:

此攻擊事件發生在台北時間2020-02-15 09:38:57(區塊高度#9484688),攻擊者的transaction資訊可以在 etherscan 上查到,此攻擊過程可以分為以下五個步驟:

延伸閱讀:幣安(Binance)遭駭的 7,000 顆比特幣去哪了?還原駭客組織攻擊後的「銷贓過程」

延伸閱讀:面對 3.4 億美元的駭客洗劫風險,MakerDAO 開啟社群投票是否延遲「治理安全模塊(GSM)」

第一步:閃貸獲取可用資金

攻擊者通過在部署的合約中調用了dYdX閃貸功能藉入了10,000個ETH,這部分是已知的dYdX的基本借貸功能,我們不做進一步解釋。

Figure 2 - Flashloan Borrowing From dYdX
Figure 2 8211 Flashloan Borrowing From dYdX

當第一步操作過後,如下表中攻擊者資產,此時並沒有收益:

dYdX - ETH
dYdX 8211 ETH

第二步:囤積 WBTC 現貨

通過第一步閃貸獲得ETH後,攻擊者將其中的5,500 ETH存入Compound作為抵押品,貸出112 WBTC。

這也是正常的Compound借貸操作,貸出的WBTC將在第四步中被拋售。

延伸閱讀:ETHFANS 專欄|DeFi 中的流動性和銀行擠兌風險,以 Compound 為例

延伸閱讀:去中心化金融入門|五分鐘看懂借貸機制,什麼是「DeFi 銀行」Compound?

Figure 3 - WBTC Hoarding From Compound
Figure 3 8211 WBTC Hoarding From Compound

在此步驟操作後,我們可以看到關於攻擊者控制的資產發生了改變,但此時仍然沒有獲益:

Compound 流動
Compound 流動

第三步:槓桿拉盤 WBTC 價格

利用bZx的槓桿交易功能,做空ETH購入大量WBTC。

具體步驟是:攻擊者存入1,300 ETH並調用bZx槓桿交易功能,即接口mintWithEther(),在內部會繼續調用接口marginTradeFromDeposit()。

接下來,攻擊者將從bZx 5倍槓桿獲得的5,637.62個ETH,通過 KyberSwap兌換成51.345576 WBTC。請注意,此處做空ETH是藉來的5倍。

本次交易導致將WETH / WBTC的兌換率提高到109.8 ,大約是正常兌換率(~38.5 WETH / WBTC)的3倍。

為了完成此交易,KyberSwap 基本上會查詢其儲備金並找到最優惠的匯率,最終只有Uniswap 能提供這樣的流通性,因此這個交易從本質上推動了Uniswap 中WBTC 價格上漲了3倍。

延伸閱讀:以太坊上的「WBTC」代幣,會不會比起「比特幣閃電網路」更蓬勃發展?

延伸閱讀:新手介紹|一文讀懂 Defi 熱門項目「Uniswap」,什麼是以太坊上的「代幣交換協議」

Figure 4 - Margin Pumping With bZx (and Kyber + Uniswap)
Figure 4 8211 Margin Pumping With bZx and Kyber + Uniswap

應該注意的是,這步操作在合約內部實現有個安全檢查邏輯,但是實際上在交易之後並沒有驗證鎖倉值。

也就是說,當攻擊發生時,此檢查沒有啟用,我們在後面會有一節詳細介紹此合約中的問題。

在這一步之後,我們注意到關於駭客控制的資產有以下改變。不過,在這一步之後仍然沒有獲利。

第四步:拋售WBTC 現貨

在Uniswap中WBTC價格飆升後(價格為61.4 WETH / WBTC),攻擊者將第二步中通過Compound借的112 WBTC全部賣給Uniswap並返還了相應的WETH。

這次交易攻擊者共計獲得6,871.41個ETH的淨額作為回報,在這一步之後,可以看到攻擊者已經獲得不少利潤。

延伸閱讀:外媒訪談揭露:Vitalik 說服「以太坊基金會」在最高點售出 70,000 ETH 套現近 1 億美元

延伸閱讀:大型資金盤 PlusToken 已轉走近 3 萬顆比特幣,交易紀錄留下一句:「抱歉,我們先閃啦」

 

Figure 5: WBTC Dumping With Uniswap
Figure 5: WBTC Dumping With Uniswap

 

WETH
WETH

第五步:閃貸還款 Flash Loan

攻擊者從拋售的112 WBTC 中獲得的6,871.41 個ETH,將閃貸的10,000個ETH償還給dYdX,從而完成閃貸還款。

在這一步之後,我們重新計算了以下資產詳情。結果顯示,攻擊者通過此次攻擊獲得71 ETH,加上這兩個鎖倉:Compound(+5,500weth/-112WBTC)和bZx(-4,337WETH/+51WBTC)。bZx鎖倉處於違約狀態,Compound的鎖倉是有利可圖的。

顯然,在攻擊之後,攻擊者就開始償還Compoud債務(112BTC)以贖回抵押的5,500個WETH。由於bZx鎖倉已經處於違約狀態,攻擊者也不再感興趣了。

延伸閱讀:幣託推出「債權」認購平台BitoDebt,首期USDT產品利率8.5%並附帶「附買回條款」

延伸閱讀:台灣「借貸投資服務」BinFi 今日上線!重新定義 DeFi 驅動投資,改良現有 DeFi 的新產品

參考1WBTC=38.5WETH(1WETH=0.025BTC)的平均市場價格,若攻擊者以市場價格購入112 WBTC花費約需4,300個ETH。

此112 WBTC用以清償Compond債務並取回抵押品5,500 ETH,則最終攻擊者總共獲利為71 WETH +5,500 WETH -4,300 ETH=1,271 ETH,合計大約$355,880(當前ETH價格$280)。

硬核解析:bZx 可規避風險程式碼邏輯缺陷

通過前面攻擊者在合約中實現的步驟可以看出,問題的核心原因是在第三步調用marginTradeFromDeposit()通過借貸的1,300 ETH,加5倍槓桿來實現做空ETH/WBTC交易的。

於是我們進一步審查合約程式碼,發現這是一個「可避免的套利機會」,但因為程式碼存在的邏輯錯誤造成可用於規避風險的程式碼邏輯沒有生效。

具體程式碼追踪如下:

調用marginTradeFromDeposit()通過借貸的1,300 ETH
調用marginTradeFromDeposit()通過借貸的1,300 ETH

首先是marginTradeFromDeposit( ) 調用_borrowTokenAndUse( ),此處由於是以存入的資產作槓桿交易,第四個參數為true(第840行)。

marginTradeFromDeposit( ) 調用_borrowTokenAndUse( ),此處由於是以存入的資產作槓桿交易
marginTradeFromDeposit( ) 調用_borrowTokenAndUse( ),此處由於是以存入的資產作槓桿交易

在_borrowTokenAndUse( ) 裡,當amountIsADeposit 為true 時,調用_getBorrowAmountAndRate( ) 並且將borrowAmount 存入sentAmounts[1] (第1,348行)。

在1,355 行,sentAmounts[6] 被設置為sentAmounts[1] 並且於第1,370行調用_borrowTokenAndUseFinal( )

經由IBZx interface 進入bZxContract 的takeOrderFromiToken( ) 函數。

bZxContract屬於另一個合約iTokens_loanOpeningFunctions  於是我們我們繼續分析合約程式碼,在函數中發現有一個關鍵的邏輯判斷:

在第148行,bZx事實上嘗試利用oracle合約的shouldLiquidate( )檢查這個槓桿交易的倉位是否健康。然而,因為第一個條件(第146~147行)已經為true,則繼續執行,而忽略了shouldLiquidate()的邏輯判斷。

事實上,在合約BZxOracle 的shouldLiquidate( )中實現了對getCurrentMarginAmount( ) <= loanOrder.maintenanceMarginAmount判斷,如果執行到shouldLiquidate( )就可以有效避免這個攻擊的發生。

如前所述,這是一次很有意思的攻擊,它結合了各種有趣的特性,如貸款、槓桿交易和拉高價格等。之所以可能發生這種攻擊,是因為當前項目共享可組合流動性的設計。

特別是,5倍槓桿交易允許用戶以相對較低的成本借入大量代幣,加上DeFi項目間共享的流動性,導致交易價格更容易被操控。

 

 

 

?相關報導?

最大資金盤 PlusToken 再轉移12,422比特幣(價值38億),恐趁 BTC 飆漲破萬點時銷贓

澳本聰威脅:「我可以關掉比特幣網路」—— 真的做得到嗎?

有哪些值得投資的 Defi 幣?從傳統金融「市盈率PE Ratio」分析:SNX 3倍 MKR 80倍…


《BlockTempo動區動趨》讓「 Telegram 動區大家庭 」再次強大!!~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!

加入好友

加入好友

Recommended videos

3:36

Dua Lipa – Lost In Your Light feat. Miguel (Official Video)

2.5k Views
2024-06-23
    3:02

    Dua Lipa teases new album as “new era” begins

    2.5k Views
    2024-07-09
      4:21

      Didi Kempot – Cidro for Sobat Ambyar (Official Music Video)

      2.5k Views
      2024-07-29
        10:54

        Trump Whistleblower Saga Threatens to Blow Up 2020 Campaign

        2.5k Views
        2024-06-17
          Show More
          Copyright (c) 2019 by Jegtheme.
          • About
          • Buy JNews
          • Request A Demo
          • Contact
          No Result
          View All Result
          • Account
          • BlockTempo Beginner – 動區新手村
          • Change Password
          • Forgot Password?
          • Home 1
          • Home 2
          • Home 3
          • Jin-homepage
          • Latest
          • Login
          • Profile
          • Register
          • Reset Password
          • Trending
          • Users
          • Users List Item
          • 不只加密貨幣,談談那些你不知道的區塊鏈應用|動區新手村
          • 所有文章
          • 關於 BlockTempo

          © 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

          Welcome Back!

          Login to your account below

          Forgotten Password? Sign Up

          Create New Account!

          Fill the forms below to register

          All fields are required. Log In

          Retrieve your password

          Please enter your username or email address to reset your password.

          Log In

          Add New Playlist