喬陽陽,王麗娟
(1. 鄭州工商學(xué)院信息工程學(xué)院,河南 鄭州 451400;2. 華北水利水電大學(xué)電力學(xué)院,河南 鄭州 450046)
數(shù)據(jù)挖掘(Data Mining,DM)又稱數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn),是目前人工智能和數(shù)據(jù)庫(kù)領(lǐng)域研究的熱點(diǎn)問題,是指從數(shù)據(jù)庫(kù)的大量數(shù)據(jù)中揭示出隱含的、先前未知的并有潛在價(jià)值的信息的非平凡過程。網(wǎng)絡(luò)海量數(shù)據(jù)[1]中存在大量有價(jià)值信息,一旦發(fā)生入侵會(huì)造成信息丟失、網(wǎng)絡(luò)環(huán)境不穩(wěn)定等問題,當(dāng)前已經(jīng)成為網(wǎng)絡(luò)安全的極大隱患。木馬、惡意程序、僵尸網(wǎng)絡(luò)、拒絕服務(wù)攻擊以及個(gè)人信息泄露等問題難以預(yù)防[2],因此亟需挖掘入侵?jǐn)?shù)據(jù)點(diǎn)位置,及時(shí)發(fā)現(xiàn)入侵?jǐn)?shù)據(jù)并加以防御,為提高網(wǎng)絡(luò)安全性奠定基礎(chǔ)。
針對(duì)此問題,孫子文等人[3]構(gòu)建了基于深度自編碼網(wǎng)絡(luò)的集成學(xué)習(xí)入侵檢測(cè)模型,完成入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘。將若干正則降噪自編碼網(wǎng)絡(luò)棧式疊加,生成深度自編碼網(wǎng)絡(luò),采用非線性方式將原始數(shù)據(jù)降維處理,通過多個(gè)深度信念網(wǎng)絡(luò)投票實(shí)現(xiàn)入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘。金志剛等人[4]提出了一種基于特征選取與樹狀Parzen估計(jì)的入侵檢測(cè)方法。采用相關(guān)性分析降維數(shù)據(jù)特征,選取特征后構(gòu)建新特征子集,引入樹狀Parzen估計(jì)算法優(yōu)化隨機(jī)森林算法模型,通過優(yōu)化后模型實(shí)現(xiàn)入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘。陳虹等人[5]構(gòu)建了基于改進(jìn)ADASYN-SDA的入侵檢測(cè)模型,以挖掘入侵?jǐn)?shù)據(jù)點(diǎn)位置。通過自適應(yīng)過采樣算法對(duì)原始數(shù)據(jù)過采樣處理,融合Adam算法和隨機(jī)失活正則化算法優(yōu)化堆疊式降噪自編碼器深度學(xué)習(xí)模型,在softmax分類器中實(shí)現(xiàn)去入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘。
現(xiàn)階段提出的數(shù)據(jù)挖掘方法均忽略了在入侵異常數(shù)據(jù)點(diǎn)位置挖掘前濾除正常數(shù)據(jù),導(dǎo)致入侵?jǐn)?shù)據(jù)挖掘的誤報(bào)率較高,入侵?jǐn)?shù)據(jù)定位準(zhǔn)確率還有待進(jìn)一步優(yōu)化?;诖?本研究提出基于并行FP-Growth算法的數(shù)據(jù)點(diǎn)位置智能挖掘方法。
網(wǎng)絡(luò)節(jié)點(diǎn)采集到的數(shù)據(jù)屬性較多,在眾多屬性中存在大量無意義和冗余屬性,高維數(shù)帶來數(shù)據(jù)維數(shù)災(zāi)難問題,使入侵?jǐn)?shù)據(jù)點(diǎn)檢測(cè)和定位復(fù)雜性增加,不但會(huì)造成系統(tǒng)資源的浪費(fèi)還會(huì)降低數(shù)據(jù)點(diǎn)位置挖掘的準(zhǔn)確度。因此所提方法在入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘前采用融合信息熵和主成分分析法的E-PCA算法降維大數(shù)據(jù)[6,7]。
(1)
信息熵是表現(xiàn)系統(tǒng)有序化程度的指標(biāo),將其用于特征選擇中時(shí),若某個(gè)特征的信息熵越大,則說明該特征所蘊(yùn)含信息量越高,即能夠提供更多有意義的信息,降維數(shù)據(jù)時(shí)應(yīng)盡量保留該類特征,反之將特征剔除。保留或剔除特征的依據(jù)為信息熵閾值ψ,ψ取值需要結(jié)合實(shí)際情況和特征在原始數(shù)據(jù)中比重共同決定。
引入信息熵的E-PCA算法與主成分分析法原理相同,差異僅為在執(zhí)行主成分分析法前采用信息熵對(duì)數(shù)據(jù)特征預(yù)篩選,減少特征數(shù)量,彌補(bǔ)主成分分析法效率低、內(nèi)存消耗大等缺點(diǎn)。用Wm×n表示原始數(shù)據(jù)矩陣,其中n表示樣本總數(shù),m表示特征總數(shù)。
①計(jì)算全部數(shù)據(jù)特征b1,b2,…,bn對(duì)應(yīng)的信息熵H(bi),若H(bi)>ψ,則將該屬性加入樣本集合B中;
②將樣本集合對(duì)應(yīng)矩陣B中心化處理,得到中心化矩陣Xm×n如下所示:
Xm×n=B-repmat[mean(B,2),1,m]
(2)
③計(jì)算不同特征維度之間協(xié)方差,構(gòu)建協(xié)方差矩陣C如下所示[8]:
(3)
④計(jì)算協(xié)方差矩陣C中的特征值λi和特征向量zi;
⑤選取k個(gè)最大特征值對(duì)應(yīng)特征向量構(gòu)建矩陣Um×k,根據(jù)貢獻(xiàn)率η確定k的取值,η計(jì)算公式如下所示
(4)
⑥得到降維結(jié)果Yk×n=Um×kXm×n,實(shí)現(xiàn)數(shù)據(jù)降維。
基于數(shù)據(jù)的降維操作,將數(shù)據(jù)挖掘引入入侵檢測(cè)系統(tǒng)IDS中能夠在入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘前提取海量網(wǎng)絡(luò)數(shù)據(jù)中的異常數(shù)據(jù)[9],降低后續(xù)數(shù)據(jù)處理復(fù)雜度,為數(shù)據(jù)點(diǎn)位置智能挖掘奠定基礎(chǔ)。
3.1.1 IDS K-means算法
對(duì)不適用于入侵智能檢測(cè)的K-means算法加以改進(jìn),構(gòu)建用于入侵檢測(cè)系統(tǒng)的IDS K-means算法[10]。針對(duì)標(biāo)準(zhǔn)K-means算法獲取聚類個(gè)數(shù)K困難的問題,采用預(yù)定距離改進(jìn)K-means算法。假設(shè)存在數(shù)據(jù)集X={x1,x2,…,xn},預(yù)先設(shè)置聚類半徑r,首先以x1為中心設(shè)置第一個(gè)聚類C1的聚類中心c1,然后計(jì)算x2與c1的距離dx2,c1,若dx2,c1 結(jié)合實(shí)際情況設(shè)定智能閾值θ,若某類中數(shù)據(jù)總數(shù)m與全部數(shù)據(jù)總數(shù)n的比例m/n≥θ,則說明該類為正常數(shù)據(jù)類,將其加入正常聚類表,建立正常行為模式庫(kù);若m/n<θ,則說明該類為入侵?jǐn)?shù)據(jù)類,將其加入異常聚類表,建立異常行為模式庫(kù)。在網(wǎng)絡(luò)數(shù)據(jù)中,正常數(shù)據(jù)總數(shù)遠(yuǎn)遠(yuǎn)多于入侵?jǐn)?shù)量總數(shù),因此濾除正常數(shù)據(jù),僅對(duì)可能為入侵?jǐn)?shù)據(jù)的聚類進(jìn)一步檢測(cè),能夠有效提升檢測(cè)效率。 3.1.2 并行FP-Growth算法 針對(duì)Apriori算法在計(jì)算過程中會(huì)產(chǎn)生大量候選集且每次計(jì)算均需要重新掃描數(shù)據(jù)集造成的算法復(fù)雜度較高、效率較低的問題[11],FP-growth算法應(yīng)運(yùn)而生,該算法是用于頻繁項(xiàng)集和數(shù)據(jù)強(qiáng)關(guān)聯(lián)規(guī)則挖掘的算法[12],通過該算法獲取頻繁項(xiàng)集的過程主要分為以下兩個(gè)部分: 1)建立事件FP-tree ①第一次遍歷 用G=(G1,G2,…,Gn)表示事務(wù)數(shù)據(jù)集,在第一次遍歷G時(shí),計(jì)算頻繁項(xiàng)大于1的項(xiàng)目集支持度數(shù),設(shè)定最小支持度數(shù)和置信度數(shù),分別記作supmin和confmin,刪除小于supmin和confmin的頻繁項(xiàng),其余頻繁項(xiàng)數(shù)據(jù)集由大到小排列。 ②第二次遍歷 建立FP-tree根結(jié)點(diǎn)null,對(duì)G執(zhí)行第二次遍歷,依據(jù)次序處理全部項(xiàng)集的項(xiàng),為全部項(xiàng)集創(chuàng)立各自分支,完成FP-tree構(gòu)建。 2)在事件FP-tree樹中挖掘頻繁項(xiàng)集 在各個(gè)項(xiàng)集中獲取對(duì)應(yīng)條件模式基,遞歸調(diào)用樹形結(jié)構(gòu),剔除全部小于最小支持度的項(xiàng),若已經(jīng)生成單一路徑樹形結(jié)構(gòu),則列舉全部組合;反之繼續(xù)遞歸調(diào)用樹形結(jié)構(gòu),直到生成單一路徑樹形結(jié)構(gòu)。 為了減少網(wǎng)絡(luò)通信量,提升傳輸效率,所提方法將MapReduce引入FP-Growth算法構(gòu)建并行FP-Growth算法[13],并行FP-Growth算法主要流程如下所示: ①計(jì)算事務(wù)數(shù)據(jù)集中頻繁項(xiàng)大于1的支持度數(shù),采用一個(gè)MapReduce job統(tǒng)計(jì)頻繁項(xiàng)大于1的頻繁集,存儲(chǔ)結(jié)果于分布式緩存中; ③采用一個(gè)MapReduce job統(tǒng)計(jì)存儲(chǔ)于Hadoop中的項(xiàng)目集支持度數(shù),將滿足最小支持度的頻繁項(xiàng)目集添加至全局頻繁目集中。 ④融合步驟②和步驟③結(jié)果即可生成完整的全局頻繁項(xiàng)目集。 3.1.3 KMFP算法 將單一的K-Means算法用于入侵?jǐn)?shù)據(jù)檢測(cè)中易出現(xiàn)陷入局部收斂的情況,因此將改進(jìn)的K-Means算法與并行FP-Growth算法相結(jié)合,建立KMFP算法,用于提升入侵檢測(cè)效果。 KMFP算法首先利用改進(jìn)的K-Means算法劃分網(wǎng)絡(luò)大數(shù)據(jù)為正常數(shù)據(jù)和異常數(shù)據(jù)兩類,然后通過FP-Growth算法挖掘異常數(shù)據(jù)中的關(guān)聯(lián)規(guī)則,從而將生成的規(guī)則用于入侵檢測(cè)之中,提升算法的檢測(cè)準(zhǔn)確率,降低誤報(bào)率。改進(jìn)的K-Means算法預(yù)先劃分?jǐn)?shù)據(jù)為正常數(shù)據(jù)聚類和數(shù)據(jù)聚類兩種,在執(zhí)行入侵檢測(cè)前濾除正常數(shù)據(jù)聚類,使待檢測(cè)數(shù)據(jù)量大大降低,在提升算法效率中具有明顯效果。 通過KMFP算法實(shí)現(xiàn)入侵?jǐn)?shù)據(jù)檢測(cè)后需要對(duì)入侵?jǐn)?shù)據(jù)點(diǎn)位置進(jìn)一步挖掘。引入鄰居節(jié)點(diǎn)數(shù)據(jù)投票方式判別包含入侵?jǐn)?shù)據(jù)的節(jié)點(diǎn),依據(jù)節(jié)點(diǎn)和鄰居節(jié)點(diǎn)之間的位置關(guān)系完成入侵?jǐn)?shù)據(jù)點(diǎn)位置智能挖掘。 (5) 依據(jù)式(5)計(jì)算節(jié)點(diǎn)i和節(jié)點(diǎn)j的屬性相關(guān)系數(shù),設(shè)定閾值β,若sim(i,j)>β,則將節(jié)點(diǎn)i和節(jié)點(diǎn)j視為空間相關(guān)。 Cor(i,j,k,t)= (6) 若Cor(i,j,k,t)>β,則視為鄰居節(jié)點(diǎn)k對(duì)入侵?jǐn)?shù)據(jù)有所感知,將投票記作1,反之記作-1,完成全部投票后,大部分投票結(jié)果為1的節(jié)點(diǎn)即為入侵?jǐn)?shù)據(jù)節(jié)點(diǎn),由此實(shí)現(xiàn)入侵?jǐn)?shù)據(jù)點(diǎn)位置智能挖掘。 為了驗(yàn)證基于并行FP-Growth算法的數(shù)據(jù)點(diǎn)位置智能挖掘仿真整體有效性,將所提方法與文獻(xiàn)[3]提出的深度自編碼網(wǎng)絡(luò)方法和文獻(xiàn)[4]提出的樹狀Parzen估計(jì)方法做實(shí)驗(yàn)對(duì)比。 采用KDD CUP99數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集,數(shù)據(jù)集中包括正常網(wǎng)絡(luò)連接數(shù)據(jù)、拒絕服務(wù)攻擊數(shù)據(jù)、遠(yuǎn)程權(quán)限獲取數(shù)據(jù)、PROBE攻擊數(shù)據(jù)和各種權(quán)限提升數(shù)據(jù),其中有20%左右數(shù)據(jù)為正常數(shù)據(jù),80%左右為拒絕服務(wù)攻擊數(shù)據(jù),而遠(yuǎn)程權(quán)限獲取數(shù)據(jù)、PROBE攻擊數(shù)據(jù)和各種權(quán)限提升數(shù)據(jù)出現(xiàn)概率極小。為了模擬真實(shí)數(shù)據(jù)環(huán)境,異常數(shù)據(jù)數(shù)量遠(yuǎn)遠(yuǎn)小于正常數(shù)據(jù)數(shù)量,因此在實(shí)驗(yàn)前需要調(diào)整數(shù)據(jù)比例,控制正常數(shù)據(jù)數(shù)量和異常數(shù)據(jù)數(shù)量在合適的范圍內(nèi)。KDDCUP99原始數(shù)據(jù)集中包含數(shù)據(jù)超過500萬條,數(shù)據(jù)過多不利于實(shí)驗(yàn)分析,因此選取其中具有代表性的4820條數(shù)據(jù)用于后續(xù)實(shí)驗(yàn),每條數(shù)據(jù)具有45維屬性,其中正常數(shù)據(jù)有4628條,異常數(shù)據(jù)192條,異常數(shù)據(jù)包括4大類中共計(jì)36種攻擊形式。 以DDCUP99原始數(shù)據(jù)集中的4820條數(shù)據(jù)為樣本,利用不同方法對(duì)數(shù)據(jù)集中國(guó)異常數(shù)據(jù)點(diǎn)位置完成挖掘,統(tǒng)計(jì)不同方法的平均誤報(bào)率,測(cè)試結(jié)果如圖1所示。 圖1 誤報(bào)率檢驗(yàn)結(jié)果 由圖1可以看出,所提方法的平均誤報(bào)率最低,深度自編碼網(wǎng)絡(luò)方法和樹狀Parzen估計(jì)方法在挖掘數(shù)據(jù)點(diǎn)位置時(shí),平均誤報(bào)率明顯高于研究方法由此可知,所提方法的入侵?jǐn)?shù)據(jù)檢測(cè)性能好。 以相同數(shù)據(jù)集為樣本,不同數(shù)據(jù)點(diǎn)位置挖掘方法的平均準(zhǔn)確率測(cè)試結(jié)果如圖2所示: 圖2 入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘準(zhǔn)確率 由圖2可以看出,所提方法在入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘中的平均定位準(zhǔn)確率可達(dá)到98%,說明所提方法的入侵?jǐn)?shù)據(jù)點(diǎn)位置挖掘能力強(qiáng)。因?yàn)樗岱椒▽⒏倪M(jìn)的K-Means算法和并行FP-Growth算法相結(jié)合,在入侵?jǐn)?shù)據(jù)檢測(cè)前濾除正常數(shù)據(jù),降低了數(shù)據(jù)處理的復(fù)雜性。為進(jìn)一步驗(yàn)證所提方法的有效性,將所提方法與深度自編碼網(wǎng)絡(luò)方法和特征選取與樹狀Parzen估計(jì)方法進(jìn)行實(shí)驗(yàn)對(duì)比。驗(yàn)證在不同方法下數(shù)據(jù)的聚類效果,實(shí)驗(yàn)結(jié)果如圖3所示。 圖3 不同方法下的數(shù)據(jù)聚類效果 從圖3的實(shí)驗(yàn)結(jié)果可以看出,所提方法能夠?qū)⒄?shù)據(jù)點(diǎn)集合與異常數(shù)據(jù)點(diǎn)集合精準(zhǔn)分離,完成相同屬性數(shù)據(jù)的聚類。深度自編碼網(wǎng)絡(luò)方法與特征選取與樹狀Parzen估計(jì)方法應(yīng)用下,數(shù)據(jù)聚類的效果不夠理想,在分類出的異常數(shù)據(jù)中,仍然摻雜著少量正常數(shù)據(jù)。此實(shí)驗(yàn)結(jié)果證明了研究方法具有更好的數(shù)據(jù)聚類效果,從而更好地完成了數(shù)據(jù)入侵檢測(cè),得到數(shù)據(jù)更精確的位置信息。 入侵?jǐn)?shù)據(jù)的位置檢測(cè)可判定網(wǎng)絡(luò)是否受到非法攻擊等威脅,對(duì)網(wǎng)絡(luò)中入侵?jǐn)?shù)據(jù)實(shí)時(shí)檢測(cè)與定位能夠?yàn)榫W(wǎng)絡(luò)抵抗內(nèi)外部攻擊提供數(shù)據(jù)基礎(chǔ),提高網(wǎng)絡(luò)運(yùn)行的安全性。本研究提出基于并行FP-Growth算法的數(shù)據(jù)點(diǎn)位置智能挖掘方法,通過E-PCA算法降維網(wǎng)絡(luò)大數(shù)據(jù),采用KMFP算法檢測(cè)入侵?jǐn)?shù)據(jù),利用鄰居節(jié)點(diǎn)數(shù)據(jù)投票的方式完成入侵?jǐn)?shù)據(jù)點(diǎn)位置智能挖掘。該方法能夠有效地降低誤報(bào)率,提高入侵?jǐn)?shù)據(jù)定位中的準(zhǔn)確率,為網(wǎng)絡(luò)安全運(yùn)行提供思路。3.2 入侵?jǐn)?shù)據(jù)點(diǎn)位置智能挖掘
4 實(shí)驗(yàn)與結(jié)果
5 結(jié)束語