国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

針對區(qū)塊鏈的關(guān)鍵測評要素及安全測評技術(shù)研究

2020-01-08 13:17李軍
現(xiàn)代信息科技 2020年15期

摘 ?要:區(qū)塊鏈技術(shù)已經(jīng)從研究階段進(jìn)入應(yīng)用階段,但對區(qū)塊鏈的測評研究目前還處于探索階段。研究區(qū)塊鏈關(guān)鍵的核心架構(gòu)功能、共識效率和智能合約的安全性方面的測評關(guān)鍵要素,可以幫助組織提高區(qū)塊鏈系統(tǒng)的質(zhì)量、提升效率和減少安全性風(fēng)險。通過對區(qū)塊鏈架構(gòu)的分析,明確了每層架構(gòu)應(yīng)關(guān)注的功能測評關(guān)鍵點,針對目前效率不高和智能合約存在安全隱患等現(xiàn)狀,進(jìn)一步總結(jié)了共識機(jī)制效率的測評屬性和智能合約安全性的測評技術(shù)和方法。

關(guān)鍵詞:區(qū)塊鏈技術(shù)測評;區(qū)塊鏈效率;區(qū)塊鏈安全

中圖分類號:TP391.44;TN915.08 ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)15-0160-04

Abstract:Blockchain technology has entered the application stage from research,but the testing research of blockchain is still in the exploratory stage. The research on the testing key elements of blockchain key core architecture function,consensus efficiency and security of smart contract can help organizations improve the quality of blockchain system,improve efficiency and reduce security risk. Through the analysis of blockchain architecture,the key points of function testing that should be paid attention to in each layer architecture are clarified. Aiming at the current situation of low efficiency and potential security risks in smart contracts,the efficiency testing attributes of consensus mechanism and the security testing technology and methods of smart contract are further summarized.

Keywords:blockchain technology testing;blockchain efficiency;blockchain security

0 ?引 ?言

區(qū)塊鏈?zhǔn)遣捎谩皡^(qū)塊+鏈”的結(jié)構(gòu)存儲數(shù)據(jù)并由多方共同參與的開放的分布式記賬技術(shù)。雖然其已經(jīng)從研究階段進(jìn)入應(yīng)用階段,但對區(qū)塊鏈的測評研究目前還處于探索階段。當(dāng)前區(qū)塊鏈系統(tǒng)的性能不理想[1],這是應(yīng)用該技術(shù)的主要阻礙,已有很多關(guān)于區(qū)塊鏈系統(tǒng)功能、效率和安全性測評相關(guān)的研究[2,3],但是國際和我國目前還沒有形成相關(guān)的技術(shù)標(biāo)準(zhǔn)。雖然區(qū)塊鏈技術(shù)通過應(yīng)用加密算法、哈希函數(shù)來保證系統(tǒng)的完整性、安全性和保密性,但是區(qū)塊鏈基礎(chǔ)層級在功能、效率和安全性方面仍然面臨著內(nèi)部或外部的各種脆弱性和威脅。本文在綜合科技服務(wù)平臺項目實踐過程中,在科技資源管理與共享方面應(yīng)用了區(qū)塊鏈技術(shù)。在上述實踐中筆者發(fā)現(xiàn)區(qū)塊鏈基礎(chǔ)層級的功能、共識機(jī)制效率、智能合約安全性是影響區(qū)塊鏈健壯性和質(zhì)量的關(guān)鍵因素。本文分析了基礎(chǔ)層級的技術(shù)特點,凝練出功能測評的關(guān)鍵要素,提出區(qū)塊鏈的瓶頸和隱患主要集中在共識機(jī)制和智能合約方面,闡述了針對交易延遲、吞吐量、耗能指標(biāo)、共識效率和合約漏洞等方面實施的測評。通過研究區(qū)塊鏈關(guān)鍵核心架構(gòu)的功能測評、性能測評和安全測評,希望可以提高區(qū)塊鏈系統(tǒng)的健壯性和質(zhì)量,同時減少安全風(fēng)險。

