在以太坊網(wǎng)絡(luò)上開發(fā)項目時,智能合約代碼的編寫只是整個工作的一小部分,大部分開發(fā)時間都花在用戶需求分析和保證質(zhì)量上面,尤其是系統(tǒng)合約
在以太坊網(wǎng)絡(luò)上開發(fā)項目時,智能合約代碼的編寫只是整個工作的一小部分,大部分開發(fā)時間都花在用戶需求分析和保證質(zhì)量上面,尤其是系統(tǒng)合約的安全性。
Maker 基金會的開發(fā)過程一直采用最高安全標準,多抵押 Dai 發(fā)布臨近,合約安全第一原則依然不變。
這篇文章概述了我們團隊在啟動多抵押 Dai 階段開展的安全路線圖。
安全路線圖
· 多抵押 Dai 安全路線圖由四個平行步驟組成:
· 與 HackerOne 舉辦漏洞賞金計劃,并在多抵押 Dai 啟動后持續(xù)運行。
· 最大限度地形式化驗證智能合約。
· 與領(lǐng)先審計公司進行獨立的第三方安全審計。
· 與合作伙伴在現(xiàn)實環(huán)境壓力測試多抵押 Dai 。
洞賞金計劃
今年6月,Maker 邀請了部分研究人員參與漏洞賞金計劃的內(nèi)部版本。隨著多抵押 Dai 的推出,今天我們宣布正式公開漏洞賞金計劃:
· 增加漏洞發(fā)現(xiàn)對象。
· 增加漏洞賞金金額。
最初的范圍是針對以太坊 Kovan 測試網(wǎng)上部署的多抵押 Dai 智能合約,正式發(fā)布之后將添加更多,包括 Web 應(yīng)用程序、工具等。
除了對發(fā)現(xiàn)高、中、低各嚴重性漏洞的普通獎勵外,我們將對發(fā)現(xiàn)“嚴重”的漏洞獎勵 5 萬美金。
了解更多信息并作為研究人員參與,請訪問 HackerOne 計劃頁面:
https://hackerone.com/makerdao_bbp?view_policy=true
形式化驗證
代碼的形式化驗證通常是針對工程系統(tǒng)中最關(guān)鍵的軟件,比如被應(yīng)用于航空航天工程中,保證關(guān)鍵安全功能的準確性。更具體地說,形式化驗證保證由計算機執(zhí)行的低級字節(jié)碼能夠正確地反映軟件開發(fā)者的意圖并且沒有意外的作用。
由于區(qū)塊鏈的高風(fēng)險和不可篡改的性質(zhì),在初始部署后無法輕松修改軟件漏洞,形式化驗證智能合約已成為以太坊生態(tài)系統(tǒng)中的標準。Maker 一直處于形式化驗證領(lǐng)域的最前沿,并且是最先將該方法應(yīng)用于主要核心代碼的項目之一。
自從多抵押 Dai 測試網(wǎng)核心合約上線以來,我們已經(jīng)形式化驗證了多抵押 Dai 核心系統(tǒng)合約、穩(wěn)定幣合約、拍賣合約、 Dai 存款利率(DSR)以及緊急關(guān)閉模塊和預(yù)言機安全模塊(OSM)。
同時,Maker 團隊正在形式化驗證系統(tǒng)中的二級合約和治理合約,主要包括投票代理合約、CDP 管理合約,以及抵押品適配合約(用于處理系統(tǒng)中抵押品的鎖定和釋放)。
安全審計
雖然形式化驗證保證了低級字節(jié)碼準確地反映了軟件開發(fā)人員的意圖,但也有不少限制。例如不能防止合約中的邏輯漏洞,也無法涉及超出單個交易事項的范圍。
因此,合約的形式化驗證應(yīng)始終結(jié)合更傳統(tǒng)的安全審計,還應(yīng)與更高級別的安全建模相結(jié)合。
這正是 Maker 基金會正在做的事情,我們聘請了領(lǐng)先的行業(yè)專家進行多次獨立的安全審計:
· 與 Runtime Verification 合作,使用該公司創(chuàng)建的高級形式化模型,進一步驗證系統(tǒng)的邏輯。
· 作為我們長期的智能合約審計伙伴,Trail of Bits 專注于形式化驗證未覆蓋的領(lǐng)域。
· PeckShield 負責(zé)更傳統(tǒng)的審計。PeckShield 2018年初由業(yè)內(nèi)資深人士創(chuàng)立,獨立驗證了今年5月 Maker 修補的 DSChief 漏洞。
集成合作伙伴計劃
漏洞賞金計劃、形式化驗證和安全審計是保證多抵押 Dai 系統(tǒng)作為獨立單元安全的重要工具。不過,雖然這能夠保證系統(tǒng)本身的安全性,只有與通過合作伙伴集成,才能真正證明系統(tǒng)的強健。
Maker 基金會正在與一組特別篩選的集成業(yè)務(wù)合作伙伴合作,在現(xiàn)實環(huán)境中測試多抵押 Dai,進一步降低任何漏洞發(fā)生的可能性。
下一步
在多抵押 Dai 越來越接近發(fā)布時,Maker 團隊正在努力完成安全路線圖,同時期待與社區(qū)和合作伙伴一起,為用戶提供頂級安全性的系統(tǒng)。
除了安全性本身,我們的團隊正在開發(fā)其他基礎(chǔ)架構(gòu),幫助集成合作伙伴和質(zhì)量控制工程師進行測試。(MakerDAO)