甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

8月17日,鏈必安-區塊鏈安全態勢感知平台(Beosin-Eagle Eye)輿情監測顯示,BSC鏈上DeFi協議XSURGE遭到閃電攻擊,攻擊者利用合約的重入漏洞獲利超過13111BNB。關於本次攻擊,成都鏈安技術團隊第一時間進行了事件分析。

#1 事件概覽

攻擊如何發生 Event overview

DeFi項目XSURGE今日遭遇閃電貸攻擊,不過在XSURGE在遭攻擊前,官方發布了關於SurgeBNB漏洞的聲明。

XSURGE表示,當地時間8月16日發現了SurgeBNB合約的潛在安全漏洞。由於SurgeBNB合約不可更改且已被放棄,因此無法追溯修補該代幣。XSURGE沒有透露任何關於此漏洞性質的具體細節,但強烈建議用戶儘快遷移出SurgereBnb,因為該漏洞隨時都可能被攻擊者觸發。

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

說時遲那時快,在聲明發布后,XSURGE隨後便表示遭遇攻擊,這甜蜜一擊讓項目方防不勝防。官方稱,攻擊者通過後門漏洞在SurgeBNB中竊取了500萬美元。由於SurgeUSD或SurgeETH不提取BNB,因此它們不能成為未來攻擊的目標。

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

回到本次閃電貸攻擊,讓我們看看這一次的攻擊者是如何實現「空手套白狼」的。

#2 事件具體分析

攻擊者如何得手 Event overview

攻擊者地址:

0x59c686272e6f11dC8701A162F938fb085D940ad3

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

攻擊合約

以交易

0x8c93d6e5d6b3ec7478b4195123a696dbc82a3441be090e048fe4b33a242ef09d為例

round 0

先通過閃電貸借出10,000BNB。

Round 1

用所有的的BNB去購買SURGE,根據當前價格,能買到1,896,594,328,449,690 SURGE。

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

獲取的SURGE

Round 2

調用sell函數賣出所獲得的SURGE,賣出了9346個BNB。

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

Round 3

因為sell函數是先轉賬后修改數據,且轉賬代碼中存在重入漏洞。在攻擊合約收到BNB時,SURGE合約的狀態改變前(第595行代碼),攻擊合約可通過重入漏洞再次購買SURGE。

由於攻擊合約每次都將所有BNB餘額用於購買SURGE,合約的bnbAmount不變,而SURGE的代幣總量_totalSupply未更新(仍為sell之前的數量),因此SURGE價格降低,導致攻擊者可以買到更多的SURGE。

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

Round 4

重複3次Round2、Round3,攻擊者通過重入累積了大量的SURGE,之後將所有的SURGE全部賣出便可以獲利。

這筆交易的最後,攻擊合約賣了1,864,120,345,279,610,000 SURGE,獲得了10327 BNB,最後將獲利的297 BNB發送給攻擊者地址。

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

#3 事件復盤

我們需要注意什麼 Case Review

對於本次攻擊事件,成都鏈安技術團隊給出的修改建議為:1.為防止重入攻擊,任何轉賬操作都應該發生在狀態改變后;2.使用transfer或send進行轉賬,不要使用call.value。

在此類安全事件中,攻擊者通常屬於「空手套白狼」,先使用閃電貸獲取大量資金,擁有了攻擊的啟動「砝碼」后,再通過一系列手段出入各類抵押、借貸、交易等協議,在實現操縱、扭曲資產價格數據后,實施套利,最後歸還「本金」。

甜蜜一擊?誰是幕後黑手?BSC鏈上XSURGE遭閃電貸攻擊全解析

🌀注意 🌀

本次事件,攻擊者利用合約的重入漏洞獲利超過13111BNB,成都鏈安在此提醒各位用戶注意風控,比如在官方發布關於SurgeBNB漏洞的聲明后,要及時採取相應措施。

本文鏈接:https://www.8btc.com/article/6675209

轉載請註明文章出處

(0)
上一篇 2021-08-17 18:11
下一篇 2021-08-17 18:18

相关推荐