• 【超完整懶人包】認識比特幣!原理與應用全面解析|動區新手村
  • Account
  • Account
  • BlockTempo Beginner – 動區新手村
  • Change Password
  • Forgot Password?
  • Home 3
  • Login
  • Login
  • Logout
  • Members
  • Password Reset
  • Register
  • Register
  • Reset Password
  • User
  • 不只加密貨幣,談談那些你不知道的區塊鏈應用|動區新手村
  • 動區動趨 BlockTempo – 最有影響力的區塊鏈新聞媒體 (比特幣, 加密貨幣)
  • 所有文章
  • 最完整的「區塊鏈入門懶人包」|動區新手村
  • 服務條款 (Terms of Use)
  • 關於 BlockTempo
  • 隱私政策政策頁面 / Privacy Policy
動區動趨-最具影響力的區塊鏈新聞媒體
  • 所有文章
  • 搶先看
  • 🔥動區專題
  • 🔥Tempo 30 Award
  • 加密貨幣市場
    • 市場分析
    • 交易所
    • 投資分析
    • 創投
    • RootData
  • 區塊鏈商業應用
    • 金融市場
    • 銀行
    • 錢包
    • 支付
    • defi
    • 區塊鏈平台
    • 挖礦
    • 供應鏈
    • 遊戲
    • dApps
  • 技術
    • 比特幣
    • 以太坊
    • 分散式帳本技術
    • 其他幣別
    • 數據報告
      • 私人機構報告
      • 評級報告
  • 法規
    • 央行
    • 管制
    • 犯罪
    • 稅務
  • 區塊鏈新手教學
  • 人物專訪
    • 獨立觀點
  • 懶人包
    • 比特幣概念入門
    • 從零開始認識區塊鏈
    • 區塊鏈應用
  • 登入
No Result
View All Result
  • 所有文章
  • 搶先看
  • 🔥動區專題
  • 🔥Tempo 30 Award
  • 加密貨幣市場
    • 市場分析
    • 交易所
    • 投資分析
    • 創投
    • RootData
  • 區塊鏈商業應用
    • 金融市場
    • 銀行
    • 錢包
    • 支付
    • defi
    • 區塊鏈平台
    • 挖礦
    • 供應鏈
    • 遊戲
    • dApps
  • 技術
    • 比特幣
    • 以太坊
    • 分散式帳本技術
    • 其他幣別
    • 數據報告
      • 私人機構報告
      • 評級報告
  • 法規
    • 央行
    • 管制
    • 犯罪
    • 稅務
  • 區塊鏈新手教學
  • 人物專訪
    • 獨立觀點
  • 懶人包
    • 比特幣概念入門
    • 從零開始認識區塊鏈
    • 區塊鏈應用
  • 登入
No Result
View All Result
動區動趨-最具影響力的區塊鏈新聞媒體
No Result
View All Result
Home 區塊鏈商業應用 defi

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

Editor Jr. by Editor Jr.
2021-11-25
in defi, 技術
A A
DeFi 乾貨|Dinosaur Eggs 的流動性池漏洞解析 – Amber 安全團隊
102
SHARES
分享至Facebook分享至Twitter

MasterChef 智能合約可能是在 DeFi 最早一波狂潮時,被重新部署最多次的一個合約,很多的 DeFi 項目都會修改該合約來實現自己的流動性挖礦功能。本文 Amber Group 將分享並解析 10 月團隊發現的失誤項目  Dinosaur Egg 其流動性池漏洞案例。

本文目錄

  • 0x00: Dinosaur Eggs
  • 0x01: 漏洞細節
  • 0x02: 漏洞利用
  • 0x04: 後續發展
    • 專訪 | Amber Group合夥人Annabelle : 掌握40億美元、華爾街贏家,卻選在熊市投身加密金融
    • 全解析 | 不可不知的 3種「Defi重入攻擊」: 基本概念、背後細節、手法 — Amber資安負責人
    • 乾貨 | Amber 安全專家吳博士:剖析 BSC 的閃電貸攻擊手法,如何再引發 3 個分叉項目連環爆?

 

(本文由  Amber Group 研究團隊撰著、提供,不代表動區立場。)


2020 年夏天, SushiSwap 創辦人 Chef Nomi(@NomiChef)[1] 所發布的 MasterChef 智能合約 [2] 可能是最早的一波 DeFi 狂潮中被重新部署最多次的一個合約。很多 DeFi 項目會略為修改 MasterChef 合約來實現他們流動性挖礦的功能。

然而,過去一年多的時間內,有幾個項目在修改 Nomi 主廚的食譜過程中犯了錯誤,造成無法挽救的損失 [3][4][5]。2021 年 10 月 6 日,我們也發現了一個失誤的項目,所幸在還沒造成損失之前便成功修復了漏洞並且完成升級。

0x00: Dinosaur Eggs

這次事件的主角 Dinosaur Eggs 項目的 LiquidityPool 智能合約 [6] 也是一個『加強版』的 MasterChef 合約,其主要修改的部分是新增了「addtionalRate」功能。這個功能是為了讓特定的 NFT 持有者在存入 LP tokens 時可以獲得額外的獎勵,最高可達 10%,條件是存入 LP tokens 之前必須『燒掉』特定的 NFT 資產。

從上面的程式碼片段 327-328 行可以看到(_amount*user.addtionalRate)會被加到 user.addtionalAmount 裡頭,而這個 addtionalAmount 會在計算獎勵時被加入計算。

0x01: 漏洞細節

漏洞出現在從 MasterChef 繼承而來的緊急逃生出口 — emergencyWithdraw() 函數。這個函數是用來讓 user 可以在緊急情況把所有存入的 LP tokens 一次取出來,不考慮獎勵計算。

然而,前面提到的 user.addtionalAmount 在這個函數裡沒有被 reset,也就是說下一次的 harvest() call 會出現 user 沒有存入任何 LP tokens 的狀態下仍然可以領取獎勵的情況。

從 harvest() 函數的第 342 行可以看到 pendingAmount 的計算是 [(user.amount+user.additionalAmount)*pool.accRewardPerShare – user.rewardDebt]。

由於之前的 emergencyWithdraw() 已經 reset 了 user.amount 以及 user.rewardDebt,pendingAmount 就變成了 (user.addtionalAmount*pool.accRewardPerShare)。

因此,攻擊者可以在沒有任何 LP tokens 存入的狀態下,不停的來回利用 harvest() 跟 emergencyWithdraw() 把所有的 reward tokens 取出。

0x02: 漏洞利用

上面的攻擊合約程式碼驗證了上述的想法,在 prepare() 函數裡,我們刻意鑄造了一個 NFT (第 36 行)並且透過第 40 行的 additionalNft() 函數啟動了前面提到的 addtionalRate 機制,隨後我們 deposit() 了一部分 LP tokens 到 LiquidityPool。

為了獲得額外的獎勵,我們在 trigger() 函數裡利用迴圈多次調用 emergencyWithdraw() 與 harvest() 函數(第 48 – 51 行)。

從上面的 eth-brownie 截圖可以看到,我們只用了 30 個 LP tokens(DsgLP)就能獲取上千個 reward tokens(DSG)。在同樣的情況如果只是單純的 harvest() 沒有刻意 emergencyWithdraw(),只有不到一個的 DSG 獎勵 。假設攻擊者利用閃電貸款生成大量 LP tokens,還能更進一步擴大獲利。

0x04: 後續發展

在我們向 DSG 團隊通報這個漏洞之後,他們很快的確認問題並且展開了修補工作。

新版的 LiquidityPool 合約部署上線後,DSG 團隊通知了用戶將資產從舊版取出後遷移到新版,同時也將舊版的流動性挖礦暫停。

幸運的是,在完成遷移之前,並沒有真正的攻擊發生,DSG 團隊也根據漏洞賞金計畫給了我們 $10,000 等值的 DSG tokens 獎勵 [7] 。這部分獎金 [8] 隨後將被用來捐助開放文化基金會,支持開源軟體發展。

8211 圖源由 Amber Group 8211

📍相關報導📍

專訪 | Amber Group合夥人Annabelle : 掌握40億美元、華爾街贏家,卻選在熊市投身加密金融

全解析 | 不可不知的 3種「Defi重入攻擊」: 基本概念、背後細節、手法 — Amber資安負責人

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


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

LINE 與 Messenger 不定期為大家服務

加入好友

加入好友

 

Tags: AmberGroupDSG智能合約漏洞


關於我們

動區動趨

為您帶來最即時最全面
區塊鏈世界脈動剖析
之動感新聞站

訂閱我們的最新消息

動區精選-為您整理一週間的國際動態

戰略夥伴

Foresight Ventures Foresight News

主題分類

  • 關於 BlockTempo

動區動趨 BlockTempo © All Rights Reserved.

No Result
View All Result
  • 所有文章
  • 搶先看
  • 市場脈動
  • 商業應用
  • 區塊鏈新手教學
  • 區塊鏈技術
  • 數據洞察
  • 政府法規
  • RootData
  • 登入

動區動趨 BlockTempo © All Rights Reserved.