国产乱人伦在线播放,99无码精品二区在线视频,最近在线更新8中文字幕免费,精品成人一区二区三区四区

您的位置:首頁 > 互聯(lián)網(wǎng) >

MakerDAO治理合約存在漏洞 投票機(jī)制允許投票給不存在的slate

2019-05-11 11:48:26 來源: PeckShield

北京時(shí)間 2019年05月07日,區(qū)塊鏈安全公司 Zeppelin 對(duì)以太坊上的 DeFi 明星項(xiàng)目 MakerDAO 發(fā)出安全預(yù)警,宣稱其治理合約存在安全漏洞,希望已

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

該安全威脅曝出后,PeckShield 全程追蹤了 MKR 代幣的轉(zhuǎn)移情況,并多次向社區(qū)發(fā)出預(yù)警,呼吁 MKR 代幣持有者立即轉(zhuǎn)移舊合約的 MKR 代幣。截止目前,絕大多數(shù)的 MKR 代幣已經(jīng)完成了轉(zhuǎn)移,舊治理合約中尚有 2,463 個(gè) MKR 代幣(價(jià)值約 128萬美元)待轉(zhuǎn)移。

05月07日當(dāng)天,經(jīng) PeckShield 獨(dú)立研究發(fā)現(xiàn),確認(rèn)了該漏洞的存在(我們命名為 itchy DAO),具體而言:由于該治理合約實(shí)現(xiàn)的投票機(jī)制(vote(bytes32))存在某種缺陷,允許投票給尚不存在的 slate(但包含有正在投票的提案)。 等用戶投票后,攻擊者可以惡意調(diào)用 free()退出,達(dá)到減掉有效提案的合法票數(shù),并同時(shí)鎖死投票人的 MKR 代幣。

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

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

細(xì)節(jié)

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

以下是關(guān)于 itchy DAO 的細(xì)節(jié),用戶可以通過 lock / free 來將手上的 MKR 鎖定并投票或是取消投票:

在 lock 鎖定 MKR 之后,可以對(duì)一個(gè)或多個(gè)提案 (address 數(shù)組) 進(jìn)行投票:

注意到這里有兩個(gè) vote 函數(shù),兩者的傳參不一樣 (address 數(shù)組與 byte32),

而 vote(address[] yays) 最終亦會(huì)調(diào)用 vote(bytes32 slate),其大致邏輯如下圖所示:

簡單來說,兩個(gè) vote 殊途同歸,最后調(diào)用 addWeight 將鎖住的票投入對(duì)應(yīng)提案:

可惜的是,由于合約設(shè)計(jì)上失誤,讓攻擊者有機(jī)會(huì)透過一系列動(dòng)作,來惡意操控投票結(jié)果,甚致讓鎖定的 MKR 無法取出。

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

1. 調(diào)用 lock() 鎖倉 MKR,此時(shí) deposits[msg.sender] 會(huì)存入鎖住的額度。

2. 此時(shí)黑客可以線下預(yù)先算好要攻擊的提案并預(yù)先計(jì)算好哈希值,拿來做為步驟 3 的傳參,因?yàn)?slate 其實(shí)只是 address 數(shù)組的 sha3。

這里要注意挑選的攻擊目標(biāo)組合必須還不存在于 slates[] 中 (否則攻擊便會(huì)失敗),黑客亦可以自己提出一個(gè)新提案來加入組合計(jì)算,如此便可以確定這個(gè)組合必定不存在。

3. 調(diào)用 vote(bytes32 slate),因?yàn)?slate 其實(shí)只是 address 數(shù)組的 sha3,黑客可以線下預(yù)先算好要攻擊的提案后傳入。

這時(shí)因?yàn)?votes[msg.sender] 還未賦值,所以 subWeight() 會(huì)直接返回。接下來黑客傳入的 sha3(slate) 會(huì)存入 votes[msg.sender],之后調(diào)用 addWeight()。從上方的代碼我們可以看到,addWeight() 是透過 slates[slate] 取得提案數(shù)組,此時(shí) slates[slate] 獲取到的一樣是未賦值的初始數(shù)組,所以 for 循環(huán)不會(huì)執(zhí)行(由于 yays.length = 0)

4. 調(diào)用 etch() 將目標(biāo)提案數(shù)組傳入。注意 etch() 與兩個(gè) vote() 函數(shù)都是 public,所以外部可以隨意調(diào)用。這時(shí) slates[hash] 就會(huì)存入對(duì)應(yīng)的提案數(shù)組。

5. 調(diào)用 free() 解除鎖倉。這時(shí)會(huì)分成以下兩步:

