北京時間6 月23 日,PeckShield「派盾」預警顯示,BSC 鏈上收益聚合器Eleven Finance 中與Nerve 相關的機槍池遭到閃電貸攻擊。
PeckShield 「派盾」通過追踪和分析發現,此次攻擊源於Eleven Finance 的Emergencyburn() 計算餘額錯誤,且未執行銷毀機制,攻擊者獲利近460 萬美元。
有趣的是,幾個小時後,昨天剛從Impossible Finance 薅得近50 萬美元的攻擊者,利用Eleven Finance 的漏洞,通過閃電貸攻擊獲利近52 萬美元。
第一個攻擊者創建了4 個合約,進行了5 次攻擊。
PeckShield 以合約0x8b29 為例簡述攻擊過程:
首先,攻擊者從PancakeSwap 中藉出953,869.6 BUSD,並將其中340,631.2 BUSD 兌換474,387.75 NRV;
隨後,攻擊者將474,378.75 Nerve 和366,962 BUSD 在PancakeSwap 中添加流動性,獲得411,515.3 LP token;
攻擊者將411,515.3 LP token 放入Eleven Finance 中與Nerve 相關的機槍池獲得411,515.3 11 nrvbusd LP token;
當攻擊者提取Pancake LP token 時,ElevenNeverSellVault 中的Emergencyburn() 函數本應銷毀11 nrvbusd LP token 換回Pancake LP token,但Emergencyburn() 並未執行burn (銷毀)這個動作,使得攻擊者利用此邏輯錯誤獲利。
該攻擊者又創建了0x01ea 合約,借出30.9 BTCB;0xc0ef 合約借出285.66 ETH 以及0x87E9 借出兩筆閃電貸2,411,889.87 BUSD 和7,693 BUSD 進行攻擊。
攻擊者通過利用集成的第三方合約功能進行攻擊,這類問題較難檢測到,例如,此前PeckShield「派盾」幫助Rari Capital 避免更大損失案例一樣,在定位漏洞根源時,由於合約交互容易乾擾安全人員的判斷,PeckShield「派盾」建議,開發人員應謹慎與任意第三方協議進行交互。
DeFi 協議開發人員在集成第三方協議並將其部署到生產運行之前,應充分了解合約及其分支項目的運行情況。 DeFi 協議開發人員應在項目上線前,先將其部署在測試網上進行測試並及時檢查交易記錄中的異常情況。
“太快了,攻擊者從合約部署,到完成攻擊,甚至到再次發起攻擊,這一系列操作有時候快得讓人有些反應不過來。”PeckShield「派盾」安全人員表示,“因此,事前審計,事中響應,事後提出及時有效的安全方案都是缺一不可的,誰都不知道攻擊者會不會在下一秒發起攻擊。”