杜藝帆,叢紅艷
(1.西北大學 現代學院,西安 710130;2.西安工程大學 新媒體藝術學院,西安 710048)
網絡的飛速發展為人們生產與生活帶來了極大的便利,但與此同時網絡病毒傳播速度也隨之加快,網絡安全問題日益嚴重。安全漏洞是造成網絡安全問題的關鍵所在,其主要來源于網絡系統脆弱性。隨著網絡的不斷發展與普及,其在人們生產與生活中占據的地位逐漸上升,網絡病毒也隨之快速傳播,網絡安全正在經受著前所未有的威脅。若是網絡安全防御措施不足,就會受到非法侵入,致使網絡關鍵信息被篡改、偷竊等,嚴重會造成網絡系統的癱瘓,造成較大的經濟損失,威脅國家與大眾的信息與財產安全。由此可見,如何保障網絡安全具有至關重要的現實意義。通過調查研究發現,目前制約網絡發展的最大問題就是安全問題,由于網絡本質上是“無政府”的公用平臺,任何人均可以自由登陸,使得網絡安全保障具備較多的不確定因素(漏洞),為黑客提供了可乘之機。網絡安全問題主要來源于系統的脆弱性,主要表現在管理脆弱性、技術脆弱性與系統脆弱性。其中,管理脆弱性主要發生在網絡系統安全策略制定、實施、配置與控制過程中;技術脆弱性主要發生在硬件與軟件設計過程中;系統脆弱性主要發生在安全防護設備運行過程中。由于上述網絡系統脆弱性的存在,使得網絡具有較多的安全漏洞,使得別有用心的人可以通過安全漏洞在未授權背景下訪問或者破壞網絡系統,對網絡安全造成極大的威脅。任何網絡安全問題均是由安全漏洞引起的,對其進行精準檢測是提升網絡安全的根本手段。
網絡安全漏洞檢測是一個動態的過程,并且其難度會隨著網絡覆蓋范圍的擴大而增加。相較于發達國家來看,中國對于網絡安全漏洞檢測的研究較晚,但也取得了一定的研究成果。文獻[1]在感知網絡整體安全態勢的基礎上,應用黑盒遺傳算法進行相應的模糊測試,選取適當的目標函數與測試參數,測試停止后輸出結果即為網絡安全漏洞檢測結果;文獻[2]應用數據預處理模塊與協同分析模塊對網絡安全漏洞信息進行預處理與分析,以此為基礎,利用N-gram算法匹配漏洞信息與已知的漏洞特征,從而實現網絡安全漏洞的檢測;文獻[3]使用被動分簇算法明確簇首與網關節點,利用AFL模糊檢測工具過采樣安全漏洞樣本,結合前向反饋網絡和支持向量機構建安全漏洞判別模型,將待檢測網絡運行數據代入到判別模型中,輸出結果即為網絡安全漏洞檢測結果。上述安全漏洞檢測系統雖然能夠實現安全漏洞檢測功能,但是由于應用手段的自身缺陷,均存在著安全漏洞檢測效果較差的問題,無法滿足網絡系統的發展需求,故提出基于知識圖譜的網絡安全漏洞智能檢測系統設計研究。現有安全漏洞數據庫具有信息單一、數據分散、數據結構各異等缺點,這是影響安全漏洞檢測效果的關鍵因素。知識圖譜的出現可以有效解決上述問題,其能夠根據海量的安全漏洞信息構建安全漏洞知識圖譜,對安全漏洞信息進行聚合分析,挖掘安全漏洞關聯信息,可以為安全漏洞檢測提供更多的信息支撐,從而提升安全漏洞檢測整體性能。
作為網絡安全漏洞智能檢測系統的關鍵硬件,檢測器主要由管理器、檢測單元、通信器等部件構成,為了提升網絡安全漏洞檢測的精準度,對檢測器結構、邏輯模型與運行模式進行合理、科學地設計,具體設計過程如下所示。
網絡安全漏洞檢測器結構如圖1所示。

