李 莉,宋 嵩,李冰珂
(東北林業(yè)大學 信息與計算機工程學院,哈爾濱 150040)
近年來,網(wǎng)絡安全事件頻發(fā)對各行業(yè)的信息基礎設施造成了許多負面影響。因此,從大量數(shù)據(jù)中辨識出網(wǎng)絡中的攻擊活動,并對攻擊行為意圖進行理解和預測,從宏觀角度對整個網(wǎng)絡的安全狀況進行把控并及時提出應對舉措,成為網(wǎng)絡安全管理人員的首要任務。在此背景下,網(wǎng)絡態(tài)勢感知技術(Network Security Situation Awareness,NSSA)應運而生[1]。
NSSA的主要作用是在動態(tài)網(wǎng)絡環(huán)境中,對網(wǎng)絡安全體系各部分的安全狀況和安全特征進行綜合評估。在此過程中,對各類有效的安全數(shù)據(jù)和信息進行組織[2-3],以呈現(xiàn)出整體的安全狀態(tài),從而提高網(wǎng)絡安全管理人員對整個安全體系的宏觀把控能力,為決策人提供有力支持[4]。NSSA是一種認知過程[5],可分為安全態(tài)勢覺察、安全態(tài)勢理解和安全態(tài)勢投射3個任務。安全態(tài)勢覺察包括數(shù)據(jù)預處理、關聯(lián)分析和結果呈現(xiàn)3個子任務,網(wǎng)絡安全態(tài)勢理解主要包括攻擊目的理解和攻擊行為預測的功能,而網(wǎng)絡安全態(tài)勢投射可分為投射準備、風險評估及態(tài)勢投射結果獲取,其中,風險評估是安全態(tài)勢感知技術的核心。
經過多年的發(fā)展,研究人員不斷將新理論引入安全態(tài)勢評估領域,并對傳統(tǒng)方法進行改進。在諸多理論中,網(wǎng)絡安全態(tài)勢評估方法按照其特性可分為統(tǒng)計分析法、基于知識推理的方法和灰度理論法。統(tǒng)計分析法被首先應用于態(tài)勢評估領域,但在其數(shù)學模型中,核心的評價函數(shù)構造和參數(shù)選擇需要該領域專家進行詳細評估,因此,評估結果會受專家個人觀點和意見的影響。基于知識推理的方法面臨的挑戰(zhàn)在于難以獲取推理規(guī)則和先驗概率等知識。灰度理論法在態(tài)勢評估上雖具有客觀性等特點,但其計算量巨大,無法在大型網(wǎng)絡環(huán)境下滿足用戶的需求。
針對上述問題,本文在網(wǎng)絡安全態(tài)勢評估中提出一種告警選擇方法。利用用戶偏好評估安全檢測系統(tǒng)中產生的告警,同時結合告警處理的時間成本進行綜合分析,完成告警處理優(yōu)先級選擇,以提高用戶的滿意度。
態(tài)勢感知[7]最早來源于軍事研究,并隨著網(wǎng)絡的興起而升級為網(wǎng)絡態(tài)勢感知(Cyberspace Situation Awareness,CSA)。本文所提及的網(wǎng)絡態(tài)勢均指網(wǎng)絡安全態(tài)勢。文獻[8]指出:基于融合的網(wǎng)絡態(tài)勢感知必將成為網(wǎng)絡管理的發(fā)展方向。網(wǎng)絡態(tài)勢感知的研究主要集中在網(wǎng)絡態(tài)勢預測與網(wǎng)絡態(tài)勢評估2個方面。
1)網(wǎng)絡態(tài)勢預測
網(wǎng)絡態(tài)勢預測的主要方法分為Markov模型[9]、時間序列分析以及博弈論等。Markov模型方法憑借計算狀態(tài)之間的轉移概率來推測最有可能發(fā)生的攻擊行為[10],該方法需要較長且連續(xù)的觀測序列才能保證預測的準確性。時間序列分析方法通過動態(tài)數(shù)據(jù)處理找尋相鄰觀測值前后的關系[11],其成本較低但無法處理大量數(shù)據(jù)集。博弈論[12]憑借攻防模擬給出最佳加固方案,但當網(wǎng)絡規(guī)模過大時,攻擊者的行為活動復雜度會變高,導致其運行負擔隨之增加。文獻[13]通過對攻擊者、管理員和用戶三方的行為進行博弈分析,建立Markov博弈模型對系統(tǒng)安全態(tài)勢進行分析,為管理員提供最佳加固方案。
2)網(wǎng)絡態(tài)勢評估
網(wǎng)絡態(tài)勢評估是指網(wǎng)絡管理人員根據(jù)已經辨識的惡意行為和檢測系統(tǒng)發(fā)出的告警,通過建立函數(shù)或統(tǒng)計學模型評估其對數(shù)據(jù)信息或者其他網(wǎng)絡資源造成的威脅[14]。在網(wǎng)絡安全態(tài)勢評估方法中,基于知識推理的方法面臨計算規(guī)模的挑戰(zhàn),基于統(tǒng)計的方法不具備合理的量化標準,其評估結果受專家個人的主觀影響,灰度理論具有十分精準的短期預測能力。但是上述方法主要評估的是靜態(tài)損失,對于已產生的告警缺乏合理分析。
本文對檢測系統(tǒng)中的告警進行基于用戶偏好及處理成本的評估,幫助用戶有效地確定告警處理的優(yōu)先級,以提高用戶對整體處理結果的滿意程度。
2.1.1 權重搜索方法
評分函數(shù)是指定網(wǎng)絡安全評估指標——偏好權重的最直接方式。由于線性評分函數(shù)可用于計算告警處理優(yōu)先級的排序結果[15],因此本文采用線性評分函數(shù)并設用戶偏好為權重向量ω=(ω[1],ω[2],…,ω[d])T,其中,權重ω[i]用于衡量用戶對屬性A[i]的偏好程度。本文設所有ω[i]均為數(shù)字值,同時將其歸一化至[0,1]。
在數(shù)據(jù)集D中有n個對象,每個對象包含d個屬性。pAi表示p在Ai上的值,其值越大表明用戶偏好程度更高。由評分函數(shù)f將對象的多個屬性值進行聚合得到其評分值,再根據(jù)該值返回對象次序。
定義1定義p與q在評分函數(shù)f下有如下關系:
iffpAi>qAi,pAi?qAi
iffpAi≥qAi,pAiqAi
ifff(p)>f(q),p?fq
ifff(p)≥f(q),pfq

