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 安全

Position Exchange 重入漏洞解析 - Amber Group 安全團隊

廣編頻道 by 廣編頻道
2022-05-20
in 安全, 獨立觀點
400 16
0
Position Exchange 重入漏洞解析 - Amber Group 安全團隊
572
SHARES
2.6k
VIEWS
Share on FacebookShare on Twitter

Amber Group 安全團隊與獨立研究員 Rivaill  3 月上旬發現去中心化加密平台 Position Exchange 合約存在重入漏洞,為此團隊將深入探討此漏洞如何可讓攻擊者為合約建立偽造狀態,並透過零質押 NFT 獲利的手法。
(前情提要:DeFi乾貨 | 深入解析 Dexfolio 的重入漏洞事件 -Amber安全團隊)
(背景補充: 全解析 | 不可不知的 3種「Defi重入攻擊」: 基本概念、背後細節、手法 — Amber資安負責人)

本文目錄

  • RelatedPosts
  • OKX Web3 & 慢霧安全特刊:身經「百詐」的經驗分享
  • 數學教授:「量子攻擊迫近」公鑰加密系統需全面升級,Vitalik 提解決方案..
  • Galaxy Digital執行長 :比特幣本季將於5.5~7.5萬美元盤整,下一班順風車關注這兩點
  • 0x00 Position Exchange
  • 0x01 漏洞
  • 0x02 漏洞利用
  • 0x03 時間軸和緩解措施
    • 關於 Amber Group
    • DeFi 乾貨|Dinosaur Eggs 的流動性池漏洞解析 – Amber 安全團隊
    • 乾貨 | Amber 安全專家吳博士:剖析 BSC 的閃電貸攻擊手法,如何再引發 3 個分叉項目連環爆?
    • 乾貨 | 重現無聊猿 「ApeCoin 空投」 閃電貸套利手法 - Amber Group 安全團隊

 

(本文由  Amber Group 安全團隊撰著、提供。)


Amber Group 區塊鏈安全團隊和獨立研究員 Rivaill [1] 再次發現了一個重入漏洞,並向漏洞懸賞平台 ImmuneFi 提交漏洞報告。由於項目方(Position Exchange)在修復漏洞後就與我們失去聯繫,我們決定在此撰文中公佈詳情。

RelatedPosts

OKX Web3 & 慢霧安全特刊:身經「百詐」的經驗分享

數學教授:「量子攻擊迫近」公鑰加密系統需全面升級,Vitalik 提解決方案..

Galaxy Digital執行長 :比特幣本季將於5.5~7.5萬美元盤整,下一班順風車關注這兩點

0x00 Position Exchange

去中心化加密平台 Position Exchange 允許用戶使用 POSI 代幣鑄造 NFT,並質押 NFT 以賺取更多的 POSI。 如 HOWTO 文檔中所述,用戶可以鑄造的 NFT 角色共有六種,藉此來獲得隨機的挖礦效率增益。

舉例來說,用戶支付 50 POSI 鑄造下方這個 Pilot NFT,隨機生成的挖礦效率為 154.06 %,因此他/她獲得 50 x 154.06% = 76.28 POSI 的算力。如果用戶選擇質押該算力,會因此獲得額外的 NFT 礦池獎勵分成。

為了實現上述的 NFT 質押機制,後端的 NFTReward 智能合約實現了 stake() 和 unstake() 函數,讓用戶轉入/轉出基於 ERC-721 的 NFT。 然而,由於 ERC-721 標準實現中內建的回調機制,NFTReward 的運作邏輯產生了問題,導致攻擊者能夠多次重入該智能合約而獲利。

0x01 漏洞

前面提的 unstake () 函數,他的基本功能是將某個 ERC721 代幣取回給調用者。 但是如下圖所示,我們注意到第 283 行中使用的 safeTransferFrom() 函數被嵌入了一個特殊的回調機制,攻擊者可利用此漏洞攔截 unstake() 調用並插入惡意的程式碼。 此外,第 283 行之後有兩行改變狀態的語句(第 285-286 行),這違反了智能合約基本的 Checks-Effects-Interactions 原則。

具體來說,在 OpenZeppelin 的 ERC721 實現中,在傳輸 ERC721 代幣時,若接收地址是合約時會調用 onERC721Received() 外部函數(第 395 行),這是此漏洞能被利用的關鍵。

透過這種方式,攻擊者可以藉由任何的外部函數進入 NFTReward 合約竄改相關數據。 如何做到?我們注意到下面兩行是 unstake() 函數調用 safeTransferFrom() 之後唯二更新過狀態的兩個地方:

如下方的程式碼片段所示,這些狀態是在 stake() 函數中被設置的。

我們認為這個的設計的初衷是先暫存 gegoId 對應 NFT 的餘額(_stakeBalances[geogoId])和權重(_stakeWeightes[geogoId])。隨後,如果用戶選擇 unstake() 該 NFT,暫存的值將用於更新與該用戶有關的全域變數 _weightBalances 和 _degoBalances(下面的第 276 和 280 行)。

