以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

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

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合約中,完成兌換。

Vitalik Buterin 闡述加密貨幣美好愿景的擴展定義:包括改善擴容、隱私、UX 和加密社交等:12月31日消息,以太坊創始人 Vitalik Buterin 針對 Paradigm 聯合創始人 Matt Huang 提問的“關于加密貨幣美好愿景的擴展定義是什么”回復稱,改善擴容、改善隱私、改善 UX、對于普通用戶而言更安全的用戶賬戶(非中心化服務)、“支付 +SoV+DeFi”為更多的人提供價值、加密社交起飛、身份和 SIWE(Sign-In with Ethereum)成功、DAO 新組織范式得到更廣泛的采用等。[2022/12/31 22:18:16]

去中心化交易平臺Spin將向早期用戶提供空投:11月22日消息,基于NEAR Protocol的去中心化交易平臺Spin現已正式確認將向早期用戶提供空投,并將在本周公布更多關于空投的細節和線索。

據悉,Spin成立于2021年6月,致力于為鏈上衍生品交易構建多鏈解決方案。[2022/11/22 7:55:55]

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

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

美債市場預測美聯儲明年將降息50個基點 利率料在年初見頂:6月30日消息,債券市場周三轉向預測美聯儲將在2023年某個時候降息50個基點,越來越多交易員押注美國經濟衰退將使美聯儲暫停大幅加息腳步。市場對通脹的預期與汽油價格一起急劇下跌,股市的痛苦引發了對美國國債的興趣,收益率全線承壓。與明年美聯儲會期掛鉤的利率掉期顯示,交易員預計到明年12月利率將接近3.11%,比預估在3月份達到的3.62%頂部下降了逾50基點。美國國債收益率全線下跌5-7個基點。5年期通脹保值債券的盈虧平衡利率下跌多達14個基點,至2.61%。(金十)[2022/6/30 1:40:21]

Immutable X 將于本周開始激活協議費用,對所有交易收取 2% 的費用:5月30日消息,以太坊 NFT 二層擴容方案 Immutable X 宣布將于本周開始激活協議費用,即將對所有交易收取 2% 的費用(6 月暫按 1% 收取),該費用的一部分將分配給 Immutable,一部分分配給 IMX 質押獎勵池。[2022/5/30 3:50:13]

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

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

由于先前攻擊者在創建交易對的時候使用的是自己控制的代幣,在代幣兌換過程中,_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:SWAPFORAIRPAISwapifyfort幣認購fair幣創始人SENPAI價格

幣安app官方下載最新版
EFI:從 Gas 分析入手,深入探究以太坊和 DeFi 協議發展史

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

1900/1/1 0:00:00
NFT:覓新 | 基于NEAR的NFT平臺Mintbase主網上線

目前主流的NFT平臺如SuperRare,Foundation,Opensea、Rarible等均基于以太坊,在它們上面鑄造NFT的一大被用戶詬病的地方是.

1900/1/1 0:00:00
USDT:牛市賺再多 也扛不住重重陷阱?

很多朋友因失誤操作踩坑眾多陷阱,導致財產損失嚴重,更有甚者在牛市中歸零,真的是慘不忍睹。今天給大家舉幾個典型的例子,希望大家可以引以為戒,避開這些陷阱.

1900/1/1 0:00:00
比特幣:在北美比特幣礦業會議上,兩位華爾街大亨Saylor和 Musk究竟說了什么?

原標題:《在比特幣礦業委員會上,兩位華爾街大亨Saylor和Musk究竟說了什么?》最近關于這兩位超級億萬富翁和“北美主要比特幣礦商”的會面究竟是積極的還是消極的,目前還沒有定論.

1900/1/1 0:00:00
比特幣:7億美元逆勢建倉比特幣、COIN股票 如何解讀ARK基金的加密投資動作?

根據媒體報道,方舟投資管理公司最近已購買2000萬美元的比特幣,另外,該公司旗下的基金上周持續購買Coinbase股票,截至目前累計共持有7.06億美元.

1900/1/1 0:00:00
數字人:證監會姚前:以研究者身份解讀央行數字貨幣

前言 5月29日-30日,國際金融論壇2021春季會議在北京舉行。在論壇“數字貨幣與未來數字化轉型”環節,中國證監會科技監管局局長姚前進行了分享.

1900/1/1 0:00:00
ads