圖1 網絡安全漏洞檢測器結構示意圖
如圖1所示,在設計的網絡安全漏洞檢測器結構中,通信器主要承擔著安全漏洞數據、漏洞報表、控制指令、網絡郵件等的傳遞任務,與用戶、服務器、控制器等進行直接連接,可以實時將安全漏洞檢測結果傳輸給用戶與服務器,也可以實時將用戶控制指令傳輸給控制器,保障設計系統的通信順暢[4]。通信器上述功能主要是在BSD Socket的支撐下實現的,還需要遵循一定的數據格式與傳輸規則,其基礎運作原理為Socket API函數,具體調用方案需要根據實際情況來制定[5]。
管理器主要作用于檢測單元,決定著安全漏洞檢測任務執行過程中檢測單元如何調度,是檢測器中的核心部件。管理器功能實現的關鍵是配置文件,其中記錄了檢測單元信息、系統訪問權限信息等。當網絡系統安全漏洞檢測單元增加時,配置文件中也需進行相應的記錄。另外,管理器與通信器、檢測單元均是直接連接的,用于接收用戶反饋的控制指令與檢測單元的安全漏洞信息。當管理器接收到通信器傳輸的控制指令時,先對控制指令進行解譯,再以此為基礎制定檢測單元的控制動作[6]。當管理器接收到檢測單元傳輸的安全漏洞信息時,不需要對其進行解譯與分析,只需要將其直接轉發給通信器即可。
檢測單元是網絡安全漏洞檢測器的基石,是實現網絡安全漏洞智能檢測功能的程序實體。標準情況下,一個檢測單元對應著一種網絡安全漏洞的檢測,檢測單元之間保持著相互獨立的關系。若是存在新的安全漏洞,則應該采用PERL語言對新的檢測單元進行編制與添加。單一檢測單元主要由注冊部分、檢測部分與卸載部分構成,其管理難度較低,只需要在安裝過程中向管理器配置文件進行備份即可。
上述過程完成了網絡安全漏洞檢測器結構的設計,并對構成部件進行了詳細地描述與介紹,為檢測器功能的實現奠定基礎。
邏輯模型是網絡安全漏洞檢測器功能實現的主要依據,故此節在用戶、網絡系統、漏洞檢測等多方需求背景下,設計網絡安全漏洞檢測器邏輯模型,具體如圖2所示。

圖2 網絡安全漏洞檢測器邏輯模型示意圖
如圖2所示,網絡安全漏洞檢測器邏輯模型主要由3個部分構成,分別為用戶界面部分、檢測調度部分與漏洞檢測部分。其中,用戶界面部分秉持著簡潔易用的原則,為用戶提供多種類型的操作方式,滿足不同用戶的需求。用戶可以通過瀏覽器查詢到網絡安全漏洞檢測結果及其相關信息[7]。與此同時,高級用戶還能根據自身需求對漏洞檢測程序進行更改與完善,以此來提升網絡安全漏洞檢測整體性能。
檢測調度部分主要是基于安全漏洞數據庫與網關傳輸漏洞檢測請求來確定檢測目標網絡及其其他需求,制定檢測單元調度策略,并將其傳輸給漏洞檢測部分,為漏洞檢測提供指導作用。
漏洞檢測部分主要是通過分布式檢測單元對目標網絡系統存在的安全漏洞進行檢測、識別與預警,與此同時,判定目標網絡系統的脆弱性等級,給出相應風險防范措施。根據不同網絡用戶的需求,編制不同形式的安全漏洞檢測報告,并將其反饋給網絡安全管理員,其收到反饋結果后,制定相應的安全漏洞補救措施,以保證網絡系統的穩定運行,為用戶提供更優質的網絡環境。
常規情況下,檢測器運行模式主要有兩種,分別為單機檢測模式與C/S模式。當檢測器運行模式處于單機檢測模式時,只需要管理員對相關參數進行合理配置,即可實現檢測器的本地運行,判定網絡系統是否存在安全漏洞。需要注意的是,檢測器單機檢測模式不涉及與服務器的通信過程;當檢測器運行模式處于C/S模式時,涉及與服務器的通信過程,只有接收到服務器檢測指令后才開啟漏洞檢測單元,漏洞檢測結果通過通信方式反饋給網絡系統,并將其存儲于相應文件中,為后續安全漏洞檢測結果查詢提供便利[8]。在漏洞檢測指令完成后,繼續進入監控模式,直到網絡用戶下線為止。
上述兩種運行模式優勢與缺陷并存,無法為檢測器的穩定運行提供支撐。因此,此研究融合兩種運行模式的優勢部分,設計新的網絡安全漏洞檢測器運行模式,具體如圖3所示。

