時間:2023-06-09|瀏覽:296
為此,SharkTeam第一時間對此事展開了技術指標分析,并歸納了安全防護方式,期待后面新項目能夠以此為戒,共鑄區塊鏈行業安全防線。
一、事件分析
攻擊者帳戶詳細地址為0x7d192fa3a48c307100c3e663050291fff786aa1f(簡記為0x7d19);進攻合約詳細地址為0xc4bea60f5644b20ebb4576e34d84854f9588a7e2(簡記為0xc4be);被攻擊合約詳細地址為0x6d8981847eb3cc2234179d0f0e72f6b6b2421a01(簡記為0x6d89)。
進攻全過程如下所示,在其中,進攻交易的txHash為0x3ee23c1585474eaa4f976313cafbc09461abb781d263547c8397788c68a00160:
1. 查看0x0b70 BUSD對0x6d18受權額度allowance; 2. 將0x0b70授權BUSD轉到BUSD/WBNB交易對,根據swap函數折算成WBNB; 3. 將WBNB轉到WBNB/DND交易對,根據swap函數折算成DND并退還給0x0b70。
通過上述二步,攻擊者利用了0x0b70的受權,根據2次代幣換取抬高了DND/WBNB交易對里的DND的價錢。同理,攻擊者數次利用個人賬號地址的受權,進一步拉高交易對DND/WBNB交易對心DND的價錢。最終,攻擊者根據DND/WBNB交易對將最初的100萬DND折算成了739.64 WBNB,完成最后的盈利。
從整個進攻環節中,攻擊者利用了每個賬戶BUSD對被攻擊合約0x6d89的受權,再通過swap抬高了DND的價錢。進攻緣故很有可能是被攻擊合約0x6d89上存在權限校驗系統漏洞,這也使得攻擊者能夠利用該系統漏洞遷移授權BUSD以實現控制價錢,也有可能是被攻擊合約沒考慮代幣受權對交易池價錢產生的影響。
二、安全建議
為了規避代幣受權帶來的損失,SharkTeam提出以下安全建議:
1. 撤銷全額的授權狀況,依據每一次交易交易金額開展受權; 2. 在交易結束后取消授權; 3. 在合約(如DEX合約)功能分析和實現時,要了解代幣受權產生的影響,防止價錢被控制的現象; 4. 找專業的財務審計團隊對智能化合約開展財務審計。
關于SharkTeam
SharkTeam致力于全方位維護Web3全球的安全性。精英團隊由來自全國各地的資深的安全性專業人員高級科學研究人員構成,熟練區塊鏈智能合約的底層基礎理論,提供專業的智能化合約財務審計、鏈上剖析、應急處置等業務。已經與區塊鏈生態體系各行各業的重要參加者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立長期合作伙伴關系。
SharkTeam的社交媒體賬戶:
Twitter:https://twitter.com/sharkteamorg Discord:https://discord.gg/jGH9xXCjDZ Telegram:https://t.me/sharkteamorg
想獲取更多區塊鏈安全咨詢和分析,請點擊進入以下連接查詢:
D查下|鏈上風險性審查https://app.chainaegis.com
本文轉載自駝鳥區塊鏈。