時間:2023-08-07|瀏覽:213
天網(wǎng)掃描
- 事件概述
6月29日,攻擊者從dYdX閃電貸中借到代幣并鑄幣后,通過uniswap閃貸獲得cWBTC和cBAT代幣,然后將借得的代幣在Balancer代幣池中大量交易,從而觸發(fā)Compound協(xié)議的空投機制,獲得空投的COMP代幣,再使用Balancer有漏洞的gulp函數(shù)更新代幣池數(shù)量后,取走所有代幣并歸還閃電貸。攻擊者相當于利用了Compound協(xié)議的金融模型、閃電貸和Balancer代碼漏洞,無中生有了COMP,總獲利約為11.5ETH。
- CertiK攻擊者心理畫像
6月29日下午8點與11點的兩起攻擊使用了相同的手法并且使用了同一個收款地址,確認為一個團隊。雖然這兩次攻擊與29日凌晨2點的攻擊均利用了Balancer合約的gulp,但是攻擊手段不同,后兩次攻擊利用了Compound的金融模型的漏洞而不是單純的代碼漏洞。另外,后兩次攻擊的獲利遠小于首次攻擊獲利,實施首次攻擊的黑客沒有再次攻擊的動機。
CertiK判斷后兩次攻擊是在首次攻擊14小時后,利用類似原理實施的模仿攻擊。
- DeFi安全新挑戰(zhàn)
這次的攻擊事件主要利用了金融模型設(shè)計上的漏洞,而不是代碼層面的漏洞。這種由DeFi市場孕育出的新型攻擊模式,讓大部分區(qū)塊鏈安全公司僅有的“代碼審計”服務(wù)變得毫無用處。
只針對代碼層面而不能對抽象模型進行分析的、傳統(tǒng)的安全技術(shù)完全應(yīng)對不了DeFi帶來的新挑戰(zhàn)。而沒有模型層面保護的DeFi,只能淪為熟知DeFi金融模型的黑客的提款機。
- DeFi安全預(yù)警是弊大于利嗎?
這次的模仿攻擊,讓很多人對區(qū)塊鏈安全公司產(chǎn)生了質(zhì)疑:安全公司的分析文章會不會教會更多人攻擊的方法?為什么各種安全預(yù)警沒有改善安全環(huán)境?我們真的還需要安全預(yù)警嗎?
CertiK的觀點是,不僅需要安全預(yù)警,還要做到更快更深入!
不同于傳統(tǒng)軟件系統(tǒng),區(qū)塊鏈所有的交易、所有的合約調(diào)用都是公開透明的。攻擊事件發(fā)生后,區(qū)塊鏈上的交易記錄對于黑客而言就是最直白的教科書,區(qū)塊鏈安全公司要搶在模仿攻擊之前發(fā)布預(yù)警,保護相關(guān)公司。但是最近頻繁的攻擊事件,再一次證明安全預(yù)警是遠遠不夠的,并不能改變當前DeFi乃至整個區(qū)塊鏈的安全現(xiàn)狀。
- DeFi安全還有機會嗎?
為了根本性改變DeFi的安全現(xiàn)狀,我們必須針對新型智能合約(比如DeFi、IoT)引入全新的安全機制。
這種安全機制必須要能進行模型層的分析,必須能夠適應(yīng)新型合約的發(fā)展,盡量做到在攻擊時攔截,而非在攻擊后預(yù)警。CertiK團隊正在研發(fā)基于CertiKChain的新型安全DeFi機制——CeDeFi(CertifiedDeFi)——即可信DeFi,相信可以在未來徹底改變當前被動的安全現(xiàn)狀。
- 攻擊還原
以下午11點對Balancer的攻擊為例:
步驟1:從dYdX處通過閃電貸形式借得WETH、DAI和USDC三種代幣,數(shù)額分別是103067.20640667767、5410318.972365872和5737595.813492。
步驟2:使用步驟1中得到的代幣,對三種代幣(cETH、cDAI和cUSDC)進行鑄幣操作(mint)。
步驟3:使用uniswap通過閃電貸形式,借得(borrow)并鑄造(mint)cWBTC,cBAT代幣。
步驟4:攜帶獲得的cWBTC與cBAT加入代幣池,此時攻擊者擁有的cWBTC和cBAT的數(shù)目分別為4955.85562685和55144155.96523628。
步驟5:分別用cWBTC和cBAT在該代幣池中進行大量的交易,從而觸發(fā)Airdrop操作,將無歸屬的COMP分發(fā)到該代幣池中。
步驟6:調(diào)用gulp函數(shù)將當前