專利名稱:基于增量式ghsom神經網絡的入侵檢測方法
技術領域:
本發(fā)明涉及ー種入侵檢測方法,具體涉及ー種基于増量式生長型分級自組織映射(Incremental Growing Hierarchical Self-organizing Maps, IGHSOM)神經網絡的入侵檢測方法,屬于計算機網絡信息安全技術領域。
背景技術:
隨著計算機網絡規(guī)模的不斷擴大以及網絡技術的高速發(fā)展,計算機網絡與人們的日常生活緊密的聯(lián)系在一起,網絡安全問題也隨之受到人們的關注。特別是近年來黑客攻擊的頻度、傳播速度、受害面和破壞程度都在不斷加大,如何保證個人信息不被盜取,以及如何抵御網絡外部和系統(tǒng)內部的攻擊行為或企圖,成為網絡安全業(yè)界密切關注的重要課·題。圍繞網絡安全問題人們提出了很多種解決的方法,如人們熟知的防火墻。防火墻能夠通過過濾和訪問控制阻止一些對系統(tǒng)的非法訪問,但是缺乏對網絡環(huán)境下日新月異的攻擊行為的主動響應,不能提供足夠的安全保護。入侵檢測作為ー種主動防御技木,是對傳統(tǒng)安全機制的補充,它能夠通過監(jiān)控網絡的使用狀態(tài)、用戶的操作行為以及系統(tǒng)的異常情況,亦或通過對網絡數(shù)據包進行分析和處理,來檢測網絡系統(tǒng)用戶和系統(tǒng)外部的入侵者的入侵行為或企圖,并做出實時響應,它的引入進ー步地提高網絡系統(tǒng)的安全性。入侵檢測方法分為異常檢測和誤用檢測。異常檢測是通過對比與正常模式的偏離度來預測用戶的行為是否為異常,包括基于特征選擇、貝葉斯網絡、機器學習、數(shù)據挖掘、ネ申經網絡的異常檢測方法等;誤用檢測是通過模式匹配當前活動與預先定義好的入侵模式或入侵規(guī)則,包括基于條件概率、狀態(tài)遷移分析、鍵盤監(jiān)控、專家系統(tǒng)、模型誤用推理及Petri網狀態(tài)轉換的誤用入侵檢測方法。神經網絡算法具有自適應、自學習、自組織、較好的容錯性和魯棒性、以及能夠進行大規(guī)模并行計算和非線性映射等優(yōu)點,非常適用于變化多端的入侵檢測環(huán)境。自組織映射(self-organizing maps, SOM)是神經網絡方法中ー種典型的方法。但由于傳統(tǒng)的SOM神經網絡模型結構是固定的,不能改變,所以選擇不同的初始神經元個數(shù)會直接導致最終神經網絡模型的結構與檢測精度。而生長型分層自組織映射(Growing HierarchicalSelf-organizing maps, GHS0M)是SOM模型的一種變體,不僅可以自適應地調整子網和拓展子網,而且可以更好的體現(xiàn)數(shù)據中可能存在的復雜階層關系,較好地解決了 SOM神經網絡模型不能動態(tài)更新的缺點。GHSOM神經網絡算法是基于批量學習,即假設一次可以得到所有訓練樣本,對這些樣本進行學習,達到預定學習次數(shù)后學習過程終止,不再學習新知識。然而在現(xiàn)實入侵檢測網絡應用中,攻擊類型是層出不窮的,所以包含所有攻擊類型的訓練樣本通常是隨著時間逐步得到的,并且訓練樣本反映的內在信息可能隨著時間的變化而變化。如果算法毎次得到新樣本后都要對全部數(shù)據重新訓練,勢必會提高算法的時間復雜度和空間復雜度,不能及時發(fā)現(xiàn)新的入侵行為。
發(fā)明內容
針對現(xiàn)有技術中存在的問題,本發(fā)明的目的在于提供一種增量式入侵檢測方法,其是在ー個穩(wěn)定的入侵檢測模型基礎上以在線方式邊檢測邊進行増量學習,實現(xiàn)在檢測過程中對入侵檢測模型進行動態(tài)更新,從而能夠更及時的檢測出各種入侵行為,尤其是新出現(xiàn)的入侵行為。傳統(tǒng)的SOM神經網絡結構是固定的,不能動態(tài)改變,訓練時某些神經元始終不能獲勝,成為冗余神經元,GHSOM在一定程度上克服了這些缺點。但是GHSOM神經網絡算法是基于批量學習,達到預定學習次數(shù)后學習過程終止,不能再學習新知識,對于攻擊類型層出不窮的實際入侵檢測檢測網絡顯得無能為力,如果頻繁地對全部數(shù)據重新訓練,全部數(shù)據重新訓練,勢必會提高算法的時間復雜度和空間復雜度。針對如上問題,本發(fā)明提出基于增量式生長型分級自組織映射(IncrementalGrowing Hierarchical Self-organizing Maps, IGHSOM)神經網絡的入侵檢測方法,提高入侵檢測模型的智能性。主要工作包括I)在檢測過程中増加相似度判斷,用于判斷檢測·向量是否與獲勝神經元同類型。2)在檢測過程中動態(tài)構造新拓展層的訓練數(shù)據集。3)提出增量式GHSOM神經網絡的動態(tài)層拓展方案。4)設計增量式GHSOM神經網絡規(guī)模的控制機制。為了便于后續(xù)內容的討論,先給出如下定義定義I:映射向量。訓練過程中落在神經元上的獲勝向量稱為映射向量。定義2 :獲勝向量。檢測過程中落在神經元上的獲勝向量稱為獲勝向量。定義3 :覆蓋神經元。如果神經元能夠被ー個足夠小的超球區(qū)域所覆蓋,即神經元上的映射向量到該神經元權值的歐氏距離都小于某ー個期望值,那么該神經元稱為覆蓋神經元,即滿足如下式子I I i-wt I < , (I)其中i是神經元t上映射向量集合中的任意ー個向量,Wt是神經元t的權值,4取經驗常數(shù)以保證該神經元的映射向量分布集中。本文中(的取值通過實驗方式獲取,取值為0. 11。定義4:成熟神經元。是指在増量學習算法執(zhí)行過程中不發(fā)生改變的神經元。所有初始訓練的GHSOM神經網絡中的神經元都是成熟神經元;對于動態(tài)增量拓展的子網絡中的神經元是成熟神經元,應同時滿足以下必要條件1)非虛根節(jié)點上的成熟神經元一定是覆蓋神經元。2)成熟神經元的虛根神經元也是成熟神經元。3)成熟神經元所在SOM網絡中的所有非根神經元都是覆蓋神經元。4)成熟神經元的所有上層(包括直接上層和間接上層)SOM網絡中的所有神經元都是成熟神經元。本發(fā)明的技術方案為一種基于増量式生長型分級自組織映射神經網絡的入侵檢測方法,其步驟為I)初始化。動態(tài)增量式GHSOM神經網絡模型初始化為使用生長型分級自組織映射神經網絡的入侵檢測方法訓練好的神經網絡模型。并將初始化后的動態(tài)增量式GHSOM神經網絡模型加載到入侵檢測&動態(tài)增量式學習模塊。2)從網絡中采集網絡數(shù)據,并對其進行特征的提取,生成神經網絡能夠識別的檢測模式向量;將處理好的檢測模式向量輸入給入侵檢測&動態(tài)增量式學習模塊,進行增量式學習,實現(xiàn)在入侵檢測的過程中對GHSOM模型進行動態(tài)更新,其中增量式學習(包括入侵檢測)過程為a.將基于網絡流量在線采集并提取的當前檢測模式向量賦值給X,選擇第一層SOM中與X距離最小的神經元t作為獲勝神經元。b.如果獲勝神經元t是可用于檢測神經元,就跳到d。c.如果獲勝神經元t不是葉子神經元,則繼續(xù)找獲勝神經元t子層中的獲勝神經元,并將該神經元賦值給t,然后返回b ;否則獲勝神經元t是葉子神經元,輸出檢測結果并調整獲勝神經元的增量訓練集當獲勝神經元t是非覆蓋神經元且增量集合It為空,那么It = {x} U Mt,其余情況都只需It = It U {x},跳到e。d.計算向量X與獲勝神經元t的歐氏距離dis (x,t)和獲勝神經元t的相似度閾·值St。如果dis(x,t) >St,說明檢測模式向量X與獲勝神經元t不同類,返回c;否則向量X檢測成功,判斷獲勝神經元t是否為覆蓋神經元,是則輸出檢測結果并返回a,不是則返回
Coe.如果獲勝葉子神經元t滿足拓展條件時,即增量訓練集中向量個數(shù)達到拓展參數(shù)Ex的倍數(shù),則從神經元t下方拓展出一個虛神經元t',再從虛神經元t'拓展出一個新的2X2結構的S0M。將神經元t的增量訓練集合It作為虛神經元t'的映射向量集合,以集合It中向量均值作為虛神經元t'的初始權值,以虛神經元t'作為父神經元,訓練新拓展的SOM子網的方法如下①從集合It中隨機選擇一種輸入向量,計算該輸入向量與新拓展的SOM中每個神經元的歐氏距離,具有最小距離的為獲勝神經元,調整獲勝神經元及其領域內神經元的權值。②達到預定的學習次數(shù)后,計算該SOM中所有神經元的平均量化誤差MQEm和父虛神經元t'的量化誤差qet'。如果MQEmS T1Xqe/,則在量化誤差值最大神經元及其最遠鄰近神經元之間插入一行或者一列新的神經元,其權向量初始值為相鄰映射單元權向量的平均值,返回①;否則說明SOM層中的每個神經元都達到穩(wěn)定,新拓展SOM的訓練過程結束。f.查找新拓展SOM子網的成熟父神經元并將該神經元賦值給t,判斷神經元t是否滿足刪除不成熟子網條件。滿足則把神經元t的所有不成熟子網刪除,并合并所有刪除子網中覆蓋神經元和葉子非覆蓋神經元的映射向量構成神經元t的增量訓練集,返回e。g.如果在線檢測過程停止,算法結束,否則返回a。3)入侵分析與處理模塊根據入侵檢測模塊輸出結果判斷當前是否發(fā)生入侵。遍歷攻擊類型庫查找是否有相匹配的攻擊類型,如果找到則說明當前行為是入侵行為;如果沒有找到,則需要通過人工標注或其它機制進行判斷當前行為是正常類型還是新出現(xiàn)的攻擊類型。如果當前行為被認定為是新出現(xiàn)的攻擊類型,則把這種攻擊類型添加入攻擊類型庫。進一步的,所述的拓展參數(shù)Ex為1000,T1SO. 07。進一步的,所述的獲勝神經元t的相似度閾值St計算公式為-.St =max\\i-wt |]feA//,其中Mt是獲勝神經元的映射向量集合,i是集合Mt中的任意一個向量,Wt是獲勝神經元的權值。
進一步的,所述的刪除不成熟子網條件為1)不成熟子網的總層數(shù)大于a I ;2)并且不成熟神經元總個數(shù)大于a 2。其中a I為不成熟子網的層控制參數(shù),a 2為不成熟子網的神經元個數(shù)控制參數(shù)。經實驗,這兩個控制參數(shù)取值為a I = 3,a 2 = 15。與現(xiàn)有技術相比,本發(fā)明的積極效果為本方法能夠實現(xiàn)在入侵檢測過程中動態(tài)更新入侵檢測模型,在不破壞已學習過的知識的情況下,能夠檢測識別出未知攻擊類型,以及當訓練數(shù)據一樣時,增量式GHSOM算法與傳統(tǒng)GHSOM算法的檢測效果相當,進一步地,本方法還能夠有效地控制入侵檢測模型的增長規(guī)模,不僅減小動態(tài)增量式GHSOM算法的空間消耗,而且能確??刂坪蟮脑隽縂HSOM網絡在增強成熟性的同時依然可動態(tài)更新。
圖I為動態(tài)增量式GHSOM學習過程·
圖2為動態(tài)增量式GHSOM神經網絡訓練算法流程圖;圖3為插入神經元示意圖;圖4為層拓展后網絡結構圖;圖5為動態(tài)增量式GHSOM網絡拓撲結構圖;圖6為入侵檢測過程流程圖。
具體實施例方式下面結合附圖對本發(fā)明進行進一步詳細描述本發(fā)明的入侵檢測系統(tǒng)由兩部分組成神經網絡模型的離線訓練和基于神經網絡模型的在線檢測。系統(tǒng)從網絡中采集已知攻擊類型的離線樣本數(shù)據作為初始訓練樣本數(shù)據集進行離線訓練,得到入侵檢測模型后開始在線網絡入侵檢測。離線訓練過程應用傳統(tǒng)GHSOM神經網絡訓練算法,基于初始訓練數(shù)據集訓練初始神經網絡模型。在線檢測過程中通過運行增量式GHSOM神經網絡學習算法實現(xiàn)在檢測過程中對GHSOM網絡模型進行動態(tài)更新。顯然,離線訓練只是對入侵檢測模型進行初始化,而增量式GHSOM神經網絡學習算法才是基于神經網絡的入侵檢測系統(tǒng)的核心技術。以下我們將重點闡述增量式GHSOM在線檢測及學習過程。之后簡單介紹入侵檢測的過程和方法。增量式GHSOM在線檢測及學習過程增量式學習算法是在一個成熟的GHSOM模型基礎上以在線方式邊檢測邊進行增量學習,實現(xiàn)在檢測過程中對GHSOM模型進行動態(tài)更新。算法開始前先收集一批已知類型的離線數(shù)據集作為初始訓練數(shù)據集,使用傳統(tǒng)GHSOM算法訓練生成初始GHSOM網絡模型。在初始GHSOM模型的基礎上開始在線網絡入侵檢測,在檢測過程中通過運行增量式GHSOM學習算法實現(xiàn)對模型的動態(tài)更新。增量式GHSOM學習過程(包含檢測過程)如圖I所示。增量式GHSOM神經網絡算法是基于神經網絡的入侵檢測系統(tǒng)的核心技術,本發(fā)明重點提出一種增量式GHSOM神經網絡入侵檢測方法。本發(fā)明的增量式GHSOM神經網絡訓練算法流程如圖2所示I.在線采集檢測向量,并輸入現(xiàn)有GHSOM模型。
根據實際網絡的應用流提取39維特征向量。具體的一條特征向量如下所示tcp unk_tcp 1029 139 4 I 2 2. 00 I. 00 0 0. 00 I. 00 I 0. 33 3 I. 00 I. 000. 00 0. 00 0.67 43 0 I 0 43.00 0. 00 0. 00 0. 00 I 0 43.00 0. 00 0 0 0. 00 0. 00 0 00. 00 0. 00 nuke把用到的所有字符特征(比如協(xié)議類型TCP,UDP等)轉化成數(shù)值形式,并進行歸一化后生成神經網絡能夠識別的數(shù)值型檢測向量。2.計算可用于檢測的獲勝神經元?;趧討B(tài)增量式GHSOM網絡,采用自頂向下的方式按照增量式神經網絡的層拓展關系,計算并找出可用于檢測的獲勝神經元。獲勝神經元計算公式為妒W+/ ||x—wA.\\,k = l2,...,m· h其中x表示任意一個檢測向量,t表示檢測向量X的獲勝神經元,m表示當前SOM子網中神經元的個數(shù),wk表示神經元k的權值向量。為了保證已學習過的知識不被破壞,動態(tài)增量式GHSOM神經網絡中可用于檢測的神經元包括初始網絡、拓展后網絡的葉子神經元,以及非葉層中的覆蓋神經元;覆蓋神經元既存在于葉子神經元、也存在于非葉子神經元中。對于可用于檢測的非葉子神經元,需要判斷檢測向量與獲勝神經元是否同類,同類說明當前檢測向量的檢測過程結束,不同類則繼續(xù)找檢測向量在獲勝神經元子網的獲勝神經元。對于可用于檢測的葉子神經元,需要判斷獲勝神經元是否是覆蓋神經元如果是覆蓋神經元,需要判斷檢測向量與獲勝神經元是否同類,同類說明當前檢測向量的檢測過程結束,不同類則需要構造獲勝神經元的增量訓練集;如果是非覆蓋神經元,那么直接構造獲勝神經元的增量訓練集。3.判斷檢測向量與可用于檢測的獲勝神經元是否同類。判斷檢測向量與獲勝神經元是否同類型,實際上就是判斷檢測向量與獲勝神經元的權值向量之間的相似度。因此,需要確定獲勝神經元的相似度閾值,當檢測向量與該獲勝神經元權值向量的相似度小于相似度閾值,那么說明檢測向量與該獲勝神經元相似,屬于同類型。檢測向量可以看成高維空間中的一點,假設同類型的向量之間相似度要大于不同類型向量之間的相似度,那么在高維空間分布中表現(xiàn)為同類型向量之間的密度大,而不同類型向量之間有間隔。因此存在同類型向量的分布區(qū)域可被一個封閉的空間覆蓋,形成相似域。定義5 :相似域。相似域是指相似度高的向量構成的分布區(qū)域。對于增量式GHSOM神經網絡模型而言,映射向量都與該神經元具有高的相似度,因此以葉子神經元權值向量作為球心,映射向量到該神經元的最大歐氏距離作為半徑構成的超球可以看成一個相似域。每個葉子神經元對應一個相似域。推論I :如果檢測向量落在神經元的相似域中,那么檢測向量與該神經元相似并且同類型,否則不相似。定義6.相似度閾值。由于每個葉子神經元對應一個相似域,所以也對應一個相似度閾值,相似度閾值表現(xiàn)為相似域的半徑,也就是映射向量到該獲勝神經元的最大距離。設St為神經元t上的相似度閾值,則相似度閾值St的計算方法如下& =max 11/-Wf Il fcM((II)其中i是神經元t映射向量集合中的任意一個向量,Wt是神經元t的權值,Mt是神經元t的映射向量集合。檢測向量X與神經元t的歐氏距離的 計算方法為dis (x, t) = Il x-wt I (III)對任意檢測向量x,若不滿足dis(x, t) > St,則檢測向量X不在神經元t的相似域內,與神經元t不相似,那么可以認為向量X不屬于神經元t表征的類型,有可能是新出現(xiàn)的攻擊類型;否則,檢測向量X與神經元t相似,屬于同類型。4.如果當前獲勝神經元是葉子神經元,那么構造該神經元的增量訓練集。如果當前獲勝神經元是葉子神經元,只有當獲勝神經元是覆蓋神經元且檢測向量與獲勝神經元同類才說明檢測成功,也就不需要構造獲勝神經元的增量訓練集,否則其余情況都說明檢測向量沒有找到檢測成功的獲勝神經元,那么檢測向量有可能是新出現(xiàn)的攻擊類型,所以需要收集起來,用于在新拓展子網中進行訓練,這個新拓展子網的訓練集稱為增量訓練集。增量訓練集可能來自檢測向量,也可能來自神經元上的映射向量,因此需要設計一種增量訓練集的構造機制。每個葉子神經元都對應一個增量訓練集。根據定義3,覆蓋神經元本質上反映的是神經元上的映射向量分布集中度,決定了某個神經元是否起到聚類效果、映射向量是否需要再訓練。推論2 :如果當前神經元不是覆蓋神經元,那么所有該神經元上的映射向量和獲勝向量都需要在新拓展的SOM網絡中再訓練,即需要把訓練過程產生的映射向量以及檢測過程產生的獲勝向量都添加到增量訓練集中。推論3 :如果當前神經元是覆蓋神經元,那么只有檢測過程中與該神經元不相似的獲勝向量需要添加到當前神經元的增量訓練集中,在新拓展子網中再訓練。5.判斷當前獲勝葉子神經元是否滿足拓展條件。在線檢測過程中,增量訓練集不斷地動態(tài)增加,當增加到一定規(guī)模以后,認為這個增量訓練集可以被用于訓練一個相對成熟的新子網,那么動態(tài)拓展一層新的子網。在這個動態(tài)層拓展過程中,引入拓展條件的概念。定義7 :拓展條件。當葉子神經元t上的增量訓練集It的個數(shù)乂達到設定閾值Ex的整數(shù)倍,則可以用增量訓練集It作為初始訓練集,訓練一層相對成熟的、可以較好聚類的SOM網絡。其中Ex為任意一個葉子神經元的拓展參數(shù)。為了區(qū)別傳統(tǒng)GHSOM模型和增量GHSOM模型,我們引入與拓展條件對應的虛神經
J Li o定義8.虛神經元。虛神經元是動態(tài)層拓展過程中拓展出的一個起引導檢測作用的神經元,不具備檢測攻擊類型的功能。它的權值不能改變且等于父神經元增量訓練集中向量的均值,它的映射向量集等于父神經元的增量訓練集。當從葉子神經元t往下進行動態(tài)層拓展時,需要先從t向下拓展一個虛神經元t',再從虛神經元t'下拓展一個新的2X2結構的SOM網絡,拓展方法描述如下
以虛神經元t'為父神經元,以It為初始訓練集,采用傳統(tǒng)GHSOM學習方法訓練一層新拓展的2X2結構SOM網絡。傳統(tǒng)GHSOM算法會在每次達到預定的學習次數(shù)(預定學習次數(shù)需要預先設定)后,計算出每個神經元的量化誤差。為了判斷神經網絡是否應該在第Layer層中增加新的神經元,算法首先計算出參數(shù)T工與qeu的乘積,其中qeu為當前SOM父神經元的量化誤差,如果當前SOM中存在某個神經元的量化誤差大于參數(shù)T工與qeu的乘積,則在誤差神經元和它的最遠鄰近神經元之間插入一行或者一列神經元。插入神經元的過程如圖3所示。由于增量式GHSOM算法中新拓展層的訓練集是來自父神經元的增量訓練集,而傳統(tǒng)GHSOM算法中新拓展層的訓練集來自父神經元的映射向量集,所以在增量式GHSOM算法中判斷是否需要插入一行或一列是根據神經元的量化誤差是否大于參數(shù)T1與qet'的乘積,其中qet'是虛神經元t'的量化誤差,T1層內擴展控制系數(shù)。直到新拓展子網不再增行或增列時說明新拓展的SOM神經網絡穩(wěn)定,則拓展層訓練結束。層拓展后的網絡結構如圖4所示。此增量學習方法具有調整子網的特點,相比于·固定結構的SOM學習方法和GHSOM學習方法的好處是能夠根據增量訓練集中向量的內在聯(lián)系自適應地調整SOM網絡結構。6.判斷動態(tài)更新后的增量式GHSOM網絡規(guī)模是否滿足控制條件。在線檢測過程中,動態(tài)增量式GHSOM網絡會隨著新增攻擊類型的不斷輸入而自適應地動態(tài)拓展SOM子網,模型結構最終可能會動態(tài)拓展成無法控制的規(guī)模,造成系統(tǒng)崩潰,因此需要設計一種策略使得動態(tài)增量式GHSOM神經網絡的規(guī)模得到有效控制,要求這種控制機制不僅減小動態(tài)增量式GHSOM算法的空間消耗,而且能確保控制后的增量GHSOM模型具有更成熟性,而且依然可動態(tài)更新。先引入如下定義定義9 :成熟的GHSOM神經網絡。增量GHSOM神經網絡成熟的充分必要條件是神經網絡中的所有神經元都是成熟神經元。初始GHSOM神經網絡是一成熟的GHSOM神經網絡。增量式GHSOM網絡包括一個在初始GHSOM神經網絡基礎上動態(tài)增長的成熟的GHSOM網絡和多個在成熟的神經網絡上不斷動態(tài)拓展出的多個不成熟的GHSOM子網絡。成熟的增量式GHSOM網絡本質上反映的是聚類效果好的神經網絡。不成熟子網本質上反映的是聚類效果不夠好的子網。在檢測和動態(tài)學習過程中,初始GHSOM神經網絡會隨著新增攻擊類型的不斷輸入而自適應地動態(tài)拓展SOM子網,在成熟的神經網絡的葉神經元節(jié)點上新拓展的SOM子網絡中的神經元如果都是成熟神經元,則將該拓展子網并入到成熟的GHSOM子網絡中,否則,在該成熟神經元節(jié)點下動態(tài)拓展一個不成熟的GHSOM子網,而且該不成熟子網是不斷動態(tài)拓展的。神經網絡結構最終可能會動態(tài)拓展成無法控制的規(guī)模,造成系統(tǒng)崩潰,因此需要設計一種機制使得動態(tài)增量式GHSOM神經網絡的規(guī)模得到有效控制,要求這種控制機制不僅減小動態(tài)增量式GHSOM算法的空間消耗,而且能確??刂坪蟮脑隽縂HSOM網絡在增強成熟性的同時依然可動態(tài)更新??刂品椒ǖ幕舅枷胧?)在滿足一定條件下刪除不成熟的GHSOM子網;2)收集刪除的子網神經元上的映射向量重新生成增量訓練集;3)采用前面描述的動態(tài)層拓展方法重新拓展一層更趨于成熟的SOM子網。
推論4 :由于不成熟子網反映的是聚類效果不好的子網,因此不成熟子網在滿足一定條件下可以被刪除并重新訓練拓展新SOM子網,而成熟子網則要不斷擴大,以增強其成熟度,在保持原有檢測能力的同時,不斷增強其有效檢測能力。提出控制機制的主要目的是為了控制動態(tài)增量式GHSOM神經網絡規(guī)模,且使得增量式GHSOM網絡模型更成熟,所以當不成熟GHSOM子網絡規(guī)模足夠大時,才會刪除不成熟子網。為了說明刪除不成熟子網的條件,引入刪除條件。刪除不成熟子網條件1)不成熟子網的總層數(shù)大于a I ;2)并且不成熟神經元總個數(shù)大于a 2。其中a I為不成熟子網的層控制參數(shù),a 2為不成熟子網的神經元個數(shù)控制參數(shù)。實驗中一般采用a I = 3,a 2 = 15。由于不成熟子網都是新拓展出的子網,而新拓展出的子網中神經元的映射向量反映的是在線檢測過程中的新增攻擊類型。另外,由于非覆蓋神經元在拓展子網過程中會把映射向量和獲勝向量都用于訓練新拓展的子網,所以非覆蓋神經元拓展子網后映射向量與子層神經元的映射向量重復,因此不需要收集層拓展后的非覆蓋神經元上的映射向量。因·此,當某個成熟神經元節(jié)點下的不成熟子網都刪除后,需要收集該刪除的不成熟子網中所有覆蓋神經元節(jié)點和所有葉子神經元節(jié)點的映射向量作為該成熟神經元節(jié)點的增量訓練集?;谠撛隽坑柧毤?,根據動態(tài)層拓展的方法,從成熟神經元動態(tài)拓展一個虛神經元和一層新SOM子網,其中虛神經元的權值等于成熟神經元的增量訓練集中向量的均值。該SOM子網是對刪除前的龐大的GHSOM子網進行精簡后的SOM子網。該子網僅包含一層SOM子網,使網絡規(guī)模得到有效控制。而且由于訓練數(shù)據更為充分、全面,新拓展訓練后的網絡結構成熟度不斷得到了提高,檢測能力將得到增強。增量式GHSOM神經網絡拓撲結構總的來說,增量式GHSOM最后會形成類似于圖5所示的拓撲結構。白色圓點表示初始GHSOM模型中非葉層節(jié)點(不能用于檢測)的神經元,虛線方框內的白色圓點表示虛神經元,黑色圓點表示覆蓋神經元,灰色神經元表示非覆蓋神經元。虛線圍起的部分是當前成熟的GHSOM神經網絡,其余三個子網是不成熟子網。相比于傳統(tǒng)的GHSOM神經網絡結構,動態(tài)增量式GHSOM神經網絡結構具有以下特
占-
^ \\\ (I)動態(tài)增量式學習算法在初始成熟的GHSOM神經網絡的基礎上,以在線方式邊檢測邊進行增量學習,實現(xiàn)在檢測過程中對GHSOM模型進行動態(tài)更新。因此增量式GHSOM網絡結構隨動態(tài)拓展和刪剪而動態(tài)變化,動態(tài)拓展出的每一層結構包括一個虛神經元和一個SOM子網。(2)在增量式GHSOM神經網絡動態(tài)變化過程中,網絡結構都有兩部分組成一成熟的GHSOM網絡和多個不成熟的GHSOM子網絡。(3)成熟的GHSOM網絡中包含的可用于檢測的成熟神經元一般具有穩(wěn)定的、較好的檢測效果,而且便于根據其所包含的知識分析并標注與該成熟神經元對應的入侵類型,在入侵檢測系統(tǒng)中可以成熟的GHSOM網絡為主要模型進行入侵檢測。(4)動態(tài)增量式GHSOM神經網絡結構中的不成熟的GHSOM子網絡中包含了不成熟、不穩(wěn)定的神經元。但這些神經元中也可能是覆蓋神經元,也可以用于檢測,只是由于不成熟子網在一定條件下會被調整,因此,這些神經元的檢測是臨時性的,不便于對這些神經元進行分析和標注類型。在入侵檢測系統(tǒng)中可使用不成熟的GHSOM子網作為臨時性的輔助入侵檢測模型。(5)動態(tài)增量式GHSOM神經網絡結構中的成熟的GHSOM網絡中的神經元不會被刪除和動態(tài)修改,但對于新拓展出的成熟的SOM的子網,會將其加入到成熟的GHSOM子網中。因此,動態(tài)增量式GHSOM神經網絡結構會逐漸實現(xiàn)增量擴展。這樣的可動態(tài)拓展的成熟的網絡結構在保持已有知識的同時,不斷增加新的知識。入侵檢測能力隨著增量學習的不斷進行得到了動態(tài)增強。(6)不成熟的子網在達到一定規(guī)模時被刪剪,并收集已 有的訓練向量重新進行拓展學習,拓展一個更精簡的SOM子網,該機制使得增量GHSOM網絡規(guī)模得到控制,并且隨著學習的不斷進行增量式GHSOM模型會逐漸趨于成熟。入侵檢測過程基于增量式GHSOM神經網絡的網絡入侵檢測過程見圖6。在線檢測時,首先由數(shù)據采集與預處理模塊從實驗網絡中采集網絡流量數(shù)據;然后經過特征提取模塊進行特征的提取;最后將檢測數(shù)據輸入給入侵檢測&動態(tài)增量式學習模塊。入侵檢測&動態(tài)增量式學習模塊中的核心部件是動態(tài)增量式GHSOM神經網絡模型。入侵檢測&動態(tài)增量式學習模塊如果對當前網絡行為判別為攻擊行為,則需要入侵分析與處理模塊對其進一步分析處理。包括以下步驟 數(shù)據采集與預處理模塊該模塊的數(shù)據采集部分是采用IDS Informer工具模擬產生網絡攻擊流量,同時用戶終端生成各種應用的正常流量,進行帶標簽特征向量數(shù)據集的采集。對模擬的攻擊,每條連接提取如表2所示的39維特征。之后采用規(guī)一化方法對特征向量進行規(guī)一化處理。規(guī)一化處理的原則是找出每一維特征的最大值,然后將每個特征向量的對應值除以這個最大值;如果最大值為0,則對每個特征向量相對應的值不做改變。對整個特征向量集進行規(guī)一化等處理后,就可以作為入侵檢測&動態(tài)增量式學習模塊的檢測數(shù)據了。表I提取的39維特征
權利要求
1.一種基于增量式GHSOM神經網絡的入侵檢測方法,其步驟為 1)從網絡中在線采集網絡數(shù)據,并生成神經網絡能夠識別的檢測模式向量,輸入給入侵檢測&動態(tài)增量式學習模塊;其中,所述入侵檢測&動態(tài)增量式學習模塊包括一離線訓練好的GHSOM神經網絡模型; 2)所述入侵檢測&動態(tài)增量式學習模塊將當前檢測模式向量賦值給X,采用自頂向下的方式按照GHSOM神經網絡模型的層拓展關系,計算并找出可用于檢測向量X的獲勝神經元t ; 3)如果獲勝神經元t是覆蓋神經元,且向量X與獲勝神經元t是同類,則利用該神經元t檢測輸出該檢測向量X的檢測結果;否則為向量X打上未知攻擊類型的標簽并輸出檢測結果,如果獲勝神經元t是非覆蓋神經元且增量訓練集為空,則需要把獲勝神經元t的映射向量集和向量X都添加入增量訓練集中,否則只需把向量X添加入獲勝神經元t的增量訓練集中; 4)當獲勝葉子神經元t滿足設定拓展條件時,從獲勝葉子神經元t下方拓展出一個虛神經元t'再從虛神經元t'拓展出一個新的2X2結構S0M,利用獲勝葉子神經元t對應的增量訓練集合It進行訓練;所述虛神經元不具備檢測攻擊類型的功能,其權值不能改變且等于父神經元增量訓練集中向量的均值,它的映射向量集等于父神經元的增量訓練集; 5)查找新拓展SOM子網的成熟父神經元,判斷該成熟神經元是否滿足刪除不成熟子網條件,如果滿足刪除不成熟子網條件,則對從該成熟神經元動態(tài)拓展出的不成熟神經網絡部分刪除并重新進行訓練; 6)入侵分析與處理模塊根據入侵檢測模塊輸出的檢測結果判斷當前是否發(fā)生入侵; 其中,所述覆蓋神經元為如果神經元上的映射向量到該神經元權值的歐氏距離都小于某一個期望值,那么該神經元稱為覆蓋神經元;GHS0M神經網絡模型離線訓練過程中落在神經元上的獲勝向量稱為映射向量;如果神經元所在子網中的全部神經元及其上層網絡的全部神經元均為覆蓋神經元,則該神經元為成熟神經元,由所述成熟神經元構成的網絡為所述成熟神經網絡;包含不成熟神經元的網絡為不成熟子網。
2.如權利要求I所述的方法,其特征在于判斷向量X與獲勝神經元t是否為同類的方法為 計算向量X與獲勝神經元的歐氏距離dis(x,t)和獲勝神經元t的相似度閾值St ;如果dis (x,t) > St,則判定輸入向量X與獲勝神經元t不同類,否則為同類;其中,相似度閾值的計算方法為-St^maxV,Mt是獲勝神經元的映射向量集合,i是集合Mt中的任意一個向量,wt是獲勝神經元t的權值。
3.如權利要求I所述的方法,其特征在于所述拓展條件為增量訓練集中向量個數(shù)超過設定拓展參數(shù)Ex的倍數(shù)。
4.如權利要求3所述的方法,其特征在于訓練新拓展的SOM子網的方法為將獲勝葉子神經元t對應的增量訓練集合It作為虛神經元t'的映射向量集合,以集合It中的向量均值作為虛神經元t'的初始權值,以虛神經元t'作為父神經元,訓練新拓展的SOM子網。
5.如權利要求I或4所述的方法,其特征在于訓練新拓展的SOM子網的方法為1)從集合It中隨機選擇一種輸入向量,計算該輸入向量與新拓展的SOM中每個神經元的歐氏距離,具有最小距離神經元為獲勝神經元,調整獲勝神經元及其領域內神經元的權值;2)達到預定的學習次數(shù)后,計算該SOM中所有神經元的平均量化誤差MQEm和父虛神經元t'的量化誤差qet';如果MQEmS T1Xqe/,則在量化誤差值最大神經元及其最遠鄰近神經元之間插入一行或者一列新的神經元,其權向量初始值為相鄰映射單元權向量的平均值,返回步驟I);否則說明SOM層中的每個神經元都達到穩(wěn)定,新拓展SOM的訓練過程結束;其中,^為層內擴展控制系數(shù)。
6.如權利要求I所述的方法,其特征在于確定獲勝神經元t的方法為計算X與SOM中每個神經元的歐氏距離,距離最小的神經元作為向量X在該子網中的獲勝神經元。
7.如權利要求I所述的方法,其特征在于所述刪除不成熟子網條件為1)不成熟子網的總層數(shù)大于a I ;2)不成熟神經元總個數(shù)大于a 2 ;其中a I為不成熟子網的層控制參數(shù),a 2為不成熟子網的神經元個數(shù)控制參數(shù)。
8.如權利要求7所述的方法,其特征在于對從成熟神經元動態(tài)拓展出的不成熟神經網絡部分刪除并重新進行訓練的方法為首先刪除成熟神經元下的不成熟子網,并收集該刪除的不成熟子網中所有覆蓋神經元節(jié)點和葉子非覆蓋神經元節(jié)點的映射向量作為該成熟神經元的增量訓練集;然后從該成熟神經元動態(tài)拓展一個虛神經元和一層新SOM子網,利用該增量訓練集對該SOM子網進行訓練。
9.如權利要求8所述的方法,其特征在于aI = 3,a 2 = 15。
10.如權利要求I所述的方法,其特征在于計算所述獲勝神經元t的計算公式為
11.如權利要求I所述的方法,其特征在于所述神經元t包括所述離線訓練好的GHSOM神經網絡模型中的神經元、拓展后網絡的葉子神經元,以及非葉層中的覆蓋神經元。
全文摘要
本發(fā)明公開了一種基于增量式GHSOM神經網絡的入侵檢測方法,屬于網絡信息安全技術領域。本方法為1)在線采集網絡數(shù)據輸入給入侵檢測模塊;2)入侵檢測模塊計算可檢測當前向量x的獲勝神經元t;3)如果t是覆蓋神經元,且x與t同類,則利用t檢測x;否則為x打上未知攻擊類型的標簽,把x加入增量訓練集;4)當t滿足拓展條件時,從t下方拓展出一虛神經元t′再從t′拓展出一新SOM,利用t對應的增量訓練集合It進行訓練;5)查找新拓展SOM子網的成熟父神經元,如果其超過刪除不成熟子網的條件,則對動態(tài)拓展出的不成熟神經網絡部分重新訓練;6)根據入侵檢測模塊輸出的檢測結果判斷是否發(fā)生入侵。本發(fā)明能及時檢測出各種入侵行為,尤其是新出現(xiàn)的入侵行為。
文檔編號G06N3/08GK102789593SQ201210206778
公開日2012年11月21日 申請日期2012年6月18日 優(yōu)先權日2012年6月18日
發(fā)明者吳中海, 夏敏, 楊雅輝, 沈晴霓, 陽時來, 黃海珍 申請人:北京大學