琭
(上海市網絡技術綜合應用研究所,上海 200335)
區塊鏈技術是加密算法、分布式數據存儲、共識機制、點對點傳輸等計算機處理手段的新型應用模式。區塊鏈的實用本質相當于一個完整的去中心化型數據庫,作為最底層的比特流處理技術,每一個數據塊組織都可與一串獨立的編譯密碼保持定向化關聯關系,且所有網絡交易信息都必須記錄于數據塊存儲結構之中,當核心處理主機確定驗證信息的有效性后,相關下級設備元件中才會生成全新的區塊應用組織[1-2]。所謂公有區塊鏈是指任何團體或個人都能進行連接的交易組織,與私有區塊鏈相比,該項結構組織能獲得區塊主機的直接認證,且所有客戶端元件都能參與到鏈條結構體的共識建交過程中。
在計算機網絡執行環境中,隨著已插入web漏洞數量的增加,外界環境的安全性承載能力會出現明顯的下降。為避免上述情況的發生,傳統C/S型網絡漏洞檢測系統針對拓撲遍歷網頁進行專項編碼,再根據緩沖區數據庫中已存儲信息的實際溢出條件,確定與網絡應用環境所匹配的安全性承載范圍極值。但此系統在安全性等級劃分方面所設定的判別條件過于寬泛,很難實現對web漏洞節點的細致化掃描。為解決此問題,設計基于區塊鏈技術的網絡安全漏洞檢測系統,在網絡爬蟲模塊、任務管理模塊等硬件執行設備的支持下,按需定義區塊鏈組織的實際交易格式,從而實現對系統功能需求的精確化分析。
網絡安全漏洞檢測系統的硬件執行環境由網絡爬蟲模塊、任務管理模塊、相關檢測模塊3類應用元件共同組成,具體搭建方法如下。
網絡爬蟲模塊是網絡安全漏洞檢測模塊的搭建基礎,其執行精度及實施效率直接影響系統最終的漏洞掃描結果精度值。在進行區塊鏈網頁抓取時,網絡爬蟲模塊的應用主要遵循最佳優先、廣度優先、深度優先三項處置策略。所謂最佳優先是指所有已訪問URL權限都必須存儲于檢測信息提取模塊之中,在執行網頁信息檢測時,已爬行URL種子庫可直接調取這些數據參量,從而避免非相關信息對網絡安全漏洞排列順序的影響[3]。廣度優先是指網絡安全漏洞檢測系統必須按照既定搜索策略,實施對數據參量的掃描與處理,從而使得未爬行URL種子庫可借助檢測頁面直接與系統提取模塊相連,實現 對系統廣度檢測條件的無限擴張。深度優先是指網絡爬蟲模塊必須在URL權限的作用下,直接與Internet區塊鏈相連,當所有信息參量完全轉存至漏洞數據存儲信息庫后,檢測信息提取模塊才會停止對數據信息的轉存與錄入,從而實現對待掃描web漏洞覆蓋范圍的無限擴張[4]。

