什麼是智慧合約漏洞?
智慧合約(Smart Contract) 這個術語是在1994 年由Nick Szabo 提出的,後來經過幾次在不同環境下的重新定義。我們現在通常所說的區塊鏈智慧合約以以太坊為代表的。
以太坊的作者Vitalik Buterin 意識到,在區塊鏈系統中,交易邏輯是可以和底層系統機制分離的。底層系統負責交易塊的建立和驗證,記賬者的共識達成等基礎功能,而交易本身到底做什麼事情是可以通過二次程式設計的方式來定義的。因此他設計了一種交易程式碼執行的虛擬環境EVM,使用者可以開發自定義的交易邏輯,釋出到鏈上,當交易進行時,鏈上所有的節點都執行相同的程式碼,從而同步改變鏈上資料的狀態。
他為這種程式碼使用了“智慧合約”這個名字,這是我們目前通常所說的智慧合約的內涵。
智慧合約漏洞,左右為難!
智慧合約本質是一段執行在區塊鏈網路中的程式碼,它完成使用者所賦予的業務邏輯。以以太坊體系的代幣為例,其業務邏輯是代幣發幣和交易。以太坊在設計之初,將智慧合約設計成了一旦部署就不能修改的模式。這種設計有可能是為了提高智慧合約的可信性。但是我們知道,只要是由人編寫的程式,就一定會出現錯誤和缺陷。
以太坊這種設計本身就違背了程式設計的一般規律,在智慧合約出現漏洞的時候可能會造成無法彌補的損失。我們可以看到,近期出現的以太坊體系智慧合約的漏洞,造成了巨大的影響,有的代幣也因此毀滅。
目前以太坊體系區塊鏈智慧合約的機制設計,加之漏洞可能帶來的毀滅性影響,使得已上線智慧合約的漏洞的報告和處理變得非常棘手。360程式碼衛士團隊在近期的研究中發現了以太坊體系下多個已上市交易的代幣的智慧合約安全漏洞,並已第一時間報告廠商,但到目前為止廠商尚未作出任何回應。
對於廠商來說,由於智慧合約不可修改的特性,要對上線後發現的漏洞進行有效修復,只能選擇重新部署新的合約,這將付出巨大的代價,因此有的廠商可能會選擇不響應,不處理。
而對於安全研究者來說,也面臨尷尬的境地,左右為難。在廠商修補漏洞前公開漏洞細節對於廠商不利,有悖漏洞披露的一般原則,但如果廠商遲遲不修補漏洞,公眾對於漏洞的存在不知情,風險會隨著時間的增長迅速膨脹,漏洞一旦爆發可能會造成更大的危害,波及更大的人群,可能會造成很多人的投資瞬間化為烏有。接下來我們還將與廠商保持積極的聯絡和溝通,以期幫助其修復漏洞。
智慧合約漏洞,如何應對?
在一些聯盟鏈中,智慧合約的設計是可以在部署之後更新的,當然這種更新需要一定的線下協商流程。要應對區塊鏈智慧合約的安全漏洞問題,未來需要普遍考慮設計相應的智慧合約協商更新機制,降低漏洞修復的成本。
但現在,我們需要面對現實,做出幾乎唯一可行的、切實有效的努力——在智慧合約上線之前,對其進行全面深入的程式碼安全審計,儘可能的消除漏洞,降低安全風險。
據悉,360程式碼衛士團隊利用自身在原始碼靜態分析領域的長期技術積累,迅速將汙點傳播、約束求解等技術移植到針對智慧合約的分析中,可針對區塊鏈智慧合約提供專業的程式碼審計服務,幫助區塊鏈專案儘早發現智慧合約中可能存在的安全隱患。
原文釋出時間為:2018-05-31
本文來自雲棲社群合作伙伴“安全牛”,瞭解相關資訊可以關注“安全牛”。
相關文章
- 什麼是智慧合約?
- 智慧合約是什麼
- 什麼是以太坊?什麼是智慧合約?
- 區塊鏈智慧合約是什麼?區塊鏈
- 智慧合約的沙箱機制是什麼?
- 為什麼智慧合約是'聰明'的?
- 什麼是智慧合約以及如何運作?
- 什麼是U本位合約和幣本位合約?
- 什麼是加密貨幣合約?加密
- 什麼是智慧合約?智慧合約dapp系統借貸理財系統開發案例(原始碼)APP原始碼
- DASP智慧合約Top10漏洞
- 永續合約與傳統合約的差異是什麼?
- EduCoin智慧合約transferFrom任意轉賬漏洞
- 通俗易懂談BEC智慧合約致命漏洞
- 以太坊智慧合約 Hexagon 存在溢位漏洞Go
- 關於智慧合約的去中心化有什麼用?中心化
- 什麼是 Dirty COW 漏洞
- ERC20 智慧合約整數溢位系列漏洞披露
- 什麼是通用漏洞披露 (CVE)?
- 現在正火的秒合約交易系統到底是什麼?
- 什麼是人工智慧領域的過擬合和欠擬合人工智慧
- 什麼是智慧物流?
- 什麼是檔案包含漏洞?會造成什麼危害?
- (現貨合約量化機器人)什麼是比特幣挖礦_比特幣挖礦機是什麼原理?機器人比特幣
- 智慧合約從入門到精通:智慧合約的前世今生
- 什麼是漏洞掃描?漏洞掃描功能有哪些?
- 零日漏洞是什麼?如何防範零日漏洞?
- 富士通推出新技術檢測以太坊智慧合約漏洞
- 這些智慧合約漏洞,可能會影響你的賬戶安全!
- 編寫智慧合約
- iOS 部署智慧合約iOS
- 什麼是“約定大於配置”
- 講解什麼是合約交易所繫統+合約交易所開發的核心優勢有哪些?
- 什麼是RCE漏洞?會造成哪些危害?
- 在合約交易所可以交易什麼?
- 什麼是決策智慧?
- 什麼是人工智慧?人工智慧
- 什麼是智慧指標?為什麼要用智慧指標?指標