· deposits[msg.sender] = sub(deposits[msg.sender], wad)

解鎖黑客在 1. 的鎖倉

· subWeight(wad, votes[msg.sender])

從對(duì)應(yīng)提案中扣掉黑客的票數(shù),然而從頭到尾其實(shí)攻擊者都沒有真正為它們投過票

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

一、惡意操控投票結(jié)果

二、因?yàn)楹诳皖A(yù)先扣掉部份票數(shù),導(dǎo)致真正的投票者有可能無法解除鎖倉

時(shí)間軸

關(guān)鍵詞: MakerDAO 治理合約 投票機(jī)制

精選 導(dǎo)讀

募資55億港元萬物云啟動(dòng)招股 預(yù)計(jì)9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當(dāng)日啟動(dòng)招股,預(yù)計(jì)發(fā)行價(jià)介乎每股47 1港元至52 7港元,預(yù)計(jì)9月29日登陸港交所主板。按發(fā)行1 167億股計(jì)算,萬

發(fā)布時(shí)間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

隨著半年報(bào)披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時(shí)間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財(cái)報(bào)動(dòng)作不斷

再有上市公司宣布變賣房產(chǎn)。四川長虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價(jià)掛牌出售31套房產(chǎn)。今年以來,A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時(shí)間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時(shí)觸及漲停,報(bào)20 2元 股。值得一提的是,在7月21日

發(fā)布時(shí)間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權(quán),交易雙方共同確定本次交易的標(biāo)的資

發(fā)布時(shí)間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購 對(duì)債市影響如何?

央行12日再次開展了30億元逆回購操作,中標(biāo)利率2 10%。這已是央行連續(xù)7日每天僅進(jìn)行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

發(fā)布時(shí)間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個(gè)月新低

由于對(duì)美聯(lián)儲(chǔ)激進(jìn)加息的擔(dān)憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個(gè)月新低。美

發(fā)布時(shí)間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達(dá)克跌幅創(chuàng)下記錄以來最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達(dá)克綜合指數(shù)下跌29 5%,標(biāo)普500指數(shù)下跌20 6%。其中,納斯達(dá)克連續(xù)

發(fā)布時(shí)間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強(qiáng),滬指6月以來上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬億元,月內(nèi)增加344 67億元,最近一個(gè)半

發(fā)布時(shí)間: 2022-06-20 09:41
資訊   2022-06-20

4個(gè)交易日凈買入超百億元 北向資金持續(xù)流入A股市場

北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計(jì)凈

發(fā)布時(shí)間: 2022-06-17 09:37
推薦   2022-06-17

熱門TAG

more
美聯(lián)儲(chǔ)今年已將基準(zhǔn)利率從接近零大幅上調(diào)至略高于3% EIA報(bào)告:美國原油庫存及戰(zhàn)略儲(chǔ)備減少,汽油及精煉油庫存輕微波動(dòng) 美國政府更廣泛推動(dòng)從汽油動(dòng)力汽車轉(zhuǎn)向電動(dòng)汽車的一部分 數(shù)據(jù)顯示:今年9月日本船企接單量延續(xù)8月下跌下跌趨勢 公告顯示:2022年前三季度TCL中環(huán)研發(fā)投入為27億元 占比營業(yè)收入5.42% 新的111.75億英鎊注資列在“對(duì)金融機(jī)構(gòu)的援助—支付給英格蘭銀行”標(biāo)題下 本次政府儲(chǔ)備肉投放面向北京18家主要連鎖超市門店及相關(guān)零售終端投放 有交易員預(yù)計(jì):如果LME不采取措施 接下來可能將有數(shù)十萬噸鋁流入LME 據(jù)報(bào)道:繼德國最大釀酒商拉德貝格啤酒公司9月宣布漲價(jià) 據(jù)報(bào)道:澳大利亞礦商Pilbara的鋰礦拍賣價(jià)再創(chuàng)新高 折算后的碳酸鋰成本 中集天達(dá)首次公開發(fā)行A股股票 招股書顯示此次擬公開發(fā)行股數(shù)不超過103, 多家銀行加強(qiáng)綠色金融頂層設(shè)計(jì) 致力于為經(jīng)濟(jì)社會(huì)綠色低碳轉(zhuǎn)型貢獻(xiàn)力量 萊特幣 比特幣 數(shù)字資產(chǎn) 火幣 以太經(jīng)典 比特股 EOS 比特幣現(xiàn)金 量子鏈 Hcash 泰達(dá)幣 瑞波幣 Qcash 比特幣鉆石 超級(jí)比特幣 優(yōu)幣 硬分叉 加密貨幣