被盜約330萬美元 跨鏈互操作協議Socket如何遭受黑客call注入攻擊?
2024-01-18 11:07 Beosin
來源:Beosin
2024年1月17日,據Beosin旗下EagleEye安全風險監控、預警與阻斷平台監測顯示,Socket協議遭受攻擊者call注入攻擊,導致大量授權用戶資金被盜。目前攻擊者將被盜資金兌換爲ETH,並保存在攻擊者地址上。
攻擊發生之後,Socket官方確認被攻擊,並第一時間暫停受影響的合約。
同時,MetaMask在X平台發文稱,MetaMask Bridge用戶不受今天發生的Socket漏洞的影響。MetaMask稱設計跨鏈橋合約時採用了獨特的架構,旨在防範此類攻擊。
關於本次攻擊,Beosin安全團隊對本次漏洞進行了分析。
漏洞分析
該事件發生的主要原因是Socket合約的performAction函數存在不安全的call調用。如下圖,該函數的基本功能是將用戶的ETH和WETH進行轉換,如果調用者選擇fromToken爲ETH,那么將會查詢合約的toToken(WETH)余額,隨後通過call調用toToken(正常邏輯下,此處必須調用WETH的deposit函數),並轉入用戶指定的ETH數量,接下來查詢合約的toToken(WETH)新余額,如果等於轉入用戶指定的ETH數量,那么通過,並將toToken轉給調用者指定地址。如果調用者選擇fromToken不爲ETH,那么與上述同理,函數功能就是將調用者的WETH兌換成ETH(正常情況下,call調用必須是調用WETH的withdraw函數)並發送給用戶指定地址。
雖然函數中並沒有對fromToken與toToken進行任何檢查限制,但是除了傳入WETH地址,其他ERC20地址都將導致余額檢查失敗,從而無法僞造這兩個參數,間接將token地址限制爲WETH。
雖然對token地址有所限制,但是該函數還存在一個問題,便是未對amount進行限制,如果調用者傳入的amount爲0,則函數的檢查條件將恆通過,並不需要調用WETH的deposit與withdraw函數。此時便可以在call中注入異常的數據,從而達到攻擊的目的。
攻擊流程
明白了函數問題點,我們來看看攻擊者是如何實施攻擊的。
1.攻擊者首先創建了一個攻擊合約。
2.隨後,攻擊者多次查詢不同地址的WETH余額,並且查詢該地址對於Socket: Gateway合約的授權數量,最後調用Socket: Gateway合約。
3.可以看到,這裏調用performAction函數的時候,swapExtraData參數傳入的是0x23b872dd...,該數據是transferfrom的函數籤名,說明這裏將直接調用token的transferfrom函數。
4.可以看到,攻擊者傳入fromToken爲WETH,amount正是我們上述的0,合約將攻擊者的WETH轉入合約,但轉的是0,而在call調用中,攻擊者指定一個用戶地址向攻擊者轉了16枚WETH。
5.攻擊者通過大量操作,將無數用戶的WETH轉移給自己。
6.攻擊者使用相同的方式,將授權給該合約的USDT轉移給自己。
7.還包括WBTC、DAI以及MATIC三種代幣。
截止發稿,被盜的近330萬美元的資金,部分被攻擊者兌換爲了ETH,並且一直存在黑客地址未移動,Beosin Trace將對被盜資金進行持續監控。
目前,互操作性協議Socket在X平台發布安全事件更新:Socket現已恢復運營,受影響的合約已暫停,損害已得到完全控制。在Bungee的橋接以及其大多數合作夥伴前端的橋接已經恢復。詳細的事件分析和後續步驟將很快公布。
Socke提醒道:“小心回復中試圖對您進行網絡釣魚的虛假Socket帳戶。在採取任何行動之前,請務必仔細檢查帳戶。”
本次事件也再次提醒各位,安全不可掉以輕心。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:被盜約330萬美元 跨鏈互操作協議Socket如何遭受黑客call注入攻擊?
地址:https://www.sgitmedia.com/article/21304.html
相關閱讀:
- 一文讀懂AI智能體代幣化平台Virtuals Protocol 2024-11-21
- AI 的暴力美學 Arweave 的抗衡之道 2024-11-21
- 鄧建鵬 李鋮瑜:加密資產交易平台權力異化及其規制進路 2024-11-21
- 一個跨越三輪周期的價投老VC面對這輪meme焦慮嗎? 2024-11-21
- BTC已近95000 再看幣圈微笑曲线 2024-11-21
- 特朗普的移民政策會適得其反? 2024-11-21
- 索羅斯門徒會成爲特朗普的財政部長嗎? 2024-11-21
- 白宮即將迎來首位Crypto顧問? 2024-11-21