1 ?區(qū)塊鏈基礎(chǔ)層級及功能和效率通用測評

雖然區(qū)塊鏈在各個場景中的具體應(yīng)用有差異,但其基礎(chǔ)層級和構(gòu)成有相似之處,一般可分為五個層級,按從應(yīng)用端到底層的順序,分別為應(yīng)用層、合約層、共識層、網(wǎng)絡(luò)層以及數(shù)據(jù)層。

1.1 ?基礎(chǔ)層級及功能測評

數(shù)據(jù)層主要是實現(xiàn)了分布式存儲和數(shù)據(jù)管理功能,它位于基礎(chǔ)層級中的最底層,其采用首尾相連的鏈?zhǔn)浇Y(jié)構(gòu)來實現(xiàn)信息的存儲。區(qū)塊中的第一個區(qū)塊被稱為“創(chuàng)世”區(qū)塊,后面的區(qū)塊按照產(chǎn)生或發(fā)生的時間順序經(jīng)哈希函數(shù)處理后依次鏈接。哈希算法是通過哈希函數(shù)對原始數(shù)據(jù)進(jìn)行編碼,生成固定長度的字符串序列,數(shù)據(jù)層常用RSA、橢圓曲線加密技術(shù)(ECC)等非對稱加密算法對信息進(jìn)行加密或者實現(xiàn)數(shù)字簽名。

對于數(shù)據(jù)層的功能測評主要包括:存儲、賬本記錄、加解密、摘要、數(shù)字簽名等方面的測評,具體內(nèi)容如表1所示[4]。

在區(qū)塊鏈中,網(wǎng)絡(luò)層負(fù)責(zé)通過特定的傳播協(xié)議執(zhí)行節(jié)點間的通信、節(jié)點的加入和退出網(wǎng)絡(luò),它是由拓?fù)浣Y(jié)構(gòu)為全聯(lián)通的節(jié)點組成的對等網(wǎng)絡(luò),所有的網(wǎng)絡(luò)節(jié)點既可以充當(dāng)客戶端,也可以充當(dāng)服務(wù)端。網(wǎng)絡(luò)層中根據(jù)角色劃分的不同又可以分為記賬節(jié)點和驗證節(jié)點。另外,還設(shè)計有容錯機(jī)制保障各個節(jié)點的穩(wěn)定性。網(wǎng)絡(luò)層的功能主要是測評對等式網(wǎng)絡(luò),測評內(nèi)容包括節(jié)點之間通信的高效性和安全性、點對點通信的多播能力和動態(tài)增刪節(jié)點的功能。

共識層是在去中心化的環(huán)境下使網(wǎng)絡(luò)層的各個節(jié)點能夠針對區(qū)塊數(shù)據(jù)達(dá)成一致的機(jī)制,這種共識機(jī)制主要是通過共識算法來實現(xiàn),目前常見的共識算法有:工作量證明、權(quán)益證明、股份授權(quán)證明、拜占庭共識算法等。共識層功能測評的關(guān)鍵要素如表2所示。

合約層主要包括各種腳本、代碼、算法機(jī)制及智能合約,是區(qū)塊鏈可編程的基礎(chǔ)。合約層的功能主要是環(huán)境測評、內(nèi)容靜態(tài)和動態(tài)檢查、外部數(shù)據(jù)源和智能合約交互、合約防篡改、多方共識下的合約升級和賬本中寫入合約內(nèi)容等。

應(yīng)用層處于整個區(qū)塊鏈基礎(chǔ)架構(gòu)的最上層,封裝了各種應(yīng)用場景,可以通過參考各個應(yīng)用場景的不同需求來確定應(yīng)用層的測評內(nèi)容。

1.2 ?區(qū)塊鏈架構(gòu)效率通用測評

