DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

2022-02-16 00:02:46

今天2月15日,先祝大家元宵節快樂!團團圓圓每一天!

而在今天凌晨時分,成都鏈安鏈必應-區塊鏈安全態勢感知平臺輿情監測顯示,風投DAO組織Build Finance項目遭遇治理攻擊。關於本次攻擊,成都鏈安技術團隊第一時間進行了分析。

事件概覽

據悉,Build Finance 是一個自我描述為“去中心化風險建設者”,其目標是通過獎勵代幣來激勵新項目。這個想法是用其原生 BUILD 代幣為項目提供資金,作為回報,這些項目將採用 BUILD 代幣來增加對它們的需求。此外,該項目由 DAO 維護,也就是由一個去中心化組織參與治理。

但是,黑客卻悄悄搞起事情,該項目遭遇攻擊者惡意治理接管,黑客通過獲得足夠多的投票成功控制 Build 代幣合約,在三筆交易中鑄造了超過10億的BUILD 代幣,並耗盡了 Balancer 和 Uniswap 流動性池中的大部分資金。事發後,該項目團隊在推特建議用戶不要在任何平臺上購买 BUILD 代幣,項目團隊成員試圖與攻擊者進行直接對話,但對方似乎沒有興趣對話。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

看來項目方又遇到了一位“任性”的黑客。下面,跟着我們來看一下事件具體分析過程。

事件具體分析

Round 1

通過對項目的交易追蹤,我們發現2022年2月12日Build Finance 項目被攻擊者竊取了治理權限,接着向0xdcc8A38A地址分三次鑄造了超過10億的BUILD代幣。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

然後0xdcc8A38A地址將這10億代幣通過Uniswap V2: BUILD兌換將項目方的交易池掏空。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

觀察交易細節後,我們發現調用Build 代幣合約mint函數鑄幣的地址也為0xdcc8A38A。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

接着往下看,我們觀察下圖項目方的合約代碼發現調用mint函數的地址只能為governance地址。此時鑄幣的地址為0xdcc8A38A,也就是說合約現在的governance權限已經被0xdcc8A38A地址獲取了。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

從代碼中可以看到原本的governance權限屬於合約的創建者即下圖的0x2Cb037BD6B7Fbd78f04756C99B7996F430c58172地址。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

我們不禁要問,那么governance權限是如何轉移到0xdcc8A38A上的呢?

Round 2

通過排查,我們通過2020年9月4日的一筆交易發現了线索,攻擊者只有通過setGovernance函數才能竊取governance的權限。那么在這期間合約創建者0x2Cb037BD一定使用了setGovernance函數進行了權限轉移。

通過查找0x2Cb037BD地址的交易記錄可見,在同一天創建者使用了setGovernance函數。交易hash為0xe3525247cea81ae98098817bc6bf6f6a16842b68544f1430926a363e790d33f2。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

通過查找內部的Storage可見權限轉移給了0x38bce4b45f3d0d138927ab221560dac926999ba6地址而不是上述的0xdcc8A38A攻擊地址。交易哈希為:
0xe3525247cea81ae98098817bc6bf6f6a16842b68544f1430926a363e790d33f2。

通過繼續跟進0x38bce4b地址,發現是一個Timelock合約,而合約中可以調用build 代幣合約函數的setGovernance函數只有executeTransaction函數。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

我們跟進executeTransaction函數找到了其中的Storage。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

從上圖可見0x38bce4b45f3d0d138927ab221560dac926999ba6地址將權限又轉移到了0x5a6ebeb6b61a80b2a2a5e0b4d893d731358d888583地址,交易哈希為0x9a0c9d5d3da1019edf234d79af072c1a6acc93d21daebae4ced97ce5e41b2573,調用時間為2021年1月25日。

通過繼續跟進0x5a6ebeb6地址,在下圖可知在2022年2月9日由suho.eth發起的提案,0xdcc8A38A攻擊地址在2022年2月11日投票通過。在4天前將governance權限變更為0xdcc8A38A。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

suho.eth發起的提案變更governance,投票設置的閾值較低導致提案通過,通過call調用將build合約的governance更改為0xdcc8A38A地址。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

0x5a6ebeb6b61a80b2a2a5e0b4d893d731358d888583地址部分代碼。


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

此地址獲取governance權限後,0xdcc8A38A地址通過build 代幣合約的mint函數向本身鑄造了大約10億的build代幣,隨後去交易池掏空流動性。

獲取權限的流程圖為:


      DAO還安全嗎?Build Finance遭遇惡意治理接管 被洗劫一空

攻擊者利用類似的手法,從另外一個治理合約中轉走了該治理合約所持有的代幣資產。本次獲利共162個ETH、20014個USDC 481405個DAI、75719個NCR約為112萬美元。

最後,成都鏈安提醒:DAO合約應該設置合適的投票閾值,實現真正的去中心化治理,避免很少的投票數量就使得提案通過並成功執行,建議可以參考openzeppelin官方提供的治理合約的實現。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

崩!比特幣插針66800、以太坊失守2400美元,美總統「大選前避險」美股全倒

比 特幣昨日最高回彈到約 69,500 美元水平後無法持續攀高,在今(5)日零點後開啟新一波下跌,...

Joe
5 7小時前

Coinbase「鉅額上幣費」公關危機未平,又遭爆 Armstrong 等高管將再賣9億美元股票

美 國上市加密貨幣交易所 Coinbase 執行長 Brian Armstrong,近期趁幣安陷入...

Editor Jr.
6 7小時前

華爾街大鱷 Bernstein:無論誰當選美國總統,比特幣將在2025突破20萬美元

備 受全球關注的美國總統大選開票將在臺灣時間 11 月 6 日陸續啟動,由於共和黨候選人川普和民主...

Editor Jr.
6 7小時前

備戰美國大選》過去十屆選舉後,美股標普500和比特幣歷史表現如何?

備 受全球關注的美國總統大選即將在臺灣時間 11 月 6 日正式開票,但由於共和黨與民主黨可能帶來...

Editor Jr.
7 7小時前

微軟股東逼宮:若不投資比特幣,之後漲了小心我告你!

10 月底,一份建議微軟投資比特幣的提案,引起市場廣泛關注,儘管微軟以高波動性理由建議股東投票反對...

DaFi Weaver
6 7小時前

漫長的等待:山寨幣的收獲季何時會來?

撰文:Socra,金色財經 隨着美國大選臨近尾聲,比特幣波動幅度愈加劇烈,幣價衝擊新高的同時回調也...

金色財經
7 7小時前