圖1 網絡爬蟲模塊結構圖
任務管理模塊的執行功能包括對網絡安全漏洞檢測任務的開始、排序、添加、編輯、刪除、停止等多個處理部分。當區塊鏈用戶點擊任務管理模塊后,系統檢測界面會自動跳轉至任務管理器顯示列表,其中包含CPU、內存、硬盤、WLAN、藍牙、以太網等多個任務操作選項。其中,CPU任務可顯示安全漏洞檢測系統的當前網絡布施形式,通常情況下,該元件結構體的平均占用率越低,系統所表現出的檢測運行速率也就越快,反之則會造成嚴重的系統卡頓現象[5]。內存任務表現了檢測系統的現有運行狀態,若待掃描的網絡安全漏洞總數值水平過高,則會造成內存占用數值的持續上漲,最終使區塊鏈網絡陷入相對復雜的執行應用狀態。硬盤狀態能夠描述系統所承載的網絡安全漏洞檢測任務的具體數值情況,若該項數值指標的表現數值過大,則會導致系統檢測精準性的持續下降[6]。WLAN、藍牙、以太網3類任務指令并不能獨立存在,一般情況下,三者總是處于相同的應用連接狀態,能夠反映系統檢測指令的實際執行強度。
XSS漏洞檢測模塊可直接從數據庫t-urls表中讀取與網絡爬蟲相關的安全漏洞檢測字符串參數,并利用這些數據信息,構造全新的待檢測URL隊列形式,從而讀取XSS漏洞載荷中可被替換的查詢字符串定義值,也就是XSS漏洞檢測代碼,但這些信息參量卻只能保存在xsspayload.txt區塊鏈文件之中。在利用爬蟲模塊的提取目標保持不變時,XSS漏洞檢測模塊中的區塊鏈網址與數據存儲表單也始終保持不變。根據所獲取網絡完全漏洞數據形式的不同,XSS漏洞檢測模塊的源碼編譯行為可在GET或與POST型之間來回變換,直至系統應用主機中生成唯一的漏洞數據檢測結果[7-8]。在區塊鏈主機的支持下,若安全漏洞數據的響應狀態碼保持為2XX形式,則表示目標網絡中不存在明顯的XSS型漏洞;若安全漏洞數據的響應狀態碼為2XX形式,且網絡服務器中會隨之生成一系列的HTML文檔,則表示目標網絡中存在明顯的XSS型漏洞。根據上述信息檢測結果,與區塊鏈漏洞表進行對比,如果不存在數據沖突行為,則可將判別結果直接反饋至系統檢測主機之中。

表1 XSS型漏洞數據檢測原理
SQL注入漏洞檢測模塊采用經典的and搭建方法,即“and 1命名代表網絡安全漏洞數據的輸入節點”、“and 2命名代表區塊鏈組織的射入節點”。出于服務連續性考慮,and 1命名只能定義特殊的字符連接形式,且在網絡爬蟲模塊的調度下,若CPU任務指令的承載水平不斷提升,則該類節點的最終表現形式也會逐漸發生改變,直至其中通過的網絡安全漏洞信息總量能夠完全滿足系統主機的核心檢測需求[9]。and 2命名可定義與網絡安全漏洞數據相關的特征碼參量,隨著任務管理模塊內已運行信息指令總量的提升,內存系數指標開始不斷變化,當該數值參量的表現形式逐漸趨于穩定時,系統檢測主機即可判定SQL型信息漏洞已注入區塊鏈應用環境中[10]。與XSS漏洞檢測模塊不同的是,SQL注入漏洞檢測模塊可同時面對多個網絡安全漏洞數據的攻擊行為,且能夠跟隨網絡爬蟲模塊的執行變化行為,更改與區塊鏈組織相關的信息輸入控制指令。

表2 SQL型注入漏洞數據檢測原理
CSRF型網絡安全漏洞的物理攻擊能力相對較強,可直接作用于系統網絡爬蟲模塊與任務管理模塊,在Csrftester應用軟件的作用下,該模塊可屏蔽掉一切不必要的區塊鏈連接行為,從而使核心控制主機的檢測實施能力得到有效促進。Csrftester軟件可面對單項網絡安全漏洞數據進行信息抓取,再按照誤報率由高至低的排列形式,剔除其中的不必要信息連接參量,降低漏洞數據對于系統檢測主機的核心攻擊強度[11]。由于CSRF型漏洞檢測技術的應用行為相對較為完善,該模塊可直接爬取區塊鏈組織內的網絡安全信息條例,再通過分級定義form1、form2的方式,按需滿足檢測主機的實際處置權限,當數據庫中暫存的網絡安全漏洞數據總量不再發生改變時,模塊可直接認定CSRF型漏洞已完成對區塊鏈網絡的入侵性攻擊。

