胡 柳, 周立前, 鄧 杰, 李 瑞, 趙正偉
1(湖南信息職業技術學院 計算機工程學院, 長沙 410200)
2(湖南工業大學 計算機學院, 株洲 412007)
3(河北省眼科醫院 信息科, 邢臺 054000)
4(廣西民族大學 信息科學與工程學院, 南寧 530006)
網絡系統面臨不斷變化的蠕蟲病毒、DDOS、數據庫注入、掛馬等常規風險, 傳統的網絡安全設備, 如網絡防火墻、應用網關、IDS、IPS等設備, 具有相應的防護及保護能力, 在獲取到有危險的攻擊時, 需要進行多層處理, 從而導致眾多不確定性且存在誤報率和漏報率. 據國家互聯網應急中心發布的CNCERT互聯網安全威脅報告(2016年10月)顯示, 當月境內感染網絡病毒的終端數量為194萬余個, 境內被篡改的網站數量為4524個, 國家信息安全漏洞共享平臺(CNVD)收集整理信息系統安全漏洞1284個[1]. 網絡安全態勢評估技術能綜合各方面的因素, 從全局分析并響應網絡安全狀況, 為網絡安全提供可靠的參照依據. 近年來, 針對網絡安全態勢有大量研究人員進行了詳細的實證研究, 設計并實現了大量網絡安全態勢評估模型或系統.
文獻[2]提出一種基于時空維度分析的網絡安全態勢預測方法, 從攻擊方、防護方和網絡環境3方面提取網絡安全態勢評估要素, 從時間維度和空間維度進行網絡安全態勢預測, 通過對公用數據集網絡的測評分析, 該方法符合實際應用環境, 提高了安全態勢感知的準確性. 文獻[3]提出基于神經網絡的網絡安全態勢感知方法, 設計了一種基于BP神經網絡的網絡安全態勢評估方法, 為了解決要素與結果之間的不確定性及模糊性問題, 提出了基于RBF神經網絡的網絡安全態勢預測方法, 并采用自適應遺傳算法對網絡參數進行優化. 通過真實網絡環境驗證了方法的可行性和有效性. 文獻[4]提出了集對分析的可信網絡安全態勢評估與預測方法, 采用基于特征庫的方法審計網絡連接信息、系統管理信息、系統監控信息和應用服務信息,結合改進的熵權法和層次分析法提取安全態勢指標權重, 并利用集對分析方法對安全態勢指標進行評估, 進而繪制網絡安全態勢圖. 仿真實驗結果表明, 該方法能夠準確有效地反映當前及未來的網絡安全態勢.
另外, 文獻[5]提出了一種基于D-S證據理論的網絡安全態勢預測方法, 文獻[6]提出了一種基于Elman神經網絡的網絡安全態勢預測方法, 文獻[7]提出了一種基于Markov博弈模型的網絡安全態勢感知方法, 文獻[8]提出了基于信息融合的網絡安全態勢評估模型,文獻[9]提出了一種基于知識發現的網絡安全態勢建模與生成框架, 文獻[10]提出了一種實時的網絡安全態勢預測方法等.
針對小型網絡內節點數據的特征, 本文提出基于支持向量機及自適應權重的網絡安全態勢預測模型,結合先驗知識方法提高分類的準確性, 通過在網絡中采集各節點網絡數據中的特征量作為樣本進行實驗與分析, 以驗證模型的有效性.
支持向量機(SVM)是一種可訓練的機器學習方法, 在解決小樣本、非線性和高維模式識別方面具有優勢. Vapnik等人在研究統計學理論基礎上對線性分類器提出一種設計最佳準則, 從線性可分擴展到線性不可分的情況, 其主要思想有二點[11]:
(1)它采用非線性映射, 將低維空間轉換到高維空間從而實現線性可分, 采用核函數方法實現升維.
(2)在特征空間中構建最優分割超平面, 得到全局最優的學習器.
通過非線性映射, 將低維樣本特征空間映射到高維特征空間, 這一過程可能會出現維數災難, SVM利用核函數來解決這一問題, 通常使用的核函數有:
線性核函數:

RBF徑向基:

多項式核函數:

Sigmoid函數:

LibSVM由臺灣大學林智仁等開發設計的一個SVM模式識別與回歸的軟件包, 它能通過簡單的配置完成分類問題, 擁有Java、Matlab、Ruby、Perl、Python、C、LabView等數十種語言版本[12], 本文將采用LibSVM進行樣本特征量值進行訓練, 在小型網絡中采集網絡數據核心數據并進行歸整, 獲取分類模型并進行驗證.
由于網絡及其附屬設備具有復雜性, 網絡中存在大量不確定性的因素, 根據其危害程度可將網絡安全評估等級分為四級, 具體級別、安全指數及相關說明如表1所示.
表1中各級別都對應有網絡的脆弱性、可控性、可恢復性、容災等特性等, 這里不再展開闡述.

