白 琳
(西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710121)
入侵檢測(cè)作為一種實(shí)時(shí)主動(dòng)的網(wǎng)絡(luò)安全防御技術(shù),能夠?yàn)榫W(wǎng)絡(luò)系統(tǒng)的正常運(yùn)行保駕護(hù)航。從20世紀(jì)80年代首個(gè)通用入侵檢測(cè)系統(tǒng)模型提出以來,經(jīng)歷了數(shù)十年的發(fā)展,眾多學(xué)者對(duì)其的研究仍方興未艾。伴隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及其應(yīng)用的飛速發(fā)展,面對(duì)越來越嚴(yán)峻的網(wǎng)絡(luò)安全形勢(shì),對(duì)入侵檢測(cè)產(chǎn)品的性能也提出了更多、更具體的要求:能夠分析復(fù)雜、異構(gòu)的大數(shù)據(jù);能夠正確檢測(cè)出惡意的、非法的行為;誤報(bào)率低;能夠檢測(cè)出未知的攻擊。
入侵檢測(cè)技術(shù)手段包括異常檢測(cè)技術(shù)和誤用檢測(cè)技術(shù)。異常檢測(cè)需要建立代表“正常行為”的模型,再以測(cè)量值對(duì)其的偏離程度判斷用戶行為是否“異常”。誤用檢測(cè)則通過按事先預(yù)定義好的異常模式以及觀測(cè)到的入侵發(fā)生的情況進(jìn)行模式匹配來進(jìn)行檢測(cè)[1]。因此,異常檢測(cè)可以檢測(cè)出新的攻擊,所以受到的關(guān)注度更高。
現(xiàn)有的大多異常檢測(cè)系統(tǒng),其正常模型的確立都是通過對(duì)完全正常的數(shù)據(jù)集進(jìn)行訓(xùn)練而完成的。使得檢測(cè)方法依賴于帶標(biāo)簽的訓(xùn)練數(shù)據(jù),如果某些標(biāo)簽是錯(cuò)誤的,“正常模型”的誤差將會(huì)很大。尤其在實(shí)際網(wǎng)絡(luò)環(huán)境中,收集和整理出帶標(biāo)簽的網(wǎng)絡(luò)數(shù)據(jù)工作量大、難度高,所以采用無標(biāo)簽的網(wǎng)絡(luò)數(shù)據(jù)建立“正常模型”構(gòu)造無監(jiān)督異常檢測(cè)系統(tǒng)才更可行。
聚類就是一種行之有效的無監(jiān)督模式分類方法。可以將無標(biāo)記的樣本集按照某種聚類準(zhǔn)則劃分成若干個(gè)子集,將相似的樣本盡量歸為一類,不相似的樣本歸為不同類。相似度的度量依靠數(shù)據(jù)對(duì)象描述屬性的取值來確定[2]。傳統(tǒng)聚類方法,如C-均值、模糊C-均值、BIRCH等,可伸縮性較差,只能處理小規(guī)模數(shù)據(jù),并且依賴聚類原型,容易陷入局部最優(yōu),由其構(gòu)造的入侵檢測(cè)系統(tǒng)性能不高。一些進(jìn)化計(jì)算方法以其良好的優(yōu)化特性用于傳統(tǒng)算法改進(jìn),包括遺傳聚類算法、免疫進(jìn)化聚類[3]以及基于CSA的聚類[4]等。相應(yīng)構(gòu)建的入侵檢測(cè)系統(tǒng)性能有了不同程度改善,如文獻(xiàn)[5-6]。但是遺傳進(jìn)化算法易于后期發(fā)生早熟,免疫算法的疫苗提取非常依賴先驗(yàn)知識(shí)[7]等缺點(diǎn)都對(duì)聚類效果影響較大。隨著智能信息處理技術(shù)的不斷發(fā)展,對(duì)聚類算法的性能指標(biāo)要求日益增加,除了要保證結(jié)果的有效性和可靠性,還需要具有可拓展性、可伸縮性、有效處理噪聲數(shù)據(jù)或多維、異構(gòu)數(shù)據(jù)的能力[1],以適應(yīng)復(fù)雜網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)分析和處理的需求。
生物體的三大系統(tǒng):神經(jīng)系統(tǒng)、內(nèi)分泌系統(tǒng)和免疫系統(tǒng),彼此之間相互作用、協(xié)調(diào)、促進(jìn),形成了一個(gè)有機(jī)整體。特別地,內(nèi)分泌系統(tǒng)中強(qiáng)大的激素調(diào)節(jié)能力可以有效刺激和調(diào)節(jié)另外兩個(gè)系統(tǒng)的功能。受該生命機(jī)理啟發(fā),將激素調(diào)節(jié)機(jī)制加入抗體克隆進(jìn)化過程,對(duì)抗體克隆規(guī)模進(jìn)行動(dòng)態(tài)調(diào)整,擴(kuò)增優(yōu)秀個(gè)體、抑制退化個(gè)體。構(gòu)造基于激素調(diào)節(jié)的克隆聚類算法,改善聚類的精度、速度及穩(wěn)定性。
生物體的內(nèi)分泌系統(tǒng)是一個(gè)分布式的調(diào)控系統(tǒng),具有良好的自適應(yīng)性、自組織性和自學(xué)習(xí)性,發(fā)揮著調(diào)控機(jī)體新陳代謝和生長(zhǎng)發(fā)育的重要作用。協(xié)同神經(jīng)系統(tǒng)、免疫系統(tǒng),維持著生物體的內(nèi)穩(wěn)態(tài)和內(nèi)平衡。內(nèi)分泌系統(tǒng)工作的核心就是激素調(diào)節(jié),機(jī)體內(nèi)的各個(gè)生理調(diào)節(jié)功能都要依靠激素進(jìn)行。長(zhǎng)期的生命進(jìn)化過程使內(nèi)分泌系統(tǒng)具有十分強(qiáng)大的功能,通過激素的反應(yīng)、擴(kuò)散過程進(jìn)行調(diào)節(jié),維持機(jī)體的內(nèi)穩(wěn)態(tài),為生物體的正常生命活動(dòng)提供保障[8]。
人工內(nèi)分泌系統(tǒng)(artificial endocrine system,AES),指借鑒生物體內(nèi)分泌系統(tǒng)的信息處理機(jī)理,將其應(yīng)用于計(jì)算、控制、通信等領(lǐng)域而形成的模型或系統(tǒng)[9]。
在自然界,機(jī)體的內(nèi)分泌系統(tǒng)和免疫系統(tǒng)之間保持著密切的雙向調(diào)控聯(lián)結(jié),內(nèi)分泌激素通過免疫細(xì)胞受體使其免疫功能增強(qiáng)或削弱;免疫系統(tǒng)通過細(xì)胞因子對(duì)內(nèi)分泌系統(tǒng)發(fā)生作用[10]。因此,內(nèi)分泌系統(tǒng)可以調(diào)節(jié)免疫功能,而免疫系統(tǒng)可以對(duì)其進(jìn)行應(yīng)答和反饋,反作用于內(nèi)分泌系統(tǒng)。借鑒該機(jī)理,可以將激素調(diào)節(jié)作用引入人工免疫系統(tǒng)相關(guān)方法,在免疫基因?qū)用鎸?duì)抗體工作進(jìn)行調(diào)控,改進(jìn)原有算法的性能。
2001年,L. S. Farhy提出了激素Hill函數(shù)調(diào)節(jié)規(guī)律[11],即激素分泌的上升調(diào)節(jié)和下降調(diào)節(jié)函數(shù)。
(1)
(2)
其中,F(xiàn)是Hill調(diào)節(jié)函數(shù);up表示激素刺激、down表示激素抑制;G是自變量;n(n≥1)是Hill系數(shù),T(T>0)是閾值參數(shù),n和T表示曲線上升或下降的斜率,對(duì)應(yīng)激素刺激或是激素抑制的改變速度。
且Hill函數(shù)滿足:
(3)
人工免疫系統(tǒng)(artificial immune system,AIS),是模擬生物體免疫系統(tǒng)的工作過程而形成的一種信息處理計(jì)算模型。其相關(guān)算法主要指克隆選擇算法、人工進(jìn)化免疫網(wǎng)絡(luò)。
克隆選擇學(xué)說的核心是:免疫系統(tǒng)中,在抗原的刺激下,免疫細(xì)胞會(huì)進(jìn)行克隆、得以增殖,再通過遺傳、變異等進(jìn)化操作分化成記憶細(xì)胞和多樣性效應(yīng)細(xì)胞。與抗原親合度較低的抗體經(jīng)過進(jìn)化學(xué)習(xí)后,親合度會(huì)趨于成熟,所以,克隆選擇的過程實(shí)際是面向親合度成熟的過程。具體實(shí)現(xiàn)時(shí),通過選擇、交叉、變異等遺傳進(jìn)化算子和相應(yīng)群體控制機(jī)制來操作。
克隆選擇算法包含克隆增殖、免疫基因操作以及克隆選擇三步??寺∵x擇是由親合度函數(shù)指導(dǎo)的抗體群隨機(jī)映射,其進(jìn)化過程表示如下:
(4)
克隆的實(shí)質(zhì)是在一代進(jìn)化過程中,根據(jù)親合度大小,在候選解的附近產(chǎn)生一個(gè)變異解群體,以此擴(kuò)大搜索范圍、增加抗體群多樣性,防止早熟和搜索陷于局部極小值[12]。
采用下列目標(biāo)函數(shù)作為聚類準(zhǔn)則:
(5)
設(shè)一組聚類原型P為一個(gè)抗體,將各組原型所包含的不同特征值組織在一起,再通過其各自取值范圍進(jìn)行量化,量化結(jié)果為k,具體將抗體按式5進(jìn)行編碼。
Ai(0)=
(6)
其中的各參數(shù)依據(jù)各原型pi,i∈(1,k)取值。
親合度函數(shù)構(gòu)造的依據(jù):目標(biāo)函數(shù)越小,聚類效果越好,抗體-抗原親合度越大。
(7)
其中,若f的值越大,抗體就越接近于抗原。
將激素調(diào)節(jié)策略引入克隆選擇算法,利用Hill刺激效應(yīng)使種群中抗體克隆規(guī)模得以擴(kuò)增,同時(shí)利用Hill抑制原理使不良個(gè)體較多的種群克隆規(guī)模得以削減。由此,通過內(nèi)分泌激素調(diào)控,個(gè)體克隆規(guī)模自適應(yīng)調(diào)整到最優(yōu)狀態(tài),更利于群體的進(jìn)化學(xué)習(xí),進(jìn)而有效收斂。
(1)激素調(diào)節(jié)的克隆操作。
(8)
(9)
其中,Ii是元素全為1的qi維行向量。
抗體Ai的qi克隆表示為:
1,…,N
(10)
其中,Int(c)表示大于c的最小整數(shù);Nc為與克隆規(guī)模相關(guān)的值,且大于N。
因此,對(duì)于單個(gè)抗體,qi的大小取決于f,即抗體的克隆規(guī)模完全由親合度決定。
②激素調(diào)節(jié)。
對(duì)于第t-1代種群,其平均親合度表示為:
(11)
種群的多樣性可表示為函數(shù):
(12)
下降規(guī)律激素調(diào)節(jié)函數(shù)可表示為:
(13)
可令
(14)
由此,就可以描述出:在當(dāng)代種群中,個(gè)體親合度與上一代的平均親合度間的關(guān)系。在此,由函數(shù)D(t)和F(t)共同調(diào)節(jié)個(gè)體克隆規(guī)模,第t代個(gè)體的克隆規(guī)模q(t)改進(jìn)為:
(15)
參數(shù)η在實(shí)際中根據(jù)經(jīng)驗(yàn)值而定。
克隆之后,種群變?yōu)椋?/p>
(16)
其核心為變異操作,變異僅作用于克隆后的抗體之上,這樣就可以保留原始種群的有效信息。具體為:
(17)
抗體群經(jīng)過激素調(diào)節(jié)的克隆選擇學(xué)習(xí)后,更新為:A(l+1)=[A1(l+1),…,AN(l+1)],若A(l+1)中存在Ai(l+1)及Aj(l+1),滿足f(Ai(l+1))=f(Aj(l+1))=maxf(A(l+1)),i≠j,則隨機(jī)產(chǎn)生一個(gè)新抗體,同時(shí)以概率pi刪除Ai(l+1)、Aj(l+1)其中之一。
基于激素調(diào)節(jié)的克隆聚類算法(見圖1)中,抗體編碼后進(jìn)行如上的克隆算子操作,直到聚類原型收斂到最優(yōu)解,完成聚類分析。
圖1 基于激素調(diào)節(jié)的克隆聚類算法流程
實(shí)驗(yàn)采用KDD CUP99數(shù)據(jù)集,該數(shù)據(jù)集包含了9周網(wǎng)絡(luò)流量連接記錄,其中7周的訓(xùn)練數(shù)據(jù)大約具有500萬(wàn)條數(shù)據(jù)量,2周的測(cè)試數(shù)據(jù)大約200萬(wàn)條數(shù)據(jù)量。連接記錄具有協(xié)議類型、持續(xù)時(shí)間、標(biāo)簽等42個(gè)參數(shù),分為33個(gè)連續(xù)屬性、8個(gè)離散屬性,第42個(gè)參數(shù)屬性為標(biāo)簽,標(biāo)記了該條記錄是“正常”的,或具體為何種攻擊類型。攻擊類型一共有37種,被分為4大類:拒絕服務(wù)攻擊、對(duì)本地超級(jí)用戶的非法訪問、未經(jīng)授權(quán)的遠(yuǎn)程訪問以及掃描與探查。
訓(xùn)練數(shù)據(jù)集中共有23個(gè)標(biāo)簽:“正常”和22種攻擊類型。測(cè)試集中含有38個(gè)標(biāo)簽:“正?!焙?7種攻擊類型。其中,有17種攻擊未在訓(xùn)練集中出現(xiàn),對(duì)其而言,是“未知”攻擊。
對(duì)于網(wǎng)絡(luò)連接記錄的字符枚舉屬性,將其轉(zhuǎn)變?yōu)殡x散數(shù)值特征值,實(shí)驗(yàn)中用不同的數(shù)字來代替字符枚舉屬性值。如:“ftp”協(xié)議用“1”代替,“http”協(xié)議用“2”代替。
實(shí)驗(yàn)訓(xùn)練集和測(cè)試集構(gòu)造過程見表1。
為了驗(yàn)證算法對(duì)未知攻擊的檢測(cè)性能,構(gòu)造未知攻擊,指測(cè)試集相對(duì)于訓(xùn)練集而言,多出的攻擊種類。
根據(jù)KDD CUP99數(shù)據(jù)具有混合屬性的特點(diǎn),采用下列相異測(cè)度函數(shù):
(18)
表1 實(shí)驗(yàn)數(shù)據(jù)集
根據(jù)第四節(jié)中的激素調(diào)節(jié)克隆聚類算法對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行聚類分析,得到聚類原型P。訓(xùn)練集被分為c類,聚類結(jié)果見表2和表3。
上述c類子集需要區(qū)分出“正常”類或“異?!鳖?,即為不同類貼上標(biāo)簽。入侵檢測(cè)系統(tǒng)基于兩個(gè)合理的假設(shè)[13-14]:
(1)同類數(shù)據(jù)在特定的尺度條件下會(huì)在特征空間中互相接近,而不同類數(shù)據(jù)會(huì)彼此遠(yuǎn)離;
(2)正常行為的數(shù)據(jù)量要遠(yuǎn)遠(yuǎn)大于異常行為的數(shù)據(jù)量。
因此,根據(jù)不同子集所包含的數(shù)據(jù)量便可區(qū)分出正常類和異常類。具體的,若某個(gè)子集的數(shù)據(jù)量與樣本數(shù)據(jù)總量之比不小于ω(0<ω<1),就將其標(biāo)記為“正?!保駝t為“異?!?。這樣,就可以獲得異常檢測(cè)中的正常模型,進(jìn)而可以實(shí)現(xiàn)入侵檢測(cè)。
表2 類內(nèi)距結(jié)果
表3 類間距結(jié)果
對(duì)測(cè)試集test1或test2,要想知道其中某個(gè)連接記錄xi是否異常,即獲得xi的標(biāo)簽,先計(jì)算xi到每個(gè)聚類原型Pj(1≤j≤c)的距離,再找出其中的最短距離d(xi,Pmin)(1≤min≤c)。在5.4小節(jié),每個(gè)類都已獲得了標(biāo)簽,那么第min類的標(biāo)簽就是xi的標(biāo)簽。如果d(xi,Pmin)≥μ,xi被判斷為未知攻擊。按照該過程完成對(duì)所有測(cè)試集數(shù)據(jù)的檢測(cè)。最后計(jì)算檢測(cè)率和誤警率,以此來評(píng)判入侵檢測(cè)系統(tǒng)的性能。檢測(cè)率指被檢測(cè)出來的異常數(shù)據(jù)占異常數(shù)據(jù)總數(shù)的百分比;誤警率指正常的數(shù)據(jù)被錯(cuò)誤的判斷為異常的數(shù)目占正常數(shù)據(jù)總數(shù)的百分比。
將傳統(tǒng)的模糊C均值算法(算法1)、沒有利用激素調(diào)節(jié)克隆規(guī)模的聚類算法(算法2)作為對(duì)比算法。樣本的種群規(guī)模設(shè)為50,克隆規(guī)模系數(shù)Nc=100,激素調(diào)節(jié)參數(shù)η=2.5,變異概率pm=0.2,死亡概率pi=0.4,選擇最佳個(gè)體百分比15%。
三種算法的聚類結(jié)果見表2和表3。對(duì)于聚類結(jié)果,類內(nèi)距越小、類間距越大,算法性能就越好[15]。
類內(nèi)距的定義為:
(19)
其中,r為聚類子集個(gè)數(shù)。
類間距的定義為:
(20)
其中,n為各類所包含的數(shù)據(jù)個(gè)數(shù)。
表4給出了入侵檢測(cè)結(jié)果,每種算法都經(jīng)過20次獨(dú)立實(shí)驗(yàn),取其檢測(cè)率和誤警率平均值反映在表3中。其中,已知入侵指訓(xùn)練集中存在的22種攻擊;未知入侵詳見表1。
從表2和表3可以看出,基于激素調(diào)節(jié)的克隆聚類算法性能較高,更精確地反映了樣本在狀態(tài)空間的分布情況。在群體克隆操作時(shí),利用內(nèi)分泌激素調(diào)節(jié)特性,自適應(yīng)調(diào)整個(gè)體的克隆規(guī)模,不僅可以增加進(jìn)化過程中的種群多樣性,同時(shí)能夠更好、更多地發(fā)揮優(yōu)秀個(gè)體的性能,抑制不良個(gè)體對(duì)進(jìn)化學(xué)習(xí)的影響。使克隆選擇的親合度成熟過程在激素的調(diào)控下得到改善,保證聚類算法能夠快速、高效地收斂至全局最優(yōu)。
表4 檢測(cè)結(jié)果 %
從表4可以看出,文中算法的檢測(cè)效果更加理想,和傳統(tǒng)算法相比,優(yōu)勢(shì)十分明顯,引入了進(jìn)化策略和各類進(jìn)化算子,有效激發(fā)了聚類的整體尋優(yōu)性。并且,算法與數(shù)據(jù)分布無關(guān)、對(duì)聚類原型無依賴性,可以自適應(yīng)調(diào)整到最佳類別簇。通過構(gòu)造合理的數(shù)據(jù)集,驗(yàn)證了文中算法對(duì)大數(shù)據(jù)集以及未知攻擊的有效檢測(cè)性。
在生物體內(nèi)分泌系統(tǒng)和免疫系統(tǒng)相互作用、協(xié)同工作的生命機(jī)理啟發(fā)下,將人工內(nèi)分泌系統(tǒng)中激素的調(diào)節(jié)機(jī)制引入由克隆策略指導(dǎo)的聚類準(zhǔn)則中進(jìn)行數(shù)據(jù)分析。根據(jù)抗體親合度成熟程度自適應(yīng)調(diào)節(jié)個(gè)體克隆規(guī)模,以此保證在群體的進(jìn)化過程中,擴(kuò)增優(yōu)秀個(gè)體、盡可能發(fā)揮其優(yōu)勢(shì),抑制不良個(gè)體、最大程度地減少其對(duì)各代進(jìn)化的影響。使得克隆算子增加自適應(yīng)性、提高自學(xué)習(xí)性和穩(wěn)定性,由此得到的新聚類算法具有更高的全局尋優(yōu)特性和更快的收斂速度。構(gòu)造了基于激素調(diào)節(jié)克隆聚類的異常檢測(cè)系統(tǒng),并在KDD CUP99數(shù)據(jù)集上進(jìn)行了對(duì)比仿真實(shí)驗(yàn),實(shí)驗(yàn)效果非常理想,表明檢測(cè)系統(tǒng)可行、有效。