表3 CSRF型漏洞數據檢測原理
在網絡安全漏洞檢測系統應用模塊的支持下,按照區塊交易格式定義、區塊鏈智能合約連接、系統功能需求分析、用例圖構建的處理流程,實現基于區塊鏈技術網絡安全漏洞檢測系統的順利應用。
系統核心檢測主機需要將任務管理模塊的連接請求封裝成區塊交易的形式,再借助各級輸出信道,將這些數據包信息發送給網絡客戶端節點,具體交易字段的設計格式如下:
1)from:區塊鏈from交易是一個長度為20字節的目標檢測地址,能夠標識交易請求初始發起點的地址信息。
2)to:區塊鏈to交易也是一個長度為20字節的目標檢測地址,能夠標識交易接收節點所處的地址信息,但若系統內網絡安全漏洞數據的檢測指令需要智能合約的配合,則此地址可以非填寫狀態存在[12]。
3)gas:區塊鏈gas交易是隸屬于bigInteger數據范疇的信息檢測行為,其標識處理過程能夠為系統檢測指令提供可直接消耗的網絡安全漏洞數據,并通過幣值兌換的方式,得到準確的數據檢測結果,當交易結束時,未被消耗的gas會直接退回原始發起節點,從而彌補區塊鏈網絡中或缺的物理信息參量。
4)gasPrice:區塊鏈gasPrice交易也是隸屬于bigInteger數據范疇的信息檢測行為,其標識處理過程能夠記錄區塊鏈網絡中的gas消耗實值,通常情況下,可用字節兌換率來表示,在網絡安全漏洞數據檢測實值不超過理想限度條件時,gas交易的設置量也始終保持為網絡默認值。
5)value:區塊鏈value交易雖具備bigInteger數據的連接能力,但很難直接面對系統數據庫中暫存的網絡安全漏洞信息,因此只能標識交易過程中發起節點向接收節點傳輸的信息參量實值。
6)data:區塊鏈data交易是滿足十六進制編碼需求的信息字符串,能夠標識該次檢測指令中附帶網絡安全漏洞信息的具體數值量條件,當編譯好的智能合約進入區塊鏈網絡后,所有滿足系統處理需求的安全漏洞數據都可被記錄在該次信息交易之中[13]。
7)nonce:區塊鏈nonce交易可在暫存的網絡安全漏洞數據中做出明確記錄標注,當系統檢測指令使用相同的交易請求時,最近一次的物理操作便可覆蓋前一次的操作記錄,從而實現對系統檢測結果的實時更新。
智能合約是區塊鏈代碼與區塊鏈數據的集合表現形式,可直接部署在網絡應用環境中。在漏洞數據制裁者節點與中間方節點的作用下,該合約協議可將區塊鏈事件與區塊鏈通知同時反饋至執行器結構體之中,從而使系統協商者與驗證者之間的發送關系得到滿足[14-15]。在區塊鏈網絡中,系統檢測節點始終保持并列分布狀態(如圖3中的1~5號節點),而隨著事件信息總量的增加,執行器中的強制者與觀察者會快速占據系統存儲倉庫中的智能合約文件,當驗證者與協商者之間的數據發送關系不再發生改變時,合約協議的執行效率也會隨之達到最大輸出數值。

圖2 區塊鏈智能合約生成示意圖
網絡安全漏洞檢測系統的功能需求分析包含如下幾個執行環節。
1)設備注冊功能:
為了實現區塊鏈組織對網絡安全漏洞數據的精確檢測,各項硬件執行設備在使用之間需要在網絡環境中進行注冊,且注冊后結構體必須保持初始的交互信息篩選能力[16]。
2)設備信息上傳:
區塊鏈網絡需要頻繁地對安全漏洞數據自身所運行的信息進行記錄,在此情況下,已接入區塊鏈網絡的硬件設備結構體可將自身的定頻檢測數值直接上傳至系統核心檢測網絡之中。
3)信息獲取功能:
系統硬件設備元件想要獲取網絡安全漏洞信息首先需要對檢測主機進行請求,經過既定權限驗證處理后,若數據參量滿足相應的權限檢測條件,區塊鏈智能合約才能捕獲到想要獲取的信息數據[17]。
用例分析是網絡安全漏洞檢測系統設計的末尾處理環節,在區塊鏈技術的支持下,隨接入主機數量的不斷增加,執行客戶端所負載的任務總量也會持續增長。當區塊鏈主機接入檢測網絡應用環境后,各項信息文件可在檢測客戶端的作用下,更改已錄入信息的存在形式,并可按照既定序列條件對其進行排列處理,待查詢需求得到核心主機的應用批準后,實現對系統檢測指令的刪除與處置[18-19]。至此,完成各項軟硬件執行條件的設置與搭建,在區塊鏈技術的支持下,實現網絡安全漏洞檢測系統的順利應用。

