DAO Maker被盜事件分析
前言
8月12日,根據DAO Maker電報群用戶反饋,該項目疑似遭到黑客攻擊,價值700萬美元的USDC被黑客提取至未知地址。團隊經過分析後,發現該事件的起因是私鑰泄露或者內部人士所為。
攻擊過程
通過我們的交易分析系統(https://tx.blocksecteam.com)我們發現,攻擊的過程非常簡單。攻擊交易的hash是:
0x26aa86261c834e837f6be93b2d589724ed5ae644bc8f4b8af2207e6bd70828f9
涉及到的地址:
0x41b856701bb8c24cece2af10651bfafebb57cf49: 受害者錢包
0x1c93290202424902a5e708b95f4ba23a3f2f3cee: XXX,攻擊者合約
0x0eba461d9829c4e464a68d4857350476cfb6f559:中間人
0x054e71d5f096a0761dba7dbe5cec5e2bf898971c:受害合約創建者(也是攻擊者)
攻擊者XXX (0x1c93290202424902a5e708b95f4ba23a3f2f3cee)調用受害者錢包合約(0x41b856701bb8c24cece2af10651bfafebb57cf49)的函數查詢用戶余額,然後調用withdrawFromUser將錢轉到自己的账戶。攻擊完成。由於轉账的操作是一個特權操作,因此通常需要對調用者的身份做校驗。我們通過分析發現,攻擊者確實具有相應的權限來將受害者錢包中的余額轉出。
這裏的問題就變成為什么攻擊者能具有相應的權限?通過進一步分析我們發現另外一筆交易。這一筆交易將攻擊者賦予具有轉账的權限。交易trace如下:
0x2fba930502d27f9c9a2f2b9337a0149534dda7527029645752b2a6507ca6b0d6
0x0eba461d9829c4e464a68d4857350476cfb6f559調用受害者合約的grantRole函數將攻擊者0x1c93賦予具有轉账的權限。但是能調用grantRole賦予其他账戶權限,那么0x0eba4必須具有admin的權限。那么他的admin權限是誰授予的呢?
繼續追蹤,我們發現它的admin權限是由另外一筆交易完成的。
0x41b856701bb8c24cece2af10651bfafebb57cf49
0x054e71d5f096a0761dba7dbe5cec5e2bf898971c账戶將0x0eba461d9829c4e464a68d4857350476cfb6f559账戶設置成受害合約的admin。
然而我們發現,受害合約是由0x054e71d5f096a0761dba7dbe5cec5e2bf898971c創建的。
總結一下,整個的流程是:
那問題就來了,為什么部署受害者合約的0x054e最後間接賦予了攻擊者能轉账的特殊權限呢?這裏有兩個可能性。第一個0x054e是內鬼,第二個就是私鑰泄露。
其他
另外一個有趣的點就是攻擊者的合約是开源的,代碼簡單易懂,可以作為學習合約开發的啓蒙教程。
但是受害者的合約代碼是不开源的。這有點匪夷所思。不开源的錢包也有人敢用?
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
歐盟打響穩定幣战爭:21家發行商爭奪,Circle搶先登陸,Tether扶持“代理人”
作者:Weilin,PANews 歐盟《加密資產市場監管法案》(MiCA)對穩定幣發行方的監管規則...
Fractal Bitcoin分形比特幣深度研究報告:原生擴展的比特幣高速公路,重新定義比特幣的可能性
比特幣網絡擴展問題一直是區塊鏈領域的核心話題。從最初的隔離見證(SegWit)到閃電網絡(Ligh...
Stacks完成Nakamoto升級,BTC DeFi會是下一個關注點嗎?
當比特幣突破 9 萬美金,加密市場各個生態都开始了自己的狂歡。 AI 敘事持續火熱,Meme 持續...