Value DeFi遭駭客攻擊始末:一次基於AMM價格預言機的“神級”操作?

北京時間11月14日23點36分, Value DeFi 的 MultiStablesVault 池子遭受駭客攻擊,損失將近 740萬美金的 DAI。

區塊鏈安全公司 PeckShied (派盾)安全人員跟進分析初步發現,造成本次攻擊事件的根本原因是專案程式碼在使用基於 AMM 演算法的價格預言機上存在漏洞。駭客在偷走代幣後還留言“do you really know flashloan?”來挑釁開發團隊。

概要:

整體而言:由於ValueDeFi協議在使用基於AMM 演算法的價格預言機(Curve)來計算代幣價格時存在漏洞。攻擊者先透過閃電貸操縱 Curve 上代幣的價格,然後再用鑄造的 pooltokens 成功提取出了遠超原先價值的 3crv 代幣。之後,攻擊者再將這些3crv 代幣在 Curve 上贖回 DAI ,從而完成獲利。

整個事件中駭客獲利740萬 DAI,其中的200萬返回給了 Value DeFi,直接獲利540萬美元。

攻擊過程詳解:

我們基於發起攻擊的交易(0x46a03488247425f845e444b9c10b52ba3c14927c687d38287c0faddc7471150a)來進行分析。攻擊者的惡意攻擊合約為(0x675BD0A0b03096c5ead734cFa00C7620538C7C6F)。

步驟1:透過 Aave 閃電貸獲得8萬枚 ETH。

步驟2:在UniswapV2 閃電貸獲得 1.16億枚 DAI。接下來,0x675B 惡意合約會執行如下內容。

步驟3: 將步驟1獲得的8萬枚 ETH 在 UniswapV2 上換成3,100萬枚 USDT。

步驟4: 在 Vault DeFi 上存入2,500萬枚 DAI 並獲得池子鑄造的2,490萬 pooltokens。此時 Vault DeFi 協議會鑄造出2,495.6萬枚新 3crv 代幣。

步驟5:在 Curve 上將9,000萬枚 DAI 換成9,028萬枚 USDC。這一步會影響 Curve上 3pool 池子的平衡,進而抬升 USDC 的價格。

步驟6:在 Curve 上將3,100萬枚 USDT 換成1,733萬枚 USDC,此時可以看到 USDC 兌換價格已經有很大的偏差,完成這一步後,會進一步提升 Curve 上 3pool 池子中 USDC 的價格。

步驟7:在 Value DeFi 上銷燬之前鑄造的2,490萬枚 pooltokens。由於價格的變化,這部分 pooltokens 贖回了3,308萬枚 3crv。

步驟8:將1,733萬枚 USDC 在 Curve 上換回3,094萬枚 USDT。

步驟9:將9,028萬枚 USDC 在 Curve 上換回9,092萬枚 DAI。

步驟10:銷燬 3pool 中的3,308萬枚 3crv 來贖回 3,311 萬枚 DAI。

剩餘步驟:返還 Aave 的閃電貸和 UniswapV2 上步驟2中的代幣。

這次攻擊之後,駭客返回給 Value DeFi 開發者(0x7Be4D5A99c903C437EC77A20CB6d0688cBB73c7f) 200萬枚 DAI,自己則保留了540萬枚DAI。

被盜資產情況:

這次攻擊中被盜取的資金現在被存放在錢包0xa773603b139Ae1c52D05b35796DF3Ee76D8a9A2F 中。PeckShield 旗下數字資產追蹤平臺 CoinHolmes 正在對該地址做全方位監控,並對其資金流向做進一步的鎖定分析和追蹤,以便協助專案方挽回被盜資產。

免責聲明:

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

推荐阅读