圖3 網絡安全漏洞檢測系統用例圖
為驗證區塊鏈技術網絡安全漏洞檢測系統的實際應用價值,設計對比實驗。在區塊鏈網絡環境中,統一所有IP網關參數,使其在既定執行時間內始終趨于穩定。分別連接多個Alive主機,使其與Windows NT、Solaris、HT等多個執行設備的調度行為保持一致,在既定檢測模塊的作用下,獲取多個數據檢測結果,以用于后續的實驗指標分析與研究,其中實驗組主機搭載基于區塊鏈技術的網絡安全漏洞檢測系統,對照組主機搭載C/S型網絡漏洞檢測系統。
定義opetare object代表連貫的網絡安全漏洞數據信息、data level代表單向的網絡安全漏洞數據信息、operate type代表雙向的網絡安全漏洞數據信息、description代表非連貫的網絡安全漏洞數據信息,在既定實驗環境中,分別統計各項指標參量的具體變化情況。

表4 實驗參數設置表
已知GYT指標能反映系統的安全性等級劃分能力,通常情況下,前者的指標數值越大,后者的劃分能力也就越強,反之則越弱。圖4記錄了實驗組、對照組GYT指標的具體變化情況。

圖4 GYT指標對比圖
分析圖4可知,在整個實驗過程中,實驗組、對照組GYT指標基本保持較為一致的變化趨勢。第30~45 min的實驗時間內,實驗組、對照組GYT指標均呈現不斷上升的變化趨勢,但前者的最大值達到69.9%,后者卻只能達到55.6%,二者的極值差達到14.3%。
KLD指標可描述系統web漏洞的實際掃描覆蓋范圍,一般情況下,KLD指標數值越大,系統掃描行為所覆蓋的范圍也就越寬泛,反之則越狹窄。表5記錄了實驗組、對照組KLD指標的具體變化情況。

表5 KLD指標對比表
分析表5可知,隨著實驗時間的增加,實驗組KLD指標始終保持相對穩定的波動變化趨勢,且第二組實驗的記錄均值結果明顯高于第一組。對照組KLD指標則始終保持不斷下降的變化趨勢,且第一組實驗的記錄均值結果明顯高于第二組。選取實驗組、對照組的極大值進行對比,可知二者之間的最大差值為2.8%,實驗組均值水平遠高于對照組。
綜上可知,在既定實驗環境下,隨著區塊鏈技術網絡安全漏洞檢測系統的應用,系統所具備的安全性等級劃分能力與web漏洞的實際掃描覆蓋范圍均得到不同程度的提升,不僅可解決由C/S結構引起的web漏洞掃描受限的問題,也能夠大幅提升網絡應用環境的安全性承載能力。
在網絡爬蟲模塊、任務管理模塊等多個硬件執行設備的作用下,基于區塊鏈技術的網絡安全漏洞檢測系統可根據漏洞數據的具體所屬類別對其進行分類處理,且隨著區塊交易格式的逐漸統一,系統的功能執行需求也得到充分滿足。從實用性角度來看,GYT指標、KLD指標的快速提升,可在擴大web漏洞實際掃描覆蓋范圍的同時,實現對系統安全性等級劃分能力的提升,具備較強的實際應用意義。