以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > XMR > Info

MakerDAO治理合約升級背后的安全風波_MAKE

Author:

Time:1900/1/1 0:00:00

北京時間2019年05月07日,區塊鏈安全公司Zeppelin對以太坊上的DeFi明星項目MakerDAO發出安全預警,宣稱其治理合約存在安全漏洞,希望已鎖倉參與投票的用戶盡快解鎖MKR提并出。MakerDAO的開發者Maker公司亦確認了漏洞存在,并上線了新的治理合約,并宣稱漏洞已修復。

該安全威脅曝出后,PeckShield全程追蹤了MKR代幣的轉移情況,并多次向社區發出預警,呼吁MKR代幣持有者立即轉移舊合約的MKR代幣。截止目前,絕大多數的MKR代幣已經完成了轉移,舊治理合約中尚有2,463個MKR代幣待轉移。

05月07日當天,經PeckShield獨立研究發現,確認了該漏洞的存在,具體而言:由于該治理合約實現的投票機制存在某種缺陷,允許投票給尚不存在的slate。等用戶投票后,攻擊者可以惡意調用free()退出,達到減掉有效提案的合法票數,并同時鎖死投票人的MKR代幣。

MakerDAO社區通過批準GNO為Spark Protocol抵押資產的民意投票:5月21日消息,MakerDAO 社區通過批準 GNO 為 Spark Protocol 抵押資產的民意投票,之后會提交執行投票。Spark Protocol 是 MakerDAO 最近啟動的借貸協議 Spark Protocol。[2023/5/21 15:17:08]

次日05月08日,PeckShield緊急和Maker公司同步了漏洞細節,05月10日凌晨,MakerDAO公開了新版合約。Zeppelin和PeckShield也各自獨立完成了對其新合約的審計,確定新版本修復了該漏洞。

在此我們公布漏洞細節與攻擊手法,也希望有引用此第三方庫合約的其它DApp能盡快修復。

Larry Cermak:目前人們搜索購買比特幣的次數是購買黃金的兩倍:TheBlock研究總監Larry Cermak發推稱,目前人們搜索購買比特幣的次數是購買黃金的兩倍。同樣的趨勢發生在2017年,但并沒有持續下去。[2021/1/17 16:23:36]

細節

在MakerDAO的設計里,用戶是可以通過投票來參與其治理機制,詳情可參照DAO的FAQ。

以下是關于itchyDAO的細節,用戶可以通過lock/free來將手上的MKR鎖定并投票或是取消投票:

在lock鎖定MKR之后,可以對一個或多個提案(address數組)進行投票:

MakerDAO協議鏈上鎖倉量突破30億美元:MakerDAO協議TVL(鏈上鎖倉量)突破30億美元,創歷史新高。[2021/1/3 16:19:17]

注意到這里有兩個vote函數,兩者的傳參不一樣,而vote(addressyays)最終亦會調用vote(bytes32slate),其大致邏輯如下圖所示:

簡單來說,兩個vote殊途同歸,最后調用addWeight將鎖住的票投入對應提案:

可惜的是,由于合約設計上失誤,讓攻擊者有機會透過一系列動作,來惡意操控投票結果,甚致讓鎖定的MKR無法取出。

這里我們假設有一個從未投過票的黑客打算開始攻擊:

動態 | MakerDAO宣布對抵押DAI的令牌順序進行投票:據btcmanager.com 6月30日消息,MakerDAO網絡的博客文章提出將在7月的最后一周進行投票,以決定即將加入的六個代幣的順序。以下六種ERC-20令牌中可以被用來抵押DAI:Golem(GNT),Augur(REP),Basic Attention Token(BAT),0x(ZRX),OmiseGo(OMG)和DigixDAO(DGD)。

每個抵押品類型將在MKR持有人加入網絡之前進行審核和投票。隨著網絡資產數量的增加,希望增加參與治理流程的獨立風險團隊的深度,以確保用戶的安全和效率不受影響。據悉,Maker網絡的主要風險是當CDP清算時,熊市期間可能出現的抵押和承保問題。[2019/6/30]

1、調用lock()鎖倉MKR,此時deposits會存入鎖住的額度。

