OUSD遭“經典重入攻擊” 損失770萬美元 DeFi安全亟待解決

近日,PeckShield 監控到 DeFi 協議 Origin Protocol 穩定幣 OUSD 遭到攻擊,攻擊者利用在衍生品平臺 dYdX 的閃電貸進行了重入攻擊(Re-entrancy attack),造成價值 770萬 美元的 ETH 和 DAI 的損失。

重入攻擊是以太坊智慧合約上最經典的攻擊手段之一,著名的 the DAO 被盜事件就是攻擊者運用重入攻擊導致以太坊硬分叉,損失價值 5000 萬美元以太幣。

自今年4月起,DeFi 專案頻遭重入攻擊。4月18日,駭客利用 Uniswap 和 ERC777 標準的相容性問題缺陷實施重入攻擊;4月19日,Lendf.Me 也遭到類似重入攻擊;11月14日,駭客利用 Akropolis 專案的 SavingsModule 合約在處理使用者儲存資產時存在的某種缺陷連續實施了 17 次重入攻擊,損失 203萬 枚DAI。

北京時間 2020 年 11 月 17 日,PeckShield 監控到穩定幣 OUSD 遭到重入攻擊。OUSD 是 Origin Protocol 推出的一種與美元掛鉤的 ERC-20 穩定幣,使用者可透過將基礎穩定幣(例如 USDT、USDC、DAI)存入 Origin 智慧合約來鑄造 OUSD 穩定幣,之後該協議會將基礎穩定幣投資於多個 DeFi 協議並進行收益耕作,為 OUSD 持有者賺取回報。

重入攻擊重現 憑空創造2050萬枚OUSD

PeckShield 透過追蹤和分析發現,首先,攻擊者從 dYdX 閃電貸貸出 70,000 枚ETH;

隨後,在 UniswapV2 中先將 17,500 枚ETH 轉換為 785萬 枚USDT,再將所貸剩餘的 52,500 枚ETH 轉換為 2099萬 枚DAI;

接下來,攻擊者分四次鑄造 OUSD 穩定幣:

第一次透過 mint() 函式鑄造 OUSD 時,攻擊者確實在 Origin 智慧合約中存放了 750萬 枚USDT,並獲得 750萬 枚OUSD;

第二次透過 mintMultiple() 多種穩定幣函式鑄造 OUSD 時,攻擊者在 Origin 智慧合約中存放了 2050萬 枚DAI 和 0 枚假“穩定幣”,並在此步驟中透過重入攻擊來攻擊合約。攻擊者將 2050萬 枚DAI 和 0 枚假“穩定幣”存入 VaultCore 中,此時智慧合約收到 2050萬 枚DAI,在嘗試接收 0 枚假“穩定幣”時,攻擊者利用惡意合約進行劫持,在智慧合約正常啟動鑄造 2050萬 枚OUSD 之前,呼叫 mint() 函式,先惡意增發了 2050萬 枚OUSD,此次惡意增發由 VaultCore 合約呼叫 rebase() 函式實施。

值得注意的是,為順利實施劫持,攻擊者在上述 mint() 函式呼叫時,真金白銀地存入了 2,000 枚USDT,同時獲得第三次鑄幣 2,000 枚OUSD。隨後,呼叫 oUSD.mint() 函式第四次鑄造 2050 萬枚OUSD。

rebase 指代幣供應量彈性調整過程,即對代幣供應量進行“重新設定”。在 DeFi 領域有一類代幣擁有彈性供應量機制,即每個代幣持有使用者的錢包餘額和代幣總量會根據此代幣價格的變化而等比例變動。此時,攻擊者共獲得 2800.2萬 枚OUSD,包括抵押的 750萬 枚USDT、2050萬 枚DAI 和2000 枚USDT。由於呼叫 rebase() 函式,攻擊者所獲得的 OUSD 總計上漲至 33,269,000 枚。

最後,攻擊者先用所獲得的 33,269,000 枚OUSD 贖回 1950萬 枚DAI、940萬 枚USDT、390萬 枚USDC;再在 Uniswap 中將 1045萬 枚USDT 兌換為 22,898 枚ETH,將 390萬 枚 USDC 兌換為 8,305 枚ETH,將 190萬 枚DAI 兌換為 47,976 枚ETH,共計 79,179 枚ETH,並將其中 70,000 枚 ETH 歸還到 dYdX 閃電貸中。

據 PeckShield 統計,攻擊者在此次攻擊中共計獲利 11,809 枚ETH 和 2,249,821 枚DAI,合計 770萬 美元。

對於次攻擊事件,Origin Protocol 官方迴應稱,正在積極採取措施,以期收回資金。

隨著 DeFi 生態的蓬勃發展,其中隱藏的安全問題也逐漸凸顯,由於 DeFi 相關專案與使用者資產緊密相連,其安全問題亟待解決。

對此,PeckShield 相關負責人表示:“此類重入攻擊的發生主要是由於合約沒有對使用者儲存的 Token 進行白名單校驗。DeFi 是由多個智慧合約和應用所組成的’積木組合’,其整體安全性環環相扣,平臺方不僅要確保在產品上線前有過硬的程式碼審計和漏洞排查,還要在不同產品做業務組合時考慮因各自不同業務邏輯而潛在的系統性風控問題。”

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读