基于加權(quán)距離度量以及矩陣分解的入侵檢測方法及裝置制造方法
【專利摘要】本發(fā)明適用于信息安全【技術(shù)領(lǐng)域】,提供了一種基于加權(quán)距離度量以及矩陣分解的入侵檢測方法及裝置,所述方法包括:對原始數(shù)據(jù)集進(jìn)行預(yù)處理,獲得高維向量組;基于隨機(jī)梯度下降的矩陣分解算法對獲得的所述高維向量組進(jìn)行降維處理,獲得低維向量組;對獲得的所述低維向量組進(jìn)行加權(quán)閔可夫斯基距離度量;基于所述加權(quán)閔可夫斯基距離度量和預(yù)定的聚類算法對預(yù)處理后的數(shù)據(jù)集進(jìn)行檢測,獲得檢測結(jié)果。通過本發(fā)明,可有效解決現(xiàn)有技術(shù)沒有考慮整個數(shù)據(jù)集的特性以及各數(shù)據(jù)集屬性之間量綱的差異,對噪聲數(shù)據(jù)敏感,導(dǎo)致檢測效果較差的問題。
【專利說明】基于加權(quán)距離度量以及矩陣分解的入侵檢測方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全【技術(shù)領(lǐng)域】,尤其涉及一種基于加權(quán)距離度量以及矩陣分解的 入侵檢測方法及裝置。
【背景技術(shù)】
[0002] 入侵檢測(IntrusionDetection,ID)的研宄與發(fā)展已經(jīng)有20余年的歷史,國內(nèi) 外學(xué)者已提出大量的入侵檢測方法,如統(tǒng)計方法、貝葉斯推理方法、機(jī)器學(xué)習(xí)方法、神經(jīng)網(wǎng) 絡(luò)、數(shù)據(jù)挖掘、遺傳算法、支持向量機(jī)等方法。但上述方法都存在一個缺點(diǎn),即對建立檢測模 型的訓(xùn)練數(shù)據(jù)要求較高:必須是"干凈"的數(shù)據(jù)并且必須包含檢測對象的大多數(shù)正常行為, 而同時做到這兩點(diǎn)是非常困難的。因此,近年研宄人員將聚類的方法用于入侵檢測,以達(dá)到 檢測異常數(shù)據(jù)的作用。
[0003] 然而,現(xiàn)有應(yīng)用到入侵檢測中的聚類方法,對于數(shù)據(jù)挖掘中距離度量方面都是采 取原始的歐拉距離度量方法,沒有考慮整個數(shù)據(jù)集的特性以及各數(shù)據(jù)集屬性之間量綱的差 異,對噪聲數(shù)據(jù)敏感,影響檢測結(jié)果。
【發(fā)明內(nèi)容】
[0004] 鑒于此,本發(fā)明實(shí)施例提供一種基于加權(quán)距離度量以及矩陣分解的入侵檢測方法 及裝置,以解決現(xiàn)有技術(shù)沒有考慮整個數(shù)據(jù)集的特性以及各數(shù)據(jù)集屬性之間量綱的差異, 對噪聲數(shù)據(jù)敏感,導(dǎo)致檢測效果較差的問題。
[0005] 一方面,本發(fā)明實(shí)施例提供一種基于加權(quán)距離度量以及矩陣分解的入侵檢測方 法,所述方法包括:
[0006] 對原始數(shù)據(jù)集進(jìn)行預(yù)處理,獲得高維向量組;
[0007] 基于隨機(jī)梯度下降的矩陣分解算法對獲得的所述高維向量組進(jìn)行降維處理,獲得 低維向量組;
[0008] 對獲得的所述低維向量組進(jìn)行加權(quán)閔可夫斯基距離度量;
[0009] 基于所述加權(quán)閔可夫斯基距離度量和預(yù)定的聚類算法對預(yù)處理后的數(shù)據(jù)集進(jìn)行 檢測,獲得檢測結(jié)果。
[0010] 另一方面,本發(fā)明實(shí)施例提供一種基于加權(quán)距離度量以及矩陣分解的入侵檢測裝 置,所述裝置包括:
[0011] 預(yù)處理單元,用于對原始數(shù)據(jù)集進(jìn)行預(yù)處理,獲得高維向量組;
[0012] 降維單元,用于基于隨機(jī)梯度下降的矩陣分解算法對獲得的所述高維向量組進(jìn)行 降維處理,獲得低維向量組;
[0013] 加權(quán)距離度量單元,用于對獲得的所述低維向量組進(jìn)行加權(quán)閔可夫斯基距離度 量;
[0014] 檢測單元,用于基于所述加權(quán)閔可夫斯基距離度量和預(yù)定的聚類算法對預(yù)處理后 的數(shù)據(jù)集進(jìn)行檢測,獲得檢測結(jié)果。
[0015] 本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比存在的有益效果是:1)將隨機(jī)梯度下降的矩陣分 解算法應(yīng)用到入侵檢測中,通過對高維向量組使用隨機(jī)梯度下降的矩陣分解算法進(jìn)行數(shù)據(jù) 歸約,可以將與數(shù)據(jù)挖掘任務(wù)不相關(guān)或冗余的屬性刪除,找出最小屬性集。一方面使得簇類 的概率分布盡可能地接近使用所有屬性得到的原分布,一方面使得后續(xù)的聚類算法計算速 度獲得較大提升;2)對不同量綱和不同值域信息的屬性差異進(jìn)行考量,將權(quán)值應(yīng)用到閔可 夫斯基距離度量中,從而既考慮了整個數(shù)據(jù)集的特性,又消除了各數(shù)據(jù)集屬性之間量綱的 差異,并且在一定程度上減弱了噪聲數(shù)據(jù)對距離度量的影響。將加權(quán)閔可夫斯基距離度量 應(yīng)用到入侵檢測中,對復(fù)雜的數(shù)據(jù)集,可以在進(jìn)行相似度度量的過程中呈現(xiàn)出更優(yōu)的性能; 3)基于加權(quán)閔可夫斯基距離度量和指定聚類算法一起對經(jīng)過預(yù)處理后的數(shù)據(jù)集聚類,將相 似數(shù)據(jù)劃分到同一個簇中,將相異的數(shù)據(jù)劃分到不同的簇中,從而可有效檢測出異常簇,具 有較強(qiáng)的易用性和實(shí)用性。
【專利附圖】
【附圖說明】
[0016] 為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。
[0017] 圖1是本發(fā)明實(shí)施例一提供的基于加權(quán)距離度量以及矩陣分解的入侵檢測方法 的實(shí)現(xiàn)流程圖;
[0018] 圖2是本發(fā)明實(shí)施例二提供的基于加權(quán)距離度量以及矩陣分解的入侵檢測裝置 的組成結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0019] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0020] 為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。
[0021] 實(shí)施例一:
[0022] 圖1示出了本發(fā)明實(shí)施例一提供的基于加權(quán)距離度量以及矩陣分解的入侵檢測 方法的實(shí)現(xiàn)流程,該方法過程詳述如下:
[0023] 在步驟SlOl中,對原始數(shù)據(jù)集進(jìn)行預(yù)處理,獲得高維向量組。
[0024] 在本發(fā)明實(shí)施例中,所述原始數(shù)據(jù)集包含多個數(shù)據(jù)記錄,每個數(shù)據(jù)記錄可能包含 連續(xù)型數(shù)據(jù)點(diǎn)和/或非數(shù)值型數(shù)據(jù)點(diǎn),需要對二者分別進(jìn)行數(shù)據(jù)規(guī)范化預(yù)處理,具體可以 是:
[0025] 對原始數(shù)據(jù)集中的連續(xù)型數(shù)據(jù)點(diǎn),將其數(shù)據(jù)取值從[min,max]映射到[0,1]區(qū) 間;
[0026] 對原始數(shù)據(jù)集中的非數(shù)值型數(shù)據(jù)點(diǎn),將其離散化后,通過編碼映射成數(shù)值,或者直 接在所述距離度量中進(jìn)行比較,根據(jù)特定公式計算其距離。
[0027] 所述原始數(shù)據(jù)集經(jīng)過上述數(shù)據(jù)規(guī)范化預(yù)處理后變成高維向量組。其中,所述原始 數(shù)據(jù)集可以為KDDCUP99數(shù)據(jù)集,該數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集與檢測數(shù)據(jù)集,其中包含了大量 的數(shù)據(jù)記錄,每個數(shù)據(jù)記錄含有41維特征,共有39種類型的攻擊記錄,訓(xùn)練數(shù)據(jù)集中每個 數(shù)據(jù)記錄都被標(biāo)記為正?;蚰撤N攻擊,其中有22種攻擊類型的記錄。另有17種未知攻擊 類型出現(xiàn)在測試數(shù)據(jù)集中。
[0028] 需要說明的是,本發(fā)明實(shí)施例對數(shù)據(jù)集進(jìn)行規(guī)范化處理,將屬性數(shù)據(jù)按比例縮放, 使之落入一個小的特定區(qū)間,對于涉及距離度量的聚類算法,將有助于加快學(xué)習(xí)階段的速 度,并且可以幫助防止具有較大初始值域的屬性與具有較小初始值域的屬性相比權(quán)重過 大,進(jìn)而影響距離度量的準(zhǔn)確性。
[0029] 在步驟S102中,基于隨機(jī)梯度下降的矩陣分解算法對獲得的所述高維向量組進(jìn) 行降維處理,獲得低維向量組。
[0030] 在本發(fā)明實(shí)施例中,由于經(jīng)過預(yù)處理后獲得的向量組為高維向量組,而高維向量 組由于其特征維數(shù)較高,對于后續(xù)數(shù)據(jù)的聚類會產(chǎn)生時間代價較高的問題,因此需要對所 述高維向量組進(jìn)行降維處理。例如,在KDDCUP99數(shù)據(jù)集中,總共由500萬個數(shù)據(jù)記錄構(gòu)成, 每個數(shù)據(jù)記錄含有41維特征,其中包含32個連續(xù)特征與9個離散特征。在眾多的數(shù)據(jù)特 征中,存在很多的不必要特征,而這些不必要特征對于后面進(jìn)行的聚類運(yùn)算會增加不必要 的計算復(fù)雜度。因此對于入侵檢測模型的數(shù)據(jù)集,進(jìn)行一定的特征降維是十分必要的。
[0031] 本發(fā)明實(shí)施例優(yōu)選非負(fù)矩陣分解算法對所述高維向量組進(jìn)行降維處理,具體的 是:
[0032] 對于所述高維向量組V,將其分解成兩個矩陣W與H,其中,V=WXH,W為基矩陣, H為權(quán)矩陣,基矩陣中的每一列代表基向量,權(quán)矩陣中的每一列代表與基矩陣中基向量對應(yīng) 的編碼系數(shù);
[0033] 迭代求解W和H,并基于隨機(jī)梯度下降的矩陣分解算法判斷每次迭代過程中目標(biāo) 函數(shù)是否最優(yōu),所述目標(biāo)函數(shù)y=ΣΣ(Vij-W/Hj)2,其中i,j表示矩陣的行和列,i彡0、 j彡0,WtSW的轉(zhuǎn)置矩陣;
[0034] 若是,獲得該次迭代過程中的權(quán)矩陣H;
[0035] 基于獲得的該次迭代過程中的權(quán)矩陣H對獲得的所述高維向量組進(jìn)行降維處理, 獲得低維向量組。
[0036] 需要說明的是,本發(fā)明實(shí)施例所述目標(biāo)函數(shù)為凸函數(shù),基于隨機(jī)梯度下降的矩陣 分解算法(即沿著目標(biāo)函數(shù)負(fù)梯度的方向移動,直到移動到目標(biāo)函數(shù)的極小值點(diǎn))可以得 到所述目標(biāo)函數(shù)的極小值。在隨機(jī)梯度下降的矩陣分解算法中,迭代更新矩陣W與H,直到 迭代次數(shù)達(dá)到固定數(shù)值或者矩陣變化在預(yù)設(shè)區(qū)間內(nèi)時,停止迭代。
[0037] 非負(fù)矩陣分解(Non-negativeMatrixFactorization,NMF)是實(shí)現(xiàn)大規(guī)模數(shù)據(jù)處 理與分析的有效算法。該算法是在矩陣中所有元素均為非負(fù)的條件下對其實(shí)現(xiàn)非負(fù)分解。 從計算的角度來看,矩陣分解的結(jié)果中可以存在負(fù)值,但負(fù)值元素在實(shí)際問題中往往缺失 物理意義。非負(fù)矩陣分解算法通過對數(shù)據(jù)特征進(jìn)行歸約提取,具有分解算法實(shí)現(xiàn)簡便,分解 的結(jié)果中不出現(xiàn)負(fù)值,而且在分解結(jié)果上有可解釋性和明確的物理意義,以及占用存儲空 間少等諸多優(yōu)點(diǎn)。同時將隨機(jī)梯度下降的矩陣分解算法運(yùn)用到目標(biāo)函數(shù)優(yōu)化的過程中,從 而使迭代次數(shù)明顯減少,降低了時間復(fù)雜度。
[0038] 在步驟S103中,對獲得的所述低維向量組進(jìn)行加權(quán)閔可夫斯基距離度量。
[0039]在聚類算法中,根據(jù)數(shù)據(jù)的相似度把大型數(shù)據(jù)集合劃分成組,兩個對象越類似,則 兩個對象的相似度越高。與相似度概念類似的是相異度,它是對象之間差異程度的數(shù)值度 量。在聚類算法中,描述對象相異度一般用距離度量來表示。因此對于具有不同結(jié)構(gòu)特征 的數(shù)據(jù),如何衡量數(shù)據(jù)點(diǎn)之間的相異或相似程度對聚類算法起著至關(guān)重要的作用,會直接 影響到聚類結(jié)果的優(yōu)劣。
[0040] 考慮到量綱、屬性間相關(guān)性、計算時間復(fù)雜度以及噪聲數(shù)據(jù)對聚類分析結(jié)果的影 響較大,本發(fā)明實(shí)施例優(yōu)選閔可夫斯基距離度量算法進(jìn)行距離度量。另外,為了獲得更好的 檢測性能,本發(fā)明實(shí)施例還為每個變量(兩個數(shù)據(jù)記錄相應(yīng)的特征值之差)賦予一個權(quán)值, 并將所述權(quán)值作用于閔可夫斯基距離度量公式,如公式(1)所示:
[0041]
【權(quán)利要求】
1. 一種基于加權(quán)距離度量以及矩陣分解的入侵檢測方法,其特征在于,所述方法包 括: 對原始數(shù)據(jù)集進(jìn)行預(yù)處理,獲得高維向量組; 基于隨機(jī)梯度下降的矩陣分解算法對獲得的所述高維向量組進(jìn)行降維處理,獲得低維 向量組; 對獲得的所述低維向量組進(jìn)行加權(quán)閔可夫斯基距離度量; 基于所述加權(quán)閔可夫斯基距離度量和預(yù)定的聚類算法對預(yù)處理后的數(shù)據(jù)集進(jìn)行檢測, 獲得檢測結(jié)果。
2. 如權(quán)利要求1所述的方法,其特征在于,所述對原始數(shù)據(jù)集進(jìn)行預(yù)處理包括: 對原始數(shù)據(jù)集中的連續(xù)型數(shù)據(jù)點(diǎn),將其數(shù)據(jù)取值從[min,max]映射到[0,1]區(qū)間; 對原始數(shù)據(jù)集中的非數(shù)值型數(shù)據(jù)點(diǎn),將其離散化后,通過編碼映射成數(shù)值,或者直接在 所述距離度量中進(jìn)行比較。
3. 如權(quán)利要求1所述的方法,其特征在于,所述基于隨機(jī)梯度下降的矩陣分解算法對 獲得的所述高維向量組進(jìn)行降維處理,獲得低維向量組包括: 對于所述高維向量組V,將其分解成兩個矩陣W與H,其中,V=WXH,W為基矩陣,H為 權(quán)矩陣,基矩陣中的每一列代表基向量,權(quán)矩陣中的每一列代表與基矩陣中基向量對應(yīng)的 編碼系數(shù);
迭代求解W和H,并基于隨機(jī)梯度下降的矩陣分解算法判斷每次迭代過程中目標(biāo)函數(shù) 是否達(dá)到極小值,所述目標(biāo)函數(shù) 其中i,j表示矩陣的行和列,i>〇、 j彡0,WT為W的轉(zhuǎn)置矩陣; 若是,獲得該次迭代過程中的權(quán)矩陣H; 基于獲得的該次迭代過程中的權(quán)矩陣H對獲得的所述高維向量組進(jìn)行降維處理,獲得 低維向量組。
4. 如權(quán)利要求1所述的方法,其特征在于,所述對獲得的所述低維向量組進(jìn)行加權(quán)閔 可夫斯基距離度量的公式為:
其中,XpXj為低維向量組,Xlk表示第i個點(diǎn)的第k維坐標(biāo),Xjk表示第j個點(diǎn)的第k維 坐標(biāo),wk為對應(yīng)的權(quán)值,n、p為大于0的整數(shù)。
5. 如權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述基于所述加權(quán)閔可夫斯基距 離度量和預(yù)定的聚類算法對預(yù)處理后的數(shù)據(jù)集進(jìn)行分析,獲得分析結(jié)果包括: 根據(jù)預(yù)處理后的數(shù)據(jù)集隨機(jī)生成多個質(zhì)心; 基于所述加權(quán)閔可夫斯基距離度量,計算預(yù)處理后的數(shù)據(jù)集中每個數(shù)據(jù)點(diǎn)與各質(zhì)心的 距離; 將所述數(shù)據(jù)點(diǎn)分配到距離其最近的質(zhì)心所屬的簇中; 將分配后的簇按照其包含的數(shù)據(jù)點(diǎn)的個數(shù)進(jìn)行排序,將簇中數(shù)據(jù)點(diǎn)的個數(shù)最大的簇判 定為正常簇,其余的簇判定為異常簇。
6. -種基于加權(quán)距離度量以及矩陣分解的入侵檢測裝置,其特征在于,所述裝置包 括: 預(yù)處理單元,用于對原始數(shù)據(jù)集進(jìn)行預(yù)處理,獲得高維向量組; 降維單元,用于基于隨機(jī)梯度下降的矩陣分解算法對獲得的所述高維向量組進(jìn)行降維 處理,獲得低維向量組; 加權(quán)距離度量單元,用于對獲得的所述低維向量組進(jìn)行加權(quán)閔可夫斯基距離度量; 檢測單元,用于基于所述加權(quán)閔可夫斯基距離度量和預(yù)定的聚類算法對預(yù)處理后的數(shù) 據(jù)集進(jìn)行檢測,獲得檢測結(jié)果。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述預(yù)處理單元具體用于: 對原始數(shù)據(jù)集中的連續(xù)型數(shù)據(jù)點(diǎn),將其數(shù)據(jù)取值從[min,max]映射到[0,1]區(qū)間; 對原始數(shù)據(jù)集中的非數(shù)值型數(shù)據(jù)點(diǎn),將其離散化后,通過編碼映射成數(shù)值,或者直接在 所述距離度量中進(jìn)行比較。
8. 如權(quán)利要求6所述的裝置,其特征在于,所述降維單元具體用于: 對于所述高維向量組V,將其分解成兩個矩陣W與H,其中,V=WXH,W為基矩陣,H為 權(quán)矩陣,基矩陣中的每一列代表基向量,權(quán)矩陣中的每一列代表與基矩陣中基向量對應(yīng)的 編碼系數(shù); 迭代求解W和H,并基于隨機(jī)梯度下降的矩陣分解算法判斷每次迭代過程中目標(biāo)函數(shù) 是否最優(yōu),所述目標(biāo)函數(shù)
其中i,j表示矩陣的行和列,i>〇、j多〇,WT 為W的轉(zhuǎn)置矩陣; 若是,獲得該次迭代過程中的權(quán)矩陣H; 基于獲得的該次迭代過程中的權(quán)矩陣H對獲得的所述高維向量組進(jìn)行降維處理,獲得 低維向量組。
9. 如權(quán)利要求6所述的裝置,其特征在于,所述對獲得的所述低維向量組進(jìn)行加權(quán)閔 可夫斯基距離度量的公式為:
其中,XpXj為低維向量組,Xlk表示第i個點(diǎn)的第k維坐標(biāo),Xjk表示第j個點(diǎn)的第k維 坐標(biāo),wk為對應(yīng)的權(quán)值,n、p為大于0的整數(shù)。
10. 如權(quán)利要求6至9任一項(xiàng)所述的裝置,其特征在于,所述檢測單元包括: 質(zhì)心生成模塊,用于根據(jù)預(yù)處理后的數(shù)據(jù)集隨機(jī)生成多個質(zhì)心; 距離計算模塊,用于基于所述加權(quán)閔可夫斯基距離度量,計算預(yù)處理后的數(shù)據(jù)集中每 個數(shù)據(jù)點(diǎn)與各質(zhì)心的距離; 分配模塊,用于將所述數(shù)據(jù)點(diǎn)分配到距離其最近的質(zhì)心所屬的簇中; 檢測模塊,用于將分配后的簇按照其包含的數(shù)據(jù)點(diǎn)的個數(shù)進(jìn)行排序,將簇中數(shù)據(jù)點(diǎn)的 個數(shù)最大的簇判定為正常簇,其余的簇判定為異常簇。
【文檔編號】G06F21/55GK104484601SQ201410750891
【公開日】2015年4月1日 申請日期:2014年12月9日 優(yōu)先權(quán)日:2014年12月9日
【發(fā)明者】張爽, 張涌, 寧立 申請人:中國科學(xué)院深圳先進(jìn)技術(shù)研究院