除了功能測評之外,效率指標(biāo)也可以應(yīng)用到各個層級中,通用指標(biāo)一般包括資源利用率、時間特性和容量三個方面。其中,資源利用率從CPU占用率滿足度、內(nèi)存占用率滿足度、外存時間負(fù)載滿足度、外存空間占用率滿足度、傳輸帶寬負(fù)載滿足度和I/O設(shè)備占用率滿足度等維度測評;時間特性從響應(yīng)時間滿足度、周轉(zhuǎn)時間滿足度和吞吐率滿足度等維度測評;容量從最大請求數(shù)滿足度、事務(wù)累積容量滿足度、數(shù)據(jù)吞吐容量滿足度和數(shù)據(jù)處理容量滿足度等維度測評。

2 ?共識機(jī)制的性能測評

區(qū)塊鏈的瓶頸主要集中在性能交易及由工作量證明為代表的共識算法的低吞吐量、高時延、低效等問題上,這種低效問題已經(jīng)限制了區(qū)塊鏈的使用場景。共識機(jī)制的性能測評指標(biāo)主要是交易延遲、吞吐量、耗能和共識效率等。

交易延遲是指由記賬節(jié)點發(fā)起交易到該交易被確認(rèn)的整個過程所花費的時間。交易延遲與區(qū)塊鏈開放程度、網(wǎng)絡(luò)通信時間、共識算法等因素有關(guān),它表征了整個系統(tǒng)的網(wǎng)絡(luò)通信性能和共識算法的運(yùn)行時間。

交易延遲TTL的計算公式如下:

TTL=C2E+C2O+C2V

其中,C2E表示客戶端與背書節(jié)點間的通信時間,C2O表示客戶端與排序節(jié)點間的通信時間,C2V表示客戶端與驗證節(jié)點間的通信時間。另外,交易延遲與區(qū)塊鏈打包時間和打包的交易數(shù)也有密切關(guān)系。

吞吐量是區(qū)塊鏈時間間隔內(nèi)的交易發(fā)出到交易確認(rèn)(出塊時間)并寫入?yún)^(qū)塊鏈中的總交易數(shù)。一般用TPS(每秒交易數(shù))來表示。

耗能指標(biāo)方面,在區(qū)塊鏈中的區(qū)塊的生成需要進(jìn)行共識算法的計算,通常有些計算是無意義的計算,在計算過程中使用的網(wǎng)絡(luò)通信帶寬、占用的內(nèi)存、CPU資源以及維護(hù)這些資源運(yùn)行的電能是衡量區(qū)塊鏈耗能的測評指標(biāo)。

共識效率即為共識過程中處理交易到達(dá)成共識所需要的時間的多少。用戶需要在保證交易安全的前提下,擁有更快的交易效率。

3 ?智能合約安全性測試

“智能合約”的概念由計算機(jī)科學(xué)家加密大師尼克·薩博在1993年提出,他為其下的定義:“一個智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議?!敝悄芎霞s雖然有著廣闊的應(yīng)用前景,但當(dāng)前還存在嚴(yán)重的安全問題,如2018年10月29日發(fā)生的PoWHC和批量傳輸溢出漏洞,在黑客的利用下,合約開發(fā)者共損失了866枚以太幣[5-7]。類似這種事件的安全問題無疑限制了區(qū)塊鏈的發(fā)展。

智能合約安全測試可以檢查智能合約代碼中是否有常見的安全漏洞、智能合約是否可信以及智能合約的程序源代碼是否符合編碼規(guī)范。智能合約漏洞主要分為5種類型:編碼規(guī)范問題、設(shè)計缺陷問題、編碼安全問題、編碼設(shè)計問題和編碼隱患[8]。其中由程序員設(shè)計和開發(fā)的編碼標(biāo)準(zhǔn)或流程存在的缺陷和問題可能會導(dǎo)致代碼規(guī)范問題、代碼設(shè)計缺陷(含接口設(shè)計)、代碼設(shè)計和代碼安全漏洞。編碼安全問題主要由開發(fā)人員在合約編寫時的疏忽導(dǎo)致[8]。

對于區(qū)塊鏈智能合約安全測評,本文主要介紹漏洞分析技術(shù)、污點分析技術(shù)、模型檢驗技術(shù)和基于字節(jié)碼的漏洞分析方法。

