中國(guó)信息通信研究院|付凱倪平曹元
近年來(lái),區(qū)塊鏈技術(shù)逐漸成為熱門話題,其應(yīng)用前景受到各國(guó)政府、科研機(jī)構(gòu)和企業(yè)公司的高度重視與廣泛關(guān)注。隨著技術(shù)的發(fā)展,區(qū)塊鏈應(yīng)用與項(xiàng)目層出不窮,但其安全問(wèn)題不容忽視。近年來(lái),區(qū)塊鏈安全事件日益增多,引發(fā)的后果較為嚴(yán)重,造成的經(jīng)濟(jì)損失數(shù)以億計(jì)。
狹義上講,區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊順序相連組成鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證不可篡改和不可偽造的分布式賬本。廣義上講,區(qū)塊鏈技術(shù)是利用塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)驗(yàn)證與存儲(chǔ)數(shù)據(jù),利用分布式節(jié)點(diǎn)共識(shí)算法生成和更新數(shù)據(jù),利用密碼學(xué)方式保證數(shù)據(jù)傳輸和訪問(wèn)的安全,利用自動(dòng)化腳本代碼組成的智能合約來(lái)編程和操作數(shù)據(jù)的一種全新分布式基礎(chǔ)架構(gòu)與計(jì)算范式。
區(qū)塊鏈主要分為公有鏈、聯(lián)盟鏈與私有鏈。公有鏈對(duì)外公開(kāi),用戶無(wú)需授權(quán)即可訪問(wèn)區(qū)塊鏈信息,節(jié)點(diǎn)可自由出入網(wǎng)絡(luò)。聯(lián)盟鏈僅限于聯(lián)盟成員參與,區(qū)塊鏈上的讀寫權(quán)限、參與記賬權(quán)限按照聯(lián)盟規(guī)則制定,共識(shí)過(guò)程由預(yù)先選好的節(jié)點(diǎn)控制。私有鏈則僅在私有組織使用,區(qū)塊鏈上的讀寫權(quán)限、參與記賬權(quán)限按私有組織規(guī)則制定。
此外,美國(guó)區(qū)塊鏈科學(xué)家梅蘭妮·斯萬(wàn)按照應(yīng)用范圍和發(fā)展階段將區(qū)塊鏈分為3個(gè)層次,分別為區(qū)塊鏈1.0、2.0、3.0。
區(qū)塊鏈1.0—數(shù)字貨幣:區(qū)塊鏈1.0解決貨幣和支付去中心化問(wèn)題,典型代表是比特幣。
區(qū)塊鏈2.0—智能合約:區(qū)塊鏈2.0是區(qū)塊鏈1.0的發(fā)展,支撐智能合約應(yīng)用,解決市場(chǎng)去中心化問(wèn)題,將區(qū)塊鏈拓展到股票、債券、期貨等金融領(lǐng)域,典型代表是以太坊平臺(tái)。
區(qū)塊鏈3.0—區(qū)塊鏈應(yīng)用延伸:區(qū)塊鏈3.0涵蓋了智能化物聯(lián)網(wǎng)未來(lái)的各種應(yīng)用場(chǎng)景,支持廣義資產(chǎn)、廣義交換,支持行業(yè)應(yīng)用,由此構(gòu)建一個(gè)大規(guī)模協(xié)作社會(huì),其典型代表是EOS項(xiàng)目。但目前業(yè)界還沒(méi)有一個(gè)成熟的區(qū)塊鏈3.0平臺(tái)。
隨著技術(shù)的發(fā)展,也有公司率先探索區(qū)塊鏈4.0的概念。
區(qū)塊鏈4.0—完善生態(tài)體系:區(qū)塊鏈4.0將區(qū)塊鏈作為某個(gè)行業(yè)的基礎(chǔ)設(shè)施,形成基于區(qū)塊鏈的完善生態(tài)體系,從而構(gòu)建全球價(jià)值互聯(lián)網(wǎng)。但區(qū)塊鏈4.0尚未在業(yè)界達(dá)成一致共識(shí)。
目前區(qū)塊鏈技術(shù)本身仍存在一些安全風(fēng)險(xiǎn),應(yīng)用過(guò)程中可能會(huì)引發(fā)一定的安全問(wèn)題。近年來(lái),區(qū)塊鏈安全事件頻發(fā)(如圖1所示),造成重大經(jīng)濟(jì)損失。據(jù)統(tǒng)計(jì),自2011年到2018年10月,全球范圍內(nèi)因區(qū)塊鏈安全事件造成的損失近36億美元(如圖2所示)??梢?jiàn),區(qū)塊鏈安全問(wèn)題不容忽視。
基于業(yè)界已有研究報(bào)告,本文將區(qū)塊鏈面臨的風(fēng)險(xiǎn)與挑戰(zhàn)分為六大方面:基礎(chǔ)設(shè)施安全、密碼算法安全、協(xié)議安全、實(shí)現(xiàn)安全、使用安全和系統(tǒng)安全。
基礎(chǔ)設(shè)施安全:基礎(chǔ)設(shè)施主要包括交換機(jī)和路由器等網(wǎng)絡(luò)資源、硬盤和云盤等存儲(chǔ)資源以及CPU和GPU等計(jì)算資源。面臨的問(wèn)題主要有物理安全風(fēng)險(xiǎn)、網(wǎng)絡(luò)攻擊威脅以及數(shù)據(jù)丟失和泄露等安全風(fēng)險(xiǎn)。
密碼算法安全:區(qū)塊鏈?zhǔn)褂昧舜罅棵艽a算法以保證安全性。但現(xiàn)有的一些密碼算法存在一定缺陷,使用有缺陷的密碼算法會(huì)大大影響安全性。另外,隨著量子技術(shù)的發(fā)展,使用不能夠抵抗量子攻擊的密碼算法都有較大風(fēng)險(xiǎn)。
協(xié)議安全:主要指共識(shí)機(jī)制、P2P網(wǎng)絡(luò)等存在的安全隱患,主要面臨共識(shí)算法漏洞、流量攻擊以及惡意節(jié)點(diǎn)等威脅。
實(shí)現(xiàn)安全:智能合約起步較晚,其風(fēng)險(xiǎn)主要來(lái)源于代碼實(shí)現(xiàn)中的安全漏洞。此外,智能合約運(yùn)行環(huán)境的安全性也是區(qū)塊鏈安全的重要環(huán)節(jié)。
使用安全:主要指使用的智能合約、數(shù)字錢包、交易所以及應(yīng)用軟件等存在的安全問(wèn)題。另外,區(qū)塊鏈應(yīng)用所在服務(wù)器上的惡意軟件、系統(tǒng)的安全漏洞等都可能成為攻擊者攻破區(qū)塊鏈應(yīng)用的脆弱點(diǎn)。
系統(tǒng)安全:上述基礎(chǔ)設(shè)施、密碼算法、協(xié)議、實(shí)現(xiàn)、使用安全漏洞與黑客攻擊結(jié)合,可使區(qū)塊鏈?zhǔn)艿街旅驌?。社?huì)工程學(xué)手段與傳統(tǒng)攻擊方法結(jié)合使區(qū)塊鏈變得更加脆弱,有組織的攻擊行為將對(duì)區(qū)塊鏈安全造成極大危害。
圖1 重大安全事件數(shù)量統(tǒng)計(jì)(數(shù)據(jù)來(lái)源于BCSEC)
各國(guó)政府、金融機(jī)構(gòu)以及眾多企業(yè)等紛紛進(jìn)行區(qū)塊鏈的研究和開(kāi)發(fā)。各種區(qū)塊鏈聯(lián)盟、區(qū)塊鏈協(xié)會(huì)以及各種區(qū)塊鏈實(shí)驗(yàn)室也紛紛成立。區(qū)塊鏈相關(guān)測(cè)試也愈來(lái)愈多。
2017年5月,區(qū)塊鏈技術(shù)和應(yīng)用峰會(huì)暨中國(guó)區(qū)塊鏈開(kāi)發(fā)大賽成果發(fā)布會(huì)在杭州舉行,發(fā)布首個(gè)區(qū)塊鏈標(biāo)準(zhǔn)《區(qū)塊鏈參考架構(gòu)》,并公布了參考架構(gòu)的首次測(cè)試結(jié)果。同時(shí),貴陽(yáng)區(qū)塊鏈測(cè)試中心正式掛牌并開(kāi)展試運(yùn)行區(qū)塊鏈測(cè)試工作。另外,中國(guó)信息通信研究院也對(duì)太一云的區(qū)塊鏈超導(dǎo)交易網(wǎng)絡(luò)進(jìn)行了性能與功能測(cè)試。2017年9月召開(kāi)的可信區(qū)塊鏈峰會(huì)公布了可信區(qū)塊鏈標(biāo)準(zhǔn)和測(cè)評(píng)結(jié)果。2018年6月召開(kāi)的可信區(qū)塊鏈評(píng)測(cè)方案討論會(huì)確定了可信區(qū)塊鏈的測(cè)試方法與性能測(cè)試規(guī)范,并討論了開(kāi)源基準(zhǔn)測(cè)試工作組的任務(wù)安排。
區(qū)塊鏈測(cè)評(píng)內(nèi)容可分為功能測(cè)試、性能測(cè)試、可靠性測(cè)試與安全性測(cè)試。已有測(cè)試多偏重于功能測(cè)試、性能測(cè)試與可靠性測(cè)試,本文著重討論安全性測(cè)試,建議從以下幾方面著手。
共識(shí)機(jī)制安全測(cè)試:主要測(cè)試采用的共識(shí)機(jī)制能否抵御雙花攻擊(同一數(shù)字貨幣重復(fù)使用多次)、重放攻擊等常見(jiàn)的攻擊手段,以及是否有良好的容錯(cuò)能力。
智能合約安全測(cè)試:主要檢查智能合約是否存在常見(jiàn)的安全漏洞,是否可信以及是否符合規(guī)范和流程。此外,還可進(jìn)行代碼審計(jì)工作,在代碼層次尋找可能存在的漏洞。
Web與移動(dòng)客戶端應(yīng)用安全測(cè)試:面向終端用戶的區(qū)塊鏈項(xiàng)目一般都有Web或移動(dòng)客戶端應(yīng)用程序。可檢查其是否存在注入、XSS等常見(jiàn)Web漏洞。還可進(jìn)行滲透評(píng)估測(cè)試,發(fā)現(xiàn)潛在的安全威脅。
身份認(rèn)證與鑒別測(cè)試:對(duì)于聯(lián)盟鏈與私有鏈平臺(tái),應(yīng)測(cè)試身份認(rèn)證與鑒別、成員管理以及審計(jì)記錄等功能,防止出現(xiàn)越權(quán)等漏洞。
此外,還可以對(duì)激勵(lì)機(jī)制及其他自有協(xié)議進(jìn)行測(cè)試,盡量保證其安全性。
圖2 安全事件造成的經(jīng)濟(jì)損失趨勢(shì)(萬(wàn)美元)(數(shù)據(jù)來(lái)源于BCSEC)
區(qū)塊鏈技術(shù)可有效解決傳統(tǒng)交易模式中數(shù)據(jù)流造假行為,可被應(yīng)用到金融、物聯(lián)網(wǎng)、供應(yīng)鏈管理等多個(gè)領(lǐng)域,可實(shí)現(xiàn)從信息互聯(lián)網(wǎng)到價(jià)值互聯(lián)網(wǎng)的轉(zhuǎn)變。但區(qū)塊鏈安全問(wèn)題亦不可忽視,本文從技術(shù)角度分析區(qū)塊鏈技術(shù)面臨的安全風(fēng)險(xiǎn),并探索區(qū)塊鏈技術(shù)安全測(cè)試方案,希望為以后區(qū)塊鏈安全測(cè)試的工作帶來(lái)一定的參考意義。