本文由“靈踪安全”原創,授權“金色財經”獨家發布。
8月25日,BSC鏈上的收益聚合應用Dot.Finance受到閃電貸攻擊。受本次攻擊事件的影響,項目代幣PINK在短時內發生暴跌,從0.77美元跌至0.5美元。
這次攻擊事件中有兩點值得我們注意:
一是閃電貸再次成為黑客的工具,將攻擊的後果放大。
二是本次攻擊與前陣子PancakeBunny受到的攻擊同源。
關於“閃電貸”,我們已經在往期的文章中多次介紹:它不是攻擊的元兇而只是攻擊利用的手段。本文特別想強調的是第二點,也就是本次攻擊與PancakeBunny的同源性。
我們在本文所說的“同源”通俗的理解就是本項目出現的漏洞與PancakeBunny一樣。為什麼會這樣呢?原因就在於Dot Fiance是分叉自PanacakeBunny的代碼,而在分叉複製的過程中,項目方或許是因為疏忽,或許是因為其它原因,並沒有對代碼進行詳細審計,以致PancakeBunny代碼中的漏洞也一併複製過來了,而沒有得到修正。
由於本次攻擊與PancakeBunny具有同源性,因此我們有必要首先回顧一下PancakeBunny此前受到的攻擊情況,這些攻擊事件具體如下:
2021年5月20日,PancakeBunny第一次遭遇攻擊
2021年5月26日,PancakeBunny第二次遭遇攻擊
2021年7月17日,PancakeBunny在Polygon上的版本遭外部攻擊
本次Dot Finance受到的攻擊則與PancakeBunny第二次遭受的攻擊是相同的漏洞。具體地說,Dot Finance分叉複製了PancakeBunny的收益聚合部分,但沒有修正其隱藏的漏洞。
靈踪安全對本次事件的詳細分析如下:
在本次攻擊中,
攻擊者的地址為:0xDFD78a977c08221822F6699AD933869Da6d9720C
攻擊合約的地址為:0x33f9bB37d60Fa6424230e6Cf11b2d47Db424C879
被攻擊的合約為“VaultPinkBNB”,其地址為:0xbfca3b1df0ae863e966b9e35b9a3a3fee2ad8b07
具體在合約“VaultPinkBNB”中,出現漏洞的代碼為“getReward()”函數,函數完整代碼如下:
函數中具體出現漏洞的代碼片段為:
上述代碼片段在計算獎勵時,_minter.performanceFee(cakeBalance)傳入的參數cakeBalance 是CAKE代幣的餘額。攻擊者可以在調用getReward前將閃電貸借入的CAKE轉入VaultPinkBNB合約,導致產生非預期的performanceFee值,而_minter.mintFor()則根據這個非預期的performanceFee值增發超額的PINK獎勵代幣。然後攻擊者將PINK在Pancake上賣出換為BNB和CAKE,一部分償還閃電貸,剩餘部分則為本次攻擊的獲利。
這類由項目之間的相互分叉而導致漏洞傳導的事件已經不是第一次發生,我們相信未來這類漏洞還會發生。
單就本次攻擊及漏洞的來源來看,靈踪安全強烈建議,所有分叉自PancakeBunny或與PancakeBunny同源的項目都應再次審查項目代碼是否存在類似的漏洞,對代碼進行安全審計。
如果從本次漏洞出現的模式看,所有分叉自其它項目的項目都應提高警惕。這類具有同源性質的多個項目,無論其漏洞本身隱藏得多麼深,但只要發生一次、被業界公開,其它的同源項目都應該引起警示並馬上著手整改。因為此類漏洞一旦被披露,理論上項目方是有足夠的時間來修正問題的。只要項目方在漏洞發生的第一時間對本項目代碼進行二次審計和測試,本項目受到後續攻擊是完全可以避免的。
因此靈踪安全再次提醒項目方,尤其是分叉自其它項目的項目方,每當同源項目受到攻擊時,應立刻著手對本項目代碼進行再次審計,避免項目重蹈覆轍。
關於靈踪安全:
靈踪安全科技有限公司是一家專注區塊鏈生態安全的公司。靈踪安全科技主要通過“代碼風險檢測+邏輯風險檢測“的一體化綜合方案服務了諸多新興知名項目。公司成立於2021年01月,團隊由一支擁有豐富智能合約編程經驗及網絡安全經驗的團隊創建。
團隊成員參與發起並提交了以太坊領域的多項標準草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊團隊正式收入。
團隊參與了多項以太坊項目的發起及構建,包括區塊鏈平台、DAO組織、鏈上數據存儲、去中心化交易所等項目, 並參與了多個項目的安全審計工作,在此基礎上基於團隊豐富的經驗構建了完善的漏洞追踪及安全防範系統。
作者:
靈踪安全CEO 譚粵飛
美國弗吉尼亞理工大學(Virginia Tech, Blacksburg, VA, USA) 工業工程(Industrial Engineering) 碩士(Master)。曾任美國矽谷半導體公司AIBT Inc(San Jose, CA, USA) 軟件工程師,負責底層控制系統的開發、設備製程的程序實現、算法的設計,並負責與台積電的全面技術對接和交流。自2011至今,從事嵌入式,互聯網及區塊鏈技術的研究,深圳大學創業學院《區塊鏈概論》課程教師,中山大學區塊鏈與智能中心客座研究員,廣東省金融創新研究會常務理事 。個人擁有4項區塊鏈相關專利、3本出版著作。