3.1 ?漏洞分析技術(shù)

漏洞分析技術(shù)是指通過漏洞定位、安全隱患挖掘、測評、特征分析等方法或方式分析區(qū)塊鏈漏洞的技術(shù)。通過分析可以有效提高系統(tǒng)的健壯性、防止數(shù)據(jù)丟失和被盜。區(qū)塊鏈智能合約的漏洞分析主要面向源代碼、二進(jìn)制文件和程序動態(tài)運(yùn)行的其中之一或者三者組合。

3.2 ? 污點分析技術(shù)

污點分析是將所感興趣的數(shù)據(jù)標(biāo)記為污點數(shù)據(jù),然后跟蹤和污點數(shù)據(jù)相關(guān)的信息的流向,分析這些信息的時候會影響某些關(guān)鍵的程序操作,進(jìn)而跟蹤挖掘程序漏洞[9]。在具體的分析流程中,首先需要識別選定代碼(程序變量、消息變量或數(shù)據(jù)變量)中的污點源和污點匯聚點,通過標(biāo)識方法把這些變量標(biāo)識為污點變量,通過程序運(yùn)行的流程圖來分析和跟蹤污點的傳播路徑,如果能檢測到某條路徑被污點信息污染,那么就意味著該處可能存在著安全隱患或者缺陷,通過這種預(yù)警可以為進(jìn)一步的分析提供很好的參考信息。污點分析的流程圖如圖1所示。使用污點分析技術(shù)可以檢測緩沖區(qū)溢出、SQL注入等多種類型的程序漏洞。

3.3 ?模型檢驗技術(shù)

模型檢驗技術(shù)對源代碼進(jìn)行狀態(tài)建模,通過分析有限狀態(tài)機(jī)來驗證需要測試的漏洞。在實際的分析中,通過已有的規(guī)則庫和白盒測試的路徑覆蓋分析方法,分析程序路徑狀態(tài)模型時序邏輯是否存在問題。

3.4 ?基于字節(jié)碼的漏洞分析方法

基于字節(jié)碼的漏洞分析結(jié)合了基于漏洞規(guī)則庫的關(guān)鍵字符串查找和基于控制規(guī)則庫的靜態(tài)符號執(zhí)行分析技術(shù)。首先利用反編譯器來獲得字節(jié)碼的源代碼,然后分析源代碼的控制流程圖。通過強(qiáng)大的漏洞規(guī)則庫進(jìn)行關(guān)鍵字查找來分析敏感指令,判斷是否存在危險API調(diào)用和參數(shù)等漏洞;同時基于控制規(guī)則庫和靜態(tài)符號的執(zhí)行分析來確定重入攻擊和交易順序依賴攻擊,通過這兩種方法的結(jié)合可以輸出字節(jié)碼漏洞結(jié)果。

3.5 ?常用智能合約漏洞分析工具

智能合約漏洞分析工具在源代碼漏洞分析工具的基礎(chǔ)上進(jìn)行了進(jìn)一步發(fā)展?;诼┒匆?guī)則庫的關(guān)鍵字符串查找來分析合約漏洞問題的工具有Solium、Solhint等。使用靜態(tài)符號執(zhí)行分析技術(shù)的工具有Mythril、Oyente等,這些工具的字節(jié)碼漏洞分析流程如圖2所示。專門用于分析重入漏洞和整形溢出漏洞的Mythril、Oyente也在業(yè)內(nèi)得到廣泛使用。Cppcheck主要通過反編譯器建立源代碼的語法樹,然后對抽象語法樹采用源代碼常用分析方法(如邊界值分析、溢出分析、編碼規(guī)則符合性分析等)來分析智能合約的漏洞。另外,還有采用模型檢測技術(shù)來對未知漏洞進(jìn)行分析的SCAVT。

4 ?結(jié) ?論

