呼籲社區, 加強自身監管, 對現有智能合約做好審計工作

2018年8月17日 08:11

 

引言:1993年,計算機科學家和密碼學家Nick Szabo最早提出了「智能合約」的概念,然而由於缺乏可編程合約的數字系統與技術,理論遲遲未能成為現實。直到區塊鏈技術出現後,它的去中心化、不可篡改、透明可追蹤等特點天然契合了智能合約,大幅減低了信任成本,使得人們對「智能合約」帶有了不少「烏托邦式」的期待。然而,「智能合約」並非像人們想象的那樣完美無缺。程序漏洞的出現、丟幣事件的頻發讓人們對這一年輕技術安全性的提高有了迫切的需求。由於智能合約的不可逆性,多家公司提出了多種代碼審計方案,並呼籲社區一同參與,加強自身監管,共同提高智能合約的可靠性與安全性。

程序漏洞與黑客事件的頻發

2018年7月10日,加密貨幣錢包和去中心化交易所Bancor遭到黑客襲擊,用來更新智能合約的一個錢包被入侵,價值1250萬美元的以太幣、100萬美元的NPXS和1000萬美元的BNT失竊。在此之前,2017年7月20日,以太坊錢包Parity爆出嚴重漏洞,導致15萬個以太幣(價值3200萬美元)被盜。同年11月,Parity再次遭遇重創,一名經驗不足的程序員意外凍結了價值1.53億美元的以太幣和其他代幣。當然,業內最臭名昭著的智能合約黑客事件當屬2016年的The DAO事件。攻擊者通過TheDAO智能合約中splitDAO函數的漏洞,從TheDAO項目的資產池中分離出了300多萬以太幣,這次攻擊對以太網造成了難以彌補的巨大損失。

Hosho 網路安全公司的聯合創始人Hartej Sawhney在接受《比特幣》雜志採訪時表示:「每一個智能合約背後都是大量的資產,這是黑客入侵的主要動機。諸如Bancor之類的智能合約其可怕之處在於,在編寫合約時,他們給予了項目創始人中心化的權力,這讓黑客們有了可乘之機。」Bancor具有隨意沒收和凍結代幣的權力,這一點不僅在業內招致了廣泛詬病,甚至可能成為黑客進入網路的切口。Sawhney在採訪中指出,「大多數智能合約都被設計為不可逆轉的」,而Bancor的合約則是完全可控,這次黑客事件,很可能就是利用了開發人員用作管理項目而設定的後門。

撇開Bancor不談,網路安全社區Hacken的首席執行官Dmytro Budorin也贊同Sawhney的觀點,即這一行業所儲存的大量寶貴資產是黑客染指其中的強大動力,而新興技術的不完備讓這些不速之客更加有機可乘。

「在區塊鏈上編寫代碼還是一項新技術,」Budorin在接受《比特幣》雜志採訪時說道,「有關如何正確構建智能合約,我們仍然缺乏一個安全標準和最佳的實踐方式。此外,在編寫智能合約時,程序員考慮最多的是功能,而不是安全。因為程序員的主要任務是讓代碼正常工作,而安全通常是事後考慮的問題。」

Sagewise的首席執行官兼聯合創始人Amy Wan在接受《比特幣》雜志的專訪時也強調了這一點。開發人員很少能夠一次性寫出完美的代碼,即使如此,也會有無法預期的意外發生。代碼是靜態的,而人類卻具有非凡的創造力,Wan認為,「與其說技術只是技術本身,不如說技術是與人類之間的互動」,這意味著「總有人會尋找機會測試技術的缺點,甚至吸引黑客攻擊」,簡而言之,「智能合約的死板性不足以適應現實世界的流動性」。

審計解決方案