因此,如果暫存的餘額和權重在用於更新全域狀態之前被竄改,意味著 _weightBalances 和 _degoBalances 可能也會被篡改。此外,我們注意到 _weightBalances 值會被用於計算獎勵,這意味著可以利用被篡改的狀態來獲取額外的獎勵,甚至可能耗盡獎勵池。

0x02 漏洞利用

下圖展示了篡改 _weightBalances 的六個步驟:

1)攻擊者創建一個惡意合約 Exp,並從 Exp 呼叫 stake() 函數。如上圖所示,為了成功做到後續的劫持操作,此惡意合約 Exp 實現了一個外部函數 onERC721Received();

2)攻擊者從 Exp 合約觸發了 unstake() 函數;

3)透過 safeTransferFrom(),Exp 合約成功劫持了 unstake() 函數的調用;

4)從 Exp 合約重新進入 stake() 函數,使其之後能夠調用第二次 unstake() 函數;

5)當 Exp 合約返回到被劫持的 unstake() 調用時,第四步驟設置的 _stakeWeightes 會被重置設為 0;

6)攻擊者發出第二個 unstake() 調用並使用歸零的 _stakeWeightes 篡改 _weightBalances 變數。

透過上述步驟,攻擊者可以只用一個 NFT 持續累積 _weightBalances,並且可以在沒有質押任何 NFT 的情況下,透過 NFTReward 合約中的 harvest() 函數不斷獲取獎勵。

下方惡意合約的程式碼說明了我們如何模擬攻擊。 在 trigger() 函數中,我們執行了多次 [stake(), unstake(), unstake()] 調用。 每當 unstake() 將 NFT 轉移回惡意合約時,onERC721Received() 函數就會劫持 unstake() 並在 flag 為 true 時發出另一個 stake() 調用,這就是重入攻擊竄改狀態的流程。

下方的 eth-brownie 截圖證明了我們的猜想。 具體來說,我們:

1)通過 eth-brownie 的模擬,「借用」了 NFT #1183410;

2) 在 NFTReward 合約上竄改狀態;

3) 「歸還」該 NFT;

4)收穫獎勵。

最後,我們的駭客在沒有質押任何 NFT 的情況下以 4.93 POSI 獲利出場,這也間接證明了攻擊者可以創建多個合約,為每個合約偽造狀態,並透過來回轉移同一個 NFT 來獲得獎勵。

0x03 時間軸和緩解措施

該漏洞於 3 月 9 日通過 ImmuneFi 提交;3 月 21 日,Position Exchange 團隊確認了該問題,並將其評為高危漏洞; 3 月 22 日,我們觀察到一個新的 NFTReward 合約被部署上鏈,此合約加入了 reentrancy guard。 但自那以後,我方仍未能收到 Position Exchange 團隊的任何回覆。

完整的時間軸如下圖所示:

2022/03/09 提交

2022/03/21 確認

2022/03/22 修復

https://bscscan.com/tx/0x67875ba082a5a5f7e570ce1f4035dadf0daa0b3cb22e527ac89ef37ce38a4257

除了 Position Exchange,我們還聯繫了 Dego Finance 和 Smarty Pay。兩方都部署了類似的 NFTReward 合約,且其中含有類似的漏洞。Dego Finance 團隊的處理方式是透過將 DEGO 代幣轉移到新代幣。 與此同時,Smarty Pay 團隊升級了他們的 NFTReward 合約,並將所有的用戶狀態遷移到了新版本。 據我們了解,這三個具有漏洞的項目,在我們披露細節之前皆沒有被真的攻擊。

關於 Amber Group

成立於 2017 年,業務遍及亞洲及歐美各大主要城市,現為 1,000 多家知名大型機構客戶提供加密金融服務,在 100 多個電子交易所中累計交易總額已超過 1 兆美元,資產管理規模超過 50 億美元,幫助客戶管理各種加密資產的風險,提供靈活化的投資、最大化的回報來優化長期價值。

Amber Group官方網站: www.ambergroup.io

WhaleFin官方網站: www.whalefin.com

若有產品相關問題,請聯繫 Amber 客服團隊: [email protected]、[email protected]

📍相關報導📍

DeFi 乾貨|Dinosaur Eggs 的流動性池漏洞解析 – Amber 安全團隊

乾貨 | Amber 安全專家吳博士:剖析 BSC 的閃電貸攻擊手法,如何再引發 3 個分叉項目連環爆?

乾貨 | 重現無聊猿 「ApeCoin 空投」 閃電貸套利手法 - Amber Group 安全團隊


讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。

LINE 與 Messenger 不定期為大家服務

加入好友

加入好友

Tags: Amber GroupNFTPosition Exchange安全重入漏洞

Recommended videos

5:04

This man owned that Starbucks cup in Game of Thrones

2.5k Views
2024-07-07
    8:33

    Getting Cheap Airfare For Last Minute Travel

    2.5k Views
    2024-06-10
      3:36

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

      2.5k Views
      2024-06-23
        2:58

        The Deeper Significance of the Mall on Stranger Things

        2.5k Views
        2024-06-13
          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