圖3 網絡安全漏洞檢測器運行模式設計圖
如圖3所示,通過單機檢測模式與C/S模式的有效結合,可以增加網絡安全漏洞檢測器運行的安全性以及可靠性[9]。
上述過程從結構、邏輯模型與運行模式3個方面出發完成了網絡安全漏洞檢測器的設計,為最終安全漏洞智能檢測的實現提供有力的硬件支撐。
安全漏洞知識圖譜可以表示安全漏洞、網絡實體、相關屬性等之間的復雜關聯關系,對其進行構建可以為后續網絡安全漏洞檢測提供更多的信息支撐,具體構建過程如下所示。
2.1.1 安全漏洞數據采集與預處理
安全漏洞數據采集與預處理是安全漏洞知識圖譜構建的首要環節[10],也是至關重要的環節。常規情況下,安全漏洞數據主要以非結構化文本形式存在,例如NVD、CVE等漏洞數據庫,每個漏洞數據庫存儲的數據種類存在著較大的差異性[11],使得安全漏洞數據表現形式、存儲位置較為隨機,為安全漏洞數據采集帶來了較大的困難[12]。針對上述安全漏洞數據特點,此研究選取網絡爬蟲對安全漏洞數據進行采集,具體如圖4所示。

圖4 基于網絡爬蟲的安全漏洞數據采集程序圖
以圖4所示程序對網絡安全漏洞數據進行采集,并將其整合為集合形式,記為X={x1,x2,…,xn},其中,n表示的是網絡安全漏洞數據的總數量。網絡爬蟲在安全漏洞數據采集過程中,容易受到網絡環境、惡意程序等干擾,致使安全漏洞數據存在著冗余、層次邏輯混亂、異常等現象,不利于安全漏洞知識圖譜的構建,故在安全漏洞知識圖譜構建之前,需要對網絡安全漏洞數據進行一定的預處理[13]。計算網絡安全漏洞數據集合中任意兩個數據之間的相似度,表達式為
(1)
式中,α(xi,xj)表示的是安全漏洞數據xi與xj之間的相似度;xi∩xj表示的是安全漏洞數據xi與xj的交集;xi∪xj表示的是安全漏洞數據xi與xj的并集;βΔ表示的是安全漏洞數據相似度計算輔助參數,取值范圍為0~1,需要根據網絡安全狀態實際情況進行科學地設置。
以公式(1)計算結果α(xi,xj)為基礎,判定安全漏洞數據是否為冗余數據,判定規則如下式所示:
(2)
安全漏洞異常數據檢測與刪除也是其預處理中的關鍵所在[14]。安全漏洞異常數據檢測因子計算公式為:
(3)

以公式(3)計算結果Ke為基礎,判定安全漏洞數據是否為異常數據,判定規則如下式所示:
(4)
式中,|Ke|表示的是安全漏洞異常數據檢測因子Ke的絕對值。


2.1.2 安全漏洞知識圖譜實體識別
安全漏洞知識圖譜實體識別主要是針對安全漏洞實體進行識別,是知識圖譜構建的主要依據之一。在網絡運行實際情況下,每個安全漏洞均具備獨一無二的ID,其對應的屬性信息也存在著較大的差異性。由此可見,能夠根據屬性信息對安全漏洞知識圖譜實體進行精準識別。
常規情況下,安全漏洞屬性信息主要包括漏洞風險數值、漏洞文件名稱、漏洞編程語言、漏洞爆發點等,為了方便后續漏洞實體的識別,對屬性信息進行統計,具體如表1所示。

表1 安全漏洞屬性信息統計表
如表1內容所示,每個安全漏洞均是由多個屬性信息構成的,以此為基礎,衡量未知安全漏洞與已知安全漏洞屬性信息之間的相關系數[16],計算公式為:
(5)
式中,χ(Pi,Qj)表示的是未知安全漏洞屬性信息集合Pi與已知安全漏洞屬性信息集合Qj之間的相關系數;α(Pi,Qj)表示的是未知安全漏洞與已知安全漏洞屬性信息的相似度;N表示的是屬性信息的總數量;εe表示的是誤差調整項,承擔著提升相關系數精度的任務。
以公式(5)計算結果χ(Pi,Qj)為基礎,制定安全漏洞知識圖譜實體識別規則,具體如下式所示:
(6)