通過對區(qū)塊鏈架構(gòu)層級及相關(guān)關(guān)鍵技術(shù)的介紹,針對各個架構(gòu)層級的不同側(cè)重點歸納和總結(jié)了架構(gòu)功能、架構(gòu)通用效率的關(guān)鍵要素測評指標(biāo)。針對目前區(qū)塊鏈在共識機(jī)制方面存在的低吞吐量、高時延、低效等問題提出了共識機(jī)制的性能測評,測評指標(biāo)主要有交易延遲、吞吐量、耗能和共識效率等。智能合約有著廣闊的應(yīng)用前景,但當(dāng)前其安全性還存在問題,主要可以從通過漏洞分析技術(shù)、污點分析技術(shù)、模型檢驗技術(shù)和基于字節(jié)碼的漏洞分析方法等提高區(qū)塊鏈系統(tǒng)質(zhì)量、減少安全風(fēng)險,為進(jìn)一步的區(qū)塊鏈安全性研究提供了研究基礎(chǔ)。另外,文中也介紹了常用的區(qū)塊鏈漏洞測評的相關(guān)分析工具。

參考文獻(xiàn):

[1] ZHENG P L,ZHENG Z B,LUO X P,et al. A Detailed and Real-Time Performance Monitoring Framework for Blockchain Systems [C]//2018 IEEE/ACM 40th International Conference on Software Engineering:Software Engineering in Practice Track (ICSE-SEIP),New Jersey:IEEE,2018:134-143.

[2] BALIGA A,SOLANKI N,VEREKAR S,et al. Performance Characterization of Hyperledger Fabric [C]//2018 Crypto Valley Conference on Blockchain Technology (CVCBT),New Jersey:IEEE,2018:65-74

[3] NASIR Q,QASSE I A,TALIB M A,et al. Performance Analysis of Hyperledger Fabric Platforms [J/OL].(2018-09-09).https://www.hindawi.com/journals/scn/2018/3976093/.

[4] 貴州省大數(shù)據(jù)標(biāo)準(zhǔn)化技術(shù)委員會.區(qū)塊鏈系統(tǒng)測評和選型規(guī)范:DB52/T1467-2019 [S/OL].(2019-12-31).http://amr.guizhou.gov.cn/xwzx/tzgg/202001/t20200108_41939935.html.

[5] 涂序文.面向系統(tǒng)內(nèi)核的灰盒測試技術(shù)研究 [D].無錫:江南大學(xué),2019.

[6] 付夢琳,吳禮發(fā),洪征,等.智能合約安全漏洞挖掘技術(shù)研究 [J].計算機(jī)應(yīng)用,2019,39(7):1959-1966.

[7] 邱欣欣,馬兆豐,徐明昆.以太坊智能合約安全漏洞分析及對策 [J].信息安全與通信保密,2019(2):44-53.

[8] 古濤銘.面向智能合約的安全檢測系統(tǒng)研究與設(shè)計 [D].成都:電子科技大學(xué),2020.

[9] LIU B C,SHI L,CAI Z H,et al. Software Vulnerability Discovery Techniques:A Survey [C]//2012 Fourth International Conference on Multimedia Information Networking and Security,New Jersey:IEEE,2012:152-156.

作者簡介:李軍(1975—),男,漢族,湖北丹江口人,高級工程師,碩士,研究方向:網(wǎng)絡(luò)信息安全測評、區(qū)塊鏈應(yīng)用、大數(shù)據(jù)。

阿巴嘎旗| 江西省| 青海省| 盐山县| 普格县| 方正县| 祥云县| 交城县| 衡阳县| 徐水县| 益阳市| 新宾| 分宜县| 宜城市| 威海市| 遂昌县| 盱眙县| 杭锦旗| 特克斯县| 肃南| 府谷县| 永泰县| 丰原市| 漳浦县| 水富县| 新郑市| 金塔县| 满洲里市| 红安县| 同心县| 靖江市| 恩施市| 恩平市| 思南县| 渭源县| 岑巩县| 麦盖提县| 荔波县| 高密市| 玉环县| 永年县|