智能合約漏洞的天敵,以太坊上120萬個(gè)dApp 都在用它做安全審查

新技術(shù)往往也意味著新風(fēng)險(xiǎn)。

智能合約是運(yùn)行在區(qū)塊鏈上的程序,由于區(qū)塊鏈不可篡改,智能合約也具有不可更改的特性——一旦部署上線就無法再進(jìn)行修改。

也就是說,智能合約一旦出現(xiàn)漏洞,就可能會(huì)造成重大損失,有時(shí)候損失甚至多達(dá)數(shù)億美元。2016年6月17日,區(qū)塊鏈業(yè)界最大的眾籌項(xiàng)目 The DAO 智能合約由于存在漏洞而遭到黑客攻擊,造成了總價(jià)值超過 5000 萬美元的損失。2017年7月和11月,以太坊多重簽名錢包 Parity 的智能合約先后爆出兩個(gè)重大漏洞,導(dǎo)致千萬美元被盜、上億美元被凍結(jié)。


TheDAO 事件

由此可見,部署智能合約之前,必須要對(duì)其進(jìn)行全面深入的代碼安全審計(jì),盡可能消除漏洞、降低風(fēng)險(xiǎn)。

為了最大程度地保障智能合約安全,對(duì)合約代碼的審計(jì)成了一個(gè)不容小覷的專業(yè)領(lǐng)域。一般來說,智能合約審計(jì)有兩種基本方法:手動(dòng)和自動(dòng)。

手動(dòng)代碼分析由一個(gè)經(jīng)驗(yàn)豐富的開發(fā)者團(tuán)隊(duì)對(duì)合約代碼進(jìn)行審查,檢查其編碼、重入錯(cuò)誤和安全等問題。而自動(dòng)代碼分析是用市場上的一些代碼審計(jì)工具,快速發(fā)現(xiàn)漏洞,可以節(jié)約大量人力和時(shí)間。

目前,以太坊上已有超過 120 萬個(gè)應(yīng)用在使用一款免費(fèi)的安全審查工具。該工具可以自動(dòng)掃描查找智能合約代碼中的常見漏洞,并對(duì) dApp(去中心化應(yīng)用)進(jìn)行安全評(píng)級(jí)(如A級(jí)、B級(jí)、C級(jí)等)。

這款免費(fèi)的工具由初創(chuàng)公司 Amberdata 與去年 10 月推出,每個(gè)人都可以無門檻了解以太坊上活躍的應(yīng)用的安全狀況。Amberdata 是用于監(jiān)控、搜索和分析多個(gè)區(qū)塊鏈的領(lǐng)先 SaaS 平臺(tái),對(duì)區(qū)塊鏈的健康和智能程度進(jìn)行分析,提供對(duì)區(qū)塊鏈指標(biāo)、搜索和區(qū)塊鏈數(shù)據(jù)驗(yàn)證的實(shí)時(shí)監(jiān)控和見解。


amberdata

Amberdata 首席執(zhí)行官 Shawn Douglass 強(qiáng)調(diào),Amberdata 安全評(píng)級(jí)工具的愿景,是提供“更好的智能合約訪問體驗(yàn)及提高智能合約的透明度。”

他還說道:“我們希望為以太坊社區(qū)提供的這些工具可以減輕社區(qū)成員對(duì)外部工具的依賴,讓他們更快更安全地進(jìn)行開發(fā)工作?!?/p>

那么 Amberdata 這款工具是如何運(yùn)作的呢?其評(píng)級(jí)依據(jù)又是什么?

Amberdata 首席技術(shù)官 Joanes Espanol 指出,該工具可以自動(dòng)掃描 13 種漏洞,檢測到的漏洞越多,該 dApp 獲得的等級(jí)評(píng)定就越低,等級(jí)從 A+ 到 F 不等。

Joanes 表示,常見嚴(yán)重等級(jí)較低的漏洞有“用戶地址委托調(diào)用”(delegate call to a user-supplied address)和“外部合約消息調(diào)用”(message call to external contract)。前者通常被用于將智能合約代碼分成多個(gè)子合約,可能被用于替換掉能改變?cè)紤?yīng)用行為的合約;后者不是一種會(huì)影響智能合約本身的漏洞,而是可能會(huì)調(diào)用其他有錯(cuò)誤代碼的合約,從而帶來潛在風(fēng)險(xiǎn)。

因此,如果檢測到某個(gè)智能合約有這兩個(gè)漏洞,那么 Amberdata 這款審計(jì)工具就會(huì)發(fā)出“警告”。

而嚴(yán)重程度較高的兩個(gè)漏洞分別是:整數(shù)溢出——在智能合約的操作中可能產(chǎn)生超出代碼限制的值,從到出現(xiàn)不可預(yù)測的行為,甚至是導(dǎo)致資金損失;整數(shù)下溢——低于定義范圍的值可能會(huì)導(dǎo)致錯(cuò)誤輸出。

根據(jù) Amberdata 的評(píng)級(jí)系統(tǒng),以太坊著名養(yǎng)成類游戲應(yīng)用加密貓(CryptoKitties)由于沒有以上四種漏洞中的任意一種,其安全等級(jí)被評(píng)為 A+。加密貓的軟件工程師 Fabiano Soriani 稱,原因是“我們盡可能多地進(jìn)行了測試。”


加密貓

他還表示,進(jìn)行審計(jì)工作的人會(huì)為智能合約指出某些漏洞或者錯(cuò)誤,這是非常好的補(bǔ)充資源。

由于智能合約本質(zhì)上是一串代碼,而由人編寫出來的代碼不可避免地存在某些錯(cuò)誤和紕漏。如果跳過安全審計(jì)這一環(huán)節(jié)直接將其部署到以太坊或者其他公鏈上,可能會(huì)出現(xiàn)嚴(yán)重的損失和一系列問題。

正如 Amberdata 首席執(zhí)行官 Shawn 所說,“區(qū)塊鏈?zhǔn)窍乱粋€(gè)浪潮,是下一次革命,一次關(guān)于信任和去中心化的革命?!?/p>

所謂的智能合約其實(shí)并沒有那么“智能”,安全審計(jì)道阻且長。Amberdata 的安全審計(jì)工具與千千萬萬個(gè)智能合約一起,踏上了這次“信任和去中心化的革命”之路。

Amberdata是新一代區(qū)塊鏈資源管理器,并且用于監(jiān)測、搜索、分析及保護(hù)公鏈和私鏈的高級(jí)數(shù)據(jù)分析平臺(tái)。

如果您想了解更多Amberdata.io相關(guān)信息,

我們的網(wǎng)站:https://amberdata.io/

我們的官方推特賬號(hào)Amberdataio

我們的官方微信公眾號(hào):Amberdata(amberdata_china)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容