事件背景

零時科技區塊鏈安全情報平台監控到消息,北京時間2023年2月2日,polygon鏈上去中心化借貸協議BONQ受到黑客攻擊,攻擊者獲得了1.13億個WALTB和9865萬個BEUR,攻擊者地址為0xcAcf2D28B2A5309e099f0C6e8C60Ec3dDf656642,攻擊者將部分BEUR售出獲得USDC通過跨鏈轉移至ETH鏈。零時科技安全團隊及時對此安全事件進行分析。

漏洞及核心

TellorFlex中可通過調用submitValue函數進行更改代幣價格,當用戶質押的TRB代幣大於stakeAmount時可獲得修改代幣價格權限。

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

stakeAmount初始值在構造函數中傳入,後續可通過調用updateStakeAmount修改,從鏈上信息可知,updateStakeAmount函數未被調用,因此攻擊者可通過質押初始值獲得修改代幣價格,從攻擊交易中可得值為10TRB。

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

攻擊者調用BONQ合約中的createTrove函數創建trove合約,trove合約中抵押價格計算方法是預言機中抵押品Token價格除以藉款數量。

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

此合約中使用的預言機為TellorFlex合約,此前攻擊者已經將ALBT代幣價格修改到相當高,因此攻擊者可以使用較小的WALBT借出大量BEUR。

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

從攻擊交易中可以看出,攻擊者使用0.1WALBT借出1億個BEUR.

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

資金來源及流向

資金來源

此地址初始資金在ETH鏈上由Tornado.Cash混幣平台轉入

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

資金流向

1. 攻擊者將部分BEUR兌換為534,535 USDC,通過跨鏈轉移至ETH鏈,之後兌換為DAI,目前資金暫無進一步移動

零時科技 || 損失8800萬美元,加密協議BonqDAO被攻擊事件分析

2. 攻擊者目前共拋售1600萬ALBT,獲得約785ETH,目前資金仍存在ETH鏈上攻擊者地址中。

總結及建議

本次攻擊由於TellorFlex預言機報價修改時所需要的抵押物價值較小,且BONQ借貸合約中抵押物借貸數量只與TellorFlex預言機價格有關,因此攻擊者可以使用較低的成本修改預言機報價後進行抵押借貸獲得相當可觀的利潤。

♦安全建議

建議項目方增加多種餵價機制,避免預言機受到控制時由於單一餵價遭受損失。

建議項目方上線前進行多次審計,避免出現審計步驟缺失