獨家| 靈踪安全:“白帽拯救行動” 挽回10.9萬枚ETH

本文由靈踪安全原創,授權金色財經獨家發布,轉載請註明出處。

熟悉DeFi生態的用戶都聽過Sushi,它是DeFi生態中知名的去中心化交易所,和Uniswap在圈內都是頂流的交易所項目。但和Uniswap專注交易的縱向發展路徑不同,Sushi除了交易所,也注重在其它領域佈局。

拍賣就是Sushi除交易所之外佈局的領域。而MISO就是Sushi開發的代幣發售平台。這個平台今年2月上線,迄今為止運營了6個多月,整體運行處於比較平穩的狀況。

但就在北京時間8月18日凌晨,多名海外的白帽黑客發現MISO平台合約中存在安全漏洞,並聯手從眾籌資金池中拯救回10.9萬枚ETH(約合3.5 億美元),使Sushi避免了一場潛在的災難。

以金額看,恐怕此次聯手行動是DeFi發展史上“最大的白帽拯救行動”。此次白帽拯救行動導致BitDAO在MISO平台進行的荷蘭拍中的ETH資金池提前結束。

儘管事件得以妥善解決,沒有釀成大禍,但這次事件仍然給我們留下了很多值得深思的問題和教訓。

靈踪安全對此次漏洞的細節分析如下:

這次出現安全漏洞的是MISO的荷蘭式拍賣合約。其拍賣合約地址為:

0x4c4564a1FE775D97297F9e3Dc2e762e0Ed5Dda0e

在合約中,首要存在漏洞的是delegatecall函數調用。

delegatecall函數所執行的交易是外部傳入的。本合約代碼對delegatecall的調用使得每個交易在執行時,使用msg.value不會發生變化,因此調用者可以利用此漏洞支付一筆拍賣費用而提交多筆相同金額的拍賣訂單,這相當於免費參與多次拍賣。

這部分代碼在BoringBatchable.sol文件中,具體代碼如下所示:

除此以外,合約的退款邏輯放大了漏洞的攻擊力。

當拍賣超過上限即auctionSuccessful()條件成立時,合約會執行退款。這個邏輯結合上面的漏洞就產生了這樣的情景:

攻擊者免費參與拍賣,並設置拍賣金額超過上限,從而觸發合約的退款行為,取走拍賣中其他用戶的資金。

退款邏輯由DutchAuction.sol合約中的withdrawTokens()函數實現,其具體代碼如下所示:

IgfVz0K4KdDbLYguFTQ4b3Wanvndt8hHJ0vlEuqn.png

這個安全漏洞最值得注意的地方是,它很早就已經被圈內認識了,並不是新發現的漏洞,因此其表現形式和特點對於成熟的審計公司而言是很容易被發現的。這樣的漏洞完全可以通過審計發現,而不用等到合約上線冒如此大的風險。畢竟並不是每一個項目都能這麼幸運,得到白帽黑客的幫助。但每一個項目在上線前進行詳細的合約審計卻是每個項目團隊都應該做也必須做的。

因此我們再次提醒所有的項目方,做好項目審計是保障項目發展的第一要素。靈踪安全永遠以嚴謹的態度和專業的技能為項目方提供踏實、周全的服務。

關於靈踪安全:

靈踪安全科技有限公司是一家專注區塊鏈生態安全的公司。靈踪安全科技主要通過“代碼風險檢測+邏輯風險檢測“的一體化綜合方案服務了諸多新興知名項目。公司成立於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本出版著作。

Total
0
Shares
Related Posts