比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 火必 > Info

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

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投票決定在3個月內用300萬DAI進行MKR回購試驗:6月24日消息,MakerDAO投票決定在3個月內用300萬DAI購買和銷毀MKR,通過部署試運行DssKiln來實現整個過程,MakerDAO旨在讓其金庫維持高于當前水平的盈余緩沖,以降低未來債務拍賣中MKR鑄造崩盤事件的可能性。

據悉,該提案是Restart the burn SR V2提案的升級版本。而DssKiln是一個無需許可的代幣購買和處置工具,將直接使用DAI從Uniswap市場購買MKR并通過調用MKR的burn()功能來銷毀它們。[2022/6/24 1:29:08]

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

MakerDao報告:已對系統做出關鍵更改 防止債務危機事件再次發生:MakerDAO(MKR)發布了一份新報告稱,為了避免再次發生類似“黑色星期四”經歷的危機,MakerDAO采取了一系列措施,包括其治理現在可以“立即停止拍賣系統,從而進行清算”,以防止以0 DAI的價格出售債務抵押債券。拍賣系統的參數也進行了其他更改,包括添加穩定幣USD Coin(USDC)。Maker社區還創建了Web界面以提升拍賣參與度。該報告還建議引入安全措施,以重新啟動少于三個競標和兩個唯一競標者的拍賣,每批拍賣不超過50 ETH,并創建一個Maker清算儀表板。(Cointelegraph)[2020/4/29]

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

動態 | MakerDAO社區發展計劃資助項目包括Opolis等:據MakerDAO官微,MakerDAO基金會在2018年啟動社區發展計劃,其中包括資助其它區塊鏈項目的發展,鼓勵社區成員幫助其開辟一個新的金融可能性世界。自啟動以來,已接受28項資助申請,撥出60萬Dai用于開發,10萬Dai用于其它舉措,比如社區翻譯計劃等。在MakerDAO資助下推出的項目包括Opolis、PoolTogether、Sablier、Gas Stations Network等。[2019/9/19]

細節

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

聲音 | Maker基金會:曾嘗試以DEFI注冊為商標但未獲得批準 將不會繼續申請:根據美國專利及商標局顯示,Maker生態發展基金會曾在今年1月嘗試注冊“DEFI”商標,但目前尚未獲得批準。DEFI是加密貨幣行業中對于去中心化金融(decentralized finance)的簡稱。Maker表示:“Maker基金會獲取DeFi商標是為了將這個商標給整個社區使用,同時是為了避免被其他惡意的人搶先注冊。我們看到有部分項目試圖將‘stablecoin(穩定幣)’注冊為商標,我們也不希望這樣的事情發生。Maker基金會尚未獲得DeFi商標,而且也不會繼續申請。我們理解社區是有能力保護自身的,所以對于此事帶來的困惑和誤解表示抱歉。” 此前消息,MakerDAO曾向美國專利商標局注冊“DeFi”商標,申請人是Maker生態增長基金會(MEGF),而社區對此反應不一。(CoinDesk)[2019/8/24]

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

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

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

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

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

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

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官網appMoon Maker ProtocolShineDAOmkr幣發行價

火必
報告:比特幣不是對經濟不確定性或股市波動的有效對沖_TMO

美國伍斯特理工學院金融學助理教授DimitriosKoutmos在題為《市場風險和比特幣回報》的論文中指出,比特幣不是對經濟不確定性或股市波動的有效對沖.

1900/1/1 0:00:00
Lomm、Eos和Cosmos,誰將占領區塊鏈游戲江山,俘獲百萬用戶?_MOS

EOSvsCosmosvsLoom:誰將成為第一個擁有100萬活躍用戶的游戲? 比賽開始 如今互聯網觸手可及,比如我們身邊的智能手機、智能手表、智能合約以及智能汽車.

1900/1/1 0:00:00
三星將區塊鏈技術納入其“數字化轉型框架”_LED

作者:JohnBiggs翻譯:Maya暴走時評:在三星在首爾舉行的Real2019活動中,三星SDS首席執行官HongWon-pyo表示該公司計劃在其企業IT解決方案包中添加區塊鏈技術.

1900/1/1 0:00:00
以太坊迎來“黃金交叉” 分析師:ETH將突破300美元_CRO

在過去幾周市值最高的加密貨幣比特幣上漲行情的帶動下,包括以太坊在內的其他加密貨幣也紛紛大幅上行.

1900/1/1 0:00:00
幣客即將上線WHEN_HTT

尊敬的BITKER用戶:BITKER將于2019年4月19日11點正式開放: ?WHEN/BTC ?WHEN/ETH交易對.

1900/1/1 0:00:00
文摘 | 區塊鏈是關于安全的一切_ANC

原鏈閱讀時長6分鐘:https://medium.com/universablockchain/blockchain-is-all-about-security-8128a6e16afe該文講述.

1900/1/1 0:00:00
ads