通過上述過程完成了安全漏洞知識圖譜實體的精準識別,為最終知識圖譜的構建做好充足的準備工作。
2.1.3 安全漏洞知識圖譜關系抽取
在網絡實際運行過程中,安全漏洞知識圖譜主要存在4種依賴關系,分別為函數調用依賴關系、控制依賴關系、聲明依賴關系與數據流依賴關系,其是知識圖譜構建的基礎與前提之一[17]。因此,此節對上述關系進行描述與抽取。
為了方便后續安全漏洞知識圖譜關系的描述以及抽取,設置安全漏洞知識圖譜任意兩個節點為R1與R2,具體關系抽取過程如下所示:
1)函數調用依賴關系抽取:

2)控制依賴關系抽取:

3)聲明依賴關系抽取:

4)數據流依賴關系抽取:

依據上述描述在安全漏洞知識圖譜節點中進行搜索、識別與抽取,為后續安全漏洞知識圖譜可視化處理提供支撐。
2.1.4 安全漏洞知識圖譜可視化
以上述安全漏洞知識圖譜實體識別結果與關系抽取結果為依據,定義安全漏洞知識圖譜表示形式,設計安全漏洞知識圖譜結構,從而實現安全漏洞知識圖譜的構建與可視化。
此研究采用三元組表示安全漏洞知識圖譜,表達式為
G=(X′,P,R)
(7)
式中,G表示的是安全漏洞知識圖譜三元組表示形式;X′表示的是安全漏洞數據集合;P表示的是安全漏洞知識圖譜實體集合;R表示的是安全漏洞知識圖譜關系集合。
安全漏洞知識圖譜主要包含兩大結構,分別為漏洞實體結構與其他實體結構[18]。其中,漏洞實體結構中包含著安全漏洞屬性信息、基本信息等,其他實體結構中包含著網絡安防實體、網絡運行程序實體等。安全漏洞知識圖譜構建結果如圖5所示。

圖5 安全漏洞知識圖譜構建結果示意圖
上述過程完成了網絡安全漏洞知識圖譜的構建與可視化,為網絡安全漏洞智能檢測系統的實現打下堅實的基礎。
以上述網絡安全漏洞知識圖譜構建結果與網絡安全漏洞檢測器設計結果為依據,構建網絡安全漏洞智能檢測整體架構,制定網絡安全漏洞智能檢測具體流程(檢測器軟件程序),從而獲取最終網絡安全漏洞智能檢測結果,為網絡系統的穩定運行提供保障。
網絡安全漏洞智能檢測整體架構如圖6所示。

圖6 網絡安全漏洞智能檢測整體架構圖

