以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

我竟騙了我自己?—— BurgerSwap 被黑分析_SWAP

Author:

Time:1900/1/1 0:00:00

By:yudan@慢霧安全團隊

據慢霧區消息,2021年05月28日,幣安智能鏈(BSC)DeFi項目BurgerSwap被黑,損失達330萬美元。慢霧安全團隊第一時間介入分析,并將結果分享如下:

攻擊細節分析

BurgerSwap是一個仿UniswapAMM項目,但是和Uniswap架構有所區別。BurgerSwap架構總體分成。其中Delegate層管理了所有的Pair的信息,并負責創建lpPlatForm層。然后lpPlatForm層再往下創建對應的Pair合約。在整個架構中,lpPlatForm層充當了Uniswap中Router的角色,負責將計算交易數據和要兌換的代幣轉發到Pair合約中,完成兌換。

去中心化交易平臺Ambient Finance完成650萬美元融資:7月12日消息,去中心化交易平臺 Ambient Finance 完成 650 萬美元種子輪融資,BlockTower Capital領投,參投方包括Jane Street、Circle、Tensai Capital、Naval、Yunt Capital、Susa Ventures、Quantstamp和Hypotenuse Labs,個人投資者包括Ribbon Finance聯合創始人Julian、The Block研究員Steven等。本輪融資將用于研發。[2023/7/12 10:50:21]

派盾:鏈游HeroCat代幣HCK暴跌94%,某地址傾售獲利15.1萬枚BUSD:8月30日消息,派盾(PeckShield)監測顯示,鏈游HeroCat代幣HCK暴跌94%,其中地址(0x6e4....a441)進行傾售,并將15.1萬枚BUSD轉移至新地址(0x74A.....3CF4C)。[2022/8/30 12:57:40]

本次事件的根本正是出在這種架構的問題上。通過一步步分析攻擊者的交易行為,我們來還原整個攻擊過程的核心:

本次攻擊開始于Pancake的閃電貸,攻擊者從Pancake中借出了大量的WBNB,然后將這些WBNB通過BurgerSwap?兌換成Burger代幣。在完成以上的操作后,攻擊者使用自己控制的代幣(攻擊合約本身)和Burger代幣通過Delegate層創建了一個交易對并添加流動性,為后續攻擊做準備。

a16z宣布向WeWork創始人新公司Flow投資3.5億美元:金色財經報道,a16z宣布向WeWork創始人新公司Flow投資3.5億美元,該公司旨在通過連接人們在他們的住宅周圍建立社區來顛覆當前的住宅房地產市場。[2022/8/15 12:26:45]

在完成代幣的創建和準備之后,攻擊者立馬通過PaltForm層的swapExactTokensForTokens函數發起了兌換,兌換路徑為

Algorand基金會任命Eric Wragge為業務發展和資本市場的全球主管:金色財經報道,?Algorand基金會宣布Eric Wragge作為業務發展和資本市場的全球主管。Wragge在JP Morgan工作了20多年后加入Algorand 基金會,他最近在摩根大通擔任結構化融資董事總經理和北歐資產支持證券負責人。[2022/7/5 1:52:30]

接下來進行了最關鍵的一次操作。

由于先前攻擊者在創建交易對的時候使用的是自己控制的代幣,在代幣兌換過程中,_innerTransferFrom函數會調用攻擊者控制的代幣合約,于是攻擊者可以_innerTransferFrom函數中重入swapExactTokensForTokens函數。為什么攻擊者要這樣做呢?

通過對PlatForm層的swapExactTokensForTokens函數進行代碼分析,我們不難發現,合約在調用_innerTransferFrom函數時首先計算了用戶的兌換數據,然后在_innerTransferFrom函數的操作后使用預先計算的數據來轉發到底層進行真正的代幣兌換。從這個函數層面來看,就算攻擊者重入了swapExactTokensForTokens函數,底層調用的swap函數也是獨立的,咋一看并沒有什么問題,但是鏈上的一個行為引起了慢霧安全團隊的注意:

我們驚訝地發現,在重入的兌換過程中,兌換的數量竟然沒有因為滑點的關系而導致兌換數量的減少。這究竟是什么原因呢?看來關鍵是底層的Pair合約的問題了。我們又進一步分析了底層調用的Pair合約,代碼如下:

通過分析Pair的代碼,我們再次驚訝地發現在swap的過程中,合約竟然沒有在兌換后根據恒定乘積公式檢查兌換后的數值!!也就是說,Pair合約完全依賴了PlatForm層的數據進行兌換,導致了本次事件的發生。由于Pair層本身并不做恒定乘積的檢查,在重入的過程中,PlatForm層的兌換數據預先進行了計算,在_innerTransferFrom函數完成后,Pair的更新數據也沒有反映到PlatForm層中,導致重入交易中的兌換產生的滑點并不影響下一次的兌換,從而造成了損失。用圖來看的話大概如下:

總結

本次攻擊屬于BurgerSwap架構上的問題,由于Pair層完全信任PaltForm層的數據,并沒有自己再做一次檢查,導致攻擊的發生。最近DeFi安全事件頻發,針對越來越密集的DApp攻擊事件,慢霧安全團隊建議DApp開發者在移植其他協議的代碼時,需充分了解移植協議的架構,并充分考慮移植協議和自身項目的兼容性,且需通過專業安全審計機構的審計后才上線,防止資金損失情況的發生。

攻擊交易參考:

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

Tags:SWAPFORPAIAIRTT-SwapFairy Forest NFTLianPai TokenWallfair

pepe最新價格
三明治攻擊暗流涌動 DeFi要如何走出泥潭?_區塊鏈

最近CipherTrace的一項研究描繪了一幅悲慘的景象:盡管加密用戶在犯罪襲擊中的損失在2020年大幅下降了57%,降至19億美元,但DeFi領域的欺詐行為仍在繼續增長.

1900/1/1 0:00:00
比特幣挖礦五大誤區:比特幣究竟是不是清潔的?_比特幣

原文:Coinbase博客隨著比特幣日益成為主流,投資者和公眾自然都對它的工作原理產生了疑問。這些問題之一就是關于比特幣挖礦所造成的潛在環境影響.

1900/1/1 0:00:00
融資新聞|復星領投,云象完成過億元B輪融資_區塊鏈

據云象區塊鏈消息,繼2021年3月公司成為之江實驗室協同創新生態成員后,云象再傳喜訊—完成過億元B輪融資!本輪融資由復星梵一基金領投,老股東深創投、杭州紅土成長基金跟投.

1900/1/1 0:00:00
金色前哨|Uniswap V3將重啟流動性挖礦_區塊鏈

金色財經報道,5月28日,Uniswap創始人HaydenAdams透露,Uniswap很可能會在短期內重新啟動原生代幣UNI流動性挖礦,因為重啟流動性挖礦應該對社區有所幫助.

1900/1/1 0:00:00
挖鴨嗎?和NFT結合,Farming的養殖業游戲這樣玩_EGG

來挖鴨子嗎? 這是Wavesprotocol最近推出的一個結合NFT收藏品和Farming的游戲,你可以叫它DuckHunters或者Wavesducks.

1900/1/1 0:00:00
Ray Dalio : 數字人民幣將成為頂級儲備貨幣 比特幣是“替代貨幣

重要時訊 周一橋水基金創始人RayDalio在接受CNBC采訪時表示,數字人民幣將比數字美元更具競爭力.

1900/1/1 0:00:00
ads