廉貴清 于長鉞 孫琳 趙振江
(1.中國電子技術標準化研究院,北京 100010;2.國家工業信息安全發展研究中心,北京 100010)
區塊鏈在政務、工業制造、供應鏈等領域擁有廣泛的應用前景,但是目前在區塊鏈技術實現、安全保障、行業標準規范等方面還存在一些問題,嚴重影響了區塊鏈系統運行的功能、性能、安全性、可靠性和合規性,而區塊鏈測評公共服務平臺為解決這類問題提供了有效的途徑。
目前,國內外對區塊鏈的測評進行了深入研究,并設計開發出相應的測試工具。但是由于區塊鏈本身包含公有鏈、私有鏈、聯盟鏈等類型,不同類型的區塊鏈在管理、用戶身份、最大節點數等自身特征方面各有不同,測評需要考慮大部分模式,導致測試方案更加復雜。市場上區塊鏈測試工具種類和數量較少,且缺乏國產化自主知識產權研發的測試工具。因此,設計開發區塊鏈測評工具、研究區塊鏈系統測評技術體系、構建區塊鏈測評公共服務平臺對實現我國區塊鏈技術和產業高質量發展尤為重要。
區塊鏈測評公共服務平臺是一個完整的有機測試架構,它包含標準規范、技術工具、沙盒機制等多方面要素。開展區塊鏈測評公共服務平臺研究,首先要搭建區塊鏈測評技術體系及規范,形成區塊鏈技術組件、創新程度測評框架。其次,研究面向區塊鏈系統脆弱性、密碼技術等安全性測評技術和工具,提出多樣性測試數據集和智能合約安全漏洞檢測方法、智能合約自動化測評工具,同時支持策略自適應調整的測評工具庫。最后,構建支持大規模網絡節點、兼容多種底層鏈的高性能區塊鏈測評平臺,形成典型區塊鏈應用場景的自動化安全風險評估機制和自適應穿透式區塊鏈應用測評系統的解決方案。
區塊鏈測評公共服務平臺架構分為四層,分別是基礎理論層、方法工具層、平臺載體層、應用推廣層,各層都對應面向多場景區塊鏈系統的測評要求。區塊鏈測評公共服務平臺架構如圖1 所示。

圖1 區塊鏈測試評價公共服務平臺架構
1.區塊鏈測評技術
目前,區塊鏈已在多領域取得廣泛應用,但由于其算法復雜、開發人員水平參差不齊,無法確保底層平臺以及應用的可靠性。因此,需以測試方和被測方為對象,進行區塊鏈測評技術研究。
面向測試方,區塊鏈測評公共服務平臺涉及技術、過程、資源三個方面。在技術方面,涉及區塊鏈測評的專用技術、管理技術、自動化平臺、知識庫、特定場景配置等要素;在區塊鏈系統測評管理過程方面,涉及合同管理、測試策劃設計、測試執行、分析和評審、測試反饋、測試過程控制等要素;在區塊鏈系統測試資源方面,涉及區塊鏈測試人員和部門、測試環境、測試技術、標準及規范文檔等要素。同時,在不同區塊鏈測試場景下各種要素之間存在密切關系。
面向被測方,構建區塊鏈系統質量模型和區塊鏈企業服務能力模型。系統質量模型重點主要包括功能、性能、內容安全、系統安全、可靠性、合規性等方面;企業服務能力模型主要包括人員、組織、管理、資源、技術等方面。同時,針對差異性信息,提取他們在不同典型應用場景下的固有特點,從多維度構建區塊鏈測評的綜合體系,如圖2 所示。圖2 區塊鏈測評體系
2.區塊鏈測評標準
區塊鏈標準在技術應用和產業促進方面發揮著積極的作用。在不同的場景下,區塊鏈系統測評面臨著多方面的標準應用需求痛點,如區塊鏈技術應用、規范和行業引導上的標準缺失等痛點。區塊鏈測評標準研究技術路徑如圖3所示。

