北京時間2022年7月23日,CertiK安全團隊監測到去中心化音樂平台Audius遭到黑客攻擊,損失了價值600萬美元的AUDIO代幣。攻擊者通過調用initialize()函數重新初始化修改了Audius治理合約的配置,然後提出並執行了一個惡意提案(ID 85),導致Audius合約將1850萬AUDIO(價值600萬美元)代幣轉移給攻擊者。
大約價值600萬美元的AUDIO代幣被攻擊者交易爲約700ETH(約110萬美元)。
攻擊步驟
① 攻擊者調用Audius治理合約中的initialize()函數來修改配置,如“投票期”、“執行延遲”、“監護人地址”。該函數受到“initializer”修改器的保護,不應該被多次調用。
https://etherscan.io/tx/0x3bbb15f9852c389e8d77399fe88b49b042d0f22aad4a33c979fbabc60a34b24f
https://etherscan.io/tx/0xfefd829e246002a8fd061eede7501bccb6e244a9aacea0ebceaecef5d877a984
https://dashboard.tenderly.co/tx/mainnet/0xfefd829e246002a8fd061eede7501bccb6e244a9aacea0ebceaecef5d877a984/debugger?trace=0.0.0.1.0.0
② 攻擊者提交了惡意提案(ID 85),該提案是要求Audius治理合約向攻擊者轉移1850萬AUDIO代幣。https://etherscan.io/tx/0xfefd829e246002a8fd061eede7501bccb6e244a9aacea0ebceaecef5d877a984.
③ 攻擊者對惡意提案進行投票。https://etherscan.io/tx/0x3c09c6306b67737227edc24c663462d870e7c2bf39e9ab66877a980c900dd5d5
④ 攻擊者執行了惡意提案,獲得了1850萬AUDIO代幣。https://etherscan.io/tx/0x4227bca8ed4b8915c7eec0e14ad3748a88c4371d4176e716e8007249b9980dc9
⑤ 攻擊者售出1850萬AUDIO代幣,獲取了約700 ETH。https://etherscan.io/tx/0x82fc23992c7433fffad0e28a1b8d11211dc4377de83e88088d79f24f4a3f28b3
漏洞分析
CertiK安全團隊在調查中,試圖找出攻擊者是如何多次調用initialize()的。
分析後發現事件的根本原因是代理合約和邏輯合約之間存在存儲衝突——邏輯合約使用了代理合約的內存。
爲了解決這個問題,Audius做出了相應調整:
① 修改了邏輯合約的存儲結構:
② 限制了可以調用initialize()函數的權限:
資金去向
攻擊者合約: https://etherscan.io/address/0xbdbb5945f252bc3466a319cdcc3ee8056bf2e569
約700 ETH被轉移到攻擊者地址當中:https://etherscan.io/address/0xa0c7bd318d69424603cbf91e9969870f21b8ab4c
寫在最後
在CertiK編撰的《2022年第二季度Web3.0安全現狀報告》中,顯示了2022年第二季度Web3.0十大攻擊事件的罪魁禍首正是漏洞惡意利用,其攻擊事件相比其它小分類來說,數量較少,但往往具備更大的破壞性(CertiK官方微信公衆號底部對話框留言【報告2】即可獲取PDF下載鏈接)。
本次攻擊事件本可通過審計發現「代碼未遵循最佳實踐」這一風險因素。除了審計之外,CertiK安全團隊建議新增的代碼也需要在上线前及時進行相應測試。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:600萬美元損失 去中心化音樂平台Audius攻擊事件分析
地址:https://www.torrentbusiness.com/article/8418.html
標籤: