• 【超完整懶人包】認識比特幣!原理與應用全面解析|動區新手村
  • 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 加密貨幣市場 交易所

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

Vincent Lai by Vincent Lai
2021-08-01
in 交易所, 安全, 犯罪, 美國, 身份驗證
A A
- Source : Blockworks -

- Source : Blockworks -

193
SHARES
分享至Facebook分享至Twitter

近期,於幣安智能鏈(BSC)似乎是特別受到 Defi 駭客們青睞似的,接連受到攻擊。而最經典且嚴重的案例,莫過於 PancakeBunny 及其另外三個分叉項目 AutoShark、Merlin Labs 和 PancakeHunny 的連環爆事件。今天,將由 Amber Group 區塊鏈安全團隊負責人 Chiachih Wu 博士,將模擬重回事發情境,步步剖析帶您了解這三種攻擊的背後細節與手法。
(前情提要:打臉現場!分叉項目 Merlin 重演 PancakeBunny 遭遇,駭客 240 枚 ETH 入袋)
(前情提要: BSC官方:8起閃電貸攻擊恐為「同一駭客組織」所為!)

本文目錄

  • 模仿者 Copycats
  • 再現 Autoshark 攻擊
  • 再現 PancakeHunny 攻擊
  • 重現 Merlin Labs 攻擊
    • BSC上閃電貸攻擊再現!BurgerSwap 被駭技術分析 — 我竟騙了我自己?
    • BSC 項目 PancakeBunny 遭閃電貸攻擊!估遭駭 2 億美元,BUNNY 暴跌 99%
    • BSC首現閃電貸攻擊/技術解析 Spartan Protocol 遭駭手法,造成 3 千萬美元損失

 

本文源自於知名數位資產投資集團 Amber Group 的投稿《BSC Flash Loan Attack: The Three Copycats》,作者為該集團區塊鏈安全專家吳家志博士(Chiachih Wu),該博士曾任英特爾(Intel)、奇虎360 高級研究員,同時於幣圈為名於共同創辦了區塊鏈安全公司派頓(Pechshield)。

以下為吳博士撰文,將詳細闡述這三個 PancakeBunny 模仿者的攻擊背後細節:


5 份以來,幣安智能鏈(BSC)上的 Defi 項目們便開始接連受到 Defi 駭客攻擊。在 PancakeBunny 驚爆遭駭之後,PancakeBunny 的三個分叉項目——AutoShark、Merlin Labs 和 PancakeHunny——也相繼遭遇類似的技術手法遭人毒手。

其中 PancakeBunny 在這四次攻擊中是損失規模最高的項目,總損失金額接近 4,500 萬美元。

模仿者 Copycats

AutoShark 是在 PancakeBunny 遭到攻擊後五天也被釘上,接著是 Merlin Labs 和 PancakeHunny。 下面將對這三個分叉項目已存在的問題和可能的攻擊技術進行分析。

在 SharkMinter.mintFor() 函數中,我們可以假設在第 1492 行收到的代幣數量等於移動餘額的數量。要鑄造的獎勵 SHARK 代幣的數量(即 mintShark)來自於第 1494 行中由 tokenToSharkBNB() 計算的 sharkBNBAmount。

然而,tokenToSharkBNB() 引用了當前的移動餘額,產生了一個漏洞。

儘管如此,駭客可以透過 getReward() 函數調用之前發送的代幣並間接破壞 tokenToSharkBNB() 的邏輯,以輕易操縱餘額。

在 tokenToSharkBNB() 的底層執行層序中,還存在另一個攻擊面。 如上面的程式碼片段表示,_flipToSharkBNBFlip() 從 ApeSwap(第 1243 行)或 PantherSwap(第 1262 行)中移除流動性,並將 LP 代幣轉換為 SHARK+WBNB。

接著,調用 generateFlipToken() 將 SHARK+WBNB 轉換為 SHARK-BNB LP 代幣。

在 generateFlipToken() 裡頭,SharkMinter 目前的 SHARK 和 WBNB 餘額(amountADesired,amountBDesired)用於生成 LP 代幣,並將 LP 代幣的數量返還給 sharkBNBAmount 的 mintFor()。

於此來說,駭客或入侵者可以將 SHARK+WBNB 轉移到 SharkMinter 以操縱要鑄造的 SHARK 代幣數量。
PancakeHunny 中的漏洞與 AutoShark 中發現的漏洞相同,代表駭客可以使用 HUNNY 和 WBNB 代幣操縱 HUNNY 鑄造獎勵。

與 AutoShark 和 PancakeHunny 相比 ,Merlin Labs 的 _getReward() 有一個更明顯的漏洞。

上面的程式碼片段表明,performanceFee 可以透過 CAKE 的餘額來操縱,間接影響了 MERL 獎勵的鑄造。 不過,nonContract 這個改良裝置擺脫了閃電貸。

就算合約上沒有漏洞,駭客仍然可以透過多次調用而獲利。

再現 Autoshark 攻擊

要重現 AutoShark 攻擊,我們首先需要從 PantherSwap 獲取一些 SHARK-BNB-LP 代幣。 具體來說,我們將 0.5 WBNB 交換到 SHARK(第 58 行),並將剩餘的 WBNB 與 SHARK 代幣一起轉移到 PantherSwap 中以鑄造 SHARK-BNB-LP 代幣(第 64 行)。

