孟慶杰,堯海昌
(1.南京工業(yè)職業(yè)技術(shù)大學(xué) 計(jì)算機(jī)與軟件學(xué)院,江蘇 南京 210023;2. 南京工業(yè)職業(yè)技術(shù)大學(xué) 江蘇省教育廳工業(yè)軟件工程技術(shù)研究開發(fā)中心,江蘇 南京 210023;3.南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210023)
隨著信息技術(shù)的普遍應(yīng)用和持續(xù)升級,各類信息安全問題也愈加嚴(yán)重,主要體現(xiàn)在以下幾個(gè)方面:(1)黑客的攻擊手段越來越先進(jìn)而且越來越隱蔽,新的攻擊手段被頻繁應(yīng)用到各類攻擊場景中,一般的安全產(chǎn)品如下一代防火墻、下一代入侵檢測系統(tǒng)等都無法全面地識別和檢測這些攻擊[1];(2)計(jì)算機(jī)用戶由于缺乏相關(guān)安全意識和安全知識,任意下載和使用各種來路不明的軟件或程序,會(huì)導(dǎo)致木馬、蠕蟲、病毒等惡意軟件的泛濫,而使用普通的殺毒軟件無法徹底清除;(3)在實(shí)際IT環(huán)境中存在一些別有用心或粗心大意的用戶,導(dǎo)致一些重要敏感數(shù)據(jù)被泄露或?yàn)E用,對各類組織的數(shù)據(jù)安全造成極大隱患。以上問題只是信息安全相關(guān)問題的“冰山一角”,在實(shí)際運(yùn)作中存在更為復(fù)雜的情況[2]。
有鑒于上述相關(guān)信息安全問題,如何快速而精準(zhǔn)地發(fā)現(xiàn)和定位問題是信息安全研究領(lǐng)域的重要研究方向。近年來,眾多學(xué)者提出了多種定位和檢測信息資產(chǎn)行為異常的方法[3]。其中,王戰(zhàn)紅[4]提出了一種特征和分類器組合優(yōu)化的網(wǎng)絡(luò)入侵檢測模型。該模型根據(jù)特征、分類器參數(shù)對入侵檢測結(jié)果的影響,設(shè)計(jì)了兩者組合優(yōu)化的數(shù)學(xué)模型,改善了入侵檢測率。李熠等[5]提出一種稀疏自編碼——極限學(xué)習(xí)機(jī)入侵檢測模型。該模型通過稀疏自編碼器結(jié)合編碼層的系數(shù)懲罰和重構(gòu)誤差對高維數(shù)據(jù)進(jìn)行特征提取,再運(yùn)用極限學(xué)習(xí)機(jī)對提取的特征進(jìn)行快速有效地精準(zhǔn)分類,提升了入侵檢測系統(tǒng)性能。He等[6]提出了一種基于深度學(xué)習(xí)的HTTP隧道木馬檢測方法。該方法通過從傳輸層提取隧道木馬通信序列特征,結(jié)合深度學(xué)習(xí)中雙向反復(fù)神經(jīng)網(wǎng)絡(luò)構(gòu)建一種HTTP隧道木馬檢測模型,提升了網(wǎng)絡(luò)木馬檢測效率。Cheng等[7]提出了一種半監(jiān)督分層疊加時(shí)間卷積網(wǎng)絡(luò)檢測模型。該模型是物聯(lián)網(wǎng)通信中第一個(gè)用于異常檢測的半監(jiān)督模型,它可以在標(biāo)記數(shù)據(jù)很少的情況下訓(xùn)練未標(biāo)記數(shù)據(jù)。此外,該網(wǎng)絡(luò)還充分考慮了物聯(lián)網(wǎng)通信中流數(shù)據(jù)的特點(diǎn),能夠剔除不確定記錄,提高了異常檢測效率。Alkahtani等[8]提出一種基于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的自適應(yīng)異常檢測模型。采用基于長短時(shí)記憶遞歸神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法和支持向量機(jī)、K近鄰的機(jī)器學(xué)習(xí)算法對拒絕服務(wù)攻擊和分布式拒絕服務(wù)攻擊進(jìn)行分類,采用信息增益法從網(wǎng)絡(luò)數(shù)據(jù)集中提取相關(guān)特征。
由于當(dāng)前漏洞利用手段先進(jìn)、種類繁多,當(dāng)前的異常行為檢測方法一種是針對特定應(yīng)用場景下進(jìn)行的定制化的檢測,另一種是利用已知的特定驗(yàn)證數(shù)據(jù)集進(jìn)行研究。隨著網(wǎng)絡(luò)應(yīng)用場景越來越豐富,網(wǎng)絡(luò)流量日益增大,信息安全領(lǐng)域出現(xiàn)越來越多的“未知威脅”,即在歷史上可能沒有出現(xiàn)過的、與當(dāng)前已有數(shù)據(jù)集特征完全不同的威脅或風(fēng)險(xiǎn)。
針對沒有太多固定特征的威脅數(shù)據(jù)檢測,利用大數(shù)據(jù)技術(shù)以及機(jī)器學(xué)習(xí)技術(shù)來解決此類問題是首要之選[9]。本文提出基于譜聚類算法的信息資產(chǎn)行為異常檢測方法,該方法主要包含如下步驟:首先,對各類信息資產(chǎn)的相關(guān)行為進(jìn)行特征工程,提取信息資產(chǎn)相關(guān)特征。其次,根據(jù)特征工程的結(jié)果,對相關(guān)信息資產(chǎn)建立各類行為基線。基線的建立一般是無監(jiān)督的,但其建立的正確與否需要用戶進(jìn)行一定的干涉,方可得到可信基線,而且此基線隨著時(shí)間的推進(jìn)能夠自我演進(jìn)。需要說明的是,基線是與特定信息資產(chǎn)相關(guān)的,即不同的信息資產(chǎn)應(yīng)具有不同的基線,此基線也可以被稱作“資產(chǎn)畫像”。再次,將運(yùn)行數(shù)據(jù)和基線進(jìn)行持續(xù)比對,如存在一定程度的規(guī)則違反則對用戶進(jìn)行提示并提供相關(guān)取證數(shù)據(jù),包括如統(tǒng)計(jì)數(shù)據(jù)、運(yùn)行日志、網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包等。
根據(jù)上述分析,對于信息資產(chǎn)的未知威脅檢測,其核心問題就是特征工程以及基線的建立。在現(xiàn)實(shí)環(huán)境中,可以通過旁路嗅探方式方便地獲取信息資產(chǎn)的各類網(wǎng)絡(luò)通信數(shù)據(jù),不需要安裝代理,但這些網(wǎng)絡(luò)數(shù)據(jù)的應(yīng)用負(fù)載多數(shù)被加密而無法獲得全部明文內(nèi)容。在現(xiàn)代信息安全的上下文中,很多通信是建立在數(shù)據(jù)加密基礎(chǔ)上的,故在形成行為基線時(shí)應(yīng)考慮到此種因素。
因?yàn)樘卣鞴こ痰慕Y(jié)果是產(chǎn)出高維向量,故使用傳統(tǒng)的統(tǒng)計(jì)方法無法獲得更為滿意的分類結(jié)果,而譜聚類算法能夠很好地解決該問題。
譜聚類(Spectral clustering)是一類基于圖論的聚類算法,是通過對樣本數(shù)據(jù)的拉普拉斯矩陣(Laplacian matrix)的特征向量進(jìn)行聚類,從而達(dá)到對樣本數(shù)據(jù)進(jìn)行分類的目的[10]。譜聚類可以理解為將高維空間的數(shù)據(jù)映射到低維,然后在低維空間,使用其它傳統(tǒng)聚類算法(例如K-means算法)再進(jìn)行聚類。
譜聚類算法效果的焦點(diǎn)在于對樣本數(shù)據(jù)的劃分評價(jià),主要的3種譜聚類評價(jià)算法差別不是特別明顯[11]。考慮到對于信息資產(chǎn)的行為異常檢測場景,主要的目標(biāo)還是針對雙路情況(2-way),而多路聚類算法并不是關(guān)鍵的目標(biāo),因?yàn)樵搱鼍跋聝H需要區(qū)分“正?!焙汀爱惓!眱煞N情況[12]。
以下給出一般意義下的譜聚類算法。
所謂相似度矩陣主要是指樣本點(diǎn)集合V中的任意兩個(gè)樣本點(diǎn)之間的距離度量(Metrics),在聚類算法中表示為距離相近的點(diǎn)之間的相似度較高,而距離較遠(yuǎn)的點(diǎn)的相似度較低,甚至可以忽略不計(jì)[13]。
評價(jià)兩個(gè)樣本點(diǎn)相似度算法非常多,比較常見的如余弦相似、Jaccard相似等,而在一般的實(shí)現(xiàn)算法中,可以使用余弦相似算法,即假定樣本的維度為d,兩個(gè)樣本的余弦相似度為
(1)
式中:xi和xj分別表示集合中的兩個(gè)樣本點(diǎn),分子部分為向量的點(diǎn)積,分母部分為向量分別取模的乘積,變量sij為這兩個(gè)樣本的相似度。顯然此相似度的值介于0與1之間,結(jié)果越大則相似度越大。
不同點(diǎn)之間的相似度構(gòu)成相似度矩陣,而在基于譜聚類算法的相似度評估中,一般可以考慮使用如下3種方式來表示相似度矩陣[14]:
(1)ε-近鄰法(ε-neighborhood graph);
(2)K近鄰法(K-nearest neighbor graph);
(3)全連接法(Fully connected graph)。
對于方法(1),基本可以忽略不用。因?yàn)樗饕褂脷W氏距離來表示,而且如果距離大于閾值ε,則直接賦為0,否則就固定為ε。而方法(2)和方法(3)比較常用,它們的計(jì)算公式分別如式(2)和式(3)所示
wij=wji=
(2)
(3)
式中:wij表示樣本xi和樣本xj的相似度,‖xi-xj‖為樣本間的范數(shù)。當(dāng)然也可以使用一般意義上的歐氏距離、曼哈頓距離或閔可夫斯基等計(jì)算。而函數(shù)knn(x)表示樣本的k近鄰,參數(shù)σ表示鄰域的寬度,默認(rèn)為1。在一些通用的機(jī)器學(xué)習(xí)工具中如sklearn,一般會(huì)使用式(3)來計(jì)算兩個(gè)樣本之間的相似度,即使用全連接方式,本文也使用這種方式。另外,使用W來表示由wij構(gòu)成的相似度矩陣,根據(jù)式(3),它實(shí)際上是一個(gè)n×n的實(shí)對稱陣,這里n是樣本數(shù)量。
顯然,‖xi-xj‖愈大則表明樣本點(diǎn)的相似度越低。當(dāng)兩個(gè)樣本點(diǎn)重合時(shí),可得wij=1,這與余弦相似度計(jì)算所得到的結(jié)果基本一致。
本質(zhì)上,譜聚類算法是將由n個(gè)樣本點(diǎn)組成的帶權(quán)圖G=(V,E)進(jìn)行分割,這里V是圖的頂點(diǎn)集合,E是邊的集合,邊的權(quán)值就是頂點(diǎn)間的相似度。對其劃分結(jié)果的評價(jià)依據(jù),主要是各子圖內(nèi)部相似度系數(shù)最大化,而子圖之間的相似度系數(shù)最小化。
在實(shí)際譜聚類算法的演進(jìn)中,出現(xiàn)了很多評價(jià)方法[14],如最小割集準(zhǔn)則[15]、規(guī)范割集準(zhǔn)則[16]、比例割集準(zhǔn)則[17]、最小最大割集準(zhǔn)則[18]、多路(Multi-way)規(guī)范割集準(zhǔn)則[19]等。根據(jù)實(shí)際情況,本文主要使用比例割集準(zhǔn)則,即RatioCut,以下是相關(guān)比例割集準(zhǔn)則的說明。
與最小割集準(zhǔn)則不同,在比例割集準(zhǔn)則中,不僅需要考慮各子圖之間的連接權(quán)重最小、各子圖內(nèi)部的連接權(quán)重最大,還需要考慮各子圖中的頂點(diǎn)盡量多。
使用Ai來表示不同的子圖,|Ai|表示子圖的頂點(diǎn)數(shù)量。對于k個(gè)子圖而言,其優(yōu)化目標(biāo)函數(shù)如式(4)所示
(4)
(5)
式中:乘以1/2的原因是因?yàn)榇藶殡p向圖,而wij即為相似度,見式(2)。
對于譜聚類算法而言,其主要工具為拉普拉斯矩陣(Laplacian matrix),一個(gè)未標(biāo)準(zhǔn)化的拉普拉斯矩陣如式(6)所示
L=D-W
(6)
式中:矩陣D為計(jì)算度矩陣,它是一個(gè)對角陣,其對角元素定義為
(7)
從其形式上看,此矩陣的元素是某一個(gè)樣本點(diǎn)和其他樣本點(diǎn)相似度之和,矩陣W是相似度矩陣。
所謂未標(biāo)準(zhǔn)化的拉普拉斯矩陣即它未被單位化,如果需進(jìn)行單位化可以使用一定方法,主要是兩種:一是隨機(jī)游走標(biāo)準(zhǔn)化;二是對稱標(biāo)準(zhǔn)化,分別如式(8)和式(9)所示
L′=D-1L=I-D-1W
(8)
L″=D-1/2LD1/2=I-D-1/2WD1/2
(9)
通過式(8)和式(9)可以看出,拉普拉斯矩陣的標(biāo)準(zhǔn)化實(shí)質(zhì)上是將原始的相似度權(quán)值矩陣和度矩陣進(jìn)行運(yùn)算,而度矩陣中的元素為相似度之和,故乘以其逆矩陣就相當(dāng)于做了除法,可以約束其向量范數(shù)。需要說明的是,這兩種標(biāo)準(zhǔn)化方法并無本質(zhì)的不同。
在獲得拉普拉斯矩陣后,其焦點(diǎn)問題就是如何最小化式(4)中的目標(biāo)函數(shù)。為達(dá)到這個(gè)目的,首先需定義一類指示向量,以指出當(dāng)存在n個(gè)樣本點(diǎn)被劃分為k類的情況,這些指示向量之間是相互正交的。定義如式(10)所示(假定有k個(gè)指示向量)
(10)
式(10)表明指示向量是各個(gè)樣本點(diǎn)在不同類中的表示,可以證明式(4)可以最終轉(zhuǎn)化為式(11)表達(dá)式
(11)
式中:tr為求矩陣的跡,即矩陣的對角和,此時(shí)目標(biāo)函數(shù)化為
Mintr(HLHT),HHT=I
(12)
通過上文分析,譜聚類算法實(shí)質(zhì)是對一類目標(biāo)函數(shù)的極小值求解,對一般譜聚類算法的描述如算法1所示。從時(shí)間復(fù)雜度而言,求解譜聚類算法是NP的,即無法在多項(xiàng)式時(shí)間內(nèi)進(jìn)行求解。
算法1譜聚類算法的一般描述
輸入:一個(gè)含有n個(gè)樣本點(diǎn)集合;需要分類的參數(shù)k
Step1 計(jì)算相似度矩陣W,此矩陣規(guī)模為n×n;
Step2 計(jì)算度矩陣D以及標(biāo)準(zhǔn)化的拉普拉斯矩陣L′,這里使用基于隨機(jī)游走的標(biāo)準(zhǔn)化矩陣;
Step3 計(jì)算隨機(jī)游走拉普拉斯矩陣的特征值,將這些特征值從小到大進(jìn)行排序,取前k個(gè)特征值對應(yīng)的特征向量v1,v2,…,vk;
Step4 將上述k個(gè)特征向量組合成矩陣V(此矩陣為n×k的);
Step5 對矩陣V進(jìn)行單位化;
Step6 使用一般的聚類算法,如K-means等對矩陣中的向量進(jìn)行聚類,即將n個(gè)樣本聚類成k個(gè)類。
輸出:已分類的集合A1,A2,…,Ak
考慮在信息安全場景下,主要目標(biāo)是利用譜聚類算法對信息資產(chǎn)的歷史數(shù)據(jù)進(jìn)行分析、分類,從而提供對于異常數(shù)據(jù)的檢測依據(jù)。故與一般通用的譜聚類算法不同的是,對于k的取值一般很低,比如可能只取兩個(gè)分類,此時(shí)k值為2。
在現(xiàn)實(shí)場景下,使用機(jī)器學(xué)習(xí)方法對信息資產(chǎn)的行為進(jìn)行檢測,其最為重要的一環(huán)是對數(shù)據(jù)特征的抽取。有鑒于此,需要有相關(guān)特征評價(jià)的指標(biāo)以指導(dǎo)對特征的抽取[20]。本文提出平均差異度指標(biāo)和簇比例指標(biāo)結(jié)合特征的區(qū)分度、關(guān)聯(lián)度進(jìn)行評估。提出上述指標(biāo)的目的主要是為了降低或者避免在一般無監(jiān)督場景下的安全問題誤報(bào)。下節(jié)將對這些指標(biāo)進(jìn)行明確定義和說明。
在上節(jié)中主要分析了一般意義上的譜聚類算法以及如何求解目標(biāo)函數(shù)等,其算法實(shí)質(zhì)上類似于數(shù)據(jù)降維。在此基礎(chǔ)上本節(jié)給出相關(guān)評價(jià)指標(biāo)的詳細(xì)定義并解釋其含義。與文獻(xiàn)[20]存在一些差異的是,本文的特征相關(guān)取值一定是經(jīng)過歸一化的。
特征區(qū)分度:所謂特征區(qū)分度就是指某特征與其他特征在樣本分類中是否更為敏感,其實(shí)質(zhì)上就是其方差是否更為顯著,如式(13)所示
(13)
式中:disi表示第i個(gè)特征的區(qū)分度,aji表示經(jīng)過歸一化后第j個(gè)樣本的第i個(gè)特征的取值。
特征關(guān)聯(lián)度:所謂特征關(guān)聯(lián)度主要是指不同特征的關(guān)聯(lián)情況,與文獻(xiàn)[14]不同,本文使用平均協(xié)方差來評估,具體如式(14)所示
(14)
式中:d表示特征的維度。顯然,此關(guān)聯(lián)度越小,則特征i與其他特征的關(guān)聯(lián)度越低。
利用上述區(qū)分度和關(guān)聯(lián)度,定義以下特征重要度指標(biāo)
impi=disi/reli
(15)
顯然,如果impi越大則表明特征越重要,故可以從多個(gè)備選特征中選取部分特征來進(jìn)行訓(xùn)練。
雖然本文主要是使用RatioCut來進(jìn)行譜聚類,但考慮到信息資產(chǎn)安全基線的特點(diǎn),需要盡量減少誤報(bào),故提出平均差異度指標(biāo)(Average difference index,ADI)對聚類結(jié)果進(jìn)行評價(jià),如式(16)所示
(16)
式中:E為數(shù)學(xué)期望即均值,W為兩個(gè)樣本點(diǎn)的相似度。
可以看出提出此指標(biāo)是在原來的聚類結(jié)果中增加一個(gè)約束條件。ADI的值是小于1的,而且此值越小,則表明學(xué)習(xí)結(jié)果接受度越高??梢酝ㄟ^設(shè)置閾值對結(jié)果進(jìn)行判斷,若高于此閾值則拒絕,否則接受。另外,如果僅對樣本點(diǎn)進(jìn)行二分類,考慮到相關(guān)安全上下文,需要再增加一個(gè)指標(biāo),即負(fù)向樣本數(shù)量和正向樣本比值,這個(gè)值越低越好,一般最好在0.1以下,稱之為簇比例指標(biāo)(Clusters proportion index,CPI),可以將ADI和CPI的乘積作為聚類結(jié)果是否接受的評判標(biāo)準(zhǔn)。
在信息資產(chǎn)行為檢測中,異常數(shù)據(jù)的獲取是比較困難的。在驗(yàn)證的環(huán)境中,使用Malfease網(wǎng)站提供相關(guān)惡意軟件,背景流量使用某高校在一段時(shí)間采樣的pcap包,規(guī)模為TB級,包括服務(wù)器區(qū)中的約30余臺(tái)主機(jī)在若干天的分時(shí)段網(wǎng)絡(luò)通信。實(shí)驗(yàn)環(huán)境中使用Cuckoo沙箱部分模擬這些服務(wù)器的IP地址及其通信行為,然后獲取其網(wǎng)絡(luò)數(shù)據(jù)包以便進(jìn)行混合回放。
本文相關(guān)實(shí)驗(yàn)主要采用兩種信息資產(chǎn)行為異常場景:其一為內(nèi)網(wǎng)主機(jī)連接外網(wǎng)行為;其二是內(nèi)網(wǎng)主機(jī)連接內(nèi)網(wǎng)其他主機(jī)行為。
經(jīng)過綜合比對和篩選,選取如下特征分別作為譜聚類數(shù)據(jù)向量:
(1)內(nèi)網(wǎng)連接外網(wǎng)。TCP標(biāo)志比例、平均包長、平均會(huì)話包數(shù)、數(shù)據(jù)入出度之比、DNS會(huì)話比例、ICMP會(huì)話比例、DNS解析失敗比例、HTTP連接異常比例、加密會(huì)話比例、連接境外地址比例、非常見端口連接比例。
(2)內(nèi)網(wǎng)互連。總體數(shù)據(jù)吞吐、平均包長、平均會(huì)話包數(shù)、數(shù)據(jù)入出度之比、非常見端口連接比例、敏感端口訪問比例、訪問端口數(shù)、訪問服務(wù)器比例、訪問終端比例。
上述特征的選取主要考慮一些惡意軟件的相關(guān)網(wǎng)絡(luò)行為,如泛洪攻擊、端口嘗試、隱蔽通道通信、橫向擴(kuò)散、傀儡行為等,故特征選取和具體相關(guān)業(yè)務(wù)存在天然的聯(lián)系。
對于待檢測數(shù)據(jù),只要先進(jìn)行特征抽取,再根據(jù)其與已分類數(shù)據(jù)的相似度的距離進(jìn)行判斷即可,即它距離哪種分類更近些。
實(shí)驗(yàn)環(huán)境采用CentOS 6.9操作系統(tǒng),CPU為Intel至強(qiáng)2650 v4,64 GB內(nèi)存,網(wǎng)絡(luò)接口為2塊Intel i210千兆以太網(wǎng)卡,使用TcpReplay工具回放數(shù)據(jù)包。
表1所示為部分網(wǎng)絡(luò)流量的主要協(xié)議分布統(tǒng)計(jì)情況??偟木W(wǎng)絡(luò)會(huì)話數(shù)量在3.55億左右,表1中的數(shù)據(jù)約為總體的32%。從表1可以看出,主要協(xié)議還是DNS和HTTP,但還存在其他不能識別或者占比較少的其他網(wǎng)絡(luò)流量。
表1 網(wǎng)絡(luò)數(shù)據(jù)協(xié)議分布
表2所示為這些服務(wù)器中一臺(tái)具有代表性的主機(jī)30天未加入惡意流量時(shí)的部分特征數(shù)據(jù)。其中,a1~a7分別表示平均包長、出入度比、DNS比例、DNS解析失敗比例、加密比例、連接境外地址比例、非常見端口比例。平均包長和入出度比例未做標(biāo)準(zhǔn)化,可以使用MinMax方法進(jìn)行歸一化。
表2 服務(wù)器部分特征抽取(正常)
由于數(shù)據(jù)來源于服務(wù)器,故入出度比例是高于1的,而且對于未摻入惡意流量的數(shù)據(jù)而言,其連接境外和非常見端口相對比例偏低。
表3所示為其中3天中加入了一些惡意流量,包括木馬、勒索、礦機(jī)等惡意流量后的部分特征抽取數(shù)據(jù),從該表可以看出某些特征變化比較明顯。
表3 服務(wù)器部分特征抽取(異常)
將此服務(wù)器的相關(guān)特征數(shù)據(jù)使用譜聚類算法進(jìn)行二分類,分別按照未加入惡意流量和加入惡意流量的聚類結(jié)果進(jìn)行觀察,圖1和圖2給出了相關(guān)分類結(jié)果,其縱坐標(biāo)為ADI×CPI,而橫坐標(biāo)為樣本數(shù)量。
圖1 ADI×CPI指標(biāo)與樣本數(shù)量關(guān)系(正常)
圖2 ADI×CPI指標(biāo)與樣本數(shù)量關(guān)系(異常)
從圖1和圖2可以看出在加入了異常樣本數(shù)據(jù)的分類結(jié)果后,ADI×CPI更小,更應(yīng)該被接受。據(jù)此可以設(shè)置接受分類結(jié)果基線為0.02,高于此值的分類結(jié)果則無法接受,否則可能導(dǎo)致過多的誤報(bào)。
另外,為了驗(yàn)證本文的學(xué)習(xí)效果,將相同的數(shù)據(jù)直接使用K-means算法進(jìn)行實(shí)驗(yàn)以便進(jìn)行比對,準(zhǔn)確率和誤報(bào)率結(jié)果分別如表4和表5所示。其中,對于表4而言,b1~b5分別是樣本總數(shù)(天數(shù))、異常樣本數(shù)、全特征K-means聚類準(zhǔn)確率、3個(gè)特征K-means聚類準(zhǔn)確率、本文譜聚類算法準(zhǔn)確率;表4用圖展示,則顯示如圖3所示的效果。對于表5而言,c1~c5分別是樣本總數(shù)(天數(shù))、異常樣本數(shù)、全特征K-means聚類誤報(bào)率、3個(gè)特征K-means聚類誤報(bào)率、本文譜聚類算法誤報(bào)率。
表4 K-means與本文方法比對(準(zhǔn)確率)
圖3 K-means與本文方法比對(準(zhǔn)確率)(注:譜聚類算法使用ADI×CPI=0.02)
表5 K-means與本文方法比對(誤報(bào)率)
從表4和表5可以看出因?yàn)閿?shù)據(jù)維度過高,即使使用了主成分分析(Principal component analysis,PCA)降維,其效果也不是特別理想,聚類準(zhǔn)確率不高而誤報(bào)率較高。原因是K-means在高維空間表現(xiàn)過于稀疏,無法在信息資產(chǎn)行為異常分類模型中使用,而本文的譜聚類方法表現(xiàn)良好。
以上實(shí)驗(yàn)可以看出在無監(jiān)督條件下,使用基于譜聚類的機(jī)器學(xué)習(xí)方法可以產(chǎn)生理想的效果,能夠?qū)σ恍阂廛浖a(chǎn)生的流量信息比較清晰地進(jìn)行分揀和聚類。
通過表4和表5可以計(jì)算獲得相關(guān)樣本的準(zhǔn)確率和誤報(bào)分析,如表6所示。
表6 實(shí)驗(yàn)數(shù)據(jù)比對分析
使用本文譜聚類的方法對于檢測的準(zhǔn)確率有較大提升,誤報(bào)率也急劇下降。當(dāng)然,對于信息資產(chǎn)的異常行為檢測本身就是一個(gè)非常復(fù)雜的系統(tǒng)工程。本文實(shí)驗(yàn)主要抽取的特征都是能夠反映一些異常流量的性質(zhì)。但從實(shí)驗(yàn)中可以看出,個(gè)別特征對于聚類結(jié)果可能并不敏感,例如平均包長度;而某些特征則比較敏感,如連接境外的地址、非常用端口等。這些現(xiàn)象取決于具體的信息安全檢測上下文,主要包括以下4點(diǎn):
(1)檢查異常網(wǎng)絡(luò)連接的方向,即應(yīng)該區(qū)分訓(xùn)練數(shù)據(jù)的方向;
(2)是否需要檢查基于洪水方式的攻擊;
(3)是否需要檢查異常模式的連接,包括大量連接、非正常時(shí)間、非正常地理位置、非正常源地址、非正常目的地址、非正常目的端口、非正常應(yīng)用協(xié)議等的連接;
(4)是否需要檢查隱蔽連接,隱蔽連接往往和IP、TCP/UDP以及應(yīng)用層協(xié)議如DNS、HTTP等關(guān)聯(lián)。
另外,由于安全問題的檢測是一個(gè)變化發(fā)展的過程,故行為基線包括聚類的結(jié)果也是動(dòng)態(tài)過程,必須保持一定頻度的在線訓(xùn)練,不過需要注意的是在數(shù)據(jù)說服力不夠的情況下寧可不生成行為基線。
本文利用基于譜聚類的機(jī)器學(xué)習(xí)算法對相關(guān)信息資產(chǎn)可能存在的異常行為,給出了相關(guān)結(jié)果接受指標(biāo),同時(shí)得到了良好的檢測效果。今后將計(jì)劃從如下幾個(gè)方面繼續(xù)探索方法和演進(jìn)模型:(1)綜合網(wǎng)絡(luò)連接數(shù)據(jù)和主機(jī)運(yùn)行數(shù)據(jù),對可能的異常行為進(jìn)行深度檢測,包括創(chuàng)建/銷毀進(jìn)程、權(quán)限提升、防御繞過等無法從網(wǎng)絡(luò)數(shù)據(jù)中獲取的內(nèi)容;(2)在不同檢測方面對信息資產(chǎn)建立不同的行為基線;(3)研究和豐富動(dòng)態(tài)行為基線模型,以達(dá)到更好、更高效地檢測未知威脅的目的??傊?利用各類機(jī)器學(xué)習(xí)算法對信息資產(chǎn)的安全問題進(jìn)行檢測是一個(gè)值得研究和深入的領(lǐng)域,需要更多的方法和更為可靠的數(shù)據(jù)方可展開,研究目標(biāo)則是更全面地發(fā)現(xiàn)問題和更準(zhǔn)確地定位問題。