由Fairyproof Tech授權,金色財經獨家發布。
8月17日,Fairyproof Tech的監測系統檢查到BSC鏈上的DeFi協議XSURGE遭到閃電貸攻擊。
關于閃電貸攻擊,我們在此前的文章中曾經有過多次介紹。“閃電貸”在DeFi領域,尤其是今年以來的屢 次攻擊事件中已經成為圈內外耳熟能詳的詞匯。
“閃電貸”的原理是利用以太坊智能合約可以回滾交易的特性,進行借貸操作的一種手段。大家一定要注意的是,“閃電貸”只是被利用的手段,它本身并不是罪魁禍首。罪魁禍首一般都另有其它原因。
黑客們利用閃電貸進行攻擊的基本過程是這樣的:
首先利用閃電貸從資金池借出資金
獨家|以太坊2.0存款合約地址已收到33349ETH,進度6.36%:金色財經消息,據歐科云鏈OKLink數據顯示,截至下午14時,以太坊2.0存款合約地址已收到33349ETH,距離524288枚ETH啟動以太坊2.0創世區塊的最低要求已完成6.36%。
以太坊24h鏈上活躍地址數逾53.05萬,環比下降13.78%;鏈上交易量近419.02萬ETH,環比上升12.84%;鏈上交易筆數逾114.27萬筆,環比上升0.58%。
當前以太坊建議Gas費用為69.71Gwei,環比上升92.78%,未確認交易數近8.21萬筆。[2020/11/6 11:50:34]
然后利用借出的資金找準被攻擊合約的漏洞進行攻擊
最后從攻擊獲得的巨額收益中拿出借貸的本金歸還給資金池,則剩下的就是黑客本次攻擊的獲利。
獨家|以太坊24h鏈上交易量上升13.07% 當前建議Gas費用為39.67Gwei:金色財經消息,據歐科云鏈OKLink鏈上數據顯示,以太坊24h鏈上活躍地址數逾48.85萬,環比下降10.11%;鏈上交易量近324.98萬ETH,環比上升13.07%;鏈上交易筆數逾113.21萬筆,環比上升3.87%。
截至下午2時,以太坊全網算力約為251.81TH/s,環比上升0.37TH/s,當前建議Gas費用為39.67Gwei,環比上升7.68%,未確認交易數約10.53萬筆。[2020/10/29]
本次受攻擊的XSURGE項目被黑客抓住的漏洞是“重入攻擊”。黑客抓住這個漏洞,利用閃電貸,放大了攻擊效果。不過本次攻擊事件中,值得注意的是:在XSURGE受到攻擊前,項目方已經在推特上發表了聲明,聲稱在合約中發現漏洞,并提醒大家將資金撤出。
獨家|比特幣24h鏈上交易量為32.95萬BTC 環比下降47.1%:金色財經消息,據歐科云鏈OKLink鏈上數據顯示,比特幣24h鏈上活躍地址數逾94.17萬,環比下降16.97%;鏈上交易量近32.95萬BTC,環比下降47.1%;鏈上交易筆數逾27.63萬筆,環比下降20.33%。
截至上午10時,比特幣全網難度為19.31T,全網算力為138.64EH/s,較前日上升0.92EH/s,未確認交易數約5242筆。[2020/9/27]
或許是項目方的聲明提醒了黑客,抑或許是黑客蓄謀已久,就在項目方的聲明發出不久,項目即遭到了攻擊。
在本次攻擊中,黑客前后進行了多輪測試和攻擊,總共的獲利超過13000個BNB,市值超過500萬美元。在黑客發起的眾多輪測試和攻擊中,我們選取了一次很簡單的攻擊流程和大家展示一下黑客攻擊的過程。
獨家|以太坊當前建議Gas費用為195.29Gwei,環比上升47.91%:金色財經報道,歐科云鏈OKLink鏈上數據顯示,以太坊24h鏈上活躍地址數逾39.23萬,環比下降9.55%;鏈上交易量近541.96萬ETH,環比上升15.73%;鏈上交易筆數逾107.99萬筆,環比上升3.08%。
截至下午2時,以太坊全網算力約為229.89TH/s,環比上升0.09TH/s,建議Gas費用為195.29Gwei,環比上升47.91%,未確認交易數約9.95萬筆。[2020/9/15]
在這個攻擊中,攻擊者的地址為:0x59c686272e6f11dC8701A162F938fb085D940ad3,被攻擊的 XSURGE的合約地址為: 0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21。
獨家|以太坊24h鏈上交易量環比上升89.61%:金色財經消息,歐科云鏈OKLink鏈上數據顯示,以太坊24h鏈上活躍地址數逾48.11萬,環比下降17.7%;鏈上交易量近306.87萬ETH,環比上升89.61%;鏈上交易筆數逾115.13萬筆,環比上升1.26%。
截至下午2時,以太坊全網算力約為201.59TH/s,環比上升2.75TH/s,全網算力小幅回升。建議Gas費用為105.32Gwei,環比上升41.98%,未確認交易數近10.3萬筆。[2020/8/25]
這個攻擊的交易哈希值為 0x42bc03afdbda5c46d185711ce1f5df990ece215534dcd8b14529bb1beddacd4 ,與其相關的交易流 程圖如下:
這個流程圖顯示的是一系列BNB的轉賬流程,這個流程所暗含的信息如下: - 攻擊合約首先以閃電貸的方式借入了3個BNB - 然后攻擊者開始攻擊SurgeToken合約 - 經過重復多次攻擊后,攻擊者獲得的累計金額達8.175個BNB - 攻擊者最終償還3個BNB的閃電貸借款,最后獲利5.1667個BNB “麻雀雖小、五臟俱全”,這個金額很小的試探性攻擊過程就反映了黑客利用閃電貸攻擊合約的完整流 程。那么具體到被攻擊的合約代碼,到底是哪里出了問題呢?下面是我們節選的關鍵代碼:
上述代碼中,有"重入攻擊"漏洞的代碼是下面這一行:
這一行代碼中,在外部調用時,通常 call 調用默認只有2300 gas可用,無法完成一次攻擊。但這里使 用 gas: 40000 的參數, 使得重入攻擊最多有40000 gas可用,這就使得重入攻擊得以完成,漏洞就出 現了。 另外,合約的狀態修改是在外部調用之后,從而導致重入攻擊發生時 require(_balances[seller] >= tokenAmount 這句語句中的 balances[seller] 沒有被修改。因此攻擊者可以在重入時繼續調用上面 的代碼,轉走合約中的BNB。
因此,本次攻擊得逞的原因有以下兩點:
狀態修改發生外部調用之后
調用call函數時設置了gas 值使得重入攻擊的條件得以具備。
重入攻擊是智能合約安全領域經常出現的問題,在本次攻擊中,閃電貸同樣也只是起到了“幫兇”的作用,而不是“禍首”。所以本次合約安全事故的根本還是“重入攻擊”這個漏洞。 這次事件再次提醒所有的項目方要高度重視合約的審計。同時這也提醒了所有的審計者,對常見問題的審計不能掉以輕心,要以嚴謹的態度處理一切問題、細致的工作堵住一切漏洞,而這也是Fairyproof Tech一直以來秉持的基本態度和方法。
關于Fairyproof Tech: Fairyproof Tech科技有限公司是一家專注區塊鏈生態安全的公司。Fairyproof Tech科技主要通過“代碼風險檢測+邏輯風險檢測“的一體化綜合方案服務了諸多新興知名項目。公司成立于2021年01月,團隊由一支擁有豐富 智能合約編程經驗及網絡安全經驗的團隊創建。
團隊成員參與發起并提交了以太坊領域的多項標準草案,包括ERC-1646、ERC-2569、ERC-2794,其中 ERC-2569 被以太坊團隊正式收入。
團隊參與了多項以太坊項目的發起及構建,包括區塊鏈平臺、DAO組織、鏈上數據存儲、去中心化交易 所等項目, 并參與了多個項目的安全審計工作,在此基礎上基于團隊豐富的經驗構建了完善的漏洞追蹤 及安全防范系統。
作者:Fairyproof TechCEO 譚粵飛
美國弗吉尼亞理工大學(Virginia Tech, Blacksburg, VA, USA) 工業工程(Industrial Engineering) 碩士 (Master)。曾任美國硅谷半導體公司 AIBT Inc(San Jose, CA, USA) 軟件工程師,負責底層控制系統的 開發、設備制程的程序實現、算法的設計,并負責與臺積電的全面技術對接和交流。自2011至今,從事 嵌入式,互聯網及區塊鏈技術的研究,深圳大學創業學院《區塊鏈概論》課程教師,中山大學區塊鏈與 智能中心客座研究員,廣東省金融創新研究會常務理事 。個人擁有4項區塊鏈相關專利、3本出版著作。
近日,國內數家互聯網巨頭紛紛進軍NFT領域,在音樂、IP等方面開發數字藝術品并予以售賣。但購得部分NFT后,颯姐團隊卻發現該數字藝術品不能流通與轉賣,僅能自行觀賞.
1900/1/1 0:00:00據報道,全球管理資產百大銀行中,有一半以上是基于加密貨幣和區塊鏈技術的主要公司和項目的投資者。據報道,全球銀行業巨頭正在通過為該行業的項目和企業提供早期和后期資金的方式,加大對新興加密貨幣和區塊.
1900/1/1 0:00:00智能合約是根據合約上設定的預定條件自動執行且無需解釋。由于區塊鏈是一種分布式賬本技術 (DLT),允許將數據全局存儲在不同的服務器上,因此它在很大程度上依賴于這些數據庫來確認交易.
1900/1/1 0:00:00金色財經 區塊鏈8月12日訊 EIP-1559 上線激活已經過去一周時間,坦率地說,這個以太坊改進提案前前后后討論了兩年多時間,最終才得以上線.
1900/1/1 0:00:008月12日,XCarnival CMO Vivi做客獵云財經空中課堂直播間,為大家帶來她對NFT+DeFi 的思考.
1900/1/1 0:00:008月20日消息,Coinbase聯合創始人兼首席執行官Brian Armstrong發推稱,我們最近獲得了董事會的批準,在我們的資產負債表上購買超過5億美元的加密貨幣,以增加我們現有的持有量.
1900/1/1 0:00:00