科技雲報導:「智能合約」已成區塊鏈安全重災區?別慌!

“從The DAO到BEC,SocialChain,Hexagon,再到EOS漏洞,“智能合約”已經成為區塊鏈安全的重災區。智能合約安全漏洞頻現並非偶然,其落地推廣可能還需經歷一個漫長的技術突破期。”

科技雲報道:“智能合約”已成區塊鏈安全重災區?別慌!

近期,區塊鏈平臺EOS智能合約漏洞事件,再次把區塊鏈安全推上了風口浪尖。攻擊者可以通過發佈包含惡意代碼的“智能合約”,經過一系列的操作之後,控制區塊鏈網絡中的所有節點,從而為所欲為。

事實上,EOS智能合約漏洞引發的安全事件並不是第一次,距上次發生此類嚴重漏洞才過去了短短1個月。

今年4月,美蜜幣因為智能合約出現重大漏洞而遭到黑客攻擊,BEC憑空蒸發了10億美元,最後價值幾乎歸零。

就在距BEC現重大漏洞幾近歸零僅時隔三天,SMT的以太坊智能合約再曝安全漏洞,SMT遭到與BEC類似溢出攻擊。數據表明,截止交易停止時間,SMT在火幣Pro的價格下跌近20%。

據區塊鏈安全網的數據顯示,區塊鏈行業的重大安全事故數量在2018年爆發式增長,因智能合約漏洞而引發的經濟損失,也趕超交易平臺事故成為了第一名。

科技雲報道:“智能合約”已成區塊鏈安全重災區?別慌!

為何智能合約漏洞頻發?

為什麼“智能合約”會成為區塊鏈安全的重災區,智能合約的漏洞究竟給安全帶來了什麼樣的新挑戰?

我們現在通常所說的區塊鏈智能合約,是以太坊為代表的一種交易代碼執行的虛擬環境EVM。使用者可以開發自定義的交易邏輯,發佈到鏈上,當交易進行時,鏈上所有的節點都執行相同的代碼,從而同步改變鏈上數據的狀態,其本質是一段運行在區塊鏈網絡中的代碼,它完成用戶所賦予的業務邏輯。

科技雲報道:“智能合約”已成區塊鏈安全重災區?別慌!

從軟件代碼開發的角度看,智能合約代碼和其它軟件代碼並沒有顯著的區別,都是一段程序。但是一段程序用在什麼地方、什麼場景,往往決定了這段程序代碼的重要程度。

普通的軟件程序,通常不和資金掛鉤,所以即便出現漏洞,也不會產生太大的影響,而智能合約代碼一般用來控制資金的流轉,因此一旦出現漏洞,產生的影響難以估量。

實際上,在軟件開發領域,出現程序漏洞是一個常見現象,只要是由人編寫的程序,就一定會出現錯誤和缺陷。

目前並沒有通用的自動化手段,可以驗證一段代碼是否包含漏洞,一切依賴於開發者的技能水平和測試流程的完善。智能合約代碼需要儘量經過多人閱讀審核,這樣才能降低漏洞出現的概率,防止資金流轉發生異常。

然而,區塊鏈是一門比較新的技術,市場上的智能合約開發人員,還沒有完全培養到位,對開發者的技術水平、細心程度,同樣都有著更高的要求。眾多項目團隊在技術實力、安全意識與責任意識上存在很大欠缺。

就目前智能合約的應用情狀而言,其漏洞發掘存在非常嚴重的滯後性,往往是在黑客發動攻擊後,各開發團隊才開始自我審查並進行修復。

科技雲報道:“智能合約”已成區塊鏈安全重災區?別慌!

從另一個角度看,以太坊在設計之初,將智能合約設計成了一旦部署就不能修改的模式。這種設計有可能是為了提高智能合約的可信性。但是以太坊這種設計本身就違背了程序設計的一般規律,在智能合約出現漏洞的時候可能會造成無法彌補的損失。

同時,以太坊只是一個記錄dapp執行結果的區塊鏈,其本身並沒有加密貨幣複式記賬所需的utxo模型。重要的token資產本身是需要貨幣級別的安全程度,以太坊目前的設計更適合遊戲積分之類的合約運行結果。

我們可以看到,無論是ETH和EOS,其實都不是面向貨幣的設計。面向區塊鏈平臺的設計,複雜度很高,也蘊含更多安全隱患。

智能合約漏洞該如何應對?

智能合約安全漏洞頻現並非偶然,當前數字貨幣市場魚龍混雜,智能合約缺乏有效的監管,缺少安全審計流程,其代碼安全性與邏輯漏洞僅靠開發人員人工審核,難免存在隱患和漏洞。

對於廠商來說,由於智能合約不可修改的特性,要對上線後發現的漏洞進行有效修復,只能選擇重新部署新的合約,這將付出巨大的代價,因此有的廠商可能會選擇不響應,不處理。

但如果廠商遲遲不修補漏洞,公眾對於漏洞的存在不知情,風險會隨著時間的增長迅速膨脹,漏洞一旦爆發可能會造成更大的危害,波及更大的人群,可能會造成很多人的投資瞬間化為烏有。

科技雲報道:“智能合約”已成區塊鏈安全重災區?別慌!

要應對區塊鏈智能合約的安全漏洞問題,未來需要普遍考慮設計相應的智能合約協商更新機制,降低漏洞修復的成本。

雖然在一些聯盟鏈中,智能合約的設計是可以在部署之後更新的,這種更新需要一定的線下協商流程。

但更現實的是,做出幾乎唯一可行的、切實有效的努力——在智能合約上線之前,對其進行全面深入的代碼安全審計,儘可能的消除漏洞,降低安全風險。

上線後,一定要注意應急響應,比如監控智能合約有沒有異常交易情況。同時,開發業務項目方里要有應急響應團隊。

從整個行業生態看,亟待開發出一系列的智能合約驗證工具集:開發相關的驗證⼯具,提前輔助合約開發者發現問題;開發證明輔助生成⼯具,提⾼形式化驗證的⾃動化⽔平;在區塊鏈共識協議中引⼊必要的形式化證明驗證流程;支持鏈下的證明檢查流程等等。如果項目方和交易所有相應的漏洞獎勵計劃,也將促使形成一個健康的生態。

數字貨幣市場中應用的智能合約就像一個定時炸彈,隨時可能被黑客找到引爆點,而智能合約的安全與否直接影響項目安全。在智能合約真正安全突圍之前,我們依然要對相關的安全漏洞事件保持警惕,及時做好風險防範。


分享到:


相關文章: