本文由Certik原創,授權金色財經首發。
北京時間2022年4月28日10:40:14 ,CertiK審計團隊監測到DEUS Finance的合約被惡意攻擊,造成了約1570萬美元(折合人民幣約1.03億)的損失。
攻擊者惡意操縱DEI的價格,從DeiLenderSolidex合約中通過提供少量的抵押品提取了大量的DEI。
漏洞交易https://ftmscan.com/tx/0x39825ff84b44d9c9983b4cff464d4746d1ae5432977b9a65a92ab47edac9c9b5
攻擊步驟
①攻擊者部署攻擊合約並向借貸池DeiLenderSolidex合約提供抵押。
②隨後攻擊者利用攻擊合約獲得了超過143,200,000 USDC用以發起攻擊。
③攻擊合約將這143,200,000 個借得的USDC在USDC/DEI交易對池0x5821573中換為9,547,716個DEI,此舉導致DEI的價格被大幅提高。
④由於DeiLenderSolidex合約是用預言機來確定用戶抵押品的價值,而預言機合約使用被惡意操縱的交易對池的價格作為價格來源。因此通過提高的價格和之前提供的抵押,攻擊者可從借貸池(DeiLenderSolidex)中總計借貸到17,246,885 DEI,這一數額遠大於之前攻擊者提供抵押的金額。
⑤攻擊者用9,547,716個DEI交換到的143,184,725 USDC來償還閃電貸款,最終獲取差價離場。
漏洞分析
通過閃電貸,攻擊者能夠操縱交易對的狀態,並進一步操縱DEUS的預言機價格,以此利用不對等的價值借貸DEI。
資產去向
截至撰稿時,黑客已將攻擊所得轉到以太坊上並換成ETH,隨後將5,446個ETH(總價值約1570萬美元)存入Tornado Cash。
https://debank.com/profile/0x701428525cbac59dae7af833f19d9c3aaa2a37cb/history
寫在最後
預言機合約不應該直接使用交易對池中的價格作為價格來源,而安全審計可以有效地避免這一風險。
CertiK安全專家建議:如果只有代幣合約被審計,這種情況在審計過程中將會指出第三方依賴風險。項目應該避免直接從交易對池中獲取價格。建議根據項目的邏輯,使用更值得信任的預言機:
-
使用多個可靠的鏈上價格預言機來源,例如Chainlink和Band協議。
-
使用時間加權平均價格(TWAP)。 TWAP代表了一個代幣在特定時間範圍內的平均價格。因此如果攻擊者僅操縱一個區塊的價格並不會對平均價格產生太大的影響。
-
如果合約模式允許,將函數調用者限制在一個非合約/EOA地址。
-
閃電貸款只允許用戶在一次交易中進行借貸。如果合約用例允許,可強制關鍵交易至少跨越兩個區塊。