定義3線性評分函數(shù)fω(p)為加權求和函數(shù):

定義4對于正整數(shù)k和權重向量ω,排序查詢結果Ttopk(ω)表現(xiàn)為一個有序列表,可使Ttopk(ω)?D,|Ttopk(ω)|=k且?p:p∈Ttopk(ω),?q∈D-Ttopk(ω)均有p?fωq。?p,q∈Ttopk(ω),p?fωq在top-k結果中對象p均排在對象q的前面。
2.1.2 告警選擇預算



本文的目標是選擇一個能使效用最大化的告警組H(H?A),同時成本(時間)不超過B。
(1)
目前沒有求解式(1)的效用函數(shù),因而其被稱為隱形效用函數(shù)[16-17]。文獻[18]引入distortion的概念來量化給定聚合規(guī)則實現(xiàn)這一目標的程度。distortion是最佳告警組的效率與所給告警組效率之間最壞情況的比率,它度量了偏好中所含信息對實現(xiàn)告警效率最大化的有用程度。
安全態(tài)勢評估流程為:
2)采用均勻抽樣的方法從Γ中得到權重候選集合S={ω1,ω2,…,ωS},基于此使用評分函數(shù)得到所有候選對象在權重上的排序集合。
3)基于定義1,返回一組對象(p,q)用于學習用戶偏好,通過用戶在對象(p,q)上表現(xiàn)出不同偏好程度,對權重空間進行約束。若用戶對p偏好程度較高,將(p-q)·ω>0加入用于約束權重空間的不等式組,否則,將(p-q)·ω<0加入不等式組。得到另一個權重空間Λ。
4)重復此學習過程,建立偏好集合。針對每個告警對于用戶偏好的效用建立效用函數(shù)vi(a),分別使用背包式方法和閾值設定方法結合處理成本對告警進行選擇,并以distortion來度量處理告警效率的最大化程度。

(2)
設對象p1,p2,…,pk為在Cpi(權重集合)中任意權重下均能得到的top-k對象,即對?ωl∈Cpi滿足pj·ωl>pj+1·ωl,其中j=1,2,…,k-1。由此可得不等式組:


