智慧合約存在著潛在威脅!該如何解決安全問題?
海倫/張詠晴編譯
2018-10-15 11:50

10月13-14日,由DoraHacks主辦的「區塊鏈安全Hackathon」在北京舉辦。賽前,來自長亭科技、獵豹科技、鏈安科技等多個區塊鏈安全公司的嘉賓,針對智慧合約的安全問題,帶來了主題分享。

 

巴比特整合現場精華內容,為大家詳解智慧合約漏洞產生之緣由、影響之巨大、解決之方法。 

 

Owner權限過大會產生什麼問題呢?

 

鏈安科技CTO郭文生表示,對以太坊ERC20智慧合約的安全事件進行分析後發現,超級權限被盜可能存在如下安全隱憂:

 

  1. 隨時凍結代幣轉帳
  2. 任意鑄造發行新的代幣
  3. 銷毀任意帳戶內的代幣

 

他進一步解釋,Owner權限如此之大,說明眾多所謂的去中心化的產品,實際上隱藏一個潛在威脅,控制權掌握在開發者手上。

 

這裡存在著兩重風險,一是如此強大的Owner權限被駭客盜取,駭客可以對其代幣為所欲為,操縱整個代幣的價值,對整個加密貨幣生態造成影響,後果不堪設想。

 

二是項目方本身,也不能完全保證他不會作惡。因此,在智慧合約上線之後,應當限制Owner權限,採取社群自治、合約自治的方式,這才符合區塊鏈的精神。

 

如何解決智慧合約的安全問題?

 

既然發現了這些問題,就要想辦法去避免,郭文生給出了幾點建議:

 

首先,對於開發者,要盡量參考有價值的模版,盡量使用安全數據庫。因為在查核過程中,可以看到,很多合約的錯誤是重複、雷同的,這就是因為採用了偽劣的核心模版。

 

其次,開發完成後,要進行全方位的功能和編譯測試,功能上要保證滿足客戶需求,測試方面,一是重視編譯錯誤和警告,尤其是那些未知錯誤的提示;二是要具備完備的人工設計測試案例;三是進行靜態分析工具測試;四是進行動態分析工具測試,進而發現執行過程中的隱藏問題。

 

最後,不可能完全依賴開發人員,需要第三方會計公司來幫助完善代碼安全性。這些公司內部會有精度更高、更完備的測試工具,在形式化驗證之後,還會進行人工漏洞再現和人工複審。

 

本文為巴比特資訊授權刊登,原文標題為「8年損失12億美元,對於智能合約漏洞,你瞭解多少?