05月10日凌晨,MakerDAO公開了新版合約。Zeppelin和PeckShield也各自獨立完成了對其新合約的審計,確定新版本修復了該漏洞。本文Peckshield將公布該漏洞的細節與詳細攻擊手法。
原文標題:《MakerDAO治理合約升級背后的安全風波》
北京時間2019年05月07日,區塊鏈安全公司Zeppelin對以太坊上的DeFi明星項目MakerDAO發出安全預警,宣稱其治理合約存在安全漏洞,希望已鎖倉參與投票的用戶盡快解鎖MKR提并出。MakerDAO的開發者Maker公司亦確認了漏洞存在,并上線了新的治理合約,并宣稱漏洞已修復。
該安全威脅曝出后,PeckShield全程追蹤了MKR代幣的轉移情況,并多次向社區發出預警,呼吁MKR代幣持有者立即轉移舊合約的MKR代幣。截止目前,絕大多數的MKR代幣已經完成了轉移,舊治理合約中尚有2,463個MKR代幣待轉移。
ApeCoin發布官方智能合約地址并提醒欺詐:3月17日消息,ApeCoin 社交媒體上發布了官方智能合約地址:0x4d224452801ACEd8B2F0aebE155379bb5D594381,并提醒空投活動在美國東部時間3月17日(即北京時間今日 20:30)之前不會啟動,目前已經有欺詐者出現,Apecoin.com 是唯一的官方網站,用戶將錢包連接到網站時,請始終保持高度懷疑,并且永遠不要輸入任何錢包助記詞。[2022/3/17 14:02:17]
05月07日當天,經PeckShield獨立研究發現,確認了該漏洞的存在,具體而言:由于該治理合約實現的投票機制存在某種缺陷,允許投票給尚不存在的slate。等用戶投票后,攻擊者可以惡意調用free()退出,達到減掉有效提案的合法票數,并同時鎖死投票人的MKR代幣。
公告 | PEC的paydex首個核心生態通過檢驗:據官方消息,2月1日,PEC的paydex首個核心生態通過了檢驗,后期將進行市場應用,PEC由VPC置換產生。可以提到PaYdex DAPP中作為新生態的糖果。且PEC不定價格,糖果上鏈,價格透明面向市場,并可在VToken開通USDT交易對,設定100天漲跌幅期,每天漲跌1%,且不進行人為干預。釋放完成后,漲幅放開,100天后,不設定漲幅比例。[2020/2/1]
次日05月08日,PeckShield緊急和Maker公司同步了漏洞細節,05月10日凌晨,MakerDAO公開了新版合約。Zeppelin和PeckShield也各自獨立完成了對其新合約的審計,確定新版本修復了該漏洞。
在此我們公布漏洞細節與攻擊手法,也希望有引用此第三方庫合約的其它DApp能盡快修復。
聲音 | PeckShield:以太坊部分節點分叉塊已出 但算力只占主網2%:據PeckShield態勢感知平臺數據顯示:以太坊部分節點7080000分叉塊于今天下午14:17:32被挖出。一部分節點由于未完成昨天發布的強制軟件升級,出現了小分叉,礦工地址為:0x06b8c5883ec71bc3f4b332081519f23834c8706e,分叉塊哈希值: 0x61b1f78914ffb664661724d3568dd513b836f9d9d79d78746c9b79deed88ea64。截至發稿前,分叉塊已經挖出5塊。這是由已進行君士坦丁堡升級且昨天未進行強制升級的節點所出的塊。根據目前出塊時間和difficuty推測分叉鏈算力占主網不到2%,不會對主網造成威脅。[2019/1/17]
細節
聲音 | PeckShield: 今晚兩款EOS競猜游戲遭同一黑客交易延遲攻擊:今天晚間21:52-22:36之間,PeckShield安全盾風控平臺DAppShield監測到兩款EOS競猜類游戲(Fishing和STACK DICE)同時遭到黑客連續攻擊,損失已經超過數百個EOS,目前兩款游戲均已暫停運營。PeckShield安全人員鏈上追蹤發現,兩款游戲的攻擊者為同一黑客,采取的是交易延遲攻擊(deferBomb),和此前LuckBet等游戲受攻擊方式一樣,同樣是利用超級節點nodeos低版本存在的漏洞。PeckShield安全人員呼吁超級節點盡快升級到最新穩定版,同時希望廣大開發者應及時做好安全布控及攻擊測試,排查潛在被攻擊的風險。[2019/1/14]
在MakerDAO的設計里,用戶是可以通過投票來參與其治理機制,詳情可參照DAO的FAQ。
以下是關于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.07PeckShield復查并確認了漏洞存在2019.05.08PeckShield與Maker基金會討論并確認了漏洞細節2019.05.09Maker基金會公布新版DSChief合約源碼,PeckShield披露了漏洞相關細則來源鏈接:mp.weixin.qq.com
本文來源于非小號媒體平臺:
PeckShield
現已在非小號資訊平臺發布1篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/3626575.html
MKR漏洞風險安全
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
聽剛發現EOS重大漏洞的專家談談,區塊鏈的技術本質是什么?
下一篇:
慢霧創始人余弦:真正的黑客究竟什么樣?
Tags:SHISHIELDELDMKRSHIBTAMAPolyShield.FinanceYieldlymkr幣發行價
文|梁雨山陳向明 出品|火星財經APP 最明顯的例子是,加密貨幣從下跌中恢復的速度越來越快。以過去一周為例,比特幣在周五下跌超過10%,導致幣市全面回調.
1900/1/1 0:00:00近日美國硅谷領先的AI區塊鏈安全公司AnChain.ai完成數百萬美元種子輪融資,投資方為吳軍博士等創辦的硅谷知名風險投資機構豐元創投、華爾街對沖基金背景的風險投資機構華巖資本等.
1900/1/1 0:00:00華爾街日報記者用了幾個月時間,臥底電報群,發掘出60多個涉嫌推動拉高出貨做局加密貨幣操縱行為的群組.
1900/1/1 0:00:00BTC在2019年以來的表現一直優于黃金、標普等資產,今年以來上漲107.89%。給人牛市來臨的錯覺,湯姆李也在推特上表示:13個跡象表明加密市場的冬天已經結束.
1900/1/1 0:00:00據報道,美國司法部對加密貨幣交易員已經展開了針對加密貨幣交易者的一項刑事調查,他們可能通過老式非法手段操縱了市場.
1900/1/1 0:00:00上周開始,一頭部交易所開始頻繁遭遇撞庫攻擊。「幾十個數據包,都在凌晨開始撞庫,嘗試登錄用戶的賬號。」該交易所安全負責人CC稱.
1900/1/1 0:00:00