由於智能合約的目的是用來存儲、移動和分配資產,一個小小的代碼錯誤就可能導致讓成千上萬的投資者血本無歸。而且由於整個編程具有的不可逆性,一旦智能合約發布人們就會對此無能為力,因此修複的關鍵就落腳到了開發的初始階段與執行階段。目前,有多家網路安全公司開始參與到智能合約的代碼審計領域中來,從不同角度提出了多種提升安全的審計方案。

  1. 網路安全社區Hacken的CEO Budorin表示:「確保一個智能合約的最好方法是設定一名安全工程師,進行兩次不同的獨立審計,並在部署前的一段時間內啓動一個發現漏洞賞金計劃。」 目前,在HackenProof的平臺已經看到了該公司的「白帽社區審計」,他們對VeChainThor、Neverdie、Legolas Exchange、NapoleonX、Shopin和Enecuum等行業項目進行了測試。Budorin和他的團隊發現,漏洞賞金為項目在上線前提供了可靠的第三級緩沖區。「漏洞賞金平臺」吸引了一群第三方網路安全專家(同時有幾十或上百人)來測試客戶端的軟體,這些測試可以持續幾個月甚至幾年。
  1. 網路安全公司Hosho的審計核心則更多側重於一些手工任務,發現自動化工具可能遺漏的代碼錯誤,比如智能合約的令牌算法與白皮書的業務糢型之間的差異。Hosho的CEO Sawhney 認為,一些公司認為他們擁有世界上最好的工程師,所以他們認為自己不需要審計,即使他們正在接受審計,所僱傭的審計公司也並不專業。而Hosho的團隊則包括「來自infosec、defcon社區的專業人士,這些人都是做QA(質量保證)工作多年的白帽。」 Hosho的審計結果會最終會以一個帶有加密印章的GPG文件形式呈現,就像一個證書,代表真實性和最終(或者至少最近)版本的審計結果,證明它自質檢後沒有被篡改。
  2. Sagewise則提供了一個不同的路徑。該公司首席執行官Wan指出,區塊鏈公司應當專註於開發,「僱傭一家聲譽良好的安全審計公司,將一套包羅萬象的安全網路納入智能合約,比如Sagewise的SDK。」Sagewise SDK集成了智能合約來監控惡意輸入。它使開發人員有機會凍結有問題的智能合約並相應地調整它。「用戶會收到他們在智能合約上執行任務的通知,如果這些任務是無意的,他們有能力凍結智能合約。然後,他們就可以花時間去修正任何需要修正的問題,無論是修正一個編程錯誤來修改智能合約,還是解決爭端。」
  3. 總部位於西雅圖的創業公司Solidified正在開發一個去中心化的智能合約審計平臺,旨在使流程更加簡易,並提供一個透明的、負責任的智能合約安全度量標準。該公司最近與Innogy New Ventures進行了一輪種子融資,以開發安全領域的新項目——Bug預測市場,據說,該平臺已經在其社區聚集了200多名審計專家。在這個市場中,安全專家可以對合約在某個日期之前是否會發現嚴重的漏洞下註。該公司的白皮書稱,這些用戶「通過以可靠的令牌形式押註收入和聲譽,對代碼的安全負責」。審計員通過投標接受審計工作,評估失誤的人將把股份轉讓給那些在bug獎勵期間糾正他們錯誤的人。由此,智能合約所涉及的風險將被準確地糢式化和資本化,而不是外部化,這一過程將為智能合約審計提高透明度,並帶來問責制。Solidified將於2019年第一季度發布一個測試版的Bug預測市場,同時對安全-信心指標進行測試,2019年第三季度,在主網上推出Bug預測市場,為去中心化審計和Bug獎勵平臺的開發拉開大幕。據了解,該平臺的代幣銷售已經開始,並將持續到2018年10月23日。

社區參與監管

除專業的審計工作之外,社區也可以提醒開發人員和團隊謹慎行事。Wan認為,就像游戲中的裁判一樣,使用這些合約服務的人們需要採取行動,要求開放人員進行改進。否則,此類安全漏洞將繼續發生。Sawhney同樣認為,「安全保障方面的壓力(還不足夠),安全方面的監管力度也不夠」。

為了把自我監管納入行業待辦事項清單的前列,Hosho將參加9月份在柏林舉行的網路安全公司峰會。Sawhney希望ETHBerlin能產生一個自我管理組織(SRO),「為我們的工作提供一份證書,就像四大財務審計一樣」。

此外,Budorin發現,社區在記錄漏洞方面做得很好,「區塊鏈社區需要收集、存儲和分析在智能合約中發現的所有已知漏洞,並定期舉行安全會議,以討論區塊鏈的安全問題,制定安全指南,以便新一代區塊鏈程序員對這些問題有更充分的準備。」作為對該此會議的回應,今年10月,Hosho將主持HoshoCon會議,這是第一批關註區塊鏈網路安全的會議之一。從2018年10月9日到11日,社區成員將聚集在內華達的拉斯維加斯,共同聆聽、學習和討論行業在加強自身安全方面將如何做得更好。