北京時間2019年05月07日,區塊鏈安全公司Zeppelin對以太坊上的DeFi明星項目MakerDAO發出安全預警,宣稱其治理合約存在安全漏洞,希望已鎖倉參與投票的用戶盡快解鎖MKR提并出。MakerDAO的開發者Maker公司亦確認了漏洞存在,并上線了新的治理合約,并宣稱漏洞已修復。
該安全威脅曝出后,PeckShield全程追蹤了MKR代幣的轉移情況,并多次向社區發出預警,呼吁MKR代幣持有者立即轉移舊合約的MKR代幣。截止目前,絕大多數的MKR代幣已經完成了轉移,舊治理合約中尚有2,463個MKR代幣待轉移。
05月07日當天,經PeckShield獨立研究發現,確認了該漏洞的存在,具體而言:由于該治理合約實現的投票機制存在某種缺陷,允許投票給尚不存在的slate。等用戶投票后,攻擊者可以惡意調用free()退出,達到減掉有效提案的合法票數,并同時鎖死投票人的MKR代幣。
MakerDAO發起一系列治理提案投票,包括將DAI存款利率提高到3.49%等內容:6月15日消息,MakerDAO社區發起一系列治理提案投票,包括對BlockTower RWA金庫債務上限進行更改、調整多個風險參數、將DAI存款利率提高到3.49%、USDP PSM債務上限降至0 DAI等內容。此次投票將于UTC時間7月14日18:49截止。[2023/6/15 21:37:58]
次日05月08日,PeckShield緊急和Maker公司同步了漏洞細節,05月10日凌晨,MakerDAO公開了新版合約。Zeppelin和PeckShield也各自獨立完成了對其新合約的審計,確定新版本修復了該漏洞。
數據:MakerDAO聯創近三個半月購入超2萬枚MKR:3月1日消息,據鏈上分析師BitcoinEmber數據監測,MakerDAO聯合創始人Rune自2022年11月14日以來,已通過0x購入約20449枚MKR。
目前,Rune地址持有108,893枚MKR,價值約1億美元,占MKR總量的11%。Rune購買MKR的資金來自出售LDO所得,Rune自2022年11月14日至今已出售994.8萬枚LDO,獲得了1674萬美元,而購買MKR花費了1396萬美元。[2023/3/1 12:37:10]
在此我們公布漏洞細節與攻擊手法,也希望有引用此第三方庫合約的其它DApp能盡快修復。
細節
MakerDAO新提案提出增加DPI作為抵押物:11月10日,INDEXcoop社區成員在MakerDAO治理論壇提出新提案,增加DPI作為MakerDAO抵押物。DPI是一種ERC20指數基金。 它代表基礎代幣的100%資產所有權。 該基金的目的是允許在DeFi Space中擁有關鍵治理協議的所有權。 可以將其視為封裝DeFi(wDeFi)。 這種結構的好處是可以提供資產敞口,同時最大程度地減少由于單個項目失敗而造成的下行風險。[2020/11/10 12:09:35]
在MakerDAO的設計里,用戶是可以通過投票來參與其治理機制,詳情可參照DAO的FAQ。
以下是關于itchyDAO的細節,用戶可以通過lock/free來將手上的MKR鎖定并投票或是取消投票:
HTC區塊鏈手機Exodus已集成MakerDAO和Compound:HTC昨日公布了其區塊鏈手機Exodus的一系列新更新,包括集成MakerDAO和Compound等DeFi服務,允許用戶質押、出借或使用DAI。此外,Exodus還添加對SegWit協議以及Stellar memo的支持。[2020/4/30]
在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:MKRMAKEMakerDAOmkr幣暴跌makerdao怎么讀Whale Maker FundHistoryDAO
Asof8:00UTC,WednesdayMay22nd,Bitfinexwillremovehighfrequency/sizefiatwithdrawalfees.Standardfiatw.
1900/1/1 0:00:00比特幣在8000美元附近盤整的第5天。到今天為止,還是按照上回的判斷走。由于這幾天震蕩區間在1000美元,屬于寬幅震蕩,振幅還沒有縮窄,也就是說還沒有到選擇方向的時候,從K線上看也不排除構建一個.
1900/1/1 0:00:00作者按:“工業大麻”“區塊鏈”的組合,是傳統資本市場與區塊鏈圈共同關注的熱點現象之一。對于市場熱點,投資者如果抱有十分的投資熱情,至少需要對應具備三分的風險意識.
1900/1/1 0:00:00據福布斯消息,俄羅斯加密挖礦公司CryptoUniverse計劃于2019年年中在西伯利亞開設一家工廠。它不僅提供加密挖礦服務,還將成為人工智能、大數據和物聯網空間運營企業的數據中心.
1900/1/1 0:00:00近日,香港主板上市公司前進控股集團通過其官方微信對外發布消息稱,已完成子公司OKLinkFintechLimited的注冊,并將于近期正式推出USDK合規穩定幣的業務.
1900/1/1 0:00:00火星財經APP一線報道,據火星財經APP行情顯示,5月20日晚間11點,加密貨幣交易所Bibox平臺幣BIX價格出現異常表現,從0.29美元左右飆升至1.4999美元,24小時漲幅近400%.
1900/1/1 0:00:00