2、此時黑客可以線下預先算好要攻擊的提案并預先計算好哈希值,拿來做為步驟3的傳參,因為slate其實只是address數組的sha3。

這里要注意挑選的攻擊目標組合必須還不存在于slates中(否則攻擊便會失敗),黑客亦可以自己提出一個新提案來加入組合計算,

如此便可以確定這個組合必定不存在。

3、調用vote(bytes32slate),因為slate其實只是address數組的sha3,黑客可以線下預先算好要攻擊的提案后傳入。

這時因為votes還未賦值,所以subWeight()會直接返回。接下來黑客傳入的sha3(slate)會存入votes,之后調用addWeight()。從上方的代碼我們可以看到,addWeight()是透過slates取得提案數組,此時slates獲取到的一樣是未賦值的初始數組,所以for循環不會執行

4、調用etch()將目標提案數組傳入。注意etch()與兩個vote()函數都是public,所以外部可以隨意調用。這時slates就會存入對應的提案數組。

5、調用free()解除鎖倉。這時會分成以下兩步:

deposits=sub(deposits,wad),解鎖黑客在1.的鎖倉

subWeight(wad,votes)

從對應提案中扣掉黑客的票數,然而從頭到尾其實攻擊者都沒有真正為它們投過票。

從上面的分析我們了解,黑客能透過這種攻擊造成以下可能影響:

一、惡意操控投票結果

二、因為黑客預先扣掉部份票數,導致真正的投票者有可能無法解除鎖倉

時間軸

時間

事件

2019.05.07

PeckShield復查并確認了漏洞存在

2019.05.08

PeckShield與Maker基金會討論并確認了漏洞細節

2019.05.09

Maker基金會公布新版DSChief合約源碼,PeckShield披露了漏洞相關細則

*文章為作者獨立觀點,不代表BSCEC立場

轉載此文章須經作者同意,并請附上出處及本頁鏈接。原文鏈接https://mp.weixin.qq.com/s?__biz=MzU3MTU2NTU1MA==

Tags:MAKEMakerDAOMKRmakerdao官網appmaker幣圈gdao幣前景mkr幣總量

XMR
這個國家坐擁20萬個BTC與BCH 未來可能比英國黃金儲備還要高_比特幣

不知道你們還記得不記得,據當時歐洲東南部執法中心發布的一份新聞稿顯示,2017年5月,保加利亞從一個犯罪團伙手中繳獲了20萬個比特幣.

1900/1/1 0:00:00
年入超 10 億美元的區塊鏈公司是如何煉成的?_COI

誰說區塊鏈公司都是空中樓閣,或者只能和政府玩著貓鼠游戲才能生存?就有這么一家區塊鏈公司,口碑頗好,運營穩健,創立6年,客戶超過1000萬人,日均新增用戶10萬人.

1900/1/1 0:00:00
兩年洗錢 80 億,交易所是黑客洗錢幕后推手還是受害者?_加密貨幣

近日,美國一家專門研究區塊鏈反洗錢的公司CipherTrace發布了一份數字加密貨幣反洗錢報告,數據顯示在過去兩年里.

1900/1/1 0:00:00
牛市“重啟”?大佬回歸 礦機脫銷 資金盤蠢蠢欲動_比特幣

文|棘輪比薩 在比特幣重回8000美元后,“牛市是否來了”,成為了幣圈最熱的話題。李笑來起草的一封“致用戶信”,讓外界驚呼“幣圈大佬”已經殺回戰場。幣價的走高,推動了二手礦機價格飛漲.

1900/1/1 0:00:00
火星一線 | 英國監管機構: 去年投資者在加密貨幣詐騙中損失3400萬美元_區塊鏈

APPhxcj24h)一線報道,據英國金融行為管理局研究報告顯示,2018~2019年,該國的加密投資者因加密貨幣和外匯欺詐共損失3400多萬美元.

1900/1/1 0:00:00
金色早報-澳本聰借白皮書版權再搞事 BSV瞬間暴漲200%_比特幣

Bitcoin.org持有人Cobra:大型交易所下架BSV只會讓“拉盤”更容易 ◇金色盤面 據huobiglobal數據顯示,BTC最近成交價8045.89美元.

1900/1/1 0:00:00
ads