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