基于FGqT-Match算法的網絡安全漏洞智能檢測程序如下所示。
階段一:FGqT索引構造。
FGqT索引(流圖索引)主要是基于漏洞數據匹配頂點對構造而成。其中,頂點對主要描述的是待檢測安全漏洞知識圖譜頂點u到已知安全漏洞知識圖譜頂點v的映射函數,記為[u,v]。需要注意的是,在漏洞數據匹配頂點對應用之前,需對其是否匹配進行精準驗證,驗證規則如下式所示:
(8)
式中,L1(u)與L1(v)表示的是漏洞數據匹配頂點u與v對應的標簽函數;L2(u,u′)與L2(v,v′)表示的是漏洞數據匹配邊(u,u′)與(v,v′)對應的標簽函數;u′表示的是待檢測安全漏洞知識圖譜中與頂點u連接的任意一個頂點;v′表示的是已知安全漏洞知識圖譜中與頂點v連接的任意一個頂點。
當漏洞數據匹配頂點對[u,v]滿足公式(8)全部約束條件時,則表示漏洞數據頂點u與v是匹配的,對其進行保留處理;當漏洞數據匹配頂點對[u,v]不符合公式(8)某一條約束條件時,則表示漏洞數據頂點u與v是不匹配的,對其進行刪除處理。
一個FGqT索引是由多個頂點對構成的(頂點對是匹配的),將其記為M={[u1,v1],[u2,v2],…,[un,vn]},其中,n表示的是漏洞數據匹配頂點對的總數量。
階段二:最優匹配序列獲取。
以上述構造的FGqT索引M={[u1,v1],[u2,v2],…,[un,vn]}作為依據,計算待檢測安全漏洞知識圖譜頂點中標簽數量與已知安全漏洞知識圖譜頂點中標簽數量比值,將其記為匹配概率,表達式為
(9)
式中,ζ表示的是匹配概率;|G|與|F|表示的是待檢測安全漏洞知識圖譜與已知安全漏洞知識圖譜中頂點候選集的大小;f(u)與f(v)表示的是待檢測安全漏洞知識圖譜與已知安全漏洞知識圖譜頂點中標簽數量。
以公式(9)計算結果ζ為基礎,判定當前子圖匹配序列{[u1,v1],[u2,v2],…,[un,vn]}是否為最優匹配序列,具體判定規則如下式所示:
(10)
式中,Ψ表示的是最優子圖匹配序列判定閾值,其需要根據安全漏洞知識圖譜實際情況進行具體的設置。
當不存在最優子圖匹配序列時,表明網絡系統中未存在安全漏洞;當存在最優子圖匹配序列時,表明網絡系統中存在安全漏洞,并且安全漏洞類型為子圖匹配到的已知安全漏洞知識圖譜對應的安全漏洞[20]。
綜上所述,在知識圖譜原理的應用下,實現了網絡安全漏洞智能檢測系統的設計與運行,最終獲取網絡安全漏洞檢測結果。
設置文獻[1]提出的黑盒遺傳算法、文獻[2]提出的N-gram算法、文獻[3]提出的被動分簇算法作為對比系統1、對比系統2與對比系統3,聯合設計系統共同進行網絡安全漏洞智能檢測對比實驗,以此來驗證設計系統的應用效果。
選取某局域網絡系統作為實驗對象,其覆蓋范圍較小,方便實驗的進行。單一實驗工況背景下,無論怎么增加實驗次數,獲得的實驗結論可信度均較低。因此,為了提升此研究實驗結論的可信度,在實驗進行之前,依據實驗對象——局域網絡系統實際情況,設置10種實驗工況,具體如表2所示。

表2 實驗工況設置表
如表2內容所示,設置的10種實驗工況中,安全漏洞數量、漏洞來源等均不一致,表明每種實驗工況對應的背景環境存在著較大的差異性,符合設計系統應用效果的測試需求。
為了直觀顯示設計系統的應用效果,選取適當的評價指標。從安全漏洞檢測精度與效率兩個角度出發,選取網絡安全漏洞漏檢率、網絡安全漏洞檢測F1值與網絡安全漏洞檢測響應時間作為評價指標。其中,前兩個評價指標表征的是安全漏洞檢測精度,后一個評價指標表征的是安全漏洞檢測效率。
網絡安全漏洞漏檢率計算公式為
(11)
式中,O表示的是網絡安全漏洞漏檢率,其與安全漏洞檢測性能呈現顯著的反比例關系,即漏檢率數值越小,表明安全漏洞檢測性能越好;htotal表示的是網絡系統中存在的安全漏洞總數量;h1表示的是檢測到的安全漏洞數量。
網絡安全漏洞檢測F1值計算公式為
(12)
式中,F1表示的是融合了精確率與召回率的評價因子,能更準確地衡量網絡安全漏洞檢測質量,該數值越大表明安全漏洞檢測性能越好;p表示的是安全漏洞檢測精確率;r表示的是安全漏洞檢測召回率。
網絡安全漏洞檢測響應時間計算公式為
T=T1-T0
(13)
式中,T表示的是網絡安全漏洞檢測響應時間,該數值越小表明安全漏洞檢測性能越好;T1表示的是網絡安全漏洞檢測結果輸出時間;T0表示的是網絡安全漏洞出現時間。
上述過程完成了評價指標的選取與計算公式介紹,為后續實驗結果分析提供依據。
3.3.1 網絡安全漏洞檢測精度分析
在實驗工況設置及評價指標選取的基礎上,進行網絡安全漏洞檢測實驗。根據表2中已知的安全漏洞信息,確定安全漏洞知識圖譜的表示形式。設計安全漏洞知識圖譜的結構。將安全漏洞的關鍵屬性和關系以節點和邊的形式進行建模,并確定節點之間的關聯關系。利用已構建的安全漏洞知識圖譜,輔助識別網絡中存在的潛在漏洞問題。采集檢測過程中網絡系統中存在的安全漏洞總數量及檢測到的安全漏洞數量,代入公式(11)獲得網絡安全漏洞漏檢率實驗結果,如表3所示。根據公式(11)計算安全漏洞檢測精確率及安全漏洞檢測召回率,代入公式(12)獲得網絡安全漏洞檢測F1值實驗結果,如表4所示。

