By:yudan@慢霧安全團隊
據慢霧區消息,2021年05月28日,幣安智能鏈(BSC)DeFi項目BurgerSwap被黑,損失達330萬美元。慢霧安全團隊第一時間介入分析,并將結果分享如下:
攻擊細節分析
BurgerSwap是一個仿UniswapAMM項目,但是和Uniswap架構有所區別。BurgerSwap架構總體分成。其中Delegate層管理了所有的Pair的信息,并負責創建lpPlatForm層。然后lpPlatForm層再往下創建對應的Pair合約。在整個架構中,lpPlatForm層充當了Uniswap中Router的角色,負責將計算交易數據和要兌換的代幣轉發到Pair合約中,完成兌換。
烏克蘭政府擱置將幣安支付服務整合到官方應用的計劃:11月29日消息,據當地加密貨幣新聞媒體Forklog報道,幣安已于10月下旬將KYC流程整合到烏克蘭的Diia移動應用程序中。Diia允許烏克蘭用戶在線制作國家頒發的文件和政府服務的數字副本,由政府機構帶頭開發。
烏克蘭數字轉型部副部長Alex Bornyakov表示,原則上整合可以更進一步,包括通過幣安在Diia中進行加密支付。但相關整合遭到烏克蘭當地加密社區強烈反對,烏克蘭本地交易所Kuna、WhiteBit和加密借貸服務Trustee Plus甚至向總統提交了一份請愿書,要求他阻止此舉,并凍結了BNB在其平臺上的交易。目前該整合計劃暫時被擱置。(Coindesk)[2022/11/29 21:08:48]
韓國監管機構正研究制定虛擬資產會計和審計準則:7月27日消息,韓國金融監管服務局(FSS)將于7月28日和韓國會計標準院、韓國注冊會計師等一起舉行首次專家座談會,討論虛擬資產相關會計監管問題,并討論編制會計和審計準則以保護市場投資者。首次會議的主題為虛擬資產會計處理現狀以及為保護投資者加強信息披露,將討論是否披露虛擬資產發行及出售情況、持倉情況以及顧客委托虛擬資產等相關信息。(Dailian)[2022/7/27 2:40:42]
本次事件的根本正是出在這種架構的問題上。通過一步步分析攻擊者的交易行為,我們來還原整個攻擊過程的核心:
Luna的韓國投資者達28萬人 持有量達809億枚:5月24日消息,在今日韓國執政黨和政府就Luna和Terra USD(UST )的崩盤召開的緊急會議上,韓國金融服務委員會金融情報室(FIU)表示,截止5月18日,Luna的韓國投資者達28萬人,持有量達809億枚,總市值為339億韓元,與該國虛擬資產市值相比僅為0.08%。
FIU表示,在“Luna事件”發生之前的5月6日,韓國用戶為10萬人,保有量達317萬枚,但在“Luna事件”發生后,價格下降的10多天里,持有量和保有量急劇增加。
FIU將此次luna事件稱為“死亡漩渦”,并指出,因此次事件,人們已經失去了對Terra系統穩定性的信任,對算法穩定幣的疑懼正在增加。(韓聯社)[2022/5/24 3:38:11]
本次攻擊開始于Pancake的閃電貸,攻擊者從Pancake中借出了大量的WBNB,然后將這些WBNB通過BurgerSwap?兌換成Burger代幣。在完成以上的操作后,攻擊者使用自己控制的代幣(攻擊合約本身)和Burger代幣通過Delegate層創建了一個交易對并添加流動性,為后續攻擊做準備。
廈門“元宇宙產業人才基地”揭牌:金色財經報道,廈門“元宇宙產業人才基地”揭牌,該基地由廈門火炬高新技術產業開發區管理委員會、中共廈門市委人才工作領導小組辦公室等單位聯合指導,由工業和信息化部人才交流中心、福建省區塊鏈協會、廈門市云大物智數據研究院、Watson Build創新中心等單位提供多維專業支持。(福建日報)[2022/5/23 3:35:39]
在完成代幣的創建和準備之后,攻擊者立馬通過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:SWAPFORPAIAIRfrogswapvanguardfortressLianPai TokenMetaAir
DevinFinzer于2017年推出了NFT市場OpenSea,當時作為早期的NFT項目開始引起人們的注意.
1900/1/1 0:00:00為共建亞太區玩家和粉絲社區,并推動NFT游戲創新發展,SpaceY2025現計劃面向中文區塊鏈社群主,自媒體大V,意見領袖KOL,社群KOL以及NFT游戲愛好者等,招募KOL合作伙伴.
1900/1/1 0:00:00本文由中幣研究院原創編輯 熱點摘要: 1.ARK基金創始人:比特幣環保進程或提升太陽能吸引力;2.美便利店巨頭Sheetz將開始接受DOGE、BTC、ETH等支付方式;3.
1900/1/1 0:00:00學習最基本的ZZ常識,對投資大有好處1、監管的最高,最根本目的是維持社會穩定,也就是,只要社會不亂,大家都在干活,賺多賺少,虧多虧少,都只是暫時的.
1900/1/1 0:00:00DeFi數據 1.DeFi總市值:872.40億美元 市值前十幣種排名數據來源DeFiboxDeFi總市值數據來源:Coingecko2.過去24小時去中心化交易所的交易量:42.
1900/1/1 0:00:00利空消息接踵而至,市場漲漲跌跌、起起伏伏。市場短期的漲落是由多空投機者推動的,但是稍微長一點兒的狀況,則完全取決于長期投資者.
1900/1/1 0:00:00