安全報告|COVER連遭兩次攻擊,DeFi保險協議該如何自保?

今年 11 月,在 Yearn.finance 創辦人 Andre Cronje(AC)的加持下,去中心化保險 Cover Protocol 嶄露頭角,引領 DeFi 保險站在了聚光燈下。然而,就在 DeFi 保險的概念越炒越熱時,Cover Protocol 在短時內遭到兩次攻擊,其代幣價格經歷了一場令人驚心動魄過山車。
(前情提要:台灣白帽駭客駭Cover套利300萬美元,幣價暴跌95%;Grap已全數歸還資產

 

入 9 月後,隨著 DeFi 協議流動性挖礦收益銳減,DeFi 市場開始歸於沈寂,探索者們向更深廣的領域進發。11 月,憑借 Yearn.finance 創辦人 Andre Cronje(AC)的加持,以及治理代幣的大漲,去中心化保險 Cover Protocol 嶄露頭角,引領 DeFi 保險站在了聚光燈下。

有觀點認為:

DeFi 保險項目不僅可以減輕投保人的損失,也讓人們可以更放心地參與 DeFi,且有助於健全 DeFi 生態。

然而,就在 DeFi 保險的概念越炒越熱時,Cover Protocol 在短時內遭到兩次攻擊,其代幣價格經歷了一場令人驚心動魄過山車。

2020 年 12 月 28 日,DeFi 保險項目 Cover Protocol 疑似遭到駭客攻擊,其代幣價格在攻擊的影響下從 700 多美元一度暴跌至最低 9 美元。

筆者通過追蹤和分析發現,該攻擊主要是由於業務邏輯錯誤,導致誤算質押用戶獎勵,駭客並在不同 DEX 拋售套利。

首先在一段運行時間內,攻擊者先給 Blacksmith 打一些 LP token,然後直接調用函數 updatePool(),通過異常的 pool.accRewardsPerToken 來計算 COVER 的獎勵;

隨後通過 125 和 126 行的函數 _claimCoverRewards() 和 _claimBonus() 記錄挖礦者的獎勵;
最後記錄挖礦者的狀態,包括質押的數量和代碼 128 行至 131 行所示的函數 rewardWriteoff 和 函數 bonusWriteoff 。

具體而言,當前協議利用 pool.accRewardsPerToken 來計算第 130 行的 miner.amount.mul(pool.accRewardsPerToken).div(CAL_MULTIPLIER) ,由於 118 行的 pool 類型為 memory, 而 121 行的函數 updatePool()並未對其進行更新,導致最終計算出來的 rewardWriteoff 比預期的數額小。

當下一次同一用戶獲取質押獎勵時,質押合約例如 Blacksmith 將會鑄造更多的 COVER,這將大大提升鑄幣數量。目前,在流通量中鑄造了逾 40,000,000,000,000,000,000 枚 COVER。

第二次攻擊者被網路標記為 Grap Finance 白帽子的地址,在獲利後,他們將所得收益還給了 Cover 團隊,銷毀了剩餘的 COVER ,並留言:下一次,管好你自己的事。

有評論稱,白帽子 Grap Finance 是 DeFi 義俠,將 4,350 ETH 還給了 COVER 團隊。但通過砸盤,讓眾多的投資者血本無歸,這也引起了不少的爭議。

對於 DeFi 保險項目而言,其初衷是為其他 DeFi 項目降低風險損失。

隨著 DeFi 生態的壯大,以及鎖倉值持續增長,DeFi 項目遭到駭客覬覦,特別是新興的 DeFi 保險項目,理應加強安全防護。如今由於自身漏洞遭到駭客攻擊,這樣的保險項目是否能幫助用戶抵御風險有待考察。

在 DeFi 的世界裡,崇尚「程式碼即法律」(Code is Law),項目方不僅要將程式碼做到極致,還要防患於未然,DeFi 協議開發者應在攻擊發生後,自查程式碼。

筆者提示,如果對此不瞭解,應找專業的審計機構進行審計和研究。

📍相關報導📍

駭客幽默?DeFi 保險 Nexus Mutual 創辦人「錢包被駭820萬美元」,可以理賠嗎?

俄國交易所Livecoin遭駭客劫持!BTC價格「飆到450,000」,官方跪求用戶別再入金

Ledger爆資安危機!駭客網站公開超過27,000名客戶隱私訊息,源自6月數據洩漏事件


讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。

LINE 與 Messenger 不定期為大家服務

加入好友

加入好友