圖3 區塊鏈測評標準研究技術路徑
區塊鏈測試方應重點圍繞區塊鏈系統的功能、性能、可靠性和內容安全等方面開展相關測評技術研究和測評方法研究,為供應鏈管理、產品溯源、物聯網、數字政務、存證防偽等區塊鏈典型應用場景下的系統測評提供技術和方法支撐。針對區塊鏈系統功能、性能、安全性、可靠性和合規性方面的測評需求,研制區塊鏈測評工具和安全測試用例。聚焦區塊鏈典型應用場景,構建差異化測評模板和方案,形成一套面向多場景異構區塊鏈測評公共服務平臺。
1.區塊鏈系統測試方法
區塊鏈系統測試方法總體可以分為三類:過程類、場景類和能力類。過程類包括服務能力評估和技術測試評估兩個層面:服務能力評估參考測試需求、商務對接、法務對接進行;技術測試評估依據相關區塊鏈系統發布的標準、政策和方案來制定測試方案、設計測試用例,調取測試工具最終按照計劃完成測試。在測試結束后還要聽取被測評方的意見或建議,對區塊鏈測評方法的整體過程,特別是對測試方案和測試評估進行優化。在場景維度中,應用區塊鏈系統的場景會根據場景特征提取工具,對應數據集中的相關數據和工具庫中相關的測試工具,定制差異化的測評模板以滿足測評需求。能力維度可分為資源層和技術層:資源層對應數據集、測評工具、測評人員和測評環境;技術層對應區塊鏈測評的5 個關鍵要素,即功能、性能、安全性、可靠性和合規性。區塊鏈系統測試評估方法也可為知識圖譜、信息矩陣、特征提取等工具和區塊鏈系統質量模型的選取、區塊鏈服務能力測評方法提供理論支撐。同時,工具研發也可以為區塊鏈測評選型、評估方法提供工具方面的技術支撐。區塊鏈測評方法如圖4 所示。

圖4 區塊鏈測試評價方法
2.區塊鏈企業服務能力評估與選型
區塊鏈企業服務能力評估方法的關鍵要素分為組織、人員、技術、資源和管理過程。組織主要評估的是相關測評機構是否有測評資質、相關知識產權、以往成功測評案例、測評實驗室規模、信用及獲獎情況、外部政策支持。測評人員應該擁有測評資質、測評經驗,具備專業知識,掌握測評技能。技術層面,區塊鏈企業應具備開發能力,即制定測評方案、發布測試行業標準、開發測評工具及系統。創新能力即定制化開發測評模板,運維能力即測評前、中、后整體流程中服務和技術層面的運行維護。區塊鏈服務企業測評實驗室需擁有測評所需的軟硬件資源和信息資源。測評環節的管理過程應包含測評質量管理、項目流程管理、業務連續性管理、安全管理、供應方采購管理、鏈上資產管理和測評人員管理。區塊鏈服務能力測評方法結構如圖5 所示。

圖5 區塊鏈服務能力測評方法
區塊鏈企業服務能力選型方法參考GB/T 25000.10-2016《系統與軟件質量要求和評價(SQuaRE)第10 部分:系統與軟件質量模型》,從區塊鏈系統五大關鍵要素入手來評估區塊鏈系統質量。區塊鏈系統的功能從基礎層、網絡層、核心技術層、用戶層、服務層來測評功能點是否完備、正確、適當、恰當;區塊鏈系統的性能從響應時間、TPS、CPU、內存、帶寬和成功率的具體指標來測評系統資源利用率、時間特性和容量;區塊鏈系統的安全性測評從數據內容保密性、完整性、可追溯性、真實性和抗抵賴性來評估;區塊鏈系統的可靠性測評從系統成熟性、可用性、容錯性和易恢復性來評估;區塊鏈系統的合規性從測評組織和人員合規、技術和平臺、服務和運營入手來評估。區塊鏈系統質量模型結構如圖6 所示。

