基本上,區塊鏈的資訊安全防護,最主要需考量兩個重點,一為區塊鏈系統本身的安全防護機制,另一個重點則是架構於區塊鏈系統上的應用服務安全防護機制。
隨著區塊鏈的應用逐漸普及,金融交易應用服務上的龐大利益,吸引愈來愈多的駭客開始研究區塊鏈應用上的資安漏洞問題。例如,近期發生於南韓最大的比特幣交易所Bithumb遭竊,經證實,在6月19日晚上到6月20日清晨之間,價值350億韓元(3,200萬美元)的虛擬貨幣遭到竊取。此外,今年1月26日日本加密貨幣交易所Coincheck系統遭駭客入侵,竊取價值約五百八十億日圓(約台幣一百五十六億元)的虛擬貨幣。從以上案例,一再顯示區塊鏈的資訊安全防護將成為未來各種服務導入時的考量重點。
區塊鏈技術,簡單而言,即將資料放到一條由多個節點共同維護的資料鏈上,每個節點中都擁有相同資料,並利用共識決演算法確保資料不被竄改、偽造。
所有的區塊鏈應用都係建立於底層程式的加密和共識決演算法的基礎之上,因此,區塊鏈系統底層本身的安全性需被放大檢視;而安全性可分為兩個面向探討,一係資料的安全性,二為技術層面的安全性。
資料的安全性
「資料安全」此詞彙具兩個截然不同的意義:第一種安全指的係資料本身不被竄改、滅失及遺漏;第二種安全則指資料不外洩。上述兩種「資料安全」意義在本質上是互相矛盾的,若要避免資料不被竄改、滅失及遺漏,最簡單的做法即大量備份;而若要避免資料外洩,則應該盡量減少資料持有的人數。區塊鏈技術去中心化的理念其實只解決了第一種安全性的需求,即資料不可竄改。但同時也增加了資料外洩的風險,因此仍然必須依賴傳統的加密方法以維持資料的機密性。
技術層面的安全性
塊鏈系統一旦上線後,即很難再更動程式,因此,第一個面對的問題將會是能否在不停止系統運作的情形下,修補智能合約內所存在的漏洞。第二個疑慮是其擴充性,隨著資料存取需求增加,擴充儲存需求是不可避免的,如何在區塊鏈上設計一套安全的擴充方法是目前最大的挑戰。
屢次發生的虛擬貨幣遭到竊取的資安問題,最主要仍舊發生於應用服務商本身的防護機制問題。由於多數的虛擬貨幣仍採暱名交易方式,只要能竊取交易所代為保管的電子錢包,則可利用來進行洗錢及地下經濟交易,因而成為駭客攻擊利用的最大誘因。然而,如何有效保管客戶電子錢包中的關鍵金鑰則成為應用層防護上的最大挑戰呢?
應用層面防護
在所有應用層上的防護,基本面是回歸到全面性的資訊安全防護網中,没有一個簡單的單一防護機制就可達成百分之百的安全,筆者整理以下業者經常疏失而導致不斷遭駭客入侵得逞的應有三點防護觀念:
(一) 愈重要的核心系統必需建立愈嚴謹的白名單執行觀念
很多未知的系統漏洞可能終將遭駭客所探勘,但只要建立嚴謹的白名單檢查機制,則任何程式碼遭植入或新增的駭客程式將無法在系統中執行,並可立即偵測警示並通知管理者,而好的白名單不僅是靜態,還包含程式行為、網路連線及各種存取認證之動態白名單。
(二) 應用程式層往往無法有效保留應有之稽核日誌
駭客攻擊多是不斷探勘攻擊、突破重重的防護後才成功得逞,因此中間的過程最常發生的便是受害者均無感於正遭受到嚴重的攻擊。以往調查的許多案例中,業者自行開發之應用程式層均無保留適當日誌,此部份若能事先埋下應有之日誌及警示,則可第一時間阻擋掉駭客的破口。
(三)內部管理瑕疵,任何的資安防禦,最難的地方往往是人的防禦,愈重要核心的地方則應避免單人作業可能造成的損失。
結論
區塊鏈技術是一個全新的領域,和傳統資訊安全防護機制相比有著全然不同特性,在實務應用上帶來優勢的同時也產生了全新的安全性風險,這是所有資安團隊目前面臨到的挑戰,除了依靠過往累積的經驗,還必須適時跳脫過往的思維,方能建立一套適用於區塊鏈的安全架構。
本文作者:目前二位均任職於區塊科技資安顧問一職