慢雾科技2021-05-28 19:45:02
By:yudan@慢霧安全團隊
據慢霧區消息,2021 年 05 月 28 日, 幣安智能鏈 (BSC) DeFi 項目 BurgerSwap 被黑,損失達 330 萬美元。慢霧安全團隊第一時間介入分析,並將結果分享如下:
攻擊細節分析BurgerSwap 是一個仿 Uniswap AMM 項目,但是和 Uniswap 架構有所區別。BurgerSwap 架構總體分成【Delegate -> lpPlatForm -> Pair】。其中 Delegate 層管理了所有的 Pair 的信息,並負責創建 lpPlatForm 層。然後 lpPlatForm 層再往下創建對應的 Pair 合約。在整個架構中,lpPlatForm 層充當了 Uniswap 中 Router 的角色,負責將計算交易數據和要兌換的代幣轉發到 Pair 合約中,完成兌換。
本次事件的根本正是出在這種架構的問題上。通過一步步分析攻擊者的交易行為,我們來還原整個攻擊過程的核心:
本次攻擊開始於 Pancake 的閃電貸,攻擊者從 Pancake 中借出了大量的 WBNB,然後將這些 WBNB 通過 BurgerSwap 兌換成 Burger 代幣。在完成以上的操作後,攻擊者使用自己控製的代幣(攻擊合約本身) 和 Burger 代幣通過 Delegate 層創建了一個交易對並添加流動性,為後續攻擊做準備。
在完成代幣的創建和準備之後,攻擊者立馬通過 PaltForm 層的 swapExactTokensForTokens 函數發起了兌換,兌換路徑為【攻擊者自己控製的代幣 -> Burger -> WBNB】
接下來進行了最關鍵的一次操作。
由於先前攻擊者在創建交易對的時候使用的是自己控製的代幣,在代幣兌換過程中, _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 開發者在移植其他協議的代碼時,需充分了解移植協議的架構,並充分考慮移植協議和自身項目的兼容性,且需通過專業安全審計機構的審計後才上線,防止資金損失情況的發生。
以太坊Layer 2必知必会2023-04-26 15:03:27
浅析NFT未来:仅少数项目上涨 出圈项目会成赢家2023-04-26 14:15:26
E-CNY时代来临:当你的工资成为数字人民币2023-04-26 12:43:48
浅谈为什么MEV搜索者矿池并不可行?2023-04-26 12:08:40
"庄家"互撕 曝出加密巨头拉的那些"帮派"2023-04-26 11:59:08
怎样到达Web3世界:使用Web3技术的公司及集成到业务的步骤2023-04-26 11:53:15
稳定币项目 HAI、Starknet 2023 路线图2023-04-26 11:46:35
ChatGPT类产品安全隐患解决?英伟达发布开源工具包2023-04-26 11:26:24
蚂蚁集团发布HOU、AntChainBridge、Web3开放联盟链等多个Web3产品2023-04-26 11:24:46
ChatGPT背后的算力博弈 中国企业亟待打破美国桎梏2023-04-26 10:59:28
简析DWF Labs:出手频繁 颇具争议的加密做市商2023-04-26 10:48:45
NFT 交易平台生存现状研究:后版税战争时代下的龙头之争2023-04-26 09:20:51
以太坊提款功能开启后的带宽使用情况2023-04-26 08:30:24
上海升级提款效应:数据揭示 LSD 项目们的表现2023-04-26 07:28:37
3分钟读懂基于LayerZero的多链抗MEV DEX聚合器Cashmere2023-04-25 20:05:34
对话去中心化流动性质押协议Rocket Pool:如何促进以太坊Staking民主化?2023-04-25 19:02:21
Bankless:欧美都想监管稳定币 他们怎么做?2023-04-25 17:43:44
Coinbase起诉SEC全文:请在合理时间内回应加密规则请愿书2023-04-25 16:43:34
慢雾:Web3 假钱包第三方源调查分析2023-04-25 15:43:36
Binance Sensei介绍:您的Web3 AI导师2023-04-25 13:20:55