圖6 區塊鏈系統質量模型
針對區塊鏈的技術特點,分析上鏈數據在多種場景下存在的安全性風險,研究對應的多維度系統漏洞發現手段、安全等級評估方案,形成一套完整的量化測評標準,并結合形式化驗證技術,開發上鏈數據內容安全審查工具套件。上鏈數據安全審查的指標主要是保密性、完整性、抗抵賴性、真實性、可追溯性等質量特性。
保密性審查包括審查用戶是否可在未授權情況下,訪問賬本的隱私數據,數據隱私是否可保護;審查系統對未授權的功能、數據訪問進行控制的能力是否符合用戶需求;審查系統對數據類型實現加解密的比例是否符合需求;審查系統使用的加密算法的強度是否符合需求[1]。完整性審查包括審查數據上鏈前后的差異比例;審查系統是否具備錯誤數據的糾正能力;審查系統防止數據被訛誤的能力是否符合需求;審查系統為防止數據被訛誤所采用的機制是否符合需求。抗抵賴性審查包括審查系統采用的數字簽名算法強度是否符合需求;審查系統預防實體否認發送事件及其行為的能力;審查系統預防實體否認接收事件及其行為的能力。真實性審查包括審查系統使用的身份認證方法是否符合需求;審查系統實現的數據鑒別規則數量是否符合需求。可追溯性審查包括審查系統日志進行安全保存的實際時間是否符合需求;審查用戶訪問系統和數據的審計追蹤能力是否符合需求;審查用戶訪問系統數據時,系統的審計追蹤能力是否符合用戶需求[2]。
4.區塊鏈測評工具研制
區塊鏈測評工具以測評方法為依據,是為區塊鏈測評選型提供技術支撐的重要部分。區塊鏈測評工具由通用測試工具集和專用測試工具集兩部分組成。通用工具集包括功能測試工具、性能測試工具、安全測試工具、可靠測試工具和合規測試工具;區塊鏈測評專用工具集包括上鏈數據內容安全審查工具、領域特征提取關鍵測評要素工具、自動化生成差異化測評方案模板工具[3]。
構建應用于多場景、多維度的組件化測評工具庫主要是面向異構區塊鏈的功能、性能、安全性、可靠性和合規性測評需求,針對共性和差異性測評項,建立組件化測評工具,形成工具庫。根據自適應測評模型,研究測評工具的自適配技術,根據不同系統架構和關鍵參數實現測評策略的工具適配和參數適配,實現高匹配度的精細化測評,支持多場景、多維度、多策略的區塊鏈測評。區塊鏈測評專用工具庫如圖7 所示。

圖7 區塊鏈測試專用工具庫
融合理論體系、測評方法、技術工具和測評模板等部分,構建區塊鏈測評系統,建立區塊鏈測評沙盒測試系統和區塊鏈自動安全測評系統,支持測評策略自適應調整,為區塊鏈項目驗收測試、系統功能測試、系統性能測試、標準符合性測試、安全可靠測評等業務提供測試平臺支撐。基于新型沙盒機制的區塊鏈測評系統架構如圖8 所示。

