比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

我竟騙了我自己?|BurgerSwap 被黑分析_PAI

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合約中,完成兌換。本次事件的根本正是出在這種架構的問題上。通過一步步分析攻擊者的交易行為,我們來還原整個攻擊過程的核心:

ENS聯創Alex Vande Sande擔任ENS基金會董事:5月7日消息,據Snapshot頁面顯示,ENS社區已投票選舉ENS聯創Alex Vande Sande擔任ENS基金會董事,Brantly Millegan將在ENSDAO任命新董事后辭去ENS基金會董事職務。Sean Murray與Alex Vande Sande是本次ENS基金會選舉的候選人,Alex Vande Sande獲得88.05%投票支持。[2023/5/7 14:48:34]

比特幣核心客戶端Bitcoin Core發布24.0版本:金色財經報道,比特幣核心客戶端Bitcoin Core在GitHub上發布了v24.0: Bitcoin Core 24.0 final源代碼。

比特幣核心客戶端Bitcoin Core 23.0版本于今年4月發布。[2022/11/23 7:59:59]

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

CryptoPunks交易額飆升558% 登每周交易額排行榜榜首:金色財經消息,過去一周,CryptoPunks交易額在NFT市場飆升558%,榮登每周交易額排行榜榜首。(ambcrypto)[2022/7/17 2:18:08]

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

馬斯克將收購推特的股權承諾總額提高到335億美元:5月26日消息,埃隆·馬斯克放棄了用與特斯拉股票掛鉤的保證金貸款為其收購推特提供部分資金的計劃,收購案股權融資規模從而增加到335億美元。據周三遞交的一份監管文件顯示,馬斯克將再提供62.5億美元的股權融資以抵消同等規模的保證金貸款,該筆貸款在本月早些時候已被削減至62.5億美元。文件還顯示,馬斯克繼續尋求額外的融資承諾,包括與推特前首席執行官Jack Dorsey和其他投資者討論將股權注入推特。(金十)[2022/5/26 3:42:18]

接下來進行了最關鍵的一次操作。由于先前攻擊者在創建交易對的時候使用的是自己控制的代幣,在代幣兌換過程中,_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:ENSSWAPFORPAISensible Finance[OLD]uniswap幣不見了antiqueplatformPAID幣

幣安app官網下載
Deribit期權市場播報0528—— 月度交割_CAP

在經歷了2個多月的橫盤,所有市場參與者都感到市場開始無聊時,數字貨幣經歷了一個月的大幅下跌,比特幣從高點的64000美元一度下跌至30000美元.

1900/1/1 0:00:00
歐易OKEx投研 | 比特幣「逃出生天」,重點關注通道支撐_SDT

市場情緒:根據相關數據顯示,截止發稿前24小時全市場主要虛擬幣上漲數量占比61.53%,幾乎和下跌數量占比的38.47%相當,漲幅超過10%的幣種有891個,下跌幅度超過10%的幣種為583個.

1900/1/1 0:00:00
上海站Acala線下Meetup,與你不見不散_CAL

5月28日本周五,Acala將在上海舉辦線下meetup,帶大家全方位了解Acala和Karura以及Karura的拍賣細則,同時也會演示Acala&Karura平臺操作的流程.

1900/1/1 0:00:00
Akash 攜手我的世界《Minecraft》推出尋寶游戲_ASH

隨著Akash主網2的推出世界上第一個去中心化的開源云平臺,開發者終于可以擺脫傳統云基礎設施的限制了.

1900/1/1 0:00:00
DeFi 協議在加密市場暴跌中面臨壓力測試,它們還好嗎?_DEFI

撰文:潘致雄在5月21日晚間政府機構發布了針對「打擊比特幣挖礦和交易行為」的要求之后,全球加密貨幣市場發生持續兩日的劇烈的震蕩,主流幣的單日跌幅高達30%,更多其他幣種的跌幅甚至超過50%.

1900/1/1 0:00:00
從Gas分析入手,探究以太坊和DeFi協議發展史_ETH

撰文:LingYoungLoon,Nansen分析師,翻譯:盧江飛2015年7月,以太坊正式上線.

1900/1/1 0:00:00
ads