區(qū)塊鏈推廣工作中遇到很多人誤認(rèn)為區(qū)塊鏈?zhǔn)怯脕?lái)解決安全問(wèn)題的芝囤;還有些安全測(cè)試機(jī)構(gòu)掃描一些區(qū)塊鏈項(xiàng)目后發(fā)布的區(qū)塊鏈安全問(wèn)題報(bào)告袒哥,但報(bào)告內(nèi)容只是集中在一些代碼實(shí)現(xiàn)缺陷和傳統(tǒng)IT系統(tǒng)攻防問(wèn)題上男窟、雖然不能說(shuō)這種評(píng)測(cè)結(jié)果有問(wèn)題但又感覺(jué)哪里不太對(duì)。區(qū)塊鏈的安全模型和傳統(tǒng)信息系統(tǒng)的有什么區(qū)別霉祸?又應(yīng)該怎樣來(lái)分類處理呢轻姿?本文想探討一下這個(gè)問(wèn)題犁珠。
首先區(qū)塊鏈不是專門用來(lái)給某個(gè)信息系統(tǒng)做安全保護(hù)的逻炊,也做不到給某個(gè)信息系統(tǒng)提供全面的安全保護(hù)。區(qū)塊鏈只是以它的不可篡改的特質(zhì)和使用到的一些密碼學(xué)的方法犁享,為某些信息提供了一定的防篡改保護(hù)而已余素。
針對(duì)區(qū)塊鏈安全模型,《中國(guó)區(qū)塊鏈應(yīng)用發(fā)展報(bào)告2019》中《區(qū)塊鏈技術(shù)與應(yīng)用安全分析報(bào)告》中將區(qū)塊鏈安全模型自下而上分為七層:基礎(chǔ)設(shè)施層饼疙、密碼算法層溺森、節(jié)點(diǎn)通信層、共識(shí)協(xié)議層窑眯、運(yùn)行平臺(tái)層屏积、智能合約層和系統(tǒng)應(yīng)用層。其中基礎(chǔ)設(shè)施層針對(duì)節(jié)點(diǎn)服務(wù)器的木馬植入磅甩,竊聽(tīng)網(wǎng)絡(luò)通信等傳統(tǒng)信息系統(tǒng)的安全漏洞炊林;系統(tǒng)應(yīng)用層中針對(duì)交易平臺(tái)的賬戶撞庫(kù)窮舉、web注入卷要、釣魚網(wǎng)頁(yè)渣聚,針對(duì)密鑰錢包的私鑰竊取、硬破解僧叉、APP內(nèi)存篡改奕枝、中間人攻擊、側(cè)通道攻擊瓶堕、彩虹攻擊等隘道,系統(tǒng)應(yīng)用層的大部分安全問(wèn)題本質(zhì)上都是上層應(yīng)用自身存在的安全管理漏洞導(dǎo)致的,并不涉及底層的區(qū)塊鏈技術(shù)郎笆;和區(qū)塊鏈實(shí)際緊密相關(guān)的實(shí)際是剩下的5層谭梗。剩下的5層,可被分為兩類:智能合約類安全相關(guān)的智能合約層和運(yùn)行平臺(tái)層宛蚓,區(qū)塊鏈基礎(chǔ)設(shè)計(jì)類安全相關(guān)的密碼算法層激捏、節(jié)點(diǎn)通信層和共識(shí)協(xié)議層。
智能合約作為以以太坊為代表的二代區(qū)塊鏈平臺(tái)(BTC只支持非圖靈完備的簡(jiǎn)單腳本)的主要?jiǎng)?chuàng)新拓展之處凄吏,其圖靈完備性在為智能合約帶來(lái)強(qiáng)大功能潛力的同時(shí)远舅,也與生具來(lái)的帶來(lái)巨多的安全問(wèn)題,區(qū)塊鏈相關(guān)的安全問(wèn)題80%以上聚集在智能合約類安全上痕钢。智能合約類安全是指運(yùn)行平臺(tái)(即智能合約運(yùn)行虛擬機(jī))的設(shè)計(jì)實(shí)現(xiàn)中的安全問(wèn)題图柏,和智能合約(尤其是應(yīng)用級(jí)智能合約)的代碼實(shí)現(xiàn)漏洞和合約邏輯設(shè)計(jì)漏洞。安全的智能合約虛擬機(jī)是提供一個(gè)安全隔離沙盒運(yùn)行環(huán)境盖喷。智能合約虛擬機(jī)的主要攻擊方式有逃逸漏洞攻擊、邏輯漏洞攻擊难咕、堆棧溢出漏洞攻擊课梳、資源濫用漏洞攻擊等距辆。
2018年360安全衛(wèi)士發(fā)現(xiàn)了EOS的虛擬機(jī)逃逸漏洞,可能造成所有超級(jí)節(jié)點(diǎn)被竊取控制權(quán)暮刃。每個(gè)節(jié)點(diǎn)上運(yùn)行的只能合約虛擬機(jī)完全相同跨算,存在的漏洞也完全相同,同樣運(yùn)行包含惡意代碼的相同合約時(shí)诸蚕,無(wú)論有多少個(gè)節(jié)點(diǎn)參與,其實(shí)本質(zhì)上和一個(gè)節(jié)點(diǎn)參與沒(méi)有區(qū)別。針對(duì)這類問(wèn)題:(1)目前幾乎所有的區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)采用同質(zhì)化的節(jié)點(diǎn)端,容易造成相同漏洞的泛濫,區(qū)塊鏈網(wǎng)絡(luò)是建立在協(xié)議組之上的瞧毙,未來(lái)可能存在相同協(xié)議下的異質(zhì)節(jié)點(diǎn)瘸爽。(2)目前一般區(qū)塊鏈系統(tǒng)和智能合約虛擬機(jī)是緊密綁定關(guān)系灵汪,智能合約的安全問(wèn)題會(huì)牽連到區(qū)塊鏈系統(tǒng)的運(yùn)行,或許智能合約虛擬機(jī)和區(qū)塊鏈的解綁以及各自運(yùn)行環(huán)境的隔離,以及各節(jié)點(diǎn)智能合約虛擬機(jī)的異質(zhì)化將是一種有效的安全解決方案命锄。
區(qū)塊鏈系統(tǒng)鏈上數(shù)據(jù)不可篡改一部分來(lái)自于去中心化節(jié)點(diǎn)間的相互備份侦讨,去中心化程度的加劇會(huì)導(dǎo)致區(qū)塊鏈整體性能上限的驟降(比如比特幣),去中性化程度的降低雖然會(huì)提升區(qū)塊鏈整體性能的上限拍鲤,但會(huì)削弱數(shù)據(jù)的不可篡改程度擅这,并且區(qū)塊鏈性能上限和去中心化帶來(lái)的不可篡改可信性之間的矛盾是不可調(diào)和的。當(dāng)然去中心化只是達(dá)成區(qū)塊鏈不可篡改可信性的諸多維度之一景鼠,但其代表的卻是目前區(qū)塊鏈系統(tǒng)在架構(gòu)時(shí)以性能提升為目標(biāo)仲翎,反而不惜削弱區(qū)塊鏈的價(jià)值根本點(diǎn):不可篡改可信性、的一種有著誤導(dǎo)性的趨勢(shì)铛漓。我們提出區(qū)塊鏈可信指數(shù)指某個(gè)區(qū)塊鏈系統(tǒng)中承載的數(shù)據(jù)不可篡改可信性的強(qiáng)度溯香,也就是數(shù)據(jù)篡改難度指數(shù)。在不考慮區(qū)塊鏈可信指數(shù)浓恶,只談區(qū)塊鏈性能提升玫坛,很明顯是種耍流氓行為。
我們將區(qū)塊鏈可信指數(shù)模型分為:第〇級(jí)別(即使控制了大部分節(jié)點(diǎn)包晰,乃至全部節(jié)點(diǎn)也無(wú)法實(shí)施數(shù)據(jù)篡改)湿镀,第一級(jí)別(需控制大部分節(jié)點(diǎn)【大于1/3】才可能實(shí)施篡改),第二級(jí)別(需控制少數(shù)節(jié)點(diǎn)【1/3≤且>1】即可實(shí)施篡改),第三級(jí)別(控制任一節(jié)點(diǎn)伐憾,即可實(shí)施篡改)勉痴,第四級(jí)別(無(wú)需控制節(jié)點(diǎn),即可實(shí)施篡改)树肃。備注:(1)不考慮密鑰保存不善導(dǎo)致的盜用等鏈外安全問(wèn)題蒸矛。(2)這里的節(jié)點(diǎn)是指區(qū)塊鏈中的全部節(jié)點(diǎn),像DPOS等使用了代理機(jī)制的系統(tǒng)中,區(qū)分了共識(shí)節(jié)點(diǎn)和非共識(shí)節(jié)點(diǎn)雏掠,上述等級(jí)中的節(jié)點(diǎn)是指共識(shí)節(jié)點(diǎn)和非共識(shí)節(jié)點(diǎn)的相加和廓脆。舉例說(shuō)明:2018年360安全衛(wèi)士發(fā)現(xiàn)了EOS的虛擬機(jī)逃逸漏洞問(wèn)題來(lái)看EOS的可信指數(shù)屬于第三級(jí),即控制任一節(jié)點(diǎn)即可實(shí)施篡改磁玉。
目前很多使用了代理共識(shí)(類DPOS和BFT)共識(shí)的區(qū)塊鏈系統(tǒng)(最高到可信指數(shù)第二級(jí)別)號(hào)稱可達(dá)到每秒十萬(wàn)TPS以上,并以此來(lái)證明其系統(tǒng)的技術(shù)超越BTC網(wǎng)絡(luò)(最高到可信指數(shù)第一級(jí)別)驾讲,但實(shí)際這樣的比較是無(wú)意義的蚊伞,因?yàn)閮烧咛幱诓煌目尚胖笖?shù)級(jí)別中,本身不具有可比性吮铭。
另外需要指出的是去中心化程度只是影響區(qū)塊鏈安全指數(shù)評(píng)級(jí)的一項(xiàng)因素时迫,其他向區(qū)塊鏈技術(shù)架構(gòu)、共識(shí)機(jī)制選擇谓晌、密碼學(xué)算法使用甚至區(qū)塊鏈的部署方式等都屬于影響區(qū)塊鏈安全指數(shù)評(píng)級(jí)的一項(xiàng)因素掠拳。并不是不存在在去中心化程度低,甚至中心化的區(qū)塊鏈系統(tǒng)獲得高的安全指數(shù)評(píng)級(jí)纸肉。