表1 網絡安全態勢評估等級表
2.2.1 數據項選取
數據項的選取直接影響到實驗與分析的效果, 在實驗過程中將采用基于Snort的入侵檢測系統、防火墻和X-Scan漏洞掃描相結合的環境, 數據項的選取直接從上述三者中獲取.
(1) Snort數據項
Snort是一種基于libpcap的多平臺、實時的流量分析工具, 能有效記錄IP數據包. 其重要的字段有: 動作、協議、源和目標地址、源和目標端口、告警產生時間、告警等級等.
(2) 防火墻數據項
防火墻可以記錄內外網絡之間的網絡通信, 有效保護內部網絡不受侵害. 可以獲取的重要字段有: 產生時間、源和目的地址、源和目的端口、協議類型、持續時間、發送字節、接收字節、操作行為等.
(3) X-Scan數據項
X-Scan主要進行漏洞風險掃描并進行等級評估.通過在內部進行指定IP范圍的掃描可以獲取以下信息: 操作系統類型與版本、端口狀態、端口BANNER、CGI漏洞、IIS漏洞、RPC漏洞及各類服務器弱口令等.
2.2.2 指標項
網絡數據復雜多樣, 不同的指標項對實驗結果將產生一些偏差, 本文在數據項選取的基礎上再增加以下指標:
(1) 連續告警時間: 設t時刻網絡設備捕捉到告警信息, 并在未來t+n時刻內連續告警時間, 連續告警時間IP_n為:

其中,n為連續的時間間隔,為Snort在i時刻捕捉到的告警信息,為防火墻在i時刻捕捉到的操作告警行為,為X-Scan在i時刻捕捉到的漏洞告警信息.n的選值范圍為當未捕捉到告警信息時n值清零.
(2) 端口危險程度: 設在固定時間段s內, 各項監測數據中捕捉到的危險項端口序列為D={D1,D2,D3,…,Dn}, 在s內端口序列中各端口受功擊的值為P={P1,P2,P3,…,Pn}.

其中,m為捕捉到的網絡數據量,Wi為當前網絡數據中Dn端口危險級別為非安全.
(3) 漏洞危險識別指數: 設在固定時間段s內, 各項監測數據中捕捉的對漏洞序列L={L1,L2,L3,…,Ln},在s內漏洞序列中各漏洞受功擊的值為T={T1,T2,T3,…,Tn}.

其中,m為捕捉到的網絡數據量,Wi為當前網絡數據中Ln漏洞危險級別為非安全.
2.2.3 數據歸一化
為了使數據項和指標值符合支持向量機的參數要求, 通過統一的方式進行數據歸一化, 使其范圍在[0,1]范圍內, 根據本文實際需要, 數據項和指標值的歸一化公式如下:

其中,F(i)為歸一化后的指標值,Di為當前指標值.
支持向量機較好的支持兩類問題的分類, 本文通過將數據項和指標值輸入預測模型, 得到的結果為安全和危險, 還不能較好深入區分當前網絡的安全態勢.在安全和危險的結果之上, 根據表1設計自適應權重策略方法進行深入的安全態勢細分.
根據表1的安全態勢等級劃分, 將安全指數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.
在實驗過程中通過手動截取的數據, 根據實際網絡數據不斷優化權重值, 使態勢評估結果與實際結果接近. 最終的網絡安全態勢評估結果判定如表2所示.

表2 網絡安全態勢評估結果判定表
模型工作流程圖如圖1所示.

圖1 模型流程圖
根據本文提出的網絡安全態勢評估模型, 搭建的實驗環境如圖2所示.

圖2 實驗環境
通過在網絡內部署監測工具, 同時通過以下攻擊方式使監測工具能獲取到相應的網絡數據:
(1) PC1上傳帶有病毒的文件到FTP Server.
(2) PC1對Web Server進行數據庫注入攻擊.
(3) PC2對PC5發送大容量數據包.
(4) PC2嗅探服務器上的漏洞.
(5) PC1掃描內網中存在的弱口令.
(6) PC2掃描內網Server和PC3、PC4、PC5上開放的端口.
通過在真實的網絡環境中采集2.2節中所涉及的數據項和指標值, 為網絡安全態勢評估提供可靠的數據源.
預測模型是將獲取的已知分類數據進行訓練, 獲取相應的預測模型文件. 通過前期的網絡數據采集, 共采集到樣本數據2200條, 將其以Libsvm支持的格式進行存儲, 部分樣本數據如圖3所示.

圖3 采集的訓練數據
圖4中的數據是進行了歸一化后的采集到的網絡數據值, 通過Libsvm提供的Svmtrain進行訓練, 獲取預測模型文件.
利用獲取的預測模型文件和當前獲取的數據項和指標項進行網絡安全態勢預測, 結合 自適應權重策略進行深入分類, 在固定時間1 min內采集到的網絡數據開展預測. 選取參與預測的10條記錄, 其評估結果如表3所示.

表3 部分預測結果
經過與人工驗證樣本數據的結果對比, 上述10條記錄中有2條與結果存在出入, 在調整權重值為42%、25%、33%之后, 記錄中有1條與結果存在出入.
根據測試數據的實際預測值和期望值進行對比,如圖4所示.

圖4 期望值與預測值的對比
實驗結果表明, 利用支持向量機和自適應權重策略的網絡安全態勢評估模型在小型局域網內對網絡安全的預測能進行有效的預測, 期望值與預測值結果比較接近, 能實時對小型局域網絡安全進行有效評估與監控.
本文構建了一個基于支持向量機和自適應權重策略的網絡安全態勢評估模型, 通過設計網絡數據特征項和指標值, 利用Libsvm和自適應權重策略對采集的樣本進行訓練, 并采集了部分網絡數據進行預測分析.
網絡態勢評估模型設計過程中需要人工干預、分析、整理相關網絡數據開展模型訓練, 然后實時采集網絡中的數據并提取相應的指標值進行評估, 給出評估結果, 為網絡管理人員提供了網絡安全管理參考. 本實驗由于受樣本數據量和網絡環境的限制, 互聯網中存在的網絡攻擊方式層出不窮, 未來還需要對攻擊方式、指標項、預測方法進行深入的分析, 改進計算算法, 實現對網絡安全態勢更有效的評估.