• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向區(qū)塊鏈系統(tǒng)安全測評技術研究

    2021-06-10 12:23:34王崇宇朱宇坤陳瑞東
    無線電通信技術 2021年3期
    關鍵詞:合約共識加密

    王崇宇,朱宇坤,陳瑞東

    (電子科技大學,四川 成都 611731)

    0 引言

    自2013年起,國家接連頒布多項與區(qū)塊鏈相關的重大政策,2017年,中國信息技術部門成立區(qū)塊鏈研究實驗室。而中央在2019年則將區(qū)塊鏈作為核心技術自主創(chuàng)新的重要突破口[1]。2021兩會,區(qū)塊鏈更是被納入到五年規(guī)劃中。從2016年國務院發(fā)布《“十三五”國家信息化規(guī)劃》到2021年的“十四五”,短短幾年,區(qū)塊鏈技術在國內(nèi)已經(jīng)逐漸從理論研究走向?qū)嶋H應用,成為國家層面發(fā)展戰(zhàn)略。但區(qū)塊鏈底層平臺、應用服務等方面都在飛速發(fā)展的同時,對區(qū)塊鏈的測評研究目前還依舊處于探索階段,行業(yè)缺乏統(tǒng)一的評價標準,面臨著區(qū)塊鏈安全風險難以評估對比的痛點。因此面向科學、系統(tǒng)的區(qū)塊鏈測評體系構建的普遍需求,開展區(qū)塊鏈安全測評技術研究尤為重要?;诖耍疚闹饕槍Ξ斍皡^(qū)塊鏈相關技術標準及各個層級間的安全風險問題進行了深入分析,提出了包含功能、性能、安全性及可靠性等方面測評指標的安全測評模型。

    1 區(qū)塊鏈主要技術

    1.1 非對稱加密

    在區(qū)塊鏈網(wǎng)絡中,所有節(jié)點維護自己的公私鑰密鑰對,基于公私鑰體系保障數(shù)據(jù)傳輸?shù)陌踩?。在區(qū)塊鏈中非對稱加密主要用于數(shù)據(jù)加密和簽名[2]。數(shù)據(jù)加密、簽名主要都是對一個消息的內(nèi)容進行處理,進而確保區(qū)塊鏈安全。數(shù)據(jù)加密通常是用消息接收方的公鑰進行加密,而數(shù)字簽名則通常是用發(fā)送方的私鑰加密。這兩種方式分別保障了區(qū)塊鏈網(wǎng)絡底層數(shù)據(jù)的可靠傳輸和可信驗證。

    1.2 哈希算法

    哈希散列算法通過散列函數(shù)把數(shù)據(jù)進行變換后,生成一個數(shù)據(jù)摘要,固定每個數(shù)據(jù)量的格式。函數(shù)將數(shù)據(jù)打亂混合后,重新創(chuàng)建由短隨機字母和數(shù)字組成的字符串(散列值/哈希值),成為數(shù)據(jù)指紋[3],用來標識區(qū)塊,若區(qū)塊變化,則對應散列值也對應發(fā)生變化。而區(qū)塊鏈中Merkle Tree的引入,更是靈活地將樹形結構和哈希列表結合到一起,解決了哈希算法可能存在哈希沖突的問題。

    1.3 P2P網(wǎng)絡

    P2P網(wǎng)絡的出現(xiàn),建立了一個相互通信的對等計算機網(wǎng)絡,每個節(jié)點都具有路由的功能,不同類型節(jié)點包含部分功能,這種網(wǎng)絡結合分布式存儲構成了區(qū)塊鏈網(wǎng)絡層結構的基礎,基于P2P網(wǎng)絡去中心化等特性,區(qū)塊鏈可以針對不同節(jié)點進行設計,劃分出挖礦節(jié)點、輕節(jié)點等角色[4],從而產(chǎn)生后續(xù)的相關算法。

    1.4 共識機制

    共識機制讓眾多節(jié)點構成的區(qū)塊鏈分布較為均勻。區(qū)塊鏈解決了在不可信信道上傳輸信息、價值轉移等問題 ,而共識機制解決了區(qū)塊鏈如何在分布式場景下達成一致性的問題[5]。例如針對公鏈,中本聰在《Bitcoin:A peer-to-peer electronic cash system》中提及工作量證明(POW)共識機制,這種機制在去中心化的思想下解決了節(jié)點間相互信任的問題。

    1.5 智能合約

    智能合約是一種在滿足特定條件時,自動執(zhí)行的計算機程序。Nick Szabo 將智能合約定義為:一個智能合約是一套以數(shù)字形式定義的承諾(commitment),包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議[6]。當條件成立時自動去執(zhí)行,不需要三方參與共享程序代碼,具有去信任、經(jīng)濟高效、無需三方仲裁的特點。

    2 區(qū)塊鏈安全風險分析

    區(qū)塊鏈詳細架構如圖1所示。與TCP/IP四層模型的分層結構有些許相近,區(qū)塊鏈主要分為數(shù)據(jù)層、網(wǎng)絡層、共識層、激勵層、合約層和應用層,各層之間相互配合實現(xiàn)P2P的共識模式。通過針對區(qū)塊鏈模型不同層級進行風險分析,使得后續(xù)評估模型的構建更為準確。區(qū)塊鏈的數(shù)據(jù)層使用大量密碼學算法確保安全,如非對稱加密、哈希加密等,主要進行數(shù)據(jù)存儲,具有典型中心化和封裝鏈式結構的特點。而區(qū)塊鏈網(wǎng)絡層由P2P網(wǎng)絡構成,確保節(jié)點連接和通信,進行廣播驗證等操作。區(qū)塊鏈共識層包含共識機制算法,通過共識選舉記賬節(jié)點,同時進行賬本同步,確保全網(wǎng)節(jié)點交易數(shù)據(jù)一致。激勵層一般僅作用于公鏈,進行代幣發(fā)行機制和分配機制,懲罰不守規(guī)則的節(jié)點。合約層封裝腳本算法和合約,使區(qū)塊鏈具有可編程的特性。應用層則封裝了各種場景和案例[7]。

    圖1 區(qū)塊鏈詳細架構Fig.1 Blockchain detailed architecture

    上述架構中激勵層常用于聯(lián)盟鏈,其他層為區(qū)塊鏈共有層級。因此本節(jié)將對應劃分的區(qū)塊鏈架構,從區(qū)塊鏈應用層、智能合約、共識算法、網(wǎng)絡層和數(shù)據(jù)層五方面進行簡要的風險分析,如圖2所示。

    圖2 區(qū)塊鏈各層安全風險分析Fig.2 Blockchain detailed architecture

    2.1 應用層風險分析

    風險主要來自以下十方面:

    ① 注入漏洞。當不可信數(shù)據(jù)作為命令或查詢的一部分發(fā)送給解釋器時,會發(fā)生注入漏洞,如SQL、NoSQL、OS和LDAP注入[8]。同時由于區(qū)塊鏈部分項目及應用部署搭載在Windows系統(tǒng)上,因為在Window系統(tǒng)中,當前目錄下的DLL會被先運行,攻擊者可以設計偽裝LPK.DLL,通過這種方式讓系統(tǒng)優(yōu)先加載有風險的代碼段,在DLL中調(diào)用系統(tǒng)原函數(shù)。

    ② 失效的身份認證。當認證、會話管理等功能在落實過程中出現(xiàn)漏洞時,黑客就可以針對密碼、密鑰和會話令牌進行攻擊,導致身份認證失效。此外黑客也可以利用其他實施過程的缺陷實現(xiàn)短時間或長期侵占用戶身份。

    ③ 敏感數(shù)據(jù)泄漏。許多區(qū)塊鏈Web應用程序和API不能正確保護敏感數(shù)據(jù),攻擊者可能會竊取或修改這些缺乏安全保護措施的數(shù)據(jù)[9]。例如攻擊者可以獲取用戶在傳輸、存儲過程中的身份數(shù)據(jù)、財務明細等信息,進一步實現(xiàn)信用卡欺詐、身份盜用等手段。

    ④ 惡意XML外部實體(XXE)。對用區(qū)塊鏈Web應用中許多舊的或配置不佳的XML處理器評估XML文檔中的外部實體引用。外部實體可用于使用文件URI處理程序、內(nèi)部文件共享、內(nèi)部端口掃描、遠程代碼執(zhí)行和拒絕服務攻擊來公開內(nèi)部文件[10]。

    ⑤ 跨站腳本(XSS)。通過應用程序在未經(jīng)適當驗證或轉義的情況下,更新用戶提供數(shù)據(jù)的現(xiàn)有網(wǎng)頁等方式,在受害者的瀏覽器中執(zhí)行腳本,從而劫持用戶會話,破壞網(wǎng)站或?qū)⒂脩糁囟ㄏ虻綈阂饩W(wǎng)站[11]。

    ⑥ 安全配置錯誤。操作系統(tǒng)、框架、庫和應用程序通常出現(xiàn)不安全的默認配置、不完整或特殊配置、開放的云存儲、錯誤配置的HTTP標頭以及包含敏感信息的詳細錯誤消息的結果,這些配置非常容易被黑客利用[12]。

    ⑦ 不安全的反序列化。反序列化是從磁盤文件或數(shù)據(jù)庫讀取對象。不安全的反序列化通常導致遠程代碼執(zhí)行、重播攻擊,注入攻擊和特權升級攻擊[13]。區(qū)塊鏈應用由Java語言開發(fā)的占比不低,Java反序列化漏洞在應用和智能合約的開發(fā)中危害較重。

    ⑧ 組件(如庫、框架和其他軟件模塊)以與區(qū)塊鏈應用程序相同的權限運行。如果一個易受攻擊的組件被利用,這種攻擊可能會導致嚴重的數(shù)據(jù)丟失或服務器接管[11]。

    ⑨ 不安全的加密存儲。由于加密算法的強度太弱或者沒有對密碼等需要保護的字段進行加密,導致存儲數(shù)據(jù)很容易被破解。

    ⑩ 記錄和監(jiān)視不足,再加上事件響應缺失或無效集成,攻擊者可以進一步攻擊系統(tǒng),維持持久性,轉向更多的系統(tǒng)并篡改、提取或銷毀數(shù)據(jù)[10]。

    2.2 智能合約風險分析

    針對智能合約攻擊是區(qū)塊鏈中常見的問題,相關研究較為成熟。對合約本身風險主要來源以下幾種情況:代碼重入、DoS攻擊、龐氏攻擊、權限控制問題、整數(shù)溢出、操作數(shù)異常處理問題、偽隨機問題、delegatecall 委托調(diào)用、操縱區(qū)塊時間戳進行時間戳依賴攻擊以及競爭條件/非法預先交易。針對合約環(huán)境,存在逃逸漏洞、堆棧溢出、資源濫用及邏輯漏洞等問題,這也會導致智能合約產(chǎn)生風險。

    2.3 共識算法風險分析

    共識算法的風險主要來自以下幾方面:

    ① 安全性假設不可靠,存在優(yōu)勢節(jié)點、DoS攻擊和“51%”攻擊。以“51%”攻擊為例,如果攻擊者掌握很強算力,共識算法中缺乏對算力的約束,某一個節(jié)點控制了 51% 及以上算力,就有構造累計工作量超過當前主鏈的能力,引起篡改賬本等風險。

    ② 一致性不穩(wěn)定,如針對POW、POS算法進行雙花攻擊,結合MPC會導致POS節(jié)點離線問題的出現(xiàn)。同時區(qū)塊鏈的POS也常常受到長程攻擊,區(qū)塊鏈本身會被攻擊者利用可信硬件進行后門攻擊。

    ③ 擴展性差,針對區(qū)塊鏈共識層拓展性差的問題可以實現(xiàn)粉塵攻擊、空塊攻擊等。

    ④ 初始化困難,存在中心化、優(yōu)勢節(jié)點等問題。以中心化問題為例,較為典型的攻擊方式是幣齡累計攻擊,因為挖礦難度受到當前節(jié)點賬戶中的余額、每個節(jié)點持幣時間兩點因素的影響。因此攻擊者持有的節(jié)點在等待足夠長時間后,可以通過 Age 的增加來進一步攻擊整個P2P網(wǎng)絡。

    ⑤ 還有多種針對共識層的攻擊方式,如預計算攻擊。當POS 中攻擊者的節(jié)點占有了一定數(shù)量的算力,攻擊者就可以在當前算力范圍中通過控制 Hprev 計算Hnext,產(chǎn)生安全問題。此外短距離攻擊也較為常見,例如“賄賂攻擊”,這種攻擊主要影響POS共識機制。只要賄賂攻擊的成本小于貨物或者服務費用,此次攻擊就是成功的,但這種攻擊成本較高,對于共識算法風險影響較小。

    2.4 網(wǎng)絡層風險分析

    區(qū)塊鏈網(wǎng)絡層遭受的風險與傳統(tǒng)安全中網(wǎng)絡層遭受風險極其相近,傳統(tǒng)安全中大部分針對網(wǎng)絡層的攻擊也可在區(qū)塊鏈網(wǎng)絡層實現(xiàn)。其原理都是從網(wǎng)絡通信層面對網(wǎng)絡進行破壞,進而引起一系列的安全問題,常見的有針對路由表的日食攻擊、針對P2P網(wǎng)絡的DDoS攻擊。在數(shù)據(jù)進行跨域傳輸時,代理節(jié)點不安全也會為網(wǎng)絡帶來風險。此外對于區(qū)塊鏈中個別節(jié)點進行入侵,會導致失去節(jié)點掌控權或引發(fā)節(jié)點身份問題,從而方便黑客實現(xiàn)女巫攻擊等一系列攻擊方式,在此不多贅述。

    2.5 數(shù)據(jù)安全風險分析

    數(shù)據(jù)安全風險常常來自以下幾方面:

    ① 離鏈存儲的策略風險。這種策略使敏感的用戶數(shù)據(jù)遠離區(qū)塊鏈,允許連續(xù)的區(qū)塊鏈記錄和數(shù)據(jù)刪除功能。但外部鏈接系統(tǒng)通過傳統(tǒng)方法存儲數(shù)據(jù),在很大程度上破壞了區(qū)塊鏈的目的,這意味著數(shù)據(jù)更容易受到黑客攻擊、編輯和其他欺騙。

    ② 刪除加密密鑰的策略風險。GDPR明確要求刪除數(shù)據(jù),但刪除加密密鑰實質(zhì)上是通過使數(shù)據(jù)不可訪問而刪除數(shù)據(jù),從技術上講并不能清除數(shù)據(jù)。因此仍然易受攻擊。

    ③ 匿名化的風險。鏈上指針將主鏈信息連接到敏感的離鏈信息[14]。一旦脫鏈數(shù)據(jù)被破壞,鏈路就會中斷,鏈上的信息將是匿名的。但這種方法仍然會在主鏈上留下數(shù)據(jù),雖然很困難,但仍然可以從區(qū)塊鏈中獲得識別信息。

    ④ 集中式后端系統(tǒng)。創(chuàng)建集中式的后端系統(tǒng),使數(shù)據(jù)可以匿名,不中斷任何鏈,讓GDPR、區(qū)塊鏈和平共存,但破壞了區(qū)塊鏈的基礎。集中式管理的后端將數(shù)據(jù)控制反饋給企業(yè),增加了數(shù)據(jù)安全風險。

    3 區(qū)塊鏈安全測評模型

    按照《區(qū)塊鏈與分布式記賬信息系統(tǒng)評估規(guī)范》中要求的保密性、完整性、抗抵賴性、真實性以及可追溯性等質(zhì)量特性,結合區(qū)塊鏈安全風險分析,針對區(qū)塊鏈技術標準及安全防護體系,構建了一套區(qū)塊鏈安全測評模型架構/關鍵指標分析模型,如圖3所示。

    圖3 區(qū)塊鏈安全測評模型Fig.3 Blockchain security evaluation model

    3.1 數(shù)據(jù)層安全測評指標

    數(shù)據(jù)層針對數(shù)據(jù)存儲方式、密鑰管理體系、密碼算法標準、信道安全、硬件安全以及區(qū)塊安全的詳細測評項進行了劃分。

    ① 數(shù)據(jù)存儲方式:檢測區(qū)塊鏈是否使用了離線存儲。

    ② 密鑰管理體系:針對密鑰的生命周期,從創(chuàng)建、使用到結束進行分析,同時檢測密鑰使用范圍是否合規(guī),避免出現(xiàn)因密鑰管理體系導致的安全問題。

    ③ 密碼算法標準:部分區(qū)塊鏈底層密碼參考標準較低,因此評估時應結合國家最新出臺的通用密碼標準進行檢測,確保待評估區(qū)塊鏈底層密碼算法符合最新國密標準。

    ④ 信道安全:結合針對信道的攻擊檢測手段,對待檢測區(qū)塊鏈進行分析,防止區(qū)塊鏈硬件存在風險。

    ⑤ 硬件安全:測評區(qū)塊鏈中硬件是否存在后門植入等問題,避免從底層引入安全隱患。

    ⑥ 區(qū)塊安全:針對底層區(qū)塊生成時間、區(qū)塊間關系進行測評,確保底層區(qū)塊安全性。

    3.2 網(wǎng)絡層安全測評指標

    測評模型網(wǎng)絡層主要針對節(jié)點安全、文件配置、P2P網(wǎng)絡和通信過程進行測評。

    ① 節(jié)點安全:檢測入網(wǎng)驗證時節(jié)點是否安全、節(jié)點入網(wǎng)流程是否安全、入網(wǎng)過程中耗時是否可接受。對比網(wǎng)絡中可接受的節(jié)點損毀數(shù)量,分析節(jié)點損毀時對于網(wǎng)絡安全和性能帶來的問題。當節(jié)點出現(xiàn)叛變時,評估叛變節(jié)點數(shù)量是否在網(wǎng)絡可接受的欺騙范圍內(nèi)。分析區(qū)塊鏈對節(jié)點行為的審計流程、審計結果,從而確保節(jié)點為區(qū)塊鏈帶來的風險可被管控。

    ② 文件配置:針對文件配置合規(guī)性進行分析,判斷文件配置是否會為當前區(qū)塊鏈帶來風險。

    ③ P2P網(wǎng)絡:參考較為安全的網(wǎng)絡,對于帶測評區(qū)塊鏈網(wǎng)絡時延平均值進行測試。分析待測評區(qū)塊鏈網(wǎng)絡環(huán)境復雜度、抗DDoS程度,針對路由算法的安全性進行等級劃分。在傳輸環(huán)境保障方面,首先檢測區(qū)塊鏈是否構建了可信環(huán)境;之后分析網(wǎng)絡中數(shù)據(jù)是否使用同態(tài)加密確保數(shù)據(jù)安全;最后針對網(wǎng)絡中邊界網(wǎng)關進行安全性檢驗。

    ④ 通信過程:檢測區(qū)塊鏈節(jié)點通信時是否使用了雙向認證方式。針對聯(lián)盟鏈和私有鏈,判定是否對節(jié)點數(shù)據(jù)傳輸進行了限制,例如數(shù)據(jù)能否被未授權的節(jié)點讀取或修改。

    3.3 共識層安全測評指標

    共識層測評主要從共識算法、賬本安全和分叉管理三方面進行劃分。

    ① 共識算法:通過統(tǒng)計學方式,檢測區(qū)塊鏈中節(jié)點共識程度,保證全網(wǎng)各節(jié)點共識一致。當節(jié)點共識不一致時,對當前共識算法的容錯性進行測評。針對優(yōu)勢節(jié)點、后門問題進行檢測,確保共識過程中全網(wǎng)每個節(jié)點權利盡可能一致。

    ② 賬本安全:檢測全局賬本在各個節(jié)點的同步情況。針對全局賬本查詢的準確程度進行分析,評估出錯次數(shù)是否為可忽略值。分析賬本同步到節(jié)點的策略、局部賬本和全局賬本沖突的處理機制。對賬本備份恢復機制、可用情況和同步情況進行評估。

    ③ 分叉管理:針對當前區(qū)塊鏈對軟分叉或硬分叉的管理策略進行橫向?qū)Ρ仍u估。

    3.4 合約層安全測評指標

    合約層針對智能合約和合約環(huán)境兩方面進行評估。

    ① 智能合約:判斷智能合約是否圖靈完備。對部署前注冊審批、發(fā)布時后臺審計進行評估。對生產(chǎn)、使用、銷毀分別測試,記錄合約生命周期中相關操作,如設置合約的過期時間、銷毀所需條件等。在不同賬戶部署不同數(shù)量的合約,查詢某一賬戶下的所有智能合約、某一合約對應的部署賬戶地址[15]。測試合約的可用性。

    ② 合約環(huán)境:評估監(jiān)視策略(詳細約束和規(guī)則),檢查區(qū)塊鏈是否對操作碼結構進行維護。從而避免整數(shù)溢出及其他問題無法被發(fā)現(xiàn),確保合約虛擬機安全。

    3.5 應用層安全測評指標

    應用層針對賬戶體系、插件安全和區(qū)塊鏈應急響應進行評估。

    ① 賬戶體系:分析待測評區(qū)塊鏈是否嚴格實行分級策略,各級間訪問控制機制是否可以確保不出現(xiàn)越權等問題。

    ② 集成插件安全:分析插件本身是否具有漏洞。對于接口進行分析,檢測接口是否存在越權等問題。評估引入插件后,是否會對區(qū)塊鏈點對點傳輸?shù)葢锰攸c產(chǎn)生影響。

    ③ 區(qū)塊鏈應急響應:評估待測評區(qū)塊鏈是否使用風險感知平臺進行風險管控,區(qū)塊鏈預警平臺遭受攻擊時報警時延。

    4 結束語

    本文主要針對區(qū)塊鏈安全風險進行分析,面向區(qū)塊鏈提出了一套較為完整的安全測評模型?;诋斍叭藗儗^(qū)塊鏈各層架構的共識,從系統(tǒng)組成結構的角度對每層易受到的安全風險進行分析,指出當前各層可能存在的風險隱患,并對于一些攻擊產(chǎn)生的效果和攻擊實現(xiàn)的難易程度進行說明。結合國家發(fā)布的相關白皮書等技術指導,對于指標進行劃分,對指標中的關鍵點進行闡述,形成一套評估模型,便于后續(xù)的科研人員在此基礎上面向區(qū)塊鏈進行進一步的安全測評。

    猜你喜歡
    合約共識加密
    共識 共進 共情 共學:讓“溝通之花”綻放
    論思想共識凝聚的文化向度
    商量出共識
    人大建設(2019年12期)2019-11-18 12:11:06
    一種基于熵的混沌加密小波變換水印算法
    認證加密的研究進展
    基于ECC加密的電子商務系統(tǒng)
    別讓“PX共識”在爆炸中瓦解
    基于格的公鑰加密與證書基加密
    合約必守,誰能例外!——對“情勢變更”制度不可寄于過高期望
    荥阳市| 万全县| 宜君县| 克拉玛依市| 峨眉山市| 禄丰县| 景东| 佛学| 平塘县| 荔波县| 万载县| 沙湾县| 叙永县| 昌宁县| 秭归县| 宝鸡市| 台中市| 安多县| 赫章县| 靖江市| 来宾市| 临桂县| 桂林市| 孝感市| 巨野县| 普安县| 武清区| 靖远县| 台北市| 栖霞市| 淳化县| 祁门县| 遂溪县| 芮城县| 策勒县| 耿马| 循化| 辉县市| 鄢陵县| 新郑市| 寿宁县|