稍後,我們再將這些 LP 代幣存入 AutoShark 的 StrategyCompoundFLIP 合約(第 69 行)以獲得獎勵。 注意我們在第 69 行只故意存入一半的 LP 代幣。

第二步是讓 getReward() 進入 SharkMinter 合約。在上面的程式碼片段中,我們知道獎勵可以透過 created() 函數(第 1658 行)。

此外,30% 的獎勵(即 performanceFee)應大於 1,000(即 DUST)以觸發第 1668 行中的 SharkMinter.mintFor()。

因此,在我們的漏洞利用程式碼中,我們在第 76 行將一些 LP 代幣轉移到 StrategyCompoundFLIP 合約,以繞過 performanceFee > DUST 檢查並觸發 mintFor() 調用。

由於我們需要大量 WBNB+SHARK 來操作 SharkMinter,因此我們須透過第 81 行的 flash-swap 調用 PantherSwap 的 100k WBNB。

在閃貸回調 pancakeCall() 中,我們將一半的 WBNB 交換為 SHARK,並將剩餘 50,000 WBNB 的 SHARK 發送到 SharkMinter 合約以操縱獎勵鑄造。

下一步則是在當 SharkMinter 收到 WBNB+SHARK 代幣時觸發 getReward() 以對調用方鑄造大量 SHARK 代幣。

最後一步是將 SHARK 轉換為 WBNB,支付閃貸,然後帶走剩餘的 WBNB 代幣。

我們這次的實驗中,駭客如果從 1 WBNB 開始。 在閃貸的協助下,他可以從一筆交易中返還了 1,000 多個 WBNB 中並獲利。

再現 PancakeHunny 攻擊

PancakeHunny 攻擊背後的理論類似於 AutoShark 攻擊。 簡而言之,在觸發 getReward() 之前,我們需要向 HunnyMinter 發送大量 HUNNY+WBNB。

但是,HUNNY 代幣合約有一個稱為 antiWhale 的保護機制,可以防止大量轉移。 因此,閃貸在這裡不會起作用。

為了避開 antiWhale,我們創建了多個子合約並透過這些合約發起多個 CakeFlipVault.deposit() 調用。

在上面的漏洞利用程式碼片段中,在第 116 行收集的 LP 代幣被分為 10 個部分,並在第 122 行轉移到 10 個 Lib 合約,然後讓每個合約調用 Lib.prepare()。

在 Lib.prepare() 中,我們准許 () CakeFlipVault 使用 LP 代幣並調用 CakeFlipVault.deposit() 以啟用稍後的 getReward() 調用來鑄造獎勵 HUNNY 代幣。

準備好 10 個 Lib 合約後,主合約對每個合約進行迭代:

  1. 將 WBNB 換成 HUNNY 的最大允許數量
  2. 將WBNB+HUNNY 轉給 HunnyMinter
  3. 透過 lib.trigger() 觸發 getReward()
  4. 將 HUNNY 轉換回 WBNB。

最後,有 10 WBNB 的駭客透過 10 次運行 10 個 Lib 合約操作中可賺取大約 200 個 WBNB。

重現 Merlin Labs 攻擊

如前所述,Merlin Labs 具有 noContract 改良裝置來擺脫閃貸攻擊。

但是,我們可以使用腳本來觸發 EOA(外部擁有帳戶)地址發起的多筆交易的攻擊。 唯一的區別是有人可以先行搶走駭客的交易並從中竊取利潤。

與 AutoShark 攻擊類似,我們需要準備足夠的 LINK 和 WBNB(第 23 行),使用它們來鑄造 WBNB-LINK-LP 代幣(第 34 行),並將 LP 代幣存入 VaultFlipCake 合約(第 38 行)。

接下來的動作是:

  1. 將 WBNB 交換為 CAKE(第 42 行)。
  2. 透過將 CAKE 發送到 VaultFlipToCake 合約(第 50 行)來操縱 MERL 鑄造。
  3. 在第 55 行觸發 getReward()(鑄造了大量的 MERL 代幣)。
  4. 將 MERL 交換回 WBNB 並多次重複上述步驟。
  5. 如前所述,如果有人在第 2 步之後立即執行第 3 步,則該人可能會移除大量的 MERL。

在這次的實驗中,駭客從 10 WBNB 開始,然後透過將四個步驟重複 10 次,可獲利大約 165 WBNB 。

📍相關報導📍

BSC上閃電貸攻擊再現!BurgerSwap 被駭技術分析 — 我竟騙了我自己?

BSC 項目 PancakeBunny 遭閃電貸攻擊!估遭駭 2 億美元,BUNNY 暴跌 99%

BSC首現閃電貸攻擊/技術解析 Spartan Protocol 遭駭手法,造成 3 千萬美元損失


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

LINE 與 Messenger 不定期為大家服務

加入好友

加入好友

Tags: ethereumGas費用以太坊


關於我們

動區動趨

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

訂閱我們的最新消息

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

戰略夥伴

Foresight Ventures Foresight News

主題分類

  • 關於 BlockTempo

動區動趨 BlockTempo © All Rights Reserved.

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

動區動趨 BlockTempo © All Rights Reserved.