Q(R,T)的值越小則說明WT的質量越高,同時得到的用戶的近似偏好權重的質量也越高。
定義cp為凸多面體,Vcp={ω1,ω2,…,ωl}表示cp幾何意義上的所有凸點,Bcp代表cp的邊界,Icp代表cp的內部權重的集合。設權重空間CP由凸多面體{cp1,cp2,…,cpm}組成,對象p、q在其內部可構造一個超平面H:(p-q)·ω=0,則H將CP分割成CP>和CP<2個部分。在此基礎上,根據(jù)用戶對對象p、q的偏好性,可將權重空間約束到CP的子集CP>或CP<上。經過有限次循環(huán),最終只會有一個cpi被保留,可以理解為不存在任何一個超平面與其相交。因此,在該凸多面體cpi中,任何一個權重下的top-k結果都一致,都可以作為用戶偏好的近似解。
有一種特殊情況,若權重落在超平面H上,則說明對象p、q具有相同的評估值,為避免此種情況的不確定性,定義cpi的排序結果為偏序結構,即如果pVcpq,那么對?ω∈Icp均有p?ωq。
如圖1所示,當維度d=2時,權重為ω[2]坐標軸上0到1的線段。

圖1 維度為2的示例Fig.1 Example when dimension d=2
當權重ω[2]=0,5個對象排序rA=5?1?3?4?2。當權重ω[2]=1,5個對象排序rF=4?5?2?1?3。考慮對象1和對象3在rA與rF中均有1?3,因此可知對象1在整個權重空間均優(yōu)于對象3。
如圖2所示,當維度d=3時,經過多次交互保留的權重空間僅為凸多面體區(qū)域K,其凸點有3個:{[3/4,0]T,[6/7,1/7]T,[1,0]T}。

圖2 維度為3的示例Fig.2 Example when dimension is 3
在其權重下5個對象的排序為:r[3/4,0]T=5?1?34?2、r[6/7,1/7]T=5?1?34?2、r[1,0]T=5?1?3?4?2。在所有凸點處,對象3的排序均表現(xiàn)優(yōu)于對象4,因此可將排序中的等于關系清除,即表現(xiàn)為排序一致,可將K中的任意權重作為用戶偏好近似值返回。
當維度d≥3時,該問題則轉變?yōu)橥苟嗝骟w的凸點的枚舉問題,其中多面體cp通過以下不等式組定義:

本文采用文獻[19]提出的方法來解決該問題。
由于R(候選對象在權重空間凸點處的排序集合)中所有排序均為嚴格的偏序結構,對象p、q的評分值不存在完全相同的情況,因此以公式h(p,q)=(|Rp?q|-0.5|R|)2評價其候選對象的優(yōu)劣性。分析可知存在2種情況:
情況1若對象p和q使h(p,q)的值越小,則無論選擇哪個對象都可以很好地均分R,表現(xiàn)越優(yōu)的對象,與其對應的評價值也越小。
情況2如果通過上述評價公式存在多個對象獲得相同評價值的情況,可形式化描述為給定凸點處的權重及其排序rω1和rω2。若對象p、q在排序中相對次序不一致,則存在超平面H:(p-q)·ω′=0使排序對應的凸點位于其兩邊,假設存在m組不同的對象符合上述情況,可將rω1轉換為rω2。具體變換規(guī)則為:在rω1經過超平面時,將該超平面對應的對象在該排序中的次序交換,反之亦然。
下文對情況2做形式化描述。設對象p、q將R={rω1,rω2,…,rωm}分割成Rp?q與Rq?p2個部分且|Rp?q|≥|Rq?p|,定義:
其中,r為Rq?p中任意抽取的序列,r0為Rp?q中任意抽取的序列,λr(p)代表對象p在r中所處的位置,λr0(p)代表對象p在r0中所處的位置,dist(r0,r)代表序列r0與序列r之間相對次序不同的對象對的數(shù)量,eval(p,q)的值越小,則說明該對象對越優(yōu)。
上文已經得到所有告警的用戶偏好權重,下文需要在成本約束下選擇能使告警處理效率最大化的一組告警。背包選擇法采用聚合規(guī)則將所有告警都視為被選中可直接進行處理的對象,對所有告警的偏好權重進行排序,貪婪執(zhí)行直到總成本(總時間)用盡。


由于采用固定閾值選擇效用函數(shù)會導致多種選擇方案且其distortion不理想,因此本文采用隨機閾值,高于閾值的效用所對應的告警即被選擇優(yōu)先處理。
設定閾值t,被選擇的告警集合為其偏好效用高于t的告警組成,當且僅當Ti={a∈A:vi(a)≥t},Vi?Ti。
隨機閾值的設定是一個輸入格式的分配,每一個閾值的效用都有一個分配,為此本文構建3種不同的機制,最終的選擇將在這3種機制之間隨機化。
機制1從集合T={(j,k):j,k∈[1,2 lnm]}中隨機選取一對(j,k),然后將閾值設定為lj,并使用生成的輸入曲線,貪婪地選擇Sk中偏好值最高的1/uk個告警。令Bj,k表示(j,k)的告警選擇集合。因為有j>0且k>0,在第一次轉換中,僅需考慮至少為lj的效用群體,在第二次轉換中,因為uj=2lj,|S*∩Sk|≤2|Bj,k|,所以Bj,k由貪婪選擇的告警組成且擁有最高的偏好值。因此,機制1實現(xiàn)的預期效率是:
第一次轉換為:
第二次轉換為:

機制3在A中隨機選擇一個告警,其實現(xiàn)的預期效率為n/m。
在實際應用中,以用戶偏好作為告警處理優(yōu)先級選擇的唯一衡量標準略顯片面,因此,本文引入告警風險指數(shù)的概念。風險指數(shù)主要以受告警威脅資產的重要程度、告警涉及相關漏洞的危害性、告警涉及相關漏洞的可利用性以及告警在防護性角度描述的危害性4個評估因子作為依據(jù)。本文采用ISO/IEC 27001中的定義對受告警威脅資產的重要程度進行量化,將其分級為可忽略、低、中、高、極高,分別對應賦值1、2、3、4、5;以NESSUS漏洞分析作為標準對涉及漏洞危害性進行量化,將其分級為低、中、高,分別對應賦值1、3、5;以NESSUS漏洞分析為標準將涉及相關漏洞的可利用性劃分為難、中、易并分別賦值1、3、5;依據(jù)現(xiàn)有防護資料將告警的可防護性劃分為易、中、難并分別賦值1、3、5。由此,告警風險指數(shù)可被描述為:


網(wǎng)絡安全告警的嚴重程度由其屬性字段上的評估值(實數(shù))來表示,該值區(qū)間通常為[0,1]。本文采用經典的數(shù)據(jù)生成算法[20]來生成實驗數(shù)據(jù)。
通過經典數(shù)據(jù)生成算法可以生成相關數(shù)據(jù)集、非相關數(shù)據(jù)集和均勻分布數(shù)據(jù)集3種數(shù)據(jù)集。均勻分布數(shù)據(jù)集中各個屬性字段值相互獨立且分布均勻,相關數(shù)據(jù)集中數(shù)據(jù)在不同維度上的優(yōu)劣性表現(xiàn)較為一致,算法對兩者進行測試時,性能差異不大,但非相關數(shù)據(jù)集中數(shù)據(jù)在不同維度上的優(yōu)劣性通常差異很大。因此,本文主要采用非相關數(shù)據(jù)集和均勻分布數(shù)據(jù)集測試算法的性能。為測試算法效率,本文實驗分別生成大小為100、1 000、10 000以及100 000的數(shù)據(jù)集,數(shù)據(jù)維度分別為2、3、4和5,此數(shù)據(jù)規(guī)模基本可以覆蓋所有網(wǎng)絡環(huán)境的告警測試用例。
本文算法的性能主要通過交互次數(shù)、等待時間和求解質量進行對比。其中,交互次數(shù)為算法得到最終用戶偏好所需要的交互總次數(shù),等待時間取算法進行每次交互所需時間的平均值,求解質量代表算法得到最終偏好值的近似程度。實驗對象為算法WSA-I和WSA-II,其中WSA-I算法適用于3.2節(jié)中的情況1,WSA-II算法同時適用于3.2節(jié)中2種情況。
結合實際應用環(huán)境,本文實驗設參數(shù)k=10,并將偏好權重ω初始化為[1/d,1/d,…,1/d]。當算法將對象(p,q)返回做交互時,ω對(p,q)進行評分并將評分值較好的對象作為結果進行反饋。本文在window7操作系統(tǒng)、Intel Core i3處理器、4 GB內存的計算機中,通過JDK1.8編譯完成算法設計。
實驗1設置參數(shù)k=10,數(shù)據(jù)維度d=3,在不同數(shù)據(jù)規(guī)模下測試2個算法的等待時間及交互次數(shù),實驗結果如圖3~圖6所示。

圖3 不同數(shù)據(jù)規(guī)模下均勻數(shù)據(jù)集中算法的等待時間Fig.3 Waiting time of algorithms in uniform dataset indifferent data scales

圖4 不同數(shù)據(jù)規(guī)模下非相關數(shù)據(jù)集中算法的等待時間Fig.4 Waiting time of algorithms in uncorrelated dataset indifferent data scales

圖5 不同數(shù)據(jù)規(guī)模下均勻數(shù)據(jù)集中算法的交互次數(shù)Fig.5 Interaction times of algorithms in uniform dataset indifferent data scales