圖8 基于新型沙盒機制的區塊鏈測試系統設計架構
1.應用新型沙盒機制
沙盒技術作為計算安全領域常用的技術之一,具有非常嚴格的資源及環境隔離限制,通過為一些來源不可信、具備破壞力或無法判定程序意圖的程序提供試驗環境,以此保障對主機程序及數據的安全防護。沙盒技術是一種動態分析技術,與靜態分析技術相比,沙盒技術具有保護真實系統、檢測準確度高、誤報率低、可以檢測未知代碼等優點。早期沙盒技術一般采用虛擬機構建,在虛擬機里運行完整的操作系統并分配獨立的內外存資源[4]。如今沙盒技術采用Container 技術,在Container 中的系統不會影響外界的真實系統或者數據,能夠極大提高沙盒的擴展性和操作性。
一進多功能會議廳,高潮就看到空空蕩蕩的主席臺上,只坐著一位長相俊美氣質不凡的中年女人,高潮想,她應該是美之廈房地產公司的公關部經理齊眉吧?再看嘉賓席,已有二三十人坐在那里,或看文稿,或打手機,或喝茶,或把玩鉛筆,高潮想,這些人應該是各路媒體的英豪們。見高潮和田卓走進來,臺上的那女人立馬走下臺來,笑吟吟地迎過來,老遠就招呼道,歡迎大駕光臨,我是美之廈公司的齊眉,請問你們是——
為了更加高效地保障區塊鏈系統以及鏈上智能合約在運行過程中的安全性,降低外界程序對鏈上系統入侵的可能性以及智能合約在業務邏輯方面存在漏洞等問題,要研究構建基于新型沙盒機制的區塊鏈安全自動測評系統。該系統可以對區塊鏈程序所特有的業務場景和運行環境進行快速準確的惡意程序檢測。傳統沙盒往往只是用于檢測代碼和移動應用的一些惡意行為。而基于新型沙盒機制的區塊鏈安全自動測評系統與傳統沙盒相比,除了所驗證主體不同外,還可以自動構建觸發惡意程序運行的環境以及分析控制惡意程序的運行狀態。
基于新型沙盒機制的區塊鏈安全自動測評系統主要設計思路是:首先,采用虛擬化技術,為區塊鏈節點運行程序構建一個虛擬沙盒環境。其次,針對反檢測逃避、變形、偽裝、動態加載等入侵行為,利用平臺所要研究的基于特征碼檢測手段、靜態代碼分析、動態代碼分析以及基礎特征庫等多種綜合分析防范及反逃避手段,模擬用戶真實的鏈上操作網絡環境、行為習慣等用戶使用環境,以觸發惡意程序的條件化運行,并通過分析運行特征,判斷一個程序是否具有攻擊性和破壞性,是否對系統具有威脅。最終根據綜合分析的結果,形成從功能、安全、性能、交易吞吐、賬戶私鑰等不同維度進行綜合分析的測評報告。
結合沙盒技術疊加區塊鏈測試場景,提出對區塊鏈以及智能合約的自動化安全測評,采用多種綜合分析手段以及建立代碼樣本庫的形式,不僅能夠提高對惡意程序及漏洞的分析速度,而且減少了大量的人工干預,實現了整個測試過程的高度自動化。
2.區塊鏈沙盒技術的惡意程序檢測方法
區塊鏈沙盒技術的惡意程序檢測:設計基于Webservice 服務框架的多平臺區塊鏈沙盒檢測框架,系統框架包括區塊鏈沙盒控制模塊、多節點任務調度模塊、區塊鏈沙盒分析模塊、檢測日志上鏈模塊[5],用戶可以向區塊鏈沙盒服務主機提交待測文件以進行惡意行為檢測。
區塊鏈沙盒控制模塊是沙盒系統控制其他各個功能模塊的一個重要模塊,區塊鏈沙盒系統的環境配置、控制臺命令的執行以及虛擬機的控制都與它息息相關,是整個沙盒系統的核心模塊,它的作用主要體現在任務控制、分析控制以及虛擬機的控制上。多節點任務調度模塊是基于區塊鏈沙盒技術的惡意程序檢測,由于其可能短時間內會接收到來自不同客戶端所上傳的文件,因此需要多節點任務調度模塊協助處理和管理待檢測文件。區塊鏈沙盒分析模塊是系統中的關鍵模塊,區塊鏈節點根據所提交的程序文件類型不同而采取相應的分析平臺對文件進行沙盒分析。它是整個系統中與虛擬機聯系最密切的模塊,可以實時監測目標文件在區塊鏈節點虛擬機操作系統里的運行狀態,并實時記錄下目標文件的一舉一動。監測日志上鏈模塊是系統中有關分析結果輸出的一個模塊,通過該模塊可以正確處理每一次任務終止時的一切情況,包括沙盒分析的正常終止和不正常終止,根據每一次任務終止時沙盒控制模塊發來的信號量,監測日志上鏈模塊會生成不同的結果。
3.區塊鏈的前后端沙盒處理模塊結構
設計基于區塊鏈的前后端沙盒處理模塊結構。區塊鏈沙盒分析系統包含客戶端和服務端兩大模塊,其中客戶端的類型包括個人電腦、手機或者平板電腦,客戶端的主要工作是提交可疑惡意程序文件,以及在服務端分析完畢后接收分析日志報告。服務端可以分為兩大組件,其中的區塊鏈沙盒服務器能夠處理客戶端的請求,控制虛擬機群完成惡意程序的分析任務,生成分析報告并且將報告返回給客戶端。區塊鏈虛擬機群實際上是服務器主機為完成不同文件類型的檢測任務而創建的虛擬化系統環境,根據服務主機所提交的文件類型不同,區塊鏈虛擬機群會啟動不同的系統來完成分析任務,并且能夠接收并檢測文件,判斷目標文件是否具有惡意行為或者包含惡意代碼。
4.區塊鏈測評公共服務平臺產業應用
區塊鏈測試評價公共服務平臺為我國區塊鏈與云計算、人工智能、物聯網等新一代信息技術融合應用提供了多重保障,為區塊鏈賦能金融、醫療、農業等行業發展提供了重要路徑。
在面向國內BaaS(Blockchain as a Service)服務商開發的“區塊鏈+數據共享”“區塊鏈+醫療”“區塊鏈+金融”“區塊鏈+農業”“區塊鏈+版權”等多領域應用場景時,區塊鏈測試評價公共服務平臺能夠為開展項目驗收測試,標準符合性測試,區塊鏈系統的功能、性能、合規性、安全性、可靠性等方面測試提供高效服務。例如:針對系統安全,采用的加密算法和安全級別是否滿足特定應用場景下對系統安全的要求;針對系統性能,并發處理能力、延遲時間等是否能夠在特定場景下滿足海量服務對系統性能的要求;針對系統功能,是否在特定場景下存在功能缺失以及在多個不同平臺協議和架構之間是否存在難以實現數據信息互聯互通互操作等諸多問題。區塊鏈測試評價公共服務平臺能夠有效推動“區塊鏈+”模式與產業深度融合,實現新一代信息技術在實體經濟應用中不斷走實向深。
傳統的上鏈數據安全審查方法通常是以中心化的認證基礎實現去中心的區塊鏈,會削弱區塊鏈去中心化的優勢,同時影響上鏈數據的安全。相較于傳統技術,本項區塊鏈測試評價公共服務平臺建設研究提出的新型上鏈數據內容安全審查方法,不僅關注存儲機制安全性、系統訪問控制能力,還從數據結構、加密算法、節點間通信協議、共識機制、智能合約等多個維度進行系統性測評,并保證新方法在不同應用場景下都具有良好的適應性和可擴展性。同時,也充分利用了自研形式化驗證技術的優點,能夠在源碼層面對數據的完整性、不可篡改性、可追溯性、節點間一致性進行有效測評,實現針對區塊鏈應用系統更加嚴格的上鏈數據內容安全審查功能。
傳統的區塊鏈測評策略包含核心組件、應用支撐、運維管理三個方面,涵蓋數據可追溯、交易確認時間、平臺穩定性、數據審計等方面。測評應用場景主要集中在政務應用、存證應用、溯源應用上。傳統區塊鏈測評策略對用戶需求分析較少,應用場景涵蓋范圍較為狹窄,普遍適用性較低。本區塊鏈測試評價公共服務平臺針對區塊鏈系統在不同業務領域自適應測評策略進行設計,應用于不同場景的區塊鏈系統首先要經過測試和評估兩個維度的需求對接和分析,通過區塊鏈系統測評要素特征提取工具分別提取出系統測試要素,如功能、性能、安全性、可靠性、合規性和系統評估等。其中,系統評估要素又從業務、技術、社會效益三個維度考慮。測試和評估定制差異化測評模板都需要經過各自的工具庫、文檔庫和數據庫。其中,測試的工具庫包括常規測試工具,如功能、性能、安全、可靠、合規測試工具;文檔庫用于生成測試合同、方案和用例;數據庫內容是測試的判定標準和測試所依據的相關標準。評估的工具庫,包括信息矩陣、知識圖譜等,用于識別、歸納和總結評估要素;文檔庫用于生成評估合同、方案和用例;數據庫中的評估標準等可作為評估的理論支撐。
市場上大部分區塊鏈測試工具通用性較低,對于區塊鏈測試內容針對不同行業的差異性較大;測試手段上,大多依賴人工測試,自動化程度較低。本區塊鏈測試評價公共服務平臺針對區塊鏈測試工具,能夠適配多種不同行業的區塊鏈,具有通用性廣、自動化程度高等優良特點,重點測試交易確認時間、單方交易TPS、故障恢復時間、交易失敗率。搭建的區塊鏈性能測試平臺具有友好的操作界面及良好的壓力輸出能力,包含對壓力數據運行時上下文進行分發、調控、匯總及可視化分析;基于腳本和虛擬機可以靈活快速地構建區塊鏈性能測試用例,秉承高效、靈活、可擴展的設計理念,為區塊鏈性能測試標準化、易用化助力,促進區塊鏈技術發展,為區塊鏈產業賦能;在功能擴展、指標優化、特性優化方面,包括但不限于支持更多的區塊鏈平臺、可視化工具;對交易進行自動化采樣,并進行測試指標優化以及增加壓力輸出策略、優化分布式調度策略。
傳統沙盒技術往往只是用于分析傳統行業程序以及移動應用的一些惡意行為檢測,比如惡意扣費、隱私竊取、數據篡改、遠程控制等。新型沙盒檢測技術在傳統沙盒技術基礎上,對區塊鏈節點通信、交易共識過程、智能合約安全、交易賬戶錢包等功能,結合特征值、靜態代碼、動態行為進行檢測分析,通過特有的用例樣本庫以及定制化的用例數據進行自動化運行,對運行過程中的事件行為進行綜合性分析,以實現對區塊鏈程序及智能合約整體的安全回溯測評,達到對鏈程序與智能合約安全的全覆蓋。
區塊鏈作為我國重點發展的新一代信息技術,對推動傳統產業數字化轉型、促進數字經濟與實體經濟融合發展有著積極的意義。區塊鏈系統的測試評估工作對區塊鏈在多場景下的應用推廣起到關鍵的驗證作用。本文從過程、場景、能力維度構建了一套較為全面的區塊鏈測試評價公共服務平臺,力圖探索完善我國區塊鏈系統測評的方法論和夯實區塊鏈測評技術應用基礎,以冀為我國區塊鏈技術進步和產業高質量發展盡應有之力。