普華迅光北京科技有限公司 楊 寧
以機(jī)器學(xué)習(xí)為基礎(chǔ)的入侵檢測(cè)系統(tǒng)的組成主要是:模塊的捕捉、處理數(shù)據(jù)以及機(jī)器學(xué)習(xí),其中系統(tǒng)運(yùn)行的核心便是機(jī)器學(xué)習(xí)這一模塊。監(jiān)測(cè)以及驗(yàn)證網(wǎng)絡(luò)工作的狀態(tài)的模塊是網(wǎng)絡(luò)數(shù)據(jù)捕捉,該模塊的主要功能便是截獲處在傳輸控制協(xié)議模型中各個(gè)協(xié)議層次上的數(shù)據(jù),而實(shí)現(xiàn)網(wǎng)絡(luò)入侵監(jiān)測(cè)的基礎(chǔ)也在于此。該部分主要利用數(shù)據(jù)包的嗅探來實(shí)現(xiàn)其功能。數(shù)據(jù)的預(yù)先處理部分是對(duì)網(wǎng)絡(luò)數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行更進(jìn)一步的分析處理,其中包括解碼數(shù)據(jù)包的數(shù)據(jù),以實(shí)現(xiàn)重復(fù)數(shù)據(jù)以及錯(cuò)誤數(shù)據(jù)的過濾,并將該過程所產(chǎn)生的特征值作為機(jī)器學(xué)習(xí)部分的輸入值輸入。入侵檢測(cè)系統(tǒng)的核心便是機(jī)器學(xué)習(xí),通過針對(duì)性的實(shí)現(xiàn),以保證其功能的實(shí)現(xiàn)?;跈C(jī)器學(xué)算法的入侵檢測(cè)系統(tǒng)如圖1 所示。
圖1 入侵檢測(cè)系統(tǒng)結(jié)構(gòu)
機(jī)器學(xué)習(xí)理論自提出以來,尤其是近些年來,機(jī)器學(xué)習(xí)這一技術(shù)發(fā)展勢(shì)頭正猛。該理論常用到的技術(shù)主要是人工神經(jīng)網(wǎng)絡(luò)技術(shù)、決策樹、貝葉斯以及規(guī)則性學(xué)習(xí)和遺傳算法等等。機(jī)器學(xué)習(xí)在入侵檢測(cè)系統(tǒng)中的應(yīng)用,用到更多的主要是領(lǐng)域和經(jīng)驗(yàn)知識(shí),在系統(tǒng)中主要采用的技術(shù)有遺傳算法、決策樹和神經(jīng)網(wǎng)絡(luò)以及貝葉斯這四種。
該算法主要是通過將實(shí)例從根節(jié)處排列到該樹上的某一個(gè)節(jié)點(diǎn)來分類,所謂葉子的節(jié)點(diǎn)便是所用到的實(shí)例的分類。而樹上各個(gè)節(jié)點(diǎn)則規(guī)定了各個(gè)特征的測(cè)試,而且每個(gè)節(jié)點(diǎn)后續(xù)的分支都與該特征的可能值一一對(duì)應(yīng)。分類實(shí)例這種方法的起點(diǎn)是該樹的節(jié)點(diǎn),通過該節(jié)點(diǎn)指定屬性的測(cè)試,接著根據(jù)給定的具體屬性值移動(dòng),然后在這個(gè)過程中以新的節(jié)點(diǎn)為根重復(fù)上述操作。Quinlan 在1986 年發(fā)明了ID3 算法,該算法在決策樹方法中堪稱最為經(jīng)典的一種算法。不過因?yàn)檫@種算法解決的問題有一定的局限性,僅僅能夠做到離散型數(shù)據(jù)問題的解決,這遠(yuǎn)遠(yuǎn)達(dá)不到解決入侵檢測(cè)問題的程度。不過在1993 年,Quinlan所提出的C4.5 算法對(duì)于這種算法來講是一種延續(xù),該算法不僅僅涵蓋了ID3 算法的各種優(yōu)點(diǎn),即解決離散型數(shù)據(jù)的問題,還能夠等價(jià)劃分?jǐn)?shù)據(jù)屬性的取值集合。在對(duì)被劃分在一個(gè)類別里的屬性進(jìn)行判斷之后,走向同一分支。在完成決策樹的構(gòu)造之后,把各種入侵情況列出,可省略合理的葉節(jié)點(diǎn)。將決策樹寫成諸如“if…then”等語句則是決策樹的規(guī)則化處理。因?yàn)檎嫉饺肭謹(jǐn)?shù)據(jù)大部分的是離散值,這便有助于其決策樹的構(gòu)造,接著可以通過屬性的比對(duì)實(shí)現(xiàn)入侵行為的準(zhǔn)確判斷。
該理論的原理是通過概率進(jìn)行推理,而貝葉斯理論對(duì)于機(jī)器學(xué)習(xí)來講至關(guān)重要,這一理論給許多假設(shè)的置信程度提供了可行的方法,是許多算法學(xué)習(xí)的基礎(chǔ)。這種理論的算法是通過變量之間的概率關(guān)系而建立的模型,也就是說該算法能夠解決入侵檢測(cè)系統(tǒng)中許多難以確定的問題。貝葉斯網(wǎng)絡(luò)能夠統(tǒng)計(jì)異常的檢測(cè),研究人員應(yīng)尤其注意該方法在入侵檢測(cè)中的應(yīng)用。貝葉斯分類是極為高效的一種機(jī)器學(xué)習(xí)算法,其會(huì)將極有可能入侵的行為列入序列,而且還能根據(jù)已知序列檢測(cè)疑似入侵序列。貝葉斯是一種高效的處理龐大數(shù)據(jù)的方法,該方法能將確定入侵的事件檢測(cè)出來,還能夠?qū)⒂袧撛谌肭诛L(fēng)險(xiǎn)的事件檢測(cè)出來,而且能夠?qū)W習(xí)以及鑒別新的入侵行為,通過概率進(jìn)行分類,而不是簡(jiǎn)單歸類。
所謂神經(jīng)網(wǎng)絡(luò),是通過人腦的模擬加工、處理存儲(chǔ)信息的機(jī)制而制定出的一種智能化的處理技術(shù)。其組成單位是大量簡(jiǎn)單單元。這些簡(jiǎn)單的處理單元會(huì)互相連接形成復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)。函數(shù)的映射權(quán)值決定著神經(jīng)元的輸入輸出過程。一般神經(jīng)網(wǎng)絡(luò)的處理過程主要是神經(jīng)網(wǎng)絡(luò)模型的建立以及訓(xùn)練、去除冗雜的網(wǎng)絡(luò)等階段。入侵檢測(cè)系統(tǒng)這一網(wǎng)絡(luò)的應(yīng)用能夠通過大量簡(jiǎn)單單位的組合連接實(shí)現(xiàn)全職的學(xué)習(xí)修改,能夠在一組數(shù)據(jù)輸入之后,實(shí)現(xiàn)數(shù)據(jù)輸出的預(yù)測(cè)。
該神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法有誤差補(bǔ)償?shù)脑瓌t,在神經(jīng)網(wǎng)絡(luò)輸出的結(jié)果出現(xiàn)差錯(cuò)時(shí),能夠通過閾值以及權(quán)重的調(diào)整實(shí)現(xiàn)誤差的補(bǔ)償。神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)由節(jié)點(diǎn)的學(xué)習(xí)算法以及拓?fù)浣Y(jié)構(gòu)組成。系統(tǒng)能夠通過神經(jīng)系統(tǒng)的學(xué)習(xí)算法記住合法用戶的基本特點(diǎn),以便于在用戶輸入時(shí)根據(jù)其特征進(jìn)行分類辨別,如果出現(xiàn)系統(tǒng)未記錄的用戶的行為,則會(huì)認(rèn)定該行為為異常行為。比如合法用戶可以通過留下自己的特征(如:指紋、簽名)使用系統(tǒng),如果入侵者使用用戶信息登錄時(shí),系統(tǒng)會(huì)通過指紋的比對(duì)查找入侵者。因?yàn)橛脩粼诘卿洉r(shí),其行為特征不易記憶,為了避免用戶忘記自己行為數(shù)據(jù)的尷尬,神經(jīng)網(wǎng)絡(luò)會(huì)將用戶行為轉(zhuǎn)變成輸入變量,通過神經(jīng)網(wǎng)絡(luò)的輸出,能夠找出輸出和輸入之間的關(guān)系,以實(shí)現(xiàn)用戶身份的認(rèn)定。不過該神經(jīng)網(wǎng)絡(luò)系統(tǒng)也存在著諸如系統(tǒng)結(jié)構(gòu)不穩(wěn)定、學(xué)習(xí)時(shí)間過久等弊端。
該方法也被稱為基因算法,是基于自然選擇的優(yōu)化搜索方法。該方法的思想基礎(chǔ)是達(dá)爾文的進(jìn)化論和孟德爾的遺傳學(xué)說。這種算法會(huì)把待解決的方法編碼為基因,而編碼數(shù)列被稱為染色體。這種算法的執(zhí)行過程為編碼、構(gòu)造適應(yīng)的函數(shù)以及隨機(jī)選擇變異或者交叉的方式產(chǎn)生新的解決方法。在最有個(gè)體的適應(yīng)度不再繼續(xù)上升時(shí),算法結(jié)束。否則則用辨析、選擇等得到的新個(gè)體取代最初的個(gè)體,再進(jìn)行循環(huán)操作。
以機(jī)器學(xué)習(xí)為基礎(chǔ)的入侵檢測(cè)示意圖如圖2 所示:
圖2 以機(jī)器學(xué)習(xí)為基礎(chǔ)的入侵檢測(cè)系統(tǒng)的指示框架
首先是對(duì)已收集的網(wǎng)絡(luò)上的調(diào)查數(shù)據(jù)進(jìn)行預(yù)分析處理,根據(jù)網(wǎng)絡(luò)數(shù)據(jù)的特征進(jìn)行選取,以助于將有著正常和非正常區(qū)分開來的重要信息特點(diǎn)送進(jìn)學(xué)習(xí)機(jī)器里進(jìn)行規(guī)范化的學(xué)習(xí),而分類機(jī)器便是學(xué)習(xí)輸出機(jī)。接著通過數(shù)據(jù)集的測(cè)試對(duì)分類機(jī)器進(jìn)行評(píng)估測(cè)試,以得到入侵檢測(cè)系統(tǒng)各個(gè)性能指標(biāo),在各項(xiàng)規(guī)定的指標(biāo)都滿足的情況下,入侵檢測(cè)系統(tǒng)則可以運(yùn)行。如果入侵檢測(cè)系統(tǒng)不符合指標(biāo)要求,那么則應(yīng)重新進(jìn)行部分計(jì)算以及特征選取,直至各項(xiàng)性能指標(biāo)滿足要求。
在采集數(shù)據(jù)以及預(yù)處理數(shù)據(jù)時(shí),要注意對(duì)網(wǎng)絡(luò)狀態(tài)的監(jiān)視與驗(yàn)證,并且取每個(gè)協(xié)議層的數(shù)據(jù)進(jìn)行進(jìn)一步的分析處理,以便得到所需的特征值。在選取特征以及模塊構(gòu)造過程中,也就是將選取的模塊構(gòu)造以及特征值和特征值進(jìn)行比對(duì)分析,如果行為被判斷為入侵性行為,那么就將該行為輸入分類機(jī)器里去,否則將其送入機(jī)器學(xué)習(xí)模塊進(jìn)行處理,再進(jìn)一步判斷其是否有入侵性行為,接著再對(duì)結(jié)果處理。所謂機(jī)器學(xué)習(xí)這一部分是通過系統(tǒng)的訓(xùn)練提高機(jī)器的學(xué)習(xí)能力,以便應(yīng)付入侵,在這一模塊的訓(xùn)練之后,其檢測(cè)能力會(huì)得到一定程度的提升,對(duì)于不正常的攻擊,其判斷也會(huì)更精確。
入侵檢測(cè)這種技術(shù)是一種計(jì)算機(jī)主動(dòng)出擊來使自己免受傷害的網(wǎng)絡(luò)安全技術(shù),隨著計(jì)算機(jī)以及網(wǎng)絡(luò)的進(jìn)步,這一系統(tǒng)的缺陷更加彰顯。筆者在這里針對(duì)其不足之處,創(chuàng)造性地提出了機(jī)器學(xué)習(xí)理論的應(yīng)用。盡管現(xiàn)在以機(jī)器學(xué)習(xí)為基礎(chǔ)的入侵檢測(cè)系統(tǒng)的研究已獲得了不少進(jìn)展,但是在很多地方還是存在著較多問題亟待解決。基于上述闡述,以機(jī)器學(xué)習(xí)為基礎(chǔ)的入侵檢測(cè)系統(tǒng)通過及時(shí)更新知識(shí)儲(chǔ)備、進(jìn)一步提升系統(tǒng)的適應(yīng)能力以及自主學(xué)習(xí)能力來應(yīng)付復(fù)雜狀況,不過每種機(jī)器學(xué)習(xí)方法都有著自己的不足之處,為了保證入侵檢測(cè)系統(tǒng)性能的進(jìn)一步提高,可以通過將多種機(jī)器學(xué)習(xí)方式整合的方法,保證各種機(jī)器學(xué)習(xí)都能夠充分發(fā)揮自己的所長(zhǎng),使入侵檢測(cè)系統(tǒng)的功能更加完善。