🎉 攢成長值,抽華爲Mate三折疊!廣場第 1️⃣ 2️⃣ 期夏季成長值抽獎大狂歡開啓!
總獎池超 $10,000+,華爲Mate三折疊手機、F1紅牛賽車模型、Gate限量週邊、熱門代幣等你來抽!
立即抽獎 👉 https://www.gate.com/activities/pointprize?now_period=12
如何快速賺成長值?
1️⃣ 進入【廣場】,點擊頭像旁標識進入【社區中心】
2️⃣ 完成發帖、評論、點讚、發言等日常任務,成長值拿不停
100%有獎,抽到賺到,大獎等你抱走,趕緊試試手氣!
截止於 8月9日 24:00 (UTC+8)
詳情: https://www.gate.com/announcements/article/46384
#成长值抽奖12期开启#
OrionProtocol遭重入攻擊 290萬美元資金被盜
OrionProtocol遭受重入攻擊事件分析
2023年2月2日15:40:20(UTC時間),以太坊和幣安智能鏈上的OrionProtocol因合約漏洞遭到重入攻擊。攻擊者成功竊取了約290萬美元的資金,其中包括以太坊上的2,844,766 USDT和幣安智能鏈上的191,606 BUSD。
攻擊過程分析
攻擊者首先部署了一個自定義Token合約,並進行了相關的轉移和授權操作,爲後續的攻擊做好準備。隨後,攻擊者通過Uniswap V2的swap函數進行借貸,並調用OrionProtocol的ExchangeWithAtomic.swapThroughOrionPool方法進行代幣兌換。
兌換路徑設置爲[USDC, 攻擊者Token, USDT],其中攻擊者Token是關鍵。在兌換過程中,由於這個自定義Token合約中包含回調功能,攻擊者能夠在Token轉帳時觸發ExchangeWithAtomic.depositAsset方法,從而實現重入攻擊。這導致存款金額被錯誤累加,最終攻擊者通過取款操作完成了獲利。
資金流向
攻擊者的初始資金來自某交易平台的熱錢包。攻擊獲得的1,651 ETH中,657.5 ETH仍留在攻擊者的錢包地址,其餘部分已經通過混幣服務進行了轉移。
漏洞分析
漏洞的核心在於ExchangeWithAtomic合約中的doSwapThroughOrionPool和_doSwapTokens函數。這些函數在執行代幣轉帳後才更新curBalance變量,這爲重入攻擊創造了條件。攻擊者通過在自定義Token的transfer函數中添加回調邏輯,成功觸發了depositAsset函數,導致curBalance被錯誤更新。最終,攻擊者在償還閃電貸後,通過withdraw函數提取了超額資金。
防範建議
遵循"檢查-效果-交互"(Checks-Effects-Interactions)模式:在執行外部調用前先更新合約狀態。
使用重入鎖:在敏感操作開始前加鎖,結束後解鎖,防止重入。
全面考慮各種代幣和兌換路徑:在設計兌換功能時,需要考慮到各種可能的情況和邊界條件。
限制單次交易金額:設置合理的交易限額,降低潛在損失。
定期進行安全審計:聘請專業的安全團隊對合約進行全面審計,及時發現並修復潛在漏洞。
實施多重籤名機制:關鍵操作需要多方確認,增加攻擊難度。
優化代碼邏輯:確保在更新關鍵狀態變量後才進行外部調用。
增加應急響應機制:制定完善的應急預案,在發生攻擊時能夠迅速反應,最小化損失。
本次事件再次強調了智能合約安全的重要性。項目方需要在開發過程中時刻保持警惕,採取全面的安全措施,以保護用戶資產和項目聲譽。同時,這也提醒投資者要謹慎選擇項目,關注項目的安全性和技術實力。