圖6 不同數(shù)據(jù)規(guī)模下非相關數(shù)據(jù)集中算法的交互次數(shù)Fig.6 Interaction times of algorithms in uncorrelated dataset indifferent data scales
從圖3和圖4可以看出,在相同數(shù)據(jù)維度的情況下,算法WSA-II比WSA-I耗費更多的時間,這是因為WSA-II算法需要同時顧及2種情況來選擇最優(yōu)對象對。
從圖5和圖6可以看出,在相同數(shù)據(jù)維度下,算法WSA-II比WSA-I需要更少的交互次數(shù)。由此可見,在選擇最優(yōu)對象對時情況2是存在且有影響的。
實驗2設置參數(shù)k=10,數(shù)據(jù)規(guī)模為1 000,在不同數(shù)據(jù)維度下測試2個算法的等待時間及交互次數(shù),實驗結果如圖7~圖10所示。

圖7 不同數(shù)據(jù)維度下均勻數(shù)據(jù)集中算法的等待時間Fig.7 Waiting time of algorithm in uniform dataset indifferent data dimensions

圖8 不同數(shù)據(jù)維度下非相關數(shù)據(jù)集中算法的等待時間Fig.8 Waiting time of algorithms in uncorrelated dataset indifferent data dimensions

圖9 不同數(shù)據(jù)維度下均勻數(shù)據(jù)集中算法的交互次數(shù)Fig.9 Interaction times of algorithms in uniform dataset indifferent data dimensions

圖10 不同數(shù)據(jù)維度下非相關數(shù)據(jù)集中算法的交互次數(shù)Fig.10 Interaction times of algorithms in uncorrelated dataset indifferent data dimensions
從圖7和圖8可以看出,在相同數(shù)據(jù)規(guī)模的情況下,算法WSA-II比WSA-I要耗費更多的時間,原因與實驗1相同。
從圖9和圖10可以看出,在相同數(shù)據(jù)規(guī)模下,算法WSA-II比WSA-I需要更少的交互次數(shù),原因與實驗1相同。
通過分析實驗1和實驗2的結果發(fā)現(xiàn),在不同數(shù)據(jù)規(guī)模和數(shù)據(jù)維度下,算法的運行時間和用戶的交互次數(shù)在非相關數(shù)據(jù)集和均勻分布數(shù)據(jù)集中的表現(xiàn)差別不大。
實驗3設置數(shù)據(jù)規(guī)模為1 000,假設用戶可接受的最高交互次數(shù)為10次,測試2個算法求解的質量,實驗結果如圖11和圖12所示。

圖11 均勻數(shù)據(jù)集中算法的求解質量Fig.11 Solution quality of algorithms in uniform dataset

圖12 非相關數(shù)據(jù)集中算法的求解質量Fig.12 Solution quality of algorithms in uncorrelated dataset
從圖11和圖12可以看出,在均勻數(shù)據(jù)集和非相關數(shù)據(jù)集中,算法WSA-I經過10次交互后得到的解的質量均比算法WSA-II差。


圖13 4種方法的平均效率比例Fig.13 Average efficiency ratios of four methods

圖14 2種輸入格式的平均運行時間Fig.14 Average running times of two input formats
從圖13和圖14可以看出,在平均效率比例方面,對于確定的distortion最小化聚合規(guī)則通常優(yōu)于隨機化規(guī)則,但隨機化規(guī)則有較低的distortion,并且會將因效用函數(shù)信息缺失導致的效率損失控制在2%~3%,而背包式方法會導致較高的distortion,同時還需要較多的運行時間。
本文對用戶選擇優(yōu)先處理告警的偏好及處理告警所需的成本進行綜合分析,提出基于用戶偏好的權重搜索及告警選擇方法。挖掘用戶潛在偏好值,在有限的成本(時間)內,通過對效用設定隨機閾值選擇需優(yōu)先處理的告警,圈定用戶認為嚴重程度較高的待處理范圍,以此提高用戶的滿意度。實驗結果表明,該方法合理有效,能幫助用戶做出處理告警的較優(yōu)選擇。但在現(xiàn)實中,用戶可能對告警的選擇存在認知困難,不能對告警做出正確的偏好選擇,或用戶可能傾向于不做出偏好選擇,讓系統(tǒng)自行選擇處理優(yōu)先級,并且不同性能的用戶端其告警處理時間會存在較大差異,因而難以確定成本范圍。下一步將通過用戶調查并根據(jù)其結果對告警進行多用戶偏好設定,確定具體的告警處理優(yōu)先級選擇方案。