表3 網絡安全漏洞漏檢率 %

表4 網絡安全漏洞檢測F1值
通過實驗獲得網絡安全漏洞檢測精度評價指標——網絡安全漏洞漏檢率、網絡安全漏洞檢測F1值如表3、表4所示。
如表3數據所示,在不同實驗工況背景條件下,應用設計系統獲得的網絡安全漏洞漏檢率低于對比系統1、對比系統2與對比系統3,其最小值達到了1.23%,而對比系統1、對比系統2與對比系統3的網絡安全漏洞漏檢率最小值分別為9.89%、8.45%、9.56。設計系統的網絡安全漏洞漏檢率較低,是因為設計系統通過對真實數據進行知識圖譜的建模和構建,通過定義安全漏洞知識圖譜的表示形式和結構,并進行可視化展示,系統可以更清晰地呈現安全漏洞之間的關聯信息。系統利用屬性信息識別安全漏洞實體,移除冗余數據和異常數據,這有助于用戶理解和分析漏洞之間的聯系,提高漏洞的發現和推斷能力,從而提高了檢測的準確性和可靠性。
如表4數據所示,在不同實驗工況背景條件下,應用設計系統獲得的網絡安全漏洞檢測F1值高于對比系統1、對比系統2與對比系統3,其最大值達到了9.50,而對比系統1、對比系統2與對比系統3的網絡安全漏洞檢測F1值最大值分別為5.59、6.23、7.12。設計系統的網絡安全漏洞檢測F1值較高,意味著漏洞檢測系統在同時考慮了準確率和召回率的情況下取得了更好的平衡,F1值高說明系統可以精確地識別安全漏洞,較少將正常的網絡流量誤判為漏洞或錯誤地報告漏洞。這有助于避免誤報、減少虛假警報,讓系統運行更加可靠和穩定。F1值高也意味著系統能夠高效地檢測出網絡中的真實漏洞,盡可能地避免漏報。提高召回率意味著漏洞檢測系統能夠更多地識別到實際存在的漏洞,及時采取措施進行修復和防護。
3.3.2 網絡安全漏洞檢測效率分析
根據上述實驗過程,記錄網絡安全漏洞檢測結果輸出時間及網絡安全漏洞出現時間,代入公式(13)獲得網絡安全漏洞檢測效率實驗結果,如圖7所示。

圖7 網絡安全漏洞檢測響應時間示意圖
如圖7數據所示,在不同實驗工況背景條件下,應用設計系統獲得的網絡安全漏洞檢測響應時間均低于對比系統1、對比系統2與對比系統3,其最小值達到了1 ms,而對比系統1、對比系統2與對比系統3的檢測響應時間最小值分別為1.5 ms、2 ms、2.8 ms。表明設計系統的網絡安全漏洞檢測效率更高。設計系統通過對大量真實數據進行預處理,去除冗余數據和異常數據,提高數據的質量和準確性。這樣可以使得系統對漏洞進行快速檢測和分析,從而減少響應時間。通過整體架構的設計和具體流程的制定,使得漏洞檢測能夠高效運行。
隨著網絡技術的發展與普及,網絡已經成為人們生產與生活中必不可缺的事物。隨之而來的網絡安全問題也日益嚴重,威脅著用戶信息的安全與網絡系統的穩定,成為制約網絡后續發展的關鍵所在,故提出基于知識圖譜的網絡安全漏洞智能檢測系統設計研究。通過實驗得出,所設計系統降低了網絡安全漏洞漏檢率,提升了網絡安全漏洞檢測F1值,縮短了網絡安全漏洞檢測響應時間,為安全漏洞檢測提供更有效的系統支撐。綜上所述,基于知識圖譜的網絡安全漏洞智能檢測系統可以為網絡安全領域帶來更高效、精準和智能的漏洞檢測和防護能力,也能夠為相關研究提供一定的借鑒作用。