新一代安全創企該如何保護區塊鏈程式碼?

買賣虛擬貨幣

9 月初,由CameronTyler Winklevoss創立的加密貨幣公司Gemini Trust宣佈,它已經獲得紐約州監管機構的批准,推出一套與美元價值相關的數字通證。

這些名為Gemini Dollars的通證可以在以太坊區塊鏈上,透過名為智慧合約的專門程式從一個人傳送給另一個人。為了證實其通證實際上是由傳統的美元所支援的,Gemini釋出了一份獨立會計師事務所的報告。該公司還發布了一份獨立的審計報告,重點沒有關注在財務,而是基礎軟體程式碼上,該程式碼來自紐約一家名為Trail of Bits的安全公司。

評估的目的是發現漏洞,從而讓攻擊者無法進行只針對發行者的行動,”Trail of Bits執行長Dan GuidoGemini釋出的一封信中寫道,並解釋稱,測試中發現的所有問題都已經得到解決。

Trail of Bits是為智慧合約提供技術安全審計的幾家公司之一,這些智慧合約處理從為區塊鏈初創企業籌集資金的ICO到建立在區塊鏈網路之上的複雜數字市場的所有事務。智慧合約是由支援區塊鏈的計算機執行的專門程式,通常在滿足某些條件時,有權接收和分發加密貨幣或其他數字通證。專家們表示,編寫它們需要新的思維方式,這可能會讓沒有經驗的程式設計師出錯。

悉尼區塊鏈軟體和網路安全公司Sigma Prime的董事Mehdi Zerouali說:實際上,編寫智慧合約是一個全新的、不同的範例。

有些錯誤非常可怕

所有的軟體都可能有漏洞,但是由於智慧合約通常是確定誰擁有價值加密資產的唯一方法,因此他們程式碼中的錯誤可能會導致特別嚴重的後果。當然,如果發現了它們,駭客們會急切地利用它們竊取數字資產。根據ICO跟蹤公司CoinSchedule的資料,僅在今年,各大公司就透過ICO籌集了預計超過 200 億美元的資金。

有些錯誤是非常可怕的,”Guido表示。如果你產生了它們,它們不僅非常嚴重,而且對於檢視你的智慧合約程式碼的人來說也非常明顯。

最著名的錯誤是在一個去中心化、以以太坊為基礎的投資基金DAO的程式碼中,DAO指的是分散式自治組織。 2016 年,駭客利用其程式碼中的漏洞竊取了大約 5000 萬美元的加密貨幣,儘管後來以太坊自己進行了調整,返還了被盜的資金。

此後,安全專家一直致力於尋找可能導致智慧合約失靈的因素,並開發工具來幫助自動檢查程式碼中的錯誤。他們還對新的智慧合約進行了審計,並經常公開發布,這有助於讓投資者和終端使用者放心,他們不會因為程式設計故障而損失資金。

Trail of Bits已經發布了許多開源工具來分析和測試用Solidity編寫的程式,Solidity是一種常用於編寫智慧合約的程式語言。Guido說,開發Solidity程式的標準工具沒有那些更成熟的語言工具複雜,所以在專門軟體部署之前,它們會存在漏洞。

它缺乏其他現代語言所具備的許多安全保障,他說。

當智慧合約成為愚蠢錯誤的犧牲品時

智慧合約可能會成為一些同樣型別錯誤的犧牲品,這些錯誤,比如基本的算術錯誤或者程式設計師意外地為多個值重用同一個變數名,可能會影響其他軟體。但是它們也可能受到特殊錯誤類別的影響:對區塊鏈程式碼可用計算能力的限制可以被用來觸發拒絕服務攻擊,這使得智慧合約中包含的資料超出了它們的處理能力。某些數值大小的上限會導致錯誤,過大的數字會歸零,類似臭名昭著的Y2K錯誤。這可能會導致大賬戶被減少到只有幾便士,甚至負結餘的賬戶會被視為擁有鉅額的正結餘。

一些不安全的程式碼可以用自動分析工具檢測到,無需太多人工干預:瑞士創企ChainSecurity的聯合創始人兼首席科學家Petar Tsankov說,如果合約允許任何使用者提取資金,這可能是一個錯誤。該創企來自於瑞士知名的科技大學蘇黎世聯邦理工大學。ChainSecurity已經開發了一種叫做Securify的工具,它可以快速發現並標記Solidify程式碼中的潛在問題。

但是,其他的漏洞只有在合約實際工作的背景下才能被發現,這意味著安全審計的第一階段通常包括與開發人員坐下來,瞭解他們的合約希望實現什麼。

通常,關於合約應該做什麼有非常非正式的檔案,”Tsankov說。

然後,通常會有人工分析和自動測試相結合的方式來確定合約是否有可能違反其規範。Trail of Bits開發了一個名為Echidna的工具,它可以透過各種輸入快速執行智慧合約,尋找讓程式碼產生問題的方法。當發現錯誤時,安全測試人員會為開發人員標記它們,並幫助確保它們在程式碼部署到實時的公共區塊鏈之前得到解決。

安全公司通常說,隨著他們瞭解常見錯誤,他們的客戶越來越擅長編寫安全智慧合約程式碼。Zerouali說,隨著技術的成熟和程式設計師分享有效的實踐,這種模式在包括網路本身在內的科技行業的其他角落已經出現過。

但與此同時,一度只需要對ICO背後的合約進行審計的加密初創公司,現在正利用他們的ICO收入來打造更復雜的產品。Tsankov說,這包括更復雜的智慧合約,需要對其自身的缺陷進行審計。

現在,一切又迴歸原位,他說。複雜程度也正在迅速上升。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;