專(zhuān)利名稱:一種基于生長(zhǎng)型分級(jí)自組織映射神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種入侵檢測(cè)方法,具體涉及一種基于生長(zhǎng)型分級(jí)自組織映射 (GrowingHierarchical Self-organizing Maps,GHS0M)神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)方法,屬于計(jì) 算機(jī)網(wǎng)絡(luò)信息安全技術(shù)領(lǐng)域。
背景技術(shù):
隨著計(jì)算機(jī)網(wǎng)絡(luò)尤其是Internet技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)在我們?nèi)粘5纳?、學(xué)習(xí) 和工作中發(fā)揮著越來(lái)越重要的作用,網(wǎng)絡(luò)安全問(wèn)題也越來(lái)越受到人們的關(guān)注。迅速、有效地 發(fā)現(xiàn)各類(lèi)新的入侵行為,對(duì)于保障網(wǎng)絡(luò)系統(tǒng)安全十分重要。入侵檢測(cè)技術(shù)是一種通過(guò)監(jiān)視 網(wǎng)絡(luò)系統(tǒng)的運(yùn)行狀態(tài),進(jìn)而發(fā)現(xiàn)各種攻擊企圖、攻擊行為或者攻擊結(jié)果的信息安全技術(shù)。入侵檢測(cè)作為一種主動(dòng)防御技術(shù),彌補(bǔ)了傳統(tǒng)安全技術(shù)的不足。入侵檢測(cè)系統(tǒng)可 以對(duì)計(jì)算機(jī)主機(jī)和網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)監(jiān)控,分析發(fā)現(xiàn)可疑事件。一旦入侵行為被檢測(cè)出來(lái),系統(tǒng) 就會(huì)采取相應(yīng)的措施(如通知管理員,切斷網(wǎng)絡(luò)連接等),從而及時(shí)消除即將對(duì)系統(tǒng)安全產(chǎn) 生的危害。入侵檢測(cè)作為系統(tǒng)安全技術(shù)的重要組成部分,日益受到各國(guó)政府及學(xué)者的重視。 美國(guó)國(guó)防部高級(jí)規(guī)劃署(DARPA)和美國(guó)空軍向麻省理工(MIT)等大學(xué)的研究機(jī)構(gòu)提供資 助,利用人工智能的相關(guān)技術(shù)對(duì)入侵檢測(cè)的技術(shù)及評(píng)估系統(tǒng)進(jìn)行研究。包括中國(guó)在內(nèi)的很 多國(guó)家都啟動(dòng)了信息安全的研究計(jì)劃,來(lái)從事這方面的技術(shù)開(kāi)發(fā)和研究。入侵檢測(cè)方法一般可以分為兩類(lèi)誤用檢測(cè)和異常檢測(cè)。誤用檢測(cè)假定所有的入 侵行為都能夠表達(dá)為一種特定的模式或特征,通過(guò)模式匹配方法發(fā)現(xiàn)已知的入侵行為。異 常檢測(cè)基于統(tǒng)計(jì)方法,假定所有的入侵行為都與正常行為不同,如果當(dāng)前用戶行為與正常 行為達(dá)到一定程度偏差,就認(rèn)為系統(tǒng)受到了攻擊。目前開(kāi)展研究的異常檢測(cè)算法和模型主 要包括統(tǒng)計(jì)異常檢測(cè)、基于神經(jīng)網(wǎng)絡(luò)的異常檢測(cè)以及基于數(shù)據(jù)挖掘的異常檢測(cè)。神經(jīng)網(wǎng)絡(luò)是指為了模擬生物大腦的結(jié)構(gòu)和功能而構(gòu)成的一種信息處理系統(tǒng)或計(jì) 算機(jī)。神經(jīng)網(wǎng)絡(luò)的每個(gè)神經(jīng)元接受大量其它神經(jīng)元的輸入,通過(guò)非線性輸入/輸出關(guān)系產(chǎn) 生輸出,實(shí)現(xiàn)了從輸入狀態(tài)空間到輸出狀態(tài)空間的非線性映射。神經(jīng)網(wǎng)絡(luò)可以分為有監(jiān)督 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)和無(wú)監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),無(wú)監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)不要求預(yù)先給出網(wǎng)絡(luò)的目標(biāo)輸 出,在訓(xùn)練的過(guò)程中,神經(jīng)網(wǎng)絡(luò)能夠通過(guò)無(wú)監(jiān)督學(xué)習(xí)對(duì)輸入樣本進(jìn)行聚類(lèi)分析,實(shí)現(xiàn)連接權(quán) 值的自動(dòng)調(diào)節(jié),大部分用于入侵檢測(cè)的神經(jīng)網(wǎng)絡(luò)都采用無(wú)監(jiān)督學(xué)習(xí)的方式。其中又以SOM 神經(jīng)網(wǎng)絡(luò)應(yīng)用最為廣泛。但是SOM網(wǎng)絡(luò)結(jié)構(gòu)是固定的,不能動(dòng)態(tài)的改變。網(wǎng)絡(luò)訓(xùn)練時(shí)某些 神經(jīng)元始終不能獲勝,成為“死”神經(jīng)元,導(dǎo)致基于SOM網(wǎng)絡(luò)的入侵檢測(cè)方法的檢測(cè)率比較 低,GHSOM神經(jīng)網(wǎng)絡(luò)試圖克服這些缺陷。在入侵檢測(cè)中,需要用一些字符特征(比如協(xié)議類(lèi)型TCP,UDP等)描述各種攻擊 行為。無(wú)論是SOM神經(jīng)網(wǎng)絡(luò)還是GHSOM神經(jīng)網(wǎng)絡(luò),都只能處理數(shù)值類(lèi)型的輸入模式向量,對(duì) 于字符特征,需要把它們轉(zhuǎn)化成數(shù)值形式。這種轉(zhuǎn)化帶有很大的隨意性,不能準(zhǔn)確反映攻擊 行為的特點(diǎn)。另外,GHSOM在每層中神經(jīng)元映射的增長(zhǎng)依靠參數(shù)T1,參數(shù)T1設(shè)置不當(dāng)往往 引起神經(jīng)元數(shù)目的龐大,增加了系統(tǒng)的開(kāi)銷(xiāo)。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明的目的在于提供一種入侵檢測(cè)方法,其通過(guò) 改進(jìn)的生長(zhǎng)型分級(jí)自組織映射(Growing Hierarchical Self-organizing Maps,GHS0M)神 經(jīng)網(wǎng)絡(luò)訓(xùn)練方法對(duì)入侵檢測(cè)模型進(jìn)行訓(xùn)練,使用訓(xùn)練好的GHSOM神經(jīng)網(wǎng)絡(luò)模型對(duì)網(wǎng)絡(luò)入侵 行為進(jìn)行檢測(cè)。傳統(tǒng)的SOM網(wǎng)絡(luò)結(jié)構(gòu)是固定的,不能動(dòng)態(tài)改變。網(wǎng)絡(luò)訓(xùn)練時(shí)某些神經(jīng)元始終不能 獲勝,成為冗余神經(jīng)元,GHSOM在一定程度上克服了這些缺點(diǎn)。GHSOM神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的 數(shù)量、映射和層次都是在無(wú)監(jiān)督的學(xué)習(xí)過(guò)程中動(dòng)態(tài)確定的。但是GHSOM只能處理數(shù)值類(lèi)型 的輸入模式向量,對(duì)于含有字符類(lèi)型成員的輸入模式向量,GHSOM顯得無(wú)能為力。另外,對(duì) 控制神經(jīng)元增長(zhǎng)的參數(shù)T1的設(shè)置也是一件比較麻煩的事情,往往需要實(shí)驗(yàn)多次才能找到 一個(gè)比較合適的數(shù)值。針對(duì)上述問(wèn)題,對(duì)現(xiàn)有的GHSOM神經(jīng)網(wǎng)絡(luò)模型進(jìn)行改進(jìn)。包括1)設(shè)計(jì)一種新的 混合向量結(jié)構(gòu),使得改進(jìn)的GHSOM神經(jīng)網(wǎng)絡(luò)能夠處理含有數(shù)值類(lèi)型成員和字符類(lèi)型成員的 混合輸入模式向量。2)設(shè)計(jì)一種新的控制機(jī)制,使得支持混合輸入模式的GHSOM神經(jīng)網(wǎng)絡(luò) 能夠自動(dòng)控制神經(jīng)元數(shù)目的增長(zhǎng)。把這種改進(jìn)的神經(jīng)網(wǎng)絡(luò)用于入侵檢測(cè)技術(shù)中,有利于檢 測(cè)率的提高。
本發(fā)明的技術(shù)方案為
一種基于生長(zhǎng)型分級(jí)自組織映射神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)方法,其步驟為
1)從網(wǎng)絡(luò)中采集網(wǎng)絡(luò)數(shù)據(jù),并對(duì)其進(jìn)行特征的提取,生成神經(jīng)網(wǎng)絡(luò)能夠識(shí)別的輸
2)將步驟1)處理后的數(shù)據(jù)輸入給已加載訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型的入侵檢測(cè)模
入模式
塊,進(jìn)行入侵檢測(cè),其中神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練方法為 a)將訓(xùn)練樣本數(shù)據(jù)集中的混合輸入模式向量采用Xi =
形式表示,其中表
示第j個(gè)混合輸入模式向量&的數(shù)值類(lèi)型分向量、X〗表示Xj的字符類(lèi)型分向量;b)利用輸入模式向量初始化神經(jīng)網(wǎng)絡(luò)第0層中唯一神經(jīng)元的權(quán)值,并計(jì)算其量化 誤差Qetl ;其中,神經(jīng)元權(quán)值包括數(shù)值型權(quán)值分量、字符型權(quán)值分量;c)從第0層的神經(jīng)元中拓展一 nXm結(jié)構(gòu)S0M,并將其層次標(biāo)識(shí)Layer置為1 ;其 中n、m為大于1的自然數(shù);d)對(duì)于第Layer層中拓展出的每一 ηXm結(jié)構(gòu)S0M,從映射到其父神經(jīng)元的混合輸 入模式向量構(gòu)成的集合中挑選一混合輸入模式向量X,并計(jì)算該SOM中每個(gè)神經(jīng)元與X的距 罔;e)選取該SOM中與X距離最小的神經(jīng)元c,并對(duì)神經(jīng)元c及其鄰域內(nèi)神經(jīng)元的權(quán) 值進(jìn)行調(diào)整;如果未達(dá)到預(yù)定訓(xùn)練次數(shù),則轉(zhuǎn)入步驟d);f)計(jì)算經(jīng)e)調(diào)整后的該SOM中每個(gè)神經(jīng)元的量化誤差;g)根據(jù)SOM中神經(jīng)元的量化誤差和第0層神經(jīng)元的量化誤差qeQ,控制拓展出的 SOM中神經(jīng)元數(shù)目的增加和神經(jīng)網(wǎng)絡(luò)層次的拓展;
h)對(duì)第Layer層中增加了新神經(jīng)元的SOM和新拓展出的Layer+Ι層的所有nXm
結(jié)構(gòu)S0M,采用步驟d)_
_少
驟f)所示方法對(duì)其重新進(jìn)行訓(xùn)練,直至神經(jīng)網(wǎng)絡(luò)不再產(chǎn)生新
的神經(jīng)元和新的分層,整個(gè)訓(xùn)練結(jié)束;3)檢測(cè)結(jié)果處理模塊根據(jù)入侵檢測(cè)模塊輸出結(jié)果判斷當(dāng)前是否發(fā)生入侵,如果發(fā) 生入侵,則入侵處理模塊遍歷攻擊類(lèi)型標(biāo)識(shí)庫(kù),檢驗(yàn)是否有匹配的攻擊,如果有則確定攻擊 的類(lèi)型并發(fā)出告警信息;如果沒(méi)有匹配的攻擊,則判斷是否為新的攻擊類(lèi)型,如果是新的攻 擊類(lèi)型,則把這種攻擊類(lèi)型加入到攻擊類(lèi)型標(biāo)識(shí)庫(kù)并發(fā)出告警信息。進(jìn)一步的,第0層中神經(jīng)元的數(shù)值型權(quán)值分量W^1為所有混合輸入模式向量的數(shù) 值類(lèi)型分向量的平均值,第0層中神經(jīng)元的字符類(lèi)型權(quán)值分向量W。s*所有混合輸入模式向 量的字符類(lèi)型分向量的眾數(shù)向量;所述眾數(shù)向量為對(duì)于一個(gè)形如[S1, S2,…,Sn]的字符 類(lèi)型向量構(gòu)成的集合S,其眾數(shù)向量mode (S)為[mode (S1), mode (s2),…,mode (sn)],其中 mode (Si)表示所有向量的第i項(xiàng)構(gòu)成的集合中出現(xiàn)次數(shù)最多的字符值。進(jìn)一步的,所述ηXm結(jié)構(gòu)SOM為2X2結(jié)構(gòu)S0M。進(jìn)一步的,采用張力映射率方法控制SOM中神經(jīng)元的增加,其方法為(1)在神經(jīng)元i與神經(jīng)元j之間插入一虛神經(jīng)元Vij,虛神經(jīng)元Vij的權(quán)值Wij通過(guò) 公式
‘、'(Win+W;)/2 、 modeiiC^Uiq})^(2)計(jì)算每個(gè)虛神經(jīng)元的映射率;(3)計(jì)算所有虛神經(jīng)元映射率之和SMR ;如果映射的拓?fù)浣Y(jié)構(gòu)規(guī)格大于2X2并且 SMR值大于之前映射的SMR值,則映射停止增長(zhǎng),否則,神經(jīng)網(wǎng)絡(luò)繼續(xù)擴(kuò)展出新的神經(jīng)元;(4)計(jì)算SOM中插入的每一行或每一列虛神經(jīng)元的張力;(5)將每一行或每一列虛神經(jīng)元的張力與其對(duì)應(yīng)的平均映射率相乘,選擇出具有 最大值的行或者列并在其對(duì)應(yīng)位置插入神經(jīng)元。進(jìn)一步的,計(jì)算SOM中每個(gè)神經(jīng)元與X的距離的方法為通過(guò)計(jì)算SOM中神經(jīng)元i 的權(quán)值向量Wi與混合輸入模式向量X的相似度,得到神經(jīng)元i與混合輸入模式向量X的距罔。
ι ν^-V^ IiY
、電S,心
V2分別為相似度函數(shù)的輸入向量,V;1為向量V1中數(shù)值類(lèi)型成員值,V丨為向量、中字符類(lèi)型成 員值,如果V1與V2相對(duì)應(yīng)的字符類(lèi)型成員值相同,則函數(shù)s ( ·)取值為0,否則取值為0. 5。
進(jìn)一步的,對(duì)神經(jīng)元c及其鄰域內(nèi)神經(jīng)元的權(quán)值采用公式 Wij =
W:‘W,.
得到 進(jìn)一步的,采用相似度函數(shù)為J(V15V2) =
計(jì)算所述相似度;其中,V1,
聊+1)=
對(duì)(t+1)、
W(t+1)
行調(diào)整,其中,n (t)為t時(shí)刻的學(xué)
^mode(Q)
習(xí)速率,K(c, i,t)為鄰域函數(shù),C丨表示映射到神經(jīng)元i的混合輸入模式向量的字符類(lèi)型分 向量構(gòu)成的集合,mode (C丨)為集臺(tái)C〗的眾數(shù)向量。 進(jìn)一步的,該SOM中每個(gè)神經(jīng)元的量化誤差的計(jì)算方法為神經(jīng)元i的量化誤差為
6
,和分別表示神經(jīng)元i的數(shù)值類(lèi)型誤差和 e" ef
字符類(lèi)型誤差,W/1表示神經(jīng)元i的數(shù)值類(lèi)型權(quán)值分向量,Ci為映射到神經(jīng)元i的混合輸入 模式向量構(gòu)成的集合,a為一常數(shù),ρ ( ·)為Ci中元素的概率函數(shù)。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為本方法能夠處理含有數(shù)值類(lèi)型成員和字符類(lèi)型成員的混合輸入模式向量,進(jìn)一步 地,針對(duì)這種混合輸入模式向量,本方法還能夠自動(dòng)控制神經(jīng)元數(shù)目的增長(zhǎng),提高了檢測(cè)的 效率。
圖1為神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程圖;圖2為GHSOM神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法流程圖;圖3為插入神經(jīng)元示意圖;圖4為每個(gè)神經(jīng)元周?chē)奶撋窠?jīng)元分布圖;圖5為GHSOM網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖;圖6為入侵檢測(cè)過(guò)程流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)描述本發(fā)明的入侵檢測(cè)系統(tǒng)由兩部分組成神經(jīng)網(wǎng)絡(luò)模型的離線訓(xùn)練和基于神經(jīng)網(wǎng)絡(luò) 模型的在線檢測(cè)。系統(tǒng)從網(wǎng)絡(luò)中采集樣本數(shù)據(jù)作為訓(xùn)練樣本數(shù)據(jù)集進(jìn)行離線訓(xùn)練,得到入 侵檢測(cè)模型后再用于在線檢測(cè)。離線訓(xùn)練過(guò)程應(yīng)用神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,基于訓(xùn)練數(shù)據(jù)集對(duì) 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型便可應(yīng)用于在線網(wǎng)絡(luò)入侵檢測(cè)。顯然,神 經(jīng)網(wǎng)絡(luò)訓(xùn)練算法是基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)的核心技術(shù)。以下我們將重點(diǎn)結(jié)合訓(xùn)練流程闡述如何改進(jìn)GHSOM訓(xùn)練方法。之后簡(jiǎn)單介紹入侵 檢測(cè)的流程和方法。改進(jìn)的GHSOM神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練方法神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程如圖1所示。訓(xùn)練樣本對(duì)檢測(cè)模型的精準(zhǔn)至關(guān)重要,可以通過(guò) 采集實(shí)際運(yùn)行的網(wǎng)絡(luò)的數(shù)據(jù)或在實(shí)驗(yàn)環(huán)境生成訓(xùn)練樣本數(shù)據(jù)集。訓(xùn)練樣本由多個(gè)維度的流 量特征組成。神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法是基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)的核心技術(shù),本發(fā)明重點(diǎn) 提出一種改進(jìn)的GHSOM神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法。本發(fā)明的GHSOM神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法流程如圖2所示1.輸入模式向量。在入侵檢測(cè)中,需要用一些字符特征(比如協(xié)議類(lèi)型TCP,UDP等)描述各種攻擊 行為。而傳統(tǒng)的GHSOM算法,只能處理數(shù)值類(lèi)型的輸入模式向量,對(duì)于字符特征值,需要把 它們轉(zhuǎn)化成數(shù)值形式。這種轉(zhuǎn)化帶有很大的隨意性,不能準(zhǔn)確反映攻擊行為的特點(diǎn)。表1 中簡(jiǎn)單描述了用數(shù)值特征與字符特征來(lái)表示攻擊的情形。表1用數(shù)值特征與字符特征來(lái)表示攻擊 對(duì)于攻擊1的協(xié)議類(lèi)型特征“TCP”與服務(wù)類(lèi)型特征“HTTP”,傳統(tǒng)的GHSOM算法需 要把它們轉(zhuǎn)化成數(shù)值形式(一種可能的方案是按照TCP協(xié)議為6,UDP協(xié)議為17,HTTP端口 為80,DNS端口為53來(lái)進(jìn)行轉(zhuǎn)換)。改進(jìn)的GHSOM算法不需要把字符特征值轉(zhuǎn)換成數(shù)值形 式,該算法能夠直接處理含有數(shù)值類(lèi)型成員和字符類(lèi)型成員的混合輸入模式向量。
^χηΛ
‘表示第j (j具有任意性)個(gè)混合輸入模式向量,其中 (η表 本發(fā)明用
示數(shù)值型特征)和X丨(S表示字符型特征)分別表示數(shù)值類(lèi)型分向量和字符類(lèi)型分向量。相 對(duì)應(yīng)地,改進(jìn)的GHSOM中每個(gè)神經(jīng)元的權(quán)值向量的表示形式與混合輸入模式向量相同,即
表示神經(jīng)元i的權(quán)值向量,其中 (η表示數(shù)值型)和 (s表示字符型)分
別表示數(shù)值類(lèi)型權(quán)值分向量和字符類(lèi)型權(quán)值分向量。Wi"與X〗具有相同的維度,并且每一維 表示的數(shù)值特征屬性相同。Wis與X〗也具有相同的維度,每一維表示的字符特征屬性相同。
對(duì)于表1中的攻擊1可以表示成 X1 =
,1 、 2 3
"TCP" "HTTP"
其中
χ,η =
,1、 2
Xis =
'"TCP" Λ "HTTP"
(1)2.神經(jīng)網(wǎng)絡(luò)初始化出第0層,第0層只含有一個(gè)神經(jīng)元,置層次標(biāo)識(shí)參數(shù)Layer = O0傳統(tǒng)GHSOM初始的第0層中只有一個(gè)自組織映射神經(jīng)網(wǎng)絡(luò)(Self-Organizing Mappings,以下簡(jiǎn)稱為S0M),這個(gè)SOM僅含有一個(gè)神經(jīng)元,神經(jīng)元的權(quán)值向量為所有輸入模 式向量的平均值。改進(jìn)的GHSOM的第0層中也僅含一個(gè)神經(jīng)元,這個(gè)神經(jīng)元的數(shù)值類(lèi)型權(quán)值分向量 W; (η表示數(shù)值型權(quán)值,0表示初始的第0個(gè)神經(jīng)元)為所有混合輸入模式向量的數(shù)值類(lèi)型 分向量的平均值。字符類(lèi)型權(quán)值分向量WQS (s表示字符型權(quán)值)為所有混合輸入模式向量 的字符類(lèi)型分向量的眾數(shù)向量。在這里我們引入眾數(shù)向量的概念。對(duì)于一個(gè)形如[Sl,S2,…, sn]的字符類(lèi)型向量構(gòu)成的集合S,它的眾數(shù)向量mode(S)為[mode (S1),mode (s2),…, mode(sn)],其中Hiode(Si)表示所有向量的第i項(xiàng)構(gòu)成的集合中出現(xiàn)次數(shù)最多的字符值。3.神經(jīng)網(wǎng)絡(luò)從第0層的神經(jīng)元拓展出一個(gè)2X2結(jié)構(gòu)的S0M,置層次標(biāo)識(shí)參數(shù)
8Layer = 1。傳統(tǒng)的GHSOM和改進(jìn)的GHSOM神經(jīng)網(wǎng)絡(luò)首先都從第0層的神經(jīng)元拓展出一個(gè)2 X 2 結(jié)構(gòu)的SOM神經(jīng)網(wǎng)絡(luò)。這個(gè)新拓展出的SOM處于第1層,第0層的神經(jīng)元為新拓展出的SOM 的父親神經(jīng)元。一般地,如果從處于第Layer層的神經(jīng)元i (i具有任意性)拓展出一個(gè)2 X 2 結(jié)構(gòu)的S0M,這個(gè)新拓展出的SOM則處于第Layer+Ι層,并稱第Layer層的神經(jīng)元i為新拓 展出的SOM的父神經(jīng)元。相對(duì)應(yīng)的,改進(jìn)的GHSOM神經(jīng)網(wǎng)絡(luò)拓展出的SOM能處理含有數(shù)值 類(lèi)型成員和字符類(lèi)型成員的混合輸入模式向量。4.隨機(jī)選擇輸入模式向量,對(duì)第Layer層中神經(jīng)元進(jìn)行訓(xùn)練。對(duì)于第Layer層中新拓展出的S0M,從映射到其父神經(jīng)元的混合輸入模式向量構(gòu) 成的集合中隨機(jī)挑選一個(gè)混合輸入模式向量X,計(jì)算新拓展出的SOM中每個(gè)神經(jīng)元與X的距 離。由于混合輸入模式向量中含有字符類(lèi)型成員,所以計(jì)算距離時(shí)不能采用傳統(tǒng)的歐幾里 德距離公式。對(duì)于任意的兩個(gè)混合輸入模式向量V1和V2,它們的相似度函數(shù)δ (Vl, ν2)計(jì) 算如下 如果V1與V2相對(duì)應(yīng)的字符類(lèi)型成員值相同,則函數(shù)s( ·)取值為0,否則取值為 0. 5。比如對(duì)于表1中的攻擊1與攻擊2,如果用V1表示攻擊1,V2表示攻擊2,它們的相似 度函數(shù)計(jì)算過(guò)程如下 SOM中神經(jīng)元i的權(quán)值向量Wi與混合輸入模式向量X的表示形式相同(參見(jiàn)本節(jié) 1中的內(nèi)容),則神經(jīng)元i與X距離Cli為
選擇和X距離最小的神經(jīng)元c為獲勝神經(jīng)元,即 5.第Layer層中神經(jīng)元的權(quán)值進(jìn)行調(diào)整。在選擇出獲勝神經(jīng)元以后,傳統(tǒng)GHSOM和改進(jìn)的GHSOM都需要對(duì)神經(jīng)元進(jìn)行權(quán)值 調(diào)整。由于改進(jìn)的GHSOM的權(quán)值中含有字符值,調(diào)整字符類(lèi)型權(quán)值時(shí)只能從已有的字符類(lèi) 型值中選擇,不能引入新的字符類(lèi)型值,因此不能使用數(shù)值類(lèi)型的調(diào)整公式。獲勝神經(jīng)元c 及其鄰域內(nèi)神經(jīng)元的權(quán)值調(diào)整如下所示
其中Il (t)(預(yù)先定義好)為t時(shí)刻的學(xué)習(xí)速率,K(c,i,t)(預(yù)先定義好)為鄰域函 數(shù),C丨表示映射到神經(jīng)元i的混合輸入模式向量的字符類(lèi)型分向量構(gòu)成的集合。mode (C) 為集合C丨的眾數(shù)向量(眾數(shù)向量的概念參見(jiàn)本節(jié)2中的內(nèi)容)。6.計(jì)算第Layer層中神經(jīng)元的量化誤差。對(duì)第Layer層每個(gè)SOM中神經(jīng)元達(dá)到了預(yù)定的學(xué)習(xí)次數(shù)(預(yù)定學(xué)習(xí)次數(shù)需要預(yù)先 設(shè)定)以后,傳統(tǒng)GHSOM和改進(jìn)的GHSOM都需要計(jì)算每個(gè)神經(jīng)元的量化誤差。傳統(tǒng)GHSOM 計(jì)算第Layer層中神經(jīng)元i的量化誤差公式如下 Ai表示映射到神經(jīng)元i的輸入模式向量構(gòu)成的集合,Wi為神經(jīng)元i的權(quán)值向量。 其中具有最大量化誤差值的神經(jīng)元稱為誤差神經(jīng)元(error unit)。進(jìn)一步地,GHSOM計(jì)算 誤差神經(jīng)元鄰域內(nèi)神經(jīng)元到誤差神經(jīng)元的距離,其中具有最大距離的神經(jīng)元為誤差神經(jīng)元 的最遠(yuǎn)鄰近神經(jīng)元(most dissimilar neighbor)。誤差神經(jīng)元e及其最遠(yuǎn)鄰近神經(jīng)元d計(jì) 算如下
(10)其中W6為誤差神經(jīng)元e的權(quán)值向量,N6為誤差神經(jīng)元e鄰域內(nèi)神經(jīng)元權(quán)值向量構(gòu) 成的集合。改進(jìn)的GHSOM因?yàn)槠渖窠?jīng)元的權(quán)值向量和混合輸入模式向量中含有字符值,對(duì)第 Layer層中神經(jīng)元i計(jì)算量化誤差時(shí)應(yīng)該分開(kāi)處理。一般地,改進(jìn)的GHSOM對(duì)第Layer層中 神經(jīng)元i誤差ei計(jì)算如下
(U) 其中ef和e丨分別表示神經(jīng)元i的數(shù)值類(lèi)型誤差和字符類(lèi)型誤差,Wi11表示神經(jīng)元i 的數(shù)值類(lèi)型權(quán)值分向量。Ci為映射到神經(jīng)元i的混合輸入模式向量構(gòu)成的集合,a為一常 數(shù),P( ·)為Ci中元素的概率函數(shù)。神經(jīng)元i的量化誤差Qei計(jì)算如下 改進(jìn)的GHSOM初始的第0層中只有一個(gè)神經(jīng)元(其權(quán)值的初始化見(jiàn)本節(jié)2),其誤
差e0為
en =
2、
veo y
=Σ
Xj el
Il W;-χ; II l/(l + eap(X|S|))
(13)其中e〖和e〖分別表示第0層惟一神經(jīng)元的數(shù)值類(lèi)型誤差和字符類(lèi)型誤差,WQn表示 第0層惟一神經(jīng)元的數(shù)值類(lèi)型權(quán)值分向量,I為所有混合輸入模式向量構(gòu)成的集合。相對(duì)應(yīng)地,改進(jìn)的GHSOM中具有最大量化誤差值的神經(jīng)元也被稱為誤差神經(jīng)元(errorunit)。由于改進(jìn)的GHSOM中神經(jīng)元的權(quán)值向量含有字符值,因此在計(jì)算誤差神經(jīng)元 e的最遠(yuǎn)鄰近神經(jīng)元d時(shí),應(yīng)采用如下的方式進(jìn)行計(jì)算d = argmax{| ^(Wi5We)D WiGNe(14)其中We為誤差神經(jīng)元e的權(quán)值向量,Ne為偏差值最大神經(jīng)元e鄰域內(nèi)神經(jīng)元權(quán) 值向量構(gòu)成的集合。傳統(tǒng)的GHSOM和改進(jìn)的GHSOM都利用第0層中神經(jīng)元的量化誤差Qetl來(lái)控制神經(jīng) 網(wǎng)絡(luò)層次的拓展。7.是否在第Layer層中插入新神經(jīng)元?對(duì)第Layer層每個(gè)SOM中神經(jīng)元計(jì)算出量化誤差后,需要進(jìn)一步判斷是否需要在 第Layer層中插入新神經(jīng)元。傳統(tǒng)GHSOM判斷第Layer層中每個(gè)神經(jīng)元i的量化誤差Qei 是否滿足下式Qei < τ i · qeu(15)τ工為控制神經(jīng)網(wǎng)絡(luò)中神經(jīng)元增加的參數(shù),qeu為神經(jīng)元i的父神經(jīng)元U的量化誤 差。如果不滿足(14)式,則需要在誤差神經(jīng)元e及其最遠(yuǎn)鄰近神經(jīng)元d (誤差神經(jīng)元和最 遠(yuǎn)鄰近神經(jīng)元的定義參見(jiàn)本節(jié)6中的內(nèi)容)之間插入一行或一列神經(jīng)元。插入神經(jīng)元的過(guò) 程如圖3所示。在圖3的左邊是一個(gè)2X2結(jié)構(gòu)的S0M,e為誤差神經(jīng)元,d為誤差神經(jīng)元e的最遠(yuǎn) 鄰近神經(jīng)元,在神經(jīng)元e和d之間插入一列新的神經(jīng)元(神經(jīng)元f和c),新的神經(jīng)元權(quán)值向 量的初始值為鄰近神經(jīng)元權(quán)值向量的平均值。即神經(jīng)元f權(quán)值向量的初始值為神經(jīng)元e和 d權(quán)值向量的平均值,神經(jīng)元c權(quán)值向量的初始值為神經(jīng)元a和b權(quán)值向量的平均值。當(dāng)對(duì)第Layer層每個(gè)SOM中神經(jīng)元達(dá)到了預(yù)定的學(xué)習(xí)次數(shù)(預(yù)定學(xué)習(xí)次數(shù)需要預(yù) 先設(shè)定)以后,傳統(tǒng)的GHSOM算法計(jì)算出每個(gè)神經(jīng)元的量化誤差。為了判斷神經(jīng)網(wǎng)絡(luò)是否 應(yīng)該在第Layer層中增加新的神經(jīng)元,算法首先計(jì)算出參數(shù)τ工與qeu的乘積,其中qeu為 當(dāng)前SOM父神經(jīng)元的量化誤差,如果當(dāng)前SOM中存在某個(gè)神經(jīng)元的量化誤差大于參數(shù)τ工與 qeu的乘積,則在誤差神經(jīng)元和它的最遠(yuǎn)鄰近神經(jīng)元之間插入一行或者一列神經(jīng)元。如果將 參數(shù)T1設(shè)置太低,則會(huì)使網(wǎng)絡(luò)層次很深,每一層的映射規(guī)模很小。如果將參數(shù)T1設(shè)置太 高則會(huì)使網(wǎng)絡(luò)層次較淺,每一層映射橫向擴(kuò)展龐大。通常情況下研究者對(duì)參數(shù)T1設(shè)置多 個(gè)不同的值進(jìn)行實(shí)驗(yàn),然后找出最合適的一個(gè)值。Pampalk等人提出一種張力映射率(Tension and Mapping Ration)的策略使得 GHSOM網(wǎng)絡(luò)能夠自動(dòng)做出決策是否應(yīng)該增加新的神經(jīng)元,但他們的研究?jī)H適合于數(shù)值類(lèi)型 的輸入模式向量。在他們研究的基礎(chǔ)上,我們將這種張力映射率的策略引進(jìn)到改進(jìn)的GHSOM 中,使得對(duì)于含有數(shù)值類(lèi)型成員和字符類(lèi)型成員的混合輸入模式向量,改進(jìn)的GHSOM神經(jīng) 網(wǎng)絡(luò)能夠自動(dòng)控制神經(jīng)元數(shù)目的增長(zhǎng)。使用張力映射率有兩個(gè)原則一是必須保證神經(jīng)元i與神經(jīng)元j之間映射的穩(wěn)定 性。這種穩(wěn)定性的度量則是在神經(jīng)元i與神經(jīng)元j之間插入一個(gè)虛神經(jīng)元Vij,虛神經(jīng)元Vij 的權(quán)值Wij通過(guò)以下計(jì)算得到
Γ W" f(Win+W1n)/2Wii = J =J(16)
J⑷—
11U = (OJ)Ivlj
ADz=-I- Xl^(Wi5Wj)I
I U I (iJ)eU
0117 W1 =
W;
(17)在插入虛神經(jīng)元之后,如果原本映射到神經(jīng)元i和神經(jīng)元j的輸入模式向量大部 分都映射到了虛神經(jīng)元 (即映射到虛神經(jīng)元 的輸入模式向量超過(guò)設(shè)定比例),則認(rèn)為 網(wǎng)絡(luò)結(jié)構(gòu)是不穩(wěn)定的;相似地,如果原本映射到神經(jīng)元i和神經(jīng)元j的輸入模式向量只有很 少一部分用虛神經(jīng)元來(lái)代表更合適,則認(rèn)為網(wǎng)絡(luò)結(jié)構(gòu)是穩(wěn)定的。這種表示方式叫做映射 率(MR)。另一個(gè)原則必須保證網(wǎng)絡(luò)的鄰居拓?fù)浣Y(jié)構(gòu)是穩(wěn)定的,這種穩(wěn)定度用張力來(lái)衡量。 如果所有鄰近神經(jīng)元之間的張力都差不多(鄰近神經(jīng)元之間的張力差值均小于設(shè)定值), 則認(rèn)為網(wǎng)絡(luò)結(jié)構(gòu)是穩(wěn)定的。對(duì)于一個(gè)訓(xùn)練好的網(wǎng)絡(luò)映射m,下述算法描述了改進(jìn)的GHSOM神 經(jīng)網(wǎng)絡(luò)自動(dòng)控制神經(jīng)元增長(zhǎng)的過(guò)程。Stepl 對(duì)每一個(gè)神經(jīng)元i定義4個(gè)虛神經(jīng)元,對(duì)于邊界的神經(jīng)元也采取類(lèi)似的方 法。圖4用圖形描敘了這種方法。在圖4中有6個(gè)用實(shí)線圓代表的神經(jīng)元,在每個(gè)神經(jīng)元周?chē)?個(gè)用虛線圓代表 的虛神經(jīng)元。神經(jīng)元I是一個(gè)邊界上的虛神經(jīng)元,它的權(quán)值W1可通過(guò)以下公式計(jì)算得到
廣(wa + w;)"、 mode({q}U{q})y對(duì)于其它邊界上的神經(jīng)元,可以用類(lèi)似的計(jì)算方式得到相應(yīng)的權(quán)值。St印2 計(jì)算每個(gè)虛神經(jīng)元的映射率。對(duì)于映射到神經(jīng)元i的所有輸入模式X構(gòu)成 的集合(X e Ci),在神經(jīng)元i周?chē)迦胩撋窠?jīng)元后,把映射到神經(jīng)元i的輸入模式的個(gè)數(shù)記 作Nji,映射到虛神經(jīng)元、的輸入模式的個(gè)數(shù)記作N”類(lèi)似地,對(duì)于映射到神經(jīng)元j的所有 輸入模式X構(gòu)成的集合(X e Cj),在神經(jīng)元j周?chē)迦胩撋窠?jīng)元后,把映射到神經(jīng)元j的輸 入模式的個(gè)數(shù)記作Nf,映射到虛神經(jīng)元 的輸入模式的個(gè)數(shù)記作 。則每個(gè)虛神經(jīng)元Vij
的映射率MRij可以通過(guò)以下計(jì)算得到 N. NiMRlj=詩(shī)+ #(18)對(duì)于邊界上的虛神經(jīng)元k,它的映射率MRik可以通過(guò)以下計(jì)算得到
Nj
N;'其中神經(jīng)元i為邊界神經(jīng)元。Step3 根據(jù)所有虛神經(jīng)元映射率的和判斷神經(jīng)網(wǎng)絡(luò)的映射是否繼續(xù)增長(zhǎng)。計(jì)算所 有映射率MRu的和SMR。如果映射的拓?fù)浣Y(jié)構(gòu)規(guī)格大于2X2并且SMR的值比之前映射的 SMR值要大,則映射停止增長(zhǎng),否則,神經(jīng)網(wǎng)絡(luò)將繼續(xù)擴(kuò)展出新的神經(jīng)元。對(duì)于每一行或每一 列虛神經(jīng)元z,通過(guò)式(19)計(jì)算出相應(yīng)行或者列的平均映射率AMRZ。AMRz =^- ^MRij U = {(i,j) | Vij e ζ}(20)
I U I (i,j)eUSt印4:計(jì)算張力。首先計(jì)算每一行或每一列虛神經(jīng)元的平均距離ADZ。每一行虛 神經(jīng)元的平均距離是指這一行兩兩虛神經(jīng)元距離和的平均值,通過(guò)類(lèi)似方法可以計(jì)算出每 一列虛神經(jīng)元的平均距離。具體如式(20)所示 MRik =^(19)
(21)
ez}
12
進(jìn)一步的,計(jì)算出所有行ADz的平均距離AD,和所有列ADz的平均距離AD。,其中下 標(biāo)r代表所有行的虛神經(jīng)元,下標(biāo)c代表所有列的虛神經(jīng)元。對(duì)于每一行虛神經(jīng)元的張力 Tz,可以通過(guò)計(jì)算式Tz = ADZ/AD。得到,每一列虛神經(jīng)元的張力Tz,則可以通過(guò)計(jì)算式Tz = ADZ/AA得到。對(duì)于超出邊界的列或者行的虛神經(jīng)元,他們的行或列的張力則和最靠近它們 的行或者列的張力相等。St印5 對(duì)每一行或者每一列虛神經(jīng)元的張力和對(duì)應(yīng)的平均映射率相乘,選擇出具 有最大值的行或者列,在對(duì)應(yīng)位置插入一行或者一列神經(jīng)元。8.對(duì)第Layer層中插入了新神經(jīng)元的SOM重新進(jìn)行訓(xùn)練。對(duì)第Layer層中插入了新神經(jīng)元的S0M,傳統(tǒng)的GHSOM和改進(jìn)的GHSOM都需要按照 本節(jié)4和5中介紹的方式對(duì)其重新進(jìn)行訓(xùn)練。9.是否從第Layer層中的神經(jīng)元擴(kuò)展出新的分層?傳統(tǒng)GHSOM和改進(jìn)的GHSOM都需要判斷第Layer層中的每個(gè)神經(jīng)元i (i表示第 Layer層中的任意神經(jīng)元)的量化誤差Qei是否滿足下式Qei < τ2 · qe0(22)其中τ 2為控制神經(jīng)網(wǎng)絡(luò)中層次拓展的參數(shù)。對(duì)于不滿足上式的神經(jīng)元,在此神 經(jīng)元的下層拓展出一個(gè)新的2 X 2結(jié)構(gòu)的S0M,這個(gè)神經(jīng)元稱為新拓展出的SOM的父神經(jīng)元。 神經(jīng)網(wǎng)絡(luò)繼續(xù)對(duì)Layer+Ι層的神經(jīng)元進(jìn)行訓(xùn)練,直到不再產(chǎn)生新的神經(jīng)元與分層??偟膩?lái) 說(shuō),傳統(tǒng)的GHSOM和改進(jìn)的GHSOM最后都會(huì)形成類(lèi)似于圖5所示的拓?fù)浣Y(jié)構(gòu)。圖5所示的GHSOM有4層,初始的第0層只有一個(gè)神經(jīng)元,從第0層的神經(jīng)元拓展 出一個(gè)2X2結(jié)構(gòu)的S0M。新的SOM在訓(xùn)練的過(guò)程中增加了一列神經(jīng)元,變成了 2X3結(jié)構(gòu)的 S0M,2X3結(jié)構(gòu)的SOM中的兩個(gè)神經(jīng)元又進(jìn)一步拓展出兩個(gè)2X2結(jié)構(gòu)的S0M。重復(fù)上述過(guò) 程,直到GHSOM結(jié)構(gòu)穩(wěn)定,不再產(chǎn)生新的神經(jīng)元和分層。入侵檢測(cè)過(guò)程基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)過(guò)程見(jiàn)圖6。在線檢測(cè)時(shí),首先由數(shù)據(jù)采集與預(yù)處理 模塊從網(wǎng)絡(luò)中采集原始網(wǎng)絡(luò)數(shù)據(jù);然后經(jīng)過(guò)特征提取模塊進(jìn)行特征的提取,生成神經(jīng)網(wǎng)絡(luò) 能夠識(shí)別的輸入模式;最后將輸入模式交給入侵檢測(cè)模塊進(jìn)行檢測(cè)。入侵檢測(cè)模塊中的核 心部件是訓(xùn)練好的基于改進(jìn)的GHSOM神經(jīng)網(wǎng)絡(luò)模型。入侵檢測(cè)模塊如果對(duì)當(dāng)前網(wǎng)絡(luò)行為判 別為攻擊行為,則需要入侵分析與處理模塊對(duì)其進(jìn)一步分析處理。包括以下步驟(1)數(shù)據(jù)采集模塊數(shù)據(jù)采集模塊中使用winpcap來(lái)抓包。winpcap是Iibpcap在Windows下的移植 版本,而Iibpcap是目前最強(qiáng)大的網(wǎng)絡(luò)抓包庫(kù)。Winpcap可監(jiān)聽(tīng)和采集整個(gè)網(wǎng)絡(luò)段中的數(shù) 據(jù)包。得到數(shù)據(jù)包頭的信息后,進(jìn)一步的,對(duì)IP包進(jìn)行格式檢查,若有分片則進(jìn)行重組。接 著,判別它是TCP包,UDP包或者是ICMP包,根據(jù)數(shù)據(jù)包的不同協(xié)議類(lèi)型,進(jìn)行不同的語(yǔ)義 分析,將符合要求的數(shù)據(jù)包中的信息,傳遞給數(shù)據(jù)處理模塊。(2)數(shù)據(jù)處理數(shù)據(jù)處理模塊從采集的協(xié)議流數(shù)據(jù)中提出能夠比較精確表達(dá)數(shù)據(jù)信息的特征,轉(zhuǎn) 化成入侵檢測(cè)模塊能夠識(shí)別的格式,送給入侵檢測(cè)模塊進(jìn)行處理。在對(duì)數(shù)據(jù)包進(jìn)行特征提 取上,采用快速的IP數(shù)據(jù)包重組算法,TCP會(huì)話重組算法,并采用Hash表示法進(jìn)行統(tǒng)計(jì),對(duì)每個(gè)會(huì)話流提煉出了如表2所示的25個(gè)特征。之后采用規(guī)一化方法對(duì)特征向量進(jìn)行規(guī)一 化處理。規(guī)一化處理的原則是找出每一維特征的最大值,然后將每個(gè)特征向量的對(duì)應(yīng)值除 以這個(gè)最大值;如果最大值為0,則對(duì)每個(gè)特征向量相對(duì)應(yīng)的值不做改變。對(duì)整個(gè)特征向量 集進(jìn)行規(guī)一化等處理后,就可以作為入侵檢測(cè)模塊的輸入數(shù)據(jù)了。
表2提取的25維特征 (3)入侵檢測(cè)入侵檢測(cè)模塊是入侵檢測(cè)系統(tǒng)的核心模塊。入侵檢測(cè)模塊基于改進(jìn)的GHSOM神經(jīng) 網(wǎng)絡(luò)進(jìn)行構(gòu)建,在對(duì)模型訓(xùn)練好的基礎(chǔ)上,對(duì)數(shù)據(jù)處理模塊提供的輸入數(shù)據(jù)進(jìn)行檢測(cè),并把 檢測(cè)的結(jié)果交給入侵處理模塊進(jìn)行進(jìn)一步處理。(4)入侵分析與處理模塊如果入侵檢測(cè)模塊判斷當(dāng)前發(fā)生了入侵,入侵分析與處理模塊則遍歷攻擊類(lèi)型標(biāo) 識(shí)庫(kù),檢驗(yàn)是否有匹配的攻擊,如果有則可以確定攻擊的類(lèi)型。如果沒(méi)有匹配的攻擊,則進(jìn) 一步判斷是否為新的攻擊類(lèi)型,如果是新的攻擊類(lèi)型,則把這種攻擊類(lèi)型加入到攻擊類(lèi)型 標(biāo)識(shí)庫(kù)。(5)告警處理模塊如果系統(tǒng)檢驗(yàn)到當(dāng)前網(wǎng)絡(luò)行為是入侵行為,需要告警處理模塊和入侵響應(yīng)模塊進(jìn) 一步處理。告警處理模塊對(duì)入侵行為做出處理,對(duì)入侵行為發(fā)出警報(bào),并對(duì)其進(jìn)行定位(如告警事件涉及的源地址和端口號(hào)),把這些信息顯示在人機(jī)交互界面上,根據(jù)用戶的指令執(zhí) 行相應(yīng)的操作。(6)輸入/輸出處理引擎輸入/輸出處理引擎模塊是人機(jī)交互界面與入侵檢測(cè)原型系統(tǒng)之間的連接模塊。 用戶通過(guò)人機(jī)界面發(fā)出的各種操作命令都是通過(guò)該模塊進(jìn)行解釋處理,系統(tǒng)產(chǎn)生的報(bào)警信 息也由該模塊處理之后在人機(jī)交互界面上顯示。
權(quán)利要求
一種基于生長(zhǎng)型分級(jí)自組織映射神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)方法,其步驟為1)從網(wǎng)絡(luò)中采集網(wǎng)絡(luò)數(shù)據(jù),并對(duì)其進(jìn)行特征的提取,生成神經(jīng)網(wǎng)絡(luò)能夠識(shí)別的輸入模式;2)將步驟1)處理后的數(shù)據(jù)輸入給已加載訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型的入侵檢測(cè)模塊,進(jìn)行入侵檢測(cè),其中神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練方法為a)將訓(xùn)練樣本數(shù)據(jù)集中的混合輸入模式向量采用形式表示,其中表示第j個(gè)混合輸入模式向量Xj的數(shù)值類(lèi)型分向量、表示Xj的字符類(lèi)型分向量;b)利用輸入模式向量初始化神經(jīng)網(wǎng)絡(luò)第0層中唯一神經(jīng)元的權(quán)值,并計(jì)算其量化誤差qe0;其中,神經(jīng)元權(quán)值包括數(shù)值型權(quán)值分量、字符型權(quán)值分量;c)從第0層的神經(jīng)元中拓展一n×m結(jié)構(gòu)SOM,并將其層次標(biāo)識(shí)Layer置為1;其中n、m為大于1的自然數(shù);d)對(duì)于第Layer層中拓展出的每一n×m結(jié)構(gòu)SOM,從映射到其父神經(jīng)元的混合輸入模式向量構(gòu)成的集合中挑選一混合輸入模式向量X,并計(jì)算該SOM中每個(gè)神經(jīng)元與X的距離;e)選取該SOM中與X距離最小的神經(jīng)元c,并對(duì)神經(jīng)元c及其鄰域內(nèi)神經(jīng)元的權(quán)值進(jìn)行調(diào)整;如果未達(dá)到預(yù)定訓(xùn)練次數(shù),則轉(zhuǎn)入步驟d);f)計(jì)算經(jīng)e)調(diào)整后的該SOM中每個(gè)神經(jīng)元的量化誤差;g)根據(jù)SOM中神經(jīng)元的量化誤差和第0層神經(jīng)元的量化誤差qe0,控制拓展出的SOM中神經(jīng)元數(shù)目的增加和神經(jīng)網(wǎng)絡(luò)層次的拓展;h)對(duì)第Layer層中增加了新神經(jīng)元的SOM和新拓展出的Layer+1層的所有n×m結(jié)構(gòu)SOM,采用步驟d)~f)對(duì)其重新進(jìn)行訓(xùn)練,直至神經(jīng)網(wǎng)絡(luò)不再產(chǎn)生新的神經(jīng)元和新的分層,整個(gè)訓(xùn)練結(jié)束;3)檢測(cè)結(jié)果處理模塊根據(jù)入侵檢測(cè)模塊輸出結(jié)果判斷當(dāng)前是否發(fā)生入侵,如果發(fā)生入侵,則入侵處理模塊遍歷攻擊類(lèi)型標(biāo)識(shí)庫(kù),檢驗(yàn)是否有匹配的攻擊,如果有則確定攻擊的類(lèi)型并發(fā)出告警信息;如果沒(méi)有匹配的攻擊,則判斷是否為新的攻擊類(lèi)型,如果是新的攻擊類(lèi)型,則把這種攻擊類(lèi)型加入到攻擊類(lèi)型標(biāo)識(shí)庫(kù)并發(fā)出告警信息。FSA00000193803700011.tif,FSA00000193803700012.tif,FSA00000193803700013.tif
2.如權(quán)利要求1所述的方法,其特征在于第0層中神經(jīng)元的數(shù)值型權(quán)值分量Wlj"為所 有混合輸入模式向量的數(shù)值類(lèi)型分向量的平均值,第0層中神經(jīng)元的字符類(lèi)型權(quán)值分向 量WQS為所有混合輸入模式向量的字符類(lèi)型分向量的眾數(shù)向量;所述眾數(shù)向量為對(duì)于一 個(gè)形如[Sl,s2,…,sn]的字符類(lèi)型向量構(gòu)成的集合S,其眾數(shù)向量mode⑶為[Hiode(S1), mode(s2),…,mode (sn)],其中mode (Si)表示所有向量的第i項(xiàng)構(gòu)成的集合中出現(xiàn)次數(shù)最 多的字符值。
3.如權(quán)利要求1或2所述的方法,其特征在于所述ηXm結(jié)構(gòu)SOM為2X2結(jié)構(gòu)S0M。
4.如權(quán)利要求3所述的方法,其特征在于采用張力映射率方法控制SOM中神經(jīng)元的增 加,其方法為1)在神經(jīng)元i與神經(jīng)元j之間插入一虛神經(jīng)元Vij,虛神經(jīng)元Vij的權(quán)值Wij通過(guò)公式 得到2)計(jì)算每個(gè)虛神經(jīng)元的映射率;3)計(jì)算所有虛神經(jīng)元映射率之和SMR;如果映射的拓?fù)浣Y(jié)構(gòu)規(guī)格大于2X2并且SMR值 大于之前映射的SMR值,則映射停止增長(zhǎng),否則,神經(jīng)網(wǎng)絡(luò)繼續(xù)擴(kuò)展出新的神經(jīng)元;4)計(jì)算SOM中插入的每一行或每一列虛神經(jīng)元的張力;5)將每一行或每一列虛神經(jīng)元的張力與其對(duì)應(yīng)的平均映射率相乘,選擇出具有最大值 的行或者列并在其對(duì)應(yīng)位置插入神經(jīng)元。
5.如權(quán)利要求1或2所述的方法,其特征在于計(jì)算SOM中每個(gè)神經(jīng)元與X的距離的方 法為通過(guò)計(jì)算SOM中神經(jīng)元i的權(quán)值向量Wi與混合輸入模式向量X的相似度,得到神經(jīng)元 i與混合輸入模式向量X的距離。
6.如權(quán)利要求5所述的方法,其特征在于采用相似度函數(shù)為 計(jì)算所述相似度;其中,Vl、V2分別為相似度函數(shù)的輸入向量,v〖為向量V1中數(shù)值類(lèi)型成員 值,V丨為向量、中字符類(lèi)型成員值,如果、與V2相對(duì)應(yīng)的字符類(lèi)型成員值相同,則函數(shù)s(·) 取值為0,否則取值為0.5。
7.如權(quán)利要求1或2所述的方法,其特征在于對(duì)神經(jīng)元c及其鄰域內(nèi)神經(jīng)元的權(quán)值采 用 進(jìn)行調(diào)整,其中,n(t)為t時(shí)刻的學(xué)習(xí)速率,K(c, i,t)為鄰域函數(shù),C丨表示映射到神經(jīng)元i的混合輸入模式向量的字符 類(lèi)型分向量構(gòu)成的集合,mode (C丨)為集合C丨的眾數(shù)向量。
8.如權(quán)利要求1或2所述的方法,其特征在于該SOM中每個(gè)神經(jīng)元的量化誤差的計(jì)算方法為神經(jīng)元i的量化誤差為Qei= IeiI其中 表示神經(jīng)元i的數(shù)值類(lèi)型誤差和字符類(lèi)型誤差,Wi11表示神經(jīng)元i的數(shù)值類(lèi)型權(quán)值分向量, Ci為映射到神經(jīng)元i的混合輸入模式向量構(gòu)成的集合,a為一常數(shù),p( ·)為Ci中元素的概 率函數(shù)。
全文摘要
本發(fā)明公開(kāi)了一種基于生長(zhǎng)型分級(jí)自組織映射(Growing Hierarchical Self-organizing Maps,GHSOM)神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)方法,屬于網(wǎng)絡(luò)信息安全技術(shù)領(lǐng)域。本方法中GHSOM入侵檢測(cè)模型的訓(xùn)練方法的關(guān)鍵點(diǎn)為1)設(shè)計(jì)一種新的混合向量結(jié)構(gòu),使得改進(jìn)的GHSOM神經(jīng)網(wǎng)絡(luò)能夠處理含有數(shù)值類(lèi)型成員和字符類(lèi)型成員的混合輸入模式向量;2)設(shè)計(jì)一種新的控制機(jī)制,該機(jī)制使用張力映射率(Tension and Mapping Ratio(TMR)來(lái)替代參數(shù)τ1,使得支持混合輸入模式向量的GHSOM神經(jīng)網(wǎng)絡(luò)自動(dòng)控制神經(jīng)元的增長(zhǎng)。把這種改進(jìn)的神經(jīng)網(wǎng)絡(luò)用于入侵檢測(cè)技術(shù)中,有利于檢測(cè)率的提高。
文檔編號(hào)G06F21/00GK101901317SQ201010228750
公開(kāi)日2010年12月1日 申請(qǐng)日期2010年7月9日 優(yōu)先權(quán)日2010年7月9日
發(fā)明者何家勝, 夏敏, 姜電波, 張英, 楊雅輝, 沈晴霓 申請(qǐng)人:北京大學(xué)