王小英, 劉慶杰, 郭 娜, 龐國莉
(防災科技學院 信息工程學院, 河北 三河 065201)
計算機網(wǎng)絡(luò)技術(shù)不斷發(fā)展,各類網(wǎng)絡(luò)信息系統(tǒng)已經(jīng)延伸到了眾多領(lǐng)域,并在社會生活中發(fā)揮了巨大作用.網(wǎng)絡(luò)信息系統(tǒng)的不斷擴大推動了社會的發(fā)展和進步,同時也出現(xiàn)了較多的網(wǎng)絡(luò)安全威脅.在網(wǎng)絡(luò)信息社會中,信息系統(tǒng)的安全十分重要,近些年來,各種網(wǎng)絡(luò)惡意行為以及網(wǎng)絡(luò)漏洞不停出現(xiàn),網(wǎng)絡(luò)入侵也層出不窮,一些復雜的信息系統(tǒng)很容易成為APT攻擊目標,網(wǎng)絡(luò)安全狀態(tài)變得更加嚴峻[1-2].
APT攻擊是指對特定網(wǎng)絡(luò)的多方位且復雜的攻擊.防御APT攻擊需要針對特定的關(guān)聯(lián)組織和目標,通過長期監(jiān)控及信息收集,有針對性地對防護穿透和對抗進行研究,并且檢測不同層次的立體攻擊[3-4],最終達到目標檢測和情報保護等目的.網(wǎng)絡(luò)安全問題關(guān)系到社會眾多領(lǐng)域的穩(wěn)定發(fā)展以及巨大利益,因此,對面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別的研究成為領(lǐng)域內(nèi)重點課題,近年來也得到一些有意義的研究成果.文獻[5]提出基于One-Class SVM的APT攻擊下安全威脅事件隱蔽關(guān)聯(lián)識別方法,該方法利用支持向量機算法,對網(wǎng)絡(luò)安全威脅做分類處理,對個體結(jié)構(gòu)定義,利用變異和交叉的方式,優(yōu)化網(wǎng)絡(luò)安全威脅隱蔽目標規(guī)則,實現(xiàn)了對網(wǎng)絡(luò)安全威脅隱蔽目標識別.文獻[6]提出基于通信特征的APT攻擊下安全威脅事件隱蔽關(guān)聯(lián)識別方法.該方法采用APT通信特征,識別網(wǎng)絡(luò)安全威脅隱蔽目標.為了提高識別效果,根據(jù)bloom filter對報文做篩選和匹配處理,最終完成了對網(wǎng)絡(luò)安全威脅隱蔽目標識別.該方法的規(guī)則適應度較高,但該方法存在攻擊識別耗時長、效率低的問題.
針對上述研究方法中存在的缺陷,提出一種面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別方法.利用關(guān)聯(lián)規(guī)則構(gòu)建隱蔽目標識別模型,在此基礎(chǔ)上設(shè)計APT攻擊隱蔽目標識別的總體框架及流程,通過APT攻擊的可信度實現(xiàn)網(wǎng)絡(luò)安全威脅隱蔽目標識別.
關(guān)聯(lián)規(guī)則是數(shù)據(jù)挖掘領(lǐng)域中的重要技術(shù),能夠分析出數(shù)據(jù)庫各個領(lǐng)域間的關(guān)聯(lián),將其應用于APT攻擊數(shù)據(jù)關(guān)聯(lián)分析中,根據(jù)數(shù)據(jù)項集的支持度及置信度求出關(guān)聯(lián)規(guī)則的可靠程度,根據(jù)可靠程度強關(guān)聯(lián)規(guī)則生成隱蔽目標識別模型[7].
關(guān)聯(lián)規(guī)則的表現(xiàn)形式可描述為:設(shè)I={i1,i2,i3,…,im}為m個項集,并且集合中的ik代表數(shù)據(jù)項,I中的任意子集X代表數(shù)據(jù)項集合.設(shè)X的長度為k,則X稱為k項集.事務T代表全部項集I的子集[8],則有ti={i1,i2,…,ih,ii},并且X?I,利用t′i來表示各個事務.
不同事務組合表示事務數(shù)據(jù)庫D,D={t1,t2,…,ti,tk},假設(shè)X表示數(shù)據(jù)項集,并且X?I,設(shè)B為D中包含的X的事務數(shù),A為D中事務的總數(shù)量,則X的支持度為
(1)
支持度表示X的重要程度.數(shù)據(jù)項集X置信度的表達式為
(2)
置信度表示X的可靠程度.通常情況下,假設(shè)R為關(guān)聯(lián)規(guī)則,表現(xiàn)形式為X?Y的蘊含式,且
(3)
X?Y代表數(shù)據(jù)項集X在某個事務中出現(xiàn)時,Y也將出現(xiàn)在其中.Y為結(jié)果.
利用式(1)表示R的重要程度,即
sup(R)=sup(X∪Y)
(4)
利用式(2)表示R的可靠程度,即
(5)
最小支持度是數(shù)據(jù)項被關(guān)聯(lián)規(guī)則所要求最小值的支持度,用min_sup來表示.最小置信度則是關(guān)聯(lián)規(guī)則與可信度相符合的最小值[9],用min_conf來表示.當同時符合兩者時,稱其為強關(guān)聯(lián)規(guī)則.
利用關(guān)聯(lián)規(guī)則構(gòu)建隱蔽目標識別模型的步驟為:1)發(fā)現(xiàn)大于等于min_sup的所有數(shù)據(jù)項集為頻繁項集;2)根據(jù)min_conf,采用頻繁項集來獲得強關(guān)聯(lián)規(guī)則,具體步驟為:在所有頻繁項集中,選取頻繁項a,在a中隨機選取非空子集b,若符合
(6)
則可以生成隱蔽目標識別模型,即
(7)
在利用關(guān)聯(lián)規(guī)則構(gòu)建隱蔽目標識別模型的基礎(chǔ)上,進一步識別APT攻擊下的網(wǎng)絡(luò)安全威脅隱蔽目標.構(gòu)建APT攻擊隱蔽目標識別的總體框架,設(shè)計識別流程,根據(jù)關(guān)聯(lián)規(guī)則提取APT目標檔案數(shù)據(jù),將不同的網(wǎng)絡(luò)安全記錄關(guān)聯(lián)起來.在此基礎(chǔ)上求出APT攻擊可信度,根據(jù)絕對相容度更新APT攻擊可信度,實現(xiàn)網(wǎng)絡(luò)安全威脅隱蔽目標識別.APT攻擊隱蔽目標識別的總體框架如圖1所示.
圖1 隱蔽目標識別總體框架Fig.1 Overall framework for hidden target recognition
圖1中,F(xiàn)1、F2、F3分別表示操作系統(tǒng)、網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)設(shè)備日志.識別流程為:1)采用APT目標檔案根據(jù)屬性相關(guān)性將采集到的日志歸成上文;2)利用檢測算法整理,并對隱蔽目標相關(guān)的攻擊行為識別.
(8)
根據(jù)關(guān)聯(lián)規(guī)則對APT目標檔案數(shù)據(jù)提取,可以將不同的網(wǎng)絡(luò)安全記錄關(guān)聯(lián)起來,形式化為A′={Si′,R,W,C,G},其中,Si′為網(wǎng)絡(luò)安全的記錄集合;R為上文的關(guān)聯(lián)規(guī)則;W為有效時間;C為攻擊的可信度;G為攻擊目標.
面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別的步驟為:1)確定APT攻擊目標,其中有敏感、重要的數(shù)據(jù)等,構(gòu)建APT攻擊目標源,G={G1,G2,G3,…}代表攻擊目標;2)根據(jù)目標節(jié)點構(gòu)建APT攻擊的階段模型.
對不同來源的記錄做關(guān)聯(lián)分析,將形成上文的關(guān)聯(lián).利用上文來匹配規(guī)則數(shù)據(jù)庫,可以發(fā)現(xiàn)APT的攻擊,不同的記錄所對應不同的可信度.將所得到的不同網(wǎng)絡(luò)設(shè)備對APT攻擊的可信度做融合計算,可以獲得新的可信度,融合過程為
(9)
式中,m′i′(uk)、m′j(uk)分別為網(wǎng)絡(luò)設(shè)備i′和j對APT攻擊的可信度.利用式(9)計算證據(jù)間的相容系數(shù),可以得到網(wǎng)絡(luò)設(shè)備i′、j對APT攻擊uk的相容度di′(uk),即
di′(uk)=Ri′j′(uk) (i,j=1,2,…,n)
(10)
式中:Ri′j′(uk)為APT攻擊的絕對相容度;n為設(shè)備總數(shù).對APT攻擊的可信度進行更新,即
m′i′(ui′)_new=di′(uk)ωi′(ui′)
(11)
式中,ωi′(uk)為uk的權(quán)重.通過隱蔽目標識別模型的構(gòu)建以及對APT攻擊的可信度計算,實現(xiàn)了對網(wǎng)絡(luò)安全威脅隱蔽目標識別,其表達式為
p=ωi′(uk)+di′(uk)+Ri′j′sup(X)+conf(X)
(12)
為了驗證面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別方法的有效性,設(shè)計了仿真實驗.以MATLAB軟件為仿真平臺,在軟件中搭建APT攻擊下的網(wǎng)絡(luò)實驗環(huán)境,實驗設(shè)置用戶終端主機為4臺,通過互聯(lián)網(wǎng)訪問Web服務器,此時APT攻擊端能夠針對特定目標持續(xù)性攻擊主機,威脅網(wǎng)絡(luò)安全.實驗環(huán)境如圖2所示.
圖2 實驗環(huán)境Fig.2 Experimental environment
在上述實驗環(huán)境中,根據(jù)用戶習慣攻擊目標主機,并設(shè)置每臺主機的隱蔽目標源為20個,分布在100 m×100 m空間內(nèi).
測試4臺主機對隱蔽目標識別的準確率,識別結(jié)果將準確識別的目標與隱蔽目標重合,顯示出來的是未準確識別的目標.準確率越高,越能擴展復雜隱蔽目標識別能力.采用文獻[5]方法為對照組,得到對比測試結(jié)果.其中,二維空間的橫縱軸分別為x、y,實驗結(jié)果如圖3所示.
分析圖3可知,4組APT攻擊下的網(wǎng)絡(luò)安全隱蔽目標識別實驗中,所提方法的隱蔽目標識別準確率遠高于文獻[5]方法的識別準確率,說明所提方法可以準確地完成對攻擊的識別,還能夠擴展復雜隱蔽目標識別能力.
圖3 不同方法的隱蔽目標識別準確率對比結(jié)果Fig.3 Comparison of accuracy for hidden target recognition with different methods
在對隱蔽目標識別準確率測試的基礎(chǔ)上,進一步測試隱蔽目標識別耗時情況,并與文獻[6]進行對比,對比結(jié)果如圖4所示.
在測試網(wǎng)絡(luò)安全威脅隱蔽目標識別耗時時,識別耗時越長,APT隱蔽目標識別的效率越低.分析圖4可知,所提方法的隱蔽目標識別耗時較短,說明所提方法可以高效地完成對面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別.
圖4 不同方法的隱蔽目標識別耗時對比結(jié)果Fig.4 Comparison of time-consumption for hidden target recognition with different methods
為了識別APT攻擊中的網(wǎng)絡(luò)隱蔽目標,提出面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別方法.基于關(guān)聯(lián)規(guī)則構(gòu)建了隱蔽APT目標識別模型,設(shè)計隱蔽目標識別總體框架,確定APT攻擊目標,求出APT攻擊可信度,利用絕對相容度更新APT的攻擊可信度,實現(xiàn)網(wǎng)絡(luò)安全威脅隱蔽目標識別.分別對隱蔽目標識別準確率和隱蔽目標識別耗時展開測試,測試結(jié)果表明,在隱蔽目標識別攻擊時,所提方法具有較高的隱蔽目標識別準確率,隱蔽目標識別耗時較短,可以準確高效地完成對面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別.
在未來研究中,將對APT攻擊的入侵方式做出更深入的分析,進一步完善所提出的面向APT攻擊的網(wǎng)絡(luò)安全威脅隱蔽目標識別方法研究.