零時科技區塊鏈安全情報平台監控到消息,北京時間2023年2月3日,BSC鏈與ETH鏈上Orion Protocol受到黑客攻擊,攻擊者獲利約300萬美元,攻擊者地址爲0x837962b686fd5a407fb4e5f92e8be86a230484bd,被盜資金已轉移至Tornado.Cash混幣平台。零時科技安全團隊及時對此安全事件進行分析。
Orion Protocol是一個交易聚合協議,用戶可以進行代幣交易,兌換以及跨鏈操作等。此處以BSC鏈攻擊交易爲例。
攻擊者執行兌換操作,其中路徑1代幣由攻擊者控制。
在執行第一次兌換後,轉入攻擊者構造的惡意合約中進行代幣轉账,轉账函數由攻擊者惡意構造,在惡意構造的轉账函數中攻擊者將通過閃電貸獲得的191,606 USDT 調用ExchangeWithAtomic合約中depositAsset函數存入合約中,此時修改了assetBalances變量的值,但是在最終轉账時並沒有執行assetBalances變量的修改。
計算最終兌換代幣數值是由當前代幣余額減去執行兌換之前合約對應代幣余額
由於在執行兌換過程中攻擊者已經向合約轉移大筆資金,因此攻擊者兌換出的USDT資金變多
兌換前余額
執行兌換操作後余額
攻擊者在此次兌換中使用1USDC共兌換出191,606 USDT
由於攻擊者此前執行了depositAsset函數操作,但是兌換完成時並沒有涉及到此函數中變量,攻擊者仍可以通過調用withdraw函數取出之前通過depositAsset函數存入的資金。
資金來源
ETH鏈攻擊地址資金來源爲Bianace15交易所
BSC鏈攻擊地址資金來源爲Tornado.Cash混幣平台
資金流向
BSC鏈被盜資金通過跨鏈全部轉移至ETH鏈攻擊者地址
ETH鏈將被盜資金兌換爲ETH共1100 ETH轉移至 Tornado.Cash混幣平台
此次攻擊是由於ExchangeWithAtomic合約中對於合約內不同函數間的重入未做限定,使得攻擊者能夠通過調用構造的惡意合約實現重入操作,且合約中代幣兌換後轉出資金計算方式只受合約代幣余額影響,因此攻擊者在執行兌換時通過調用其他函數轉入資金影響合約余額後將轉入的資金取出實現獲利。
?安全建議
建議對合約中涉及資金轉移函數添加防重入機制保護,避免攻擊者通過控制惡意合約進行攻擊
建議項目方上线前進行多次審計,避免出現審計步驟缺失
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:零時科技 || 攻擊者獲利約302萬美元.Orion Protocol被攻擊事件分析
地址:https://www.torrentbusiness.com/article/23596.html
標籤: