BSC|Uranium 平台遭駭 The block、慢霧科技解釋實際損失情況
還原 Uranium 遭駭原由
根據 Uranium 官方的說法,此攻擊事件是在前協議遷移到 V2.1 版本的過程中發生的。根據 The Block 研究員 Igor Igamberdiev 的說法,遭駭原因可能與 Uranium V2 交易對(Pair)合約中的某個漏洞有關。
受駭資金:
– 34k WBNB ($18M)
– 17.9M BUSD ($17.9M)
– 1.8k ETH ($4.7M)
– 80 BTC ($4.3M)
– 26.5k DOT ($0.8M)
– 638k ADA ($0.8M)
– 5.7M USDT ($5.7M)
– 112k U92
據 Igor Igamberdiev 表示,WBNB 與 BUSD 還被困在駭客的合約中,基於某些問題無法將其轉出。
1/10
So, Uranium Finance (another Uniswap v2 fork on BSC) was exploited for $51M, right?
Nope, everything is much more complicated.
Let’s figure out what happened.👇 pic.twitter.com/D6EsW3kZXV
— Igor Igamberdiev (@FrankResearcher) April 28, 2021
安全審計公司慢霧科技證實了 Igor Igamberdiev 的說法,其表示,當用戶使用閃電貸向資金池借出資金時,該合約的 swap 函數在根據恆定乘積公式檢查合約餘額方面存在精度處理錯誤的問題,導致最後合約中計算出的餘額會比合約實際的餘額大 100 倍。換句話說,如果攻擊者使用閃電貸的功能向 Uranium 的交易對合約中發起借款,最終只需要歸還借貸金額的1% 即可通過檢查,剩餘的 99% 的餘額則會被用戶收入囊中,導致 Uranium 資金池的損失。
攻擊者在完成攻擊之後,透過基於 BSC 的去中心化交易平台 PancakeSwap 將 BSC 鏈上的 DOT 和 ADA 代幣轉換成 ETH(BEP-20 版本),然後透過資產跨鏈協議 AnySwap 將 BEP-20 版本的 ETH 轉換成以太坊版本的 ETH。成功將 ETH 轉移至以太坊後,駭客又將這些資金(2,438 ETH)轉入混幣器 Tornado Cash,使這筆不法所得難以被追蹤。
除此之外,駭客還使用 AnySwap 將 80 顆 BEP-20 版本的比特幣轉移出 BCS 區塊鏈。
根據 The Block 的報導,Uranium 的合約代碼因不明原因從 Github 中刪除,不免讓人懷疑,此次攻擊究竟是團隊內部所為還是來自外部駭客的攻擊。