采用之前需要權(quán)衡的八個區(qū)塊鏈安全風險
譯文【51CTO.com快譯】雖然區(qū)塊鏈和智能合約都有其獨特的漏洞,但是在應(yīng)對糟糕的代碼測試、加密密鑰和網(wǎng)絡(luò)攻擊方面也會讓企業(yè)受益。
為什么企業(yè)區(qū)塊鏈現(xiàn)在這么火爆?主要歸結(jié)為兩個原因:共享現(xiàn)有的多方數(shù)據(jù)以及大量數(shù)據(jù)的處理,而每個人都希望讓其他人使用自己的系統(tǒng)和數(shù)據(jù)格式。
企業(yè)區(qū)塊鏈以兩種方式解決這些問題:首先,區(qū)塊鏈和智能合約迫使每個人就數(shù)據(jù)格式和處理規(guī)則達成一致,更重要的是,這些規(guī)則是由系統(tǒng)強制執(zhí)行的,并且沒有可用的人工覆蓋,除非每個人都同意進行更改。其次,因為區(qū)塊鏈和智能合約本質(zhì)上是每個人的“綠地部署”,沒有人會擁有試圖強加給其他人的現(xiàn)有解決方案。
但是新技術(shù)帶來了新的風險,并且通常是人們不太了解的風險。目前,企業(yè)區(qū)塊鏈和智能合約部署存在三個新風險:老舊軟件、軟件缺陷、操作缺陷。
就像任何技術(shù)一樣,區(qū)塊鏈和智能合約也有一些創(chuàng)造性的方法帶來安全風險。
以下是企業(yè)在采用之前需要權(quán)衡的8個區(qū)塊鏈安全風險:
1.老舊軟件
雖然企業(yè)區(qū)塊鏈軟件很少過時,但就其變化速度和改進而言,任何使用超過一兩年的軟件基本上都是“石器時代”的工具。
R3的開源Corda區(qū)塊鏈平臺就是一個很好的例子:從2016年5月發(fā)布的首個版本到2021年5月(4.8版),Corda已經(jīng)發(fā)布了182個版本,大約每10天發(fā)布一個,其中許多版本都進行了重要修改,而添加主要功能和重構(gòu)或代碼刪除是司空見慣的現(xiàn)象。在大多數(shù)企業(yè)項目中,通常選擇安裝軟件最新版本卻從不升級,因為擔心升級可能會影響業(yè)務(wù)正常運行。
經(jīng)驗教訓:確保軟件是最新的版本并且可以保持更新。
2.安全漏洞覆蓋率不足
企業(yè)區(qū)塊鏈軟件在安全漏洞數(shù)據(jù)庫中覆蓋率不足。這意味著大多數(shù)企業(yè)并沒有進行安全更新,除非一直跟蹤供應(yīng)商軟件發(fā)布活動。而安全漏洞覆蓋率不足是一個巨大的問題,尤其是沒有進入通用漏洞及風險庫(CVE)數(shù)據(jù)庫和美國國家通用漏洞數(shù)據(jù)庫(NVD)的覆蓋范圍,因為如果一些漏洞沒有得到官方認可,那么許多企業(yè)可能就會認為不存在這些漏洞。雖然不確定區(qū)塊鏈的CVE和NVD覆蓋率如此之差的主要原因,但其中一個原因是缺乏特定區(qū)塊鏈漏洞的官方文檔。
經(jīng)驗教訓:確保企業(yè)具有資源來監(jiān)控正在使用的區(qū)塊鏈和智能合約軟件中的安全漏洞和更新。
3.缺乏安全漏洞知識
傳統(tǒng)軟件已經(jīng)很好地理解漏洞類型,其中許多漏洞都記錄在通用弱點枚舉(CWE)字典中——例如緩沖區(qū)溢出和整數(shù)溢出之間的差異就是網(wǎng)絡(luò)攻擊者利用的常見弱點。通用弱點枚舉(CWE)是一種關(guān)鍵資源。許多代碼掃描工具都將其作為檢測漏洞類型的基礎(chǔ)。
但是,截至2021年5月,通用弱點枚舉(CWE)并未具體涵蓋區(qū)塊鏈或智能合約。而好消息是已經(jīng)采取措施來記錄這些問題,例如SWC注冊中心(以太坊和其他公司使用的堅固智能合同語言上有30多個條目)以及云安全聯(lián)盟的區(qū)塊鏈DLT攻擊和弱點枚舉數(shù)據(jù)庫,擁有200多個條目,涵蓋了各種智能合同語言、區(qū)塊鏈技術(shù)和通用概念。
經(jīng)驗教訓:詢問企業(yè)的代碼審計員或工具將尋找哪些漏洞,他們應(yīng)該能夠清楚地表達和解釋。
4.代碼掃描和安全測試不足
當前的區(qū)塊鏈和智能合約代碼掃描工具并不是很成熟,其原因很簡單,因為技術(shù)太新。然而雪上加霜的是,許多智能合約是在沒有安全審計的情況下部署的。這種情況開始發(fā)生變化,但已經(jīng)發(fā)生了許多安全事件,讓人們認識到在部署之前審計代碼和生成新密鑰的重要性。
例如,Paid Network公司是一家金融交易區(qū)塊鏈去中心化應(yīng)用程序(dApps)提供商,該公司提供了一份支付給開發(fā)人員創(chuàng)建的智能合約,但它從未刪除開發(fā)人員的密鑰,因此遭到破壞。當開發(fā)人員的密鑰后來在Git提交(將程序代碼保存到存儲庫的過程)對外公開時遭到網(wǎng)絡(luò)攻擊。
該合同已經(jīng)通過安全審計。但審計員無法審計生產(chǎn)密鑰,這會使其泄露,因此他們會認為付費網(wǎng)絡(luò)會采用安全生成的密鑰替換它,但事實并非如此。
經(jīng)驗教訓:確保掃描和審核所有智能合約代碼,安全生成并正確添加所有加密密鑰。
5.操作風險
假設(shè)企業(yè)有一個安全的區(qū)塊鏈和沒有任何安全漏洞的格式良好的智能合約,則仍然必須在某些東西上運行區(qū)塊鏈和智能合約代碼,最好是連接良好且可靠的。如果企業(yè)選擇采用云計算服務(wù)或第三方托管,則需要確保它們也是安全的。
尋求超越SOC2合規(guī)性聲明的真實度和透明度。一種資源是云安全聯(lián)盟的安全、信任、保證和風險(STAR)注冊項目,它允許用戶直接比較提供商給出的答案。
經(jīng)驗教訓:提出問題,而注重安全的供應(yīng)商和服務(wù)提供商將會回答這些問題而不是回避。
6.加密密鑰和硬件安全模塊(HSM)
每個區(qū)塊鏈服務(wù)和客戶端的核心都是加密密鑰。即使在使用專用系統(tǒng)時,將重要的加密密鑰保存在計算機中的措施也不再足夠安全。
企業(yè)需要將加密密鑰保存在硬件安全模塊(HSM)。硬件安全模塊(HSM)基本上可以做到計算機無法做到的兩件事:首先,可以設(shè)置密鑰,使其無法從硬件安全模塊(HSM)導出或復制。其次,用戶可以通過硬件安全模塊(HSM)更可靠地記錄密鑰的使用情況。這很重要,因為如果企業(yè)的網(wǎng)絡(luò)遭到入侵,將能夠確定網(wǎng)絡(luò)攻擊者使用其密鑰的目的,而不是推測他們可能進行網(wǎng)絡(luò)攻擊。
經(jīng)驗教訓:敏感操作的加密材料必須存儲在硬件安全模塊(HSM)中并進行備份。
7.網(wǎng)絡(luò)釣魚、SIM卡交換和其他攻擊
企業(yè)區(qū)塊鏈通常不會像使用釣魚或SIM交換這樣的技術(shù)受到廣泛的網(wǎng)絡(luò)攻擊,而這些技術(shù)通常用于攻擊采用加密貨幣的用戶。然而,勒索軟件和相關(guān)攻擊越來越多地轉(zhuǎn)向網(wǎng)絡(luò)釣魚和魚叉式網(wǎng)絡(luò)釣魚活動,這是因為其攻擊十分有效。而應(yīng)對這些攻擊的措施通常是使用強大的多因素認證,理想的情況是基于硬件令牌,這樣可以防止用戶向網(wǎng)絡(luò)攻擊者提供信息,即使他們被愚弄。
經(jīng)驗教訓:人類會犯錯誤,企業(yè)需要創(chuàng)建業(yè)務(wù)和技術(shù)流程來捕捉錯誤和惡意行為。
8.51%攻擊
令人欣慰的是,在大多數(shù)企業(yè)區(qū)塊鏈部署中,使用的是共識機制而不是工作量證明(PoW)機制。更常見的是,使用權(quán)益證明或更傳統(tǒng)的投票機制,例如多數(shù)票。
51%攻擊是指單個實體接管大部分區(qū)塊鏈哈希率或計算資源以試圖破壞網(wǎng)絡(luò),對于基于工作量證明(PoW)的系統(tǒng)最有效。而即使采用簡單的共識機制(如多數(shù)票),網(wǎng)絡(luò)攻擊者也需要劫持51%的企業(yè)——這比簡單地組合計算資源要困難得多,雖然這些計算資源通??梢宰庥?。
經(jīng)驗教訓:確保了解正在使用的區(qū)塊鏈共識機制以及網(wǎng)絡(luò)攻擊者在什么情況下能夠破壞它們。例如,構(gòu)建一個需要超過一半的企業(yè)被破壞的系統(tǒng)是一種可以接受的風險。
結(jié)論
關(guān)于區(qū)塊鏈安全方面有好消息也有壞消息。壞消息是區(qū)塊鏈和智能合約軟件幾乎比其他任何東西都更復雜、更難以保護。好消息是他們試圖解決的問題確實很難。
企業(yè)希望構(gòu)建信息處理系統(tǒng),并知道網(wǎng)絡(luò)攻擊者可能正在進行攻擊,但不會讓他們破壞系統(tǒng)。而解決這個問題將開辟各種新的市場和機會。
基于比特幣自從2009年問世以來的進展,并且正在穩(wěn)步實現(xiàn)這一目標,一些安全系統(tǒng)已經(jīng)投入生產(chǎn),能夠抵御高水平的網(wǎng)絡(luò)攻擊和濫用。但和任何新技術(shù)一樣,它仍然需要大量的專業(yè)知識來安全地構(gòu)建和部署區(qū)塊鏈,并更加安全地進行操作。
原文標題:8 blockchain security risks to weigh before adoption,作者:Kurt Seifried
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】