胡 柳, 周立前, 鄧 杰, 李 瑞, 趙正偉
1(湖南信息職業(yè)技術學院 計算機工程學院, 長沙 410200)
2(湖南工業(yè)大學 計算機學院, 株洲 412007)
3(河北省眼科醫(yī)院 信息科, 邢臺 054000)
4(廣西民族大學 信息科學與工程學院, 南寧 530006)
網(wǎng)絡系統(tǒng)面臨不斷變化的蠕蟲病毒、DDOS、數(shù)據(jù)庫注入、掛馬等常規(guī)風險, 傳統(tǒng)的網(wǎng)絡安全設備, 如網(wǎng)絡防火墻、應用網(wǎng)關、IDS、IPS等設備, 具有相應的防護及保護能力, 在獲取到有危險的攻擊時, 需要進行多層處理, 從而導致眾多不確定性且存在誤報率和漏報率. 據(jù)國家互聯(lián)網(wǎng)應急中心發(fā)布的CNCERT互聯(lián)網(wǎng)安全威脅報告(2016年10月)顯示, 當月境內(nèi)感染網(wǎng)絡病毒的終端數(shù)量為194萬余個, 境內(nèi)被篡改的網(wǎng)站數(shù)量為4524個, 國家信息安全漏洞共享平臺(CNVD)收集整理信息系統(tǒng)安全漏洞1284個[1]. 網(wǎng)絡安全態(tài)勢評估技術能綜合各方面的因素, 從全局分析并響應網(wǎng)絡安全狀況, 為網(wǎng)絡安全提供可靠的參照依據(jù). 近年來, 針對網(wǎng)絡安全態(tài)勢有大量研究人員進行了詳細的實證研究, 設計并實現(xiàn)了大量網(wǎng)絡安全態(tài)勢評估模型或系統(tǒng).
文獻[2]提出一種基于時空維度分析的網(wǎng)絡安全態(tài)勢預測方法, 從攻擊方、防護方和網(wǎng)絡環(huán)境3方面提取網(wǎng)絡安全態(tài)勢評估要素, 從時間維度和空間維度進行網(wǎng)絡安全態(tài)勢預測, 通過對公用數(shù)據(jù)集網(wǎng)絡的測評分析, 該方法符合實際應用環(huán)境, 提高了安全態(tài)勢感知的準確性. 文獻[3]提出基于神經(jīng)網(wǎng)絡的網(wǎng)絡安全態(tài)勢感知方法, 設計了一種基于BP神經(jīng)網(wǎng)絡的網(wǎng)絡安全態(tài)勢評估方法, 為了解決要素與結果之間的不確定性及模糊性問題, 提出了基于RBF神經(jīng)網(wǎng)絡的網(wǎng)絡安全態(tài)勢預測方法, 并采用自適應遺傳算法對網(wǎng)絡參數(shù)進行優(yōu)化. 通過真實網(wǎng)絡環(huán)境驗證了方法的可行性和有效性. 文獻[4]提出了集對分析的可信網(wǎng)絡安全態(tài)勢評估與預測方法, 采用基于特征庫的方法審計網(wǎng)絡連接信息、系統(tǒng)管理信息、系統(tǒng)監(jiān)控信息和應用服務信息,結合改進的熵權法和層次分析法提取安全態(tài)勢指標權重, 并利用集對分析方法對安全態(tài)勢指標進行評估, 進而繪制網(wǎng)絡安全態(tài)勢圖. 仿真實驗結果表明, 該方法能夠準確有效地反映當前及未來的網(wǎng)絡安全態(tài)勢.
另外, 文獻[5]提出了一種基于D-S證據(jù)理論的網(wǎng)絡安全態(tài)勢預測方法, 文獻[6]提出了一種基于Elman神經(jīng)網(wǎng)絡的網(wǎng)絡安全態(tài)勢預測方法, 文獻[7]提出了一種基于Markov博弈模型的網(wǎng)絡安全態(tài)勢感知方法, 文獻[8]提出了基于信息融合的網(wǎng)絡安全態(tài)勢評估模型,文獻[9]提出了一種基于知識發(fā)現(xiàn)的網(wǎng)絡安全態(tài)勢建模與生成框架, 文獻[10]提出了一種實時的網(wǎng)絡安全態(tài)勢預測方法等.
針對小型網(wǎng)絡內(nèi)節(jié)點數(shù)據(jù)的特征, 本文提出基于支持向量機及自適應權重的網(wǎng)絡安全態(tài)勢預測模型,結合先驗知識方法提高分類的準確性, 通過在網(wǎng)絡中采集各節(jié)點網(wǎng)絡數(shù)據(jù)中的特征量作為樣本進行實驗與分析, 以驗證模型的有效性.
支持向量機(SVM)是一種可訓練的機器學習方法, 在解決小樣本、非線性和高維模式識別方面具有優(yōu)勢. Vapnik等人在研究統(tǒng)計學理論基礎上對線性分類器提出一種設計最佳準則, 從線性可分擴展到線性不可分的情況, 其主要思想有二點[11]:
(1)它采用非線性映射, 將低維空間轉(zhuǎn)換到高維空間從而實現(xiàn)線性可分, 采用核函數(shù)方法實現(xiàn)升維.
(2)在特征空間中構建最優(yōu)分割超平面, 得到全局最優(yōu)的學習器.
通過非線性映射, 將低維樣本特征空間映射到高維特征空間, 這一過程可能會出現(xiàn)維數(shù)災難, SVM利用核函數(shù)來解決這一問題, 通常使用的核函數(shù)有:
線性核函數(shù):
RBF徑向基:
多項式核函數(shù):
Sigmoid函數(shù):
LibSVM由臺灣大學林智仁等開發(fā)設計的一個SVM模式識別與回歸的軟件包, 它能通過簡單的配置完成分類問題, 擁有Java、Matlab、Ruby、Perl、Python、C、LabView等數(shù)十種語言版本[12], 本文將采用LibSVM進行樣本特征量值進行訓練, 在小型網(wǎng)絡中采集網(wǎng)絡數(shù)據(jù)核心數(shù)據(jù)并進行歸整, 獲取分類模型并進行驗證.
由于網(wǎng)絡及其附屬設備具有復雜性, 網(wǎng)絡中存在大量不確定性的因素, 根據(jù)其危害程度可將網(wǎng)絡安全評估等級分為四級, 具體級別、安全指數(shù)及相關說明如表1所示.
表1中各級別都對應有網(wǎng)絡的脆弱性、可控性、可恢復性、容災等特性等, 這里不再展開闡述.
表1 網(wǎng)絡安全態(tài)勢評估等級表
2.2.1 數(shù)據(jù)項選取
數(shù)據(jù)項的選取直接影響到實驗與分析的效果, 在實驗過程中將采用基于Snort的入侵檢測系統(tǒng)、防火墻和X-Scan漏洞掃描相結合的環(huán)境, 數(shù)據(jù)項的選取直接從上述三者中獲取.
(1) Snort數(shù)據(jù)項
Snort是一種基于libpcap的多平臺、實時的流量分析工具, 能有效記錄IP數(shù)據(jù)包. 其重要的字段有: 動作、協(xié)議、源和目標地址、源和目標端口、告警產(chǎn)生時間、告警等級等.
(2) 防火墻數(shù)據(jù)項
防火墻可以記錄內(nèi)外網(wǎng)絡之間的網(wǎng)絡通信, 有效保護內(nèi)部網(wǎng)絡不受侵害. 可以獲取的重要字段有: 產(chǎn)生時間、源和目的地址、源和目的端口、協(xié)議類型、持續(xù)時間、發(fā)送字節(jié)、接收字節(jié)、操作行為等.
(3) X-Scan數(shù)據(jù)項
X-Scan主要進行漏洞風險掃描并進行等級評估.通過在內(nèi)部進行指定IP范圍的掃描可以獲取以下信息: 操作系統(tǒng)類型與版本、端口狀態(tài)、端口BANNER、CGI漏洞、IIS漏洞、RPC漏洞及各類服務器弱口令等.
2.2.2 指標項
網(wǎng)絡數(shù)據(jù)復雜多樣, 不同的指標項對實驗結果將產(chǎn)生一些偏差, 本文在數(shù)據(jù)項選取的基礎上再增加以下指標:
(1) 連續(xù)告警時間: 設t時刻網(wǎng)絡設備捕捉到告警信息, 并在未來t+n時刻內(nèi)連續(xù)告警時間, 連續(xù)告警時間IP_n為:
其中,n為連續(xù)的時間間隔,為Snort在i時刻捕捉到的告警信息,為防火墻在i時刻捕捉到的操作告警行為,為X-Scan在i時刻捕捉到的漏洞告警信息.n的選值范圍為當未捕捉到告警信息時n值清零.
(2) 端口危險程度: 設在固定時間段s內(nèi), 各項監(jiān)測數(shù)據(jù)中捕捉到的危險項端口序列為D={D1,D2,D3,…,Dn}, 在s內(nèi)端口序列中各端口受功擊的值為P={P1,P2,P3,…,Pn}.
其中,m為捕捉到的網(wǎng)絡數(shù)據(jù)量,Wi為當前網(wǎng)絡數(shù)據(jù)中Dn端口危險級別為非安全.
(3) 漏洞危險識別指數(shù): 設在固定時間段s內(nèi), 各項監(jiān)測數(shù)據(jù)中捕捉的對漏洞序列L={L1,L2,L3,…,Ln},在s內(nèi)漏洞序列中各漏洞受功擊的值為T={T1,T2,T3,…,Tn}.
其中,m為捕捉到的網(wǎng)絡數(shù)據(jù)量,Wi為當前網(wǎng)絡數(shù)據(jù)中Ln漏洞危險級別為非安全.
2.2.3 數(shù)據(jù)歸一化
為了使數(shù)據(jù)項和指標值符合支持向量機的參數(shù)要求, 通過統(tǒng)一的方式進行數(shù)據(jù)歸一化, 使其范圍在[0,1]范圍內(nèi), 根據(jù)本文實際需要, 數(shù)據(jù)項和指標值的歸一化公式如下:
其中,F(i)為歸一化后的指標值,Di為當前指標值.
支持向量機較好的支持兩類問題的分類, 本文通過將數(shù)據(jù)項和指標值輸入預測模型, 得到的結果為安全和危險, 還不能較好深入?yún)^(qū)分當前網(wǎng)絡的安全態(tài)勢.在安全和危險的結果之上, 根據(jù)表1設計自適應權重策略方法進行深入的安全態(tài)勢細分.
根據(jù)表1的安全態(tài)勢等級劃分, 將安全指數(shù)0.0–0.2之間歸為相對安全, 0.2–0.5為輕度危險,0.5–0.8 為中度危險, 0.8–1.0 為高度危險, 利用IP_n、Pn、Tn的歸一值按不同權重策略進行劃分, 初始權重分配依次為: 40%、30%、30%. 權重策略計算結果D=IP_n*0.4+Pn*0.3+Tn*0.3.
在實驗過程中通過手動截取的數(shù)據(jù), 根據(jù)實際網(wǎng)絡數(shù)據(jù)不斷優(yōu)化權重值, 使態(tài)勢評估結果與實際結果接近. 最終的網(wǎng)絡安全態(tài)勢評估結果判定如表2所示.
表2 網(wǎng)絡安全態(tài)勢評估結果判定表
模型工作流程圖如圖1所示.
圖1 模型流程圖
根據(jù)本文提出的網(wǎng)絡安全態(tài)勢評估模型, 搭建的實驗環(huán)境如圖2所示.
圖2 實驗環(huán)境
通過在網(wǎng)絡內(nèi)部署監(jiān)測工具, 同時通過以下攻擊方式使監(jiān)測工具能獲取到相應的網(wǎng)絡數(shù)據(jù):
(1) PC1上傳帶有病毒的文件到FTP Server.
(2) PC1對Web Server進行數(shù)據(jù)庫注入攻擊.
(3) PC2對PC5發(fā)送大容量數(shù)據(jù)包.
(4) PC2嗅探服務器上的漏洞.
(5) PC1掃描內(nèi)網(wǎng)中存在的弱口令.
(6) PC2掃描內(nèi)網(wǎng)Server和PC3、PC4、PC5上開放的端口.
通過在真實的網(wǎng)絡環(huán)境中采集2.2節(jié)中所涉及的數(shù)據(jù)項和指標值, 為網(wǎng)絡安全態(tài)勢評估提供可靠的數(shù)據(jù)源.
預測模型是將獲取的已知分類數(shù)據(jù)進行訓練, 獲取相應的預測模型文件. 通過前期的網(wǎng)絡數(shù)據(jù)采集, 共采集到樣本數(shù)據(jù)2200條, 將其以Libsvm支持的格式進行存儲, 部分樣本數(shù)據(jù)如圖3所示.
圖3 采集的訓練數(shù)據(jù)
圖4中的數(shù)據(jù)是進行了歸一化后的采集到的網(wǎng)絡數(shù)據(jù)值, 通過Libsvm提供的Svmtrain進行訓練, 獲取預測模型文件.
利用獲取的預測模型文件和當前獲取的數(shù)據(jù)項和指標項進行網(wǎng)絡安全態(tài)勢預測, 結合 自適應權重策略進行深入分類, 在固定時間1 min內(nèi)采集到的網(wǎng)絡數(shù)據(jù)開展預測. 選取參與預測的10條記錄, 其評估結果如表3所示.
表3 部分預測結果
經(jīng)過與人工驗證樣本數(shù)據(jù)的結果對比, 上述10條記錄中有2條與結果存在出入, 在調(diào)整權重值為42%、25%、33%之后, 記錄中有1條與結果存在出入.
根據(jù)測試數(shù)據(jù)的實際預測值和期望值進行對比,如圖4所示.
圖4 期望值與預測值的對比
實驗結果表明, 利用支持向量機和自適應權重策略的網(wǎng)絡安全態(tài)勢評估模型在小型局域網(wǎng)內(nèi)對網(wǎng)絡安全的預測能進行有效的預測, 期望值與預測值結果比較接近, 能實時對小型局域網(wǎng)絡安全進行有效評估與監(jiān)控.
本文構建了一個基于支持向量機和自適應權重策略的網(wǎng)絡安全態(tài)勢評估模型, 通過設計網(wǎng)絡數(shù)據(jù)特征項和指標值, 利用Libsvm和自適應權重策略對采集的樣本進行訓練, 并采集了部分網(wǎng)絡數(shù)據(jù)進行預測分析.
網(wǎng)絡態(tài)勢評估模型設計過程中需要人工干預、分析、整理相關網(wǎng)絡數(shù)據(jù)開展模型訓練, 然后實時采集網(wǎng)絡中的數(shù)據(jù)并提取相應的指標值進行評估, 給出評估結果, 為網(wǎng)絡管理人員提供了網(wǎng)絡安全管理參考. 本實驗由于受樣本數(shù)據(jù)量和網(wǎng)絡環(huán)境的限制, 互聯(lián)網(wǎng)中存在的網(wǎng)絡攻擊方式層出不窮, 未來還需要對攻擊方式、指標項、預測方法進行深入的分析, 改進計算算法, 實現(xiàn)對網(wǎng)絡安全態(tài)勢更有效的評估.