摘要:網(wǎng)絡(luò)入侵檢測(cè)已成為計(jì)算機(jī)界研究的熱點(diǎn)問題之一。介紹了若干用于網(wǎng)絡(luò)入侵檢測(cè)的人工智能方法,著重介紹了基于Agent的入侵檢測(cè)技術(shù),并客觀分析了這些方法的優(yōu)點(diǎn)和不足,同時(shí)列舉了一些基于人工智能方法的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)。最后展望了目前的發(fā)展趨勢(shì)。
關(guān)鍵詞:入侵檢測(cè); 機(jī)器學(xué)習(xí); 代理; 網(wǎng)絡(luò)安全
中圖分類號(hào):TP393.08文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2007)05-0144-06
0引言
入侵檢測(cè)是指在不影響網(wǎng)絡(luò)性能的情況下對(duì)計(jì)算機(jī)網(wǎng)絡(luò)或計(jì)算機(jī)系統(tǒng)中的若干關(guān)鍵點(diǎn)收集信息并進(jìn)行分析,從中發(fā)現(xiàn)網(wǎng)絡(luò)或系統(tǒng)中是否有違反安全策略的行為和被攻擊的跡象;同時(shí)收集入侵證據(jù),為數(shù)據(jù)恢復(fù)和事故處理提供依據(jù)。1980年J.Anderson[1]第一次提出入侵檢測(cè)的概念,并提出了一種對(duì)計(jì)算機(jī)系統(tǒng)風(fēng)險(xiǎn)和威脅的分類方法。這一思想成為入侵檢測(cè)系統(tǒng)設(shè)計(jì)及開發(fā)的基礎(chǔ)。1987年D.Denning[2]提出了第一個(gè)入侵檢測(cè)模型IDES。
一般而言,入侵檢測(cè)系統(tǒng)應(yīng)包含三個(gè)必要功能的組件,即信息來源、分析引擎和響應(yīng)組件。圖1是一個(gè)簡單的入侵檢測(cè)系統(tǒng)的結(jié)構(gòu)模式圖。數(shù)據(jù)收集器將收集來的數(shù)據(jù)存入數(shù)據(jù)存儲(chǔ)器;處理器根據(jù)配置數(shù)據(jù),參考數(shù)據(jù)來處理活躍數(shù)據(jù),一旦發(fā)現(xiàn)入侵就發(fā)出警報(bào)并通知安全管理員;安全管理員又會(huì)將反饋的數(shù)據(jù)通過參考數(shù)據(jù)及配置數(shù)據(jù)通知處理器以改變處理模式[3,4]。
近年來,入侵檢測(cè)逐漸成為工業(yè)界和學(xué)術(shù)界的研究熱點(diǎn),已經(jīng)出現(xiàn)并將不斷出現(xiàn)許多入侵檢測(cè)相關(guān)的新技術(shù)、算法和系統(tǒng)。本文對(duì)此將進(jìn)行了詳細(xì)的介紹。
1入侵檢測(cè)方法
1.1基于統(tǒng)計(jì)分析的方法
(1)Activity Intensity Measure。這種方法檢測(cè)行為活動(dòng)突發(fā)的異常,尤其是那些與正常相比高頻度的活動(dòng)。它不會(huì)給長期的平均值帶來很大的異常,但在短期會(huì)被發(fā)現(xiàn),如一分鐘內(nèi)高頻的訪問。
(2)Audit Record Distribution Measures。這種方法檢測(cè)活動(dòng)類型的分布,可以發(fā)現(xiàn)針對(duì)特定用戶的短期內(nèi)的行為類型分布的異常。例如短期內(nèi)對(duì)某個(gè)文件的大量訪問,或高頻的I/O操作。
(3)Categorical Measures。這種方法檢測(cè)整個(gè)系統(tǒng)的所有活動(dòng)行為的種類分布的異常。例如某地登錄次數(shù),總的對(duì)郵件的訪問次數(shù)。
(4)Ordinal Measures。這種方法檢測(cè)輸出結(jié)果為數(shù)字的異常,如CPU利用率I/O操作的次數(shù)等。
最近的用戶行為數(shù)據(jù)被記錄下來,每隔一個(gè)周期與以往數(shù)據(jù)進(jìn)行比對(duì)匯總,異常行為通過這個(gè)比較得到。
用統(tǒng)計(jì)模型取代上面的自定義公式進(jìn)行異常檢測(cè)也是目前的一個(gè)發(fā)展方向。統(tǒng)計(jì)模型中常用的測(cè)量參數(shù)包括審計(jì)事件的數(shù)量、間隔時(shí)間、資源消耗情況等。常用于入侵檢測(cè)的五種統(tǒng)計(jì)模型如下:
(1)操作模型。該模型假設(shè)異常可通過測(cè)量結(jié)果與一些固定指標(biāo)相比較得到,固定指標(biāo)可以根據(jù)經(jīng)驗(yàn)值或一段時(shí)間內(nèi)的統(tǒng)計(jì)平均得到。例如在短時(shí)間內(nèi)的多次失敗的登錄很有可能是口令嘗試攻擊。
(2)方差模型。計(jì)算參數(shù)的方差,設(shè)定其置信區(qū)間。當(dāng)測(cè)量值超過置信區(qū)間的范圍時(shí)表明有可能是異常。
(3)多元模型。操作模型的擴(kuò)展,通過同時(shí)分析多個(gè)參數(shù)實(shí)現(xiàn)檢測(cè)。
(4)馬爾柯夫過程模型。將每種類型的事件定義為系統(tǒng)狀態(tài),用狀態(tài)轉(zhuǎn)移矩陣來表示狀態(tài)的變化。當(dāng)一個(gè)事件發(fā)生時(shí),或狀態(tài)矩陣中該種轉(zhuǎn)移的概率較小,則可能是異常事件。
(5)時(shí)間序列分析。將事件計(jì)數(shù)與資源耗用根據(jù)時(shí)間排成序列。如果一個(gè)新事件在該時(shí)間發(fā)生的概率較低,則該事件可能是入侵。
統(tǒng)計(jì)方法是當(dāng)前產(chǎn)品化的入侵檢測(cè)系統(tǒng)中常用的方法,它是一種成熟的入侵檢測(cè)方法。它的最大優(yōu)點(diǎn)是可以“學(xué)習(xí)”用戶的使用習(xí)慣,從而具有較高檢出率與可用性。但是它的“學(xué)習(xí)”能力也給入侵者以機(jī)會(huì),通過逐步“訓(xùn)練”使入侵事件符合正常操作的統(tǒng)計(jì)規(guī)律,從而透過入侵檢測(cè)系統(tǒng)。
1.2基于匹配的方法
(1)簡單模式匹配(Pattern Matching)。它是將已知的入侵特征編碼成為與審計(jì)記錄相符合的模式。該模式既不能與其他模式?jīng)_突,同時(shí)又要能夠識(shí)別出其變種。當(dāng)新的審計(jì)事件產(chǎn)生時(shí),這一方法將尋找與它相匹配的已知入侵模式;當(dāng)審計(jì)的事件與已知的入侵事件模式相匹配時(shí),即報(bào)警。模式可以隨意添加或刪減,不會(huì)影響已有的模式匹配。同時(shí),也不需要建立任何依賴關(guān)系。目前基于特征描述的模式匹配應(yīng)用較為廣泛。該方法預(yù)報(bào)檢測(cè)的準(zhǔn)確率較高,但對(duì)于無經(jīng)驗(yàn)知識(shí)的入侵與攻擊行為無能為力。簡單模式匹配有可能失去入侵行為的序列性。
(2)基于規(guī)則的異常檢測(cè)(Rule-based Anomaly Detection)。它與簡單模式匹配不同在于前面匹配的是入侵模式,這里匹配的是正常模式。這種檢測(cè)方法考慮了事件的序列及相互聯(lián)系。根據(jù)觀察到的用戶行為,歸納產(chǎn)生出一套規(guī)則集來構(gòu)成用戶的輪廓框架,并能動(dòng)態(tài)地修改系統(tǒng)中的規(guī)則,使之具有較高的預(yù)測(cè)性、準(zhǔn)確性和可信度。如果觀察到的事件序列匹配規(guī)則的左邊,而后續(xù)的事件顯著地背離根據(jù)規(guī)則預(yù)測(cè)到的事件,那么系統(tǒng)就可以檢測(cè)出這種偏離,這就表明用戶操作是異常的。這種方法的主要優(yōu)點(diǎn)有:能較好地處理多樣的用戶行為,并具有很強(qiáng)的時(shí)序模式;能夠集中考查少數(shù)幾個(gè)相關(guān)的安全事件,而不是關(guān)注可疑的整個(gè)登錄會(huì)話過程;對(duì)發(fā)現(xiàn)檢測(cè)系統(tǒng)遭受攻擊,具有良好的靈敏度。
(3)基于模型的入侵檢測(cè)(Model-based)。該系統(tǒng)有一個(gè)攻擊情節(jié)的數(shù)據(jù)庫,假定每一次的完整攻擊均包含了這個(gè)攻擊的序列行為。當(dāng)某一時(shí)刻懷疑有攻擊了,系統(tǒng)就會(huì)產(chǎn)生一個(gè)攻擊情節(jié)的子集,然后在系統(tǒng)日志序列中尋找與之匹配的,如果匹配成功則接受這個(gè)攻擊情節(jié)的子集,不成功則拒絕這個(gè)攻擊情節(jié)子集。這個(gè)子集其實(shí)就是攻擊行為序列的模型。一個(gè)情節(jié)對(duì)應(yīng)一個(gè)攻擊行為。根據(jù)現(xiàn)行活躍模型,預(yù)測(cè)器還可能會(huì)預(yù)測(cè)今后將要發(fā)生的行為,將這些行為通報(bào)給系統(tǒng)或者是管理員,由他們決定這一假設(shè)的行為是否要記錄在系統(tǒng)獨(dú)立的日志中。事件的發(fā)生是對(duì)攻擊情節(jié)與模型匹配情況的檢驗(yàn)與更新。攻擊事件的發(fā)生會(huì)對(duì)某些攻擊情節(jié)正確性起積累作用,相反也會(huì)對(duì)某些情節(jié)起否定作用。當(dāng)匹配于某個(gè)模型的攻擊發(fā)生了,這個(gè)模型就被添加到活躍模型庫中。所以活躍的模型表就在不斷地更新。事件的發(fā)生是提高攻擊情節(jié)在活躍模型表中發(fā)生率的關(guān)鍵。
(4)基于圖形的入侵檢測(cè)系統(tǒng)(Graph-based Intrusion Detection System,GrIDS)。該系統(tǒng)能夠?yàn)樗鶛z測(cè)的主機(jī)以及主機(jī)的活動(dòng)構(gòu)建一個(gè)圖[12]。以一個(gè)蠕蟲入侵為例,如圖2所示。
蠕蟲首先從主機(jī)A開始,然后它攻擊主機(jī)B和C。這兩個(gè)鏈接的建立被報(bào)告給了GrIDS,GrIDS以圖的形式記錄下這兩個(gè)鏈接。如果在接下來的很長時(shí)間內(nèi),主機(jī)A、B、C均沒有動(dòng)靜,那么這個(gè)圖便自動(dòng)消失。如果蠕蟲很快傳播到了D、E以及其他主機(jī),那么這鏈接也將會(huì)被記錄下來構(gòu)造圖。這些鏈接產(chǎn)生的時(shí)間等一系列參數(shù)將被記錄下來。如果時(shí)間戳顯示這些鏈接時(shí)間靠得很近,那么它們是入侵的可能性就很大。這樣一張圖就被存在數(shù)據(jù)庫中。當(dāng)這樣一張圖再次出現(xiàn)時(shí),就有可能被認(rèn)為是蠕蟲。其他的攻擊也均被定義成一張圖以及圖上相應(yīng)的參數(shù)。除了時(shí)間以外,其他諸如目標(biāo)地址、端口等信息也被用在其他類型入侵的表示中。圖節(jié)點(diǎn)的屬性、邊的屬性均可以被用來代表特定的信息。入侵行為的圖的特點(diǎn)結(jié)構(gòu)此時(shí)就成了判斷的條件。
(5)狀態(tài)轉(zhuǎn)移模型(State-transition Model)。該模型是基于高層次語義的,它能夠?qū)ξ磥磉M(jìn)行預(yù)測(cè),這是普通專家系統(tǒng)所不能做到的。它基于兩個(gè)假設(shè):①入侵行為必須在入侵前采取某些行動(dòng),如TCP/IP端口掃描;②這些行動(dòng)必須產(chǎn)生在此之前沒有的能力,如獲得主機(jī)回復(fù)的數(shù)據(jù),知道主機(jī)服務(wù)類型。一次入侵行動(dòng)被定義成一個(gè)入侵行為序列,從狀態(tài)模型的初始狀態(tài)到結(jié)束狀態(tài),不斷地在狀態(tài)間轉(zhuǎn)移。當(dāng)遇到事先定義好的關(guān)鍵狀態(tài)時(shí),筆者就認(rèn)為入侵發(fā)生了。
狀態(tài)轉(zhuǎn)移分析方法將攻擊表示成一系列被監(jiān)控的系統(tǒng)狀態(tài)轉(zhuǎn)移。攻擊模式的狀態(tài)對(duì)應(yīng)于系統(tǒng)狀態(tài),同時(shí)有狀態(tài)轉(zhuǎn)移的條件判斷。事件類型無須與審計(jì)記錄一一對(duì)應(yīng)。攻擊模式只能說明事件序列,因此不適合描述更復(fù)雜的事件,沒有通用的方法來剪除部分攻擊匹配。
需要說明的是,基于模型的入侵檢測(cè)并不能替代基于統(tǒng)計(jì)的異常檢測(cè),而只能是它的一個(gè)補(bǔ)充。
1.3基于機(jī)器學(xué)習(xí)的方法
(1)貝葉斯在入侵檢測(cè)中的應(yīng)用。貝葉斯是根據(jù)各個(gè)變量之間的概率關(guān)系建立的圖論模型,因此可以用貝葉斯方法解決入侵檢測(cè)系統(tǒng)中的不確定問題。貝葉斯網(wǎng)絡(luò)可以作為異常檢測(cè)中的統(tǒng)計(jì)方法,特別是貝葉斯分類法在入侵檢測(cè)中的應(yīng)用受到研究人員的關(guān)注。貝葉斯分類將嘗試著找到最有可能的產(chǎn)生已知數(shù)據(jù)的過程。也就是說,貝葉斯將產(chǎn)生已經(jīng)發(fā)生的入侵的最有可能的行為序列,然后將發(fā)生的行為序列與已知序列進(jìn)行比較,這將得到最有可能的入侵類型。貝葉斯在處理大量數(shù)據(jù)時(shí)有著很高的速度和準(zhǔn)確性。
本文將一系列入侵子事件發(fā)生后某種入侵發(fā)生的可能性轉(zhuǎn)換為計(jì)算在這種入侵發(fā)生時(shí)各個(gè)子事件發(fā)生的概率。如果各個(gè)事件發(fā)生的條件概率相互獨(dú)立,那么就可以用樸素貝葉斯;如果事件間的依賴關(guān)系較明顯,則可以用貝葉斯信念網(wǎng)絡(luò)來分類。貝葉斯網(wǎng)絡(luò)允許在隨機(jī)變量之間表示它們的因果關(guān)系,可以用圖表的形式表示各個(gè)變量之間的關(guān)系,每個(gè)隨機(jī)變量只決定于它周圍的變量。所有的根節(jié)點(diǎn)均有一個(gè)初始的概率,其他節(jié)點(diǎn)均是根節(jié)點(diǎn)的條件概率。貝葉斯網(wǎng)絡(luò)可以用DAG圖進(jìn)行表示。當(dāng)圖中部分節(jié)點(diǎn)概率可知時(shí),其他便可求。
使用貝葉斯能夠在給定數(shù)據(jù)集上自動(dòng)確定類型個(gè)數(shù)。它在停止條件,分類標(biāo)準(zhǔn)上沒有特別要求,能夠處理離散和連續(xù)的屬性,能夠?qū)W習(xí)和識(shí)別新的未知形式的入侵,可處理不完整和帶有噪聲的數(shù)據(jù)集。其語義清晰,可理解性強(qiáng)。貝葉斯分類能夠?qū)?shù)據(jù)進(jìn)行最優(yōu)的分類,將具有相似行為框架的用戶分為一類,而不是簡單地將相同的分為一類。
檢測(cè)特定入侵的貝葉斯網(wǎng)絡(luò)事先存入與該入侵形式有關(guān)的信息并不會(huì)給系統(tǒng)帶來負(fù)擔(dān)。針對(duì)部分入侵模式,筆者希望在系統(tǒng)中事先存入更多的相關(guān)信息。
(2)神經(jīng)網(wǎng)絡(luò)在入侵檢測(cè)中的應(yīng)用。人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANN)是模擬人腦加工、存儲(chǔ)和處理信息機(jī)制而提出的一種智能化信息處理技術(shù)。它具備概括抽象能力、學(xué)習(xí)和自適應(yīng)能力以及內(nèi)在的并行計(jì)算特性。根據(jù)一系列有序信息單元訓(xùn)練神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)就能夠按照現(xiàn)在已有的行為活動(dòng)和以前行為活動(dòng)的序列,預(yù)測(cè)將來的行為活動(dòng)。用一個(gè)典型的用戶的活動(dòng)序列去訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)能夠構(gòu)建出用戶活動(dòng)的框架。最常見的一種應(yīng)用神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)的結(jié)構(gòu)如圖3所示。通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練入侵以及正常模式,然后交由專家系統(tǒng)進(jìn)行匹配比對(duì)。
神經(jīng)網(wǎng)絡(luò)的缺點(diǎn)主要是訓(xùn)練時(shí)間長以及難以理解。目前使用最廣泛的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法是BP神經(jīng)網(wǎng)絡(luò),但是BP網(wǎng)絡(luò)存在訓(xùn)練入侵?jǐn)?shù)據(jù)時(shí)間長、收斂速度慢、容易陷入局部極小等問題。所以有研究人員嘗試用LVQ或者其他算法解決這一問題,取得了不錯(cuò)的效果。通過訓(xùn)練各個(gè)功能專一、結(jié)構(gòu)簡單的小神經(jīng)網(wǎng)絡(luò),然后聯(lián)合構(gòu)建功能強(qiáng)大的神經(jīng)網(wǎng)絡(luò)也是目前的一種解決辦法。可以對(duì)某種入侵專門訓(xùn)練一個(gè)小型神經(jīng)網(wǎng)絡(luò),當(dāng)有新的數(shù)據(jù)加入時(shí),只須對(duì)小型網(wǎng)進(jìn)行調(diào)整,無須對(duì)整個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行重新學(xué)習(xí)[16]。
(3)遺傳算法在入侵檢測(cè)中的應(yīng)用。遺傳算法(GA)是基于自然選擇,模擬生命進(jìn)化機(jī)制的搜索優(yōu)化方法,它模擬了自然選擇和遺傳中發(fā)生的復(fù)制、交換和變異現(xiàn)象。搜索空間被映射到遺傳空間,將每一個(gè)可能的解編碼為一個(gè)向量,稱為染色體(Chromosome)向量,向量的每一個(gè)元素稱為基因(Genes)。按預(yù)定的評(píng)價(jià)函數(shù)對(duì)每個(gè)染色體進(jìn)行評(píng)價(jià),根據(jù)其結(jié)果給出一個(gè)適應(yīng)度的值。所有的染色體組成群體(Population)。從初始種群出發(fā),通過隨機(jī)選擇、交叉和變異操作,產(chǎn)生新的更適應(yīng)環(huán)境的個(gè)體。適應(yīng)度低(因而性能不佳)的染色體將被淘汰,從而得到新的群體。因?yàn)樾氯后w是上一代優(yōu)秀者,具有上一代的優(yōu)良性態(tài),所以明顯優(yōu)于上一代。GA反復(fù)迭代,向著更優(yōu)解的方向進(jìn)化,直至滿足某種預(yù)定的優(yōu)化指標(biāo)[16]。
對(duì)于染色體的評(píng)價(jià)是一個(gè)較為復(fù)雜的問題,一般首先隨機(jī)抽取一些被確認(rèn)為入侵的連接數(shù)據(jù)與另一些隨機(jī)抽取的正常的連接數(shù)據(jù)混雜在一起,通過染色體對(duì)這些數(shù)據(jù)是否入侵再次進(jìn)行判斷,正確率最高的染色體被認(rèn)為是這一代最優(yōu)的染色體。當(dāng)生成的新一代染色體達(dá)到了所要求的目標(biāo),如連續(xù)兩次正確率在90%以上時(shí),就可以停止算法,認(rèn)為找到了可以應(yīng)用的規(guī)則。所采用的評(píng)價(jià)數(shù)據(jù)的優(yōu)劣直接影響到制定規(guī)則的好壞,且生成的規(guī)則在應(yīng)用過程中產(chǎn)生的錯(cuò)誤是很難消除的。
在入侵檢測(cè)應(yīng)用中,用一個(gè)向量即一個(gè)染色體表示對(duì)記錄的選擇,記錄中的每個(gè)屬性用基因來表示,使用特殊的編碼規(guī)則進(jìn)行編碼。通常采用擴(kuò)展的二進(jìn)制形式,使用選擇算子、交叉算子、變異算子,最終選擇出最優(yōu)染色體將其翻譯成自然語言的產(chǎn)生式規(guī)則并提交。規(guī)則最終將被用來對(duì)入侵進(jìn)行分類。
(4)決策樹在入侵檢測(cè)中的應(yīng)用。決策樹由一個(gè)根節(jié)點(diǎn)、若干個(gè)葉節(jié)點(diǎn)和若干個(gè)非葉節(jié)點(diǎn)構(gòu)成。根節(jié)點(diǎn)對(duì)應(yīng)于學(xué)習(xí)的任務(wù),每個(gè)葉節(jié)點(diǎn)均包含一個(gè)分類名,即包含一個(gè)概念,每個(gè)非葉節(jié)點(diǎn)均包含一個(gè)屬性測(cè)試,對(duì)該屬性可能取的每一個(gè)值用一條邊引出到另一個(gè)節(jié)點(diǎn)。
首先對(duì)哪一個(gè)屬性進(jìn)行劃分是由信息增益決定的。一個(gè)屬性如果能夠?qū)?shù)據(jù)分得很好,那么由這個(gè)屬性分好的類的信息熵之和必定比較小,信息增益也就比較大。筆者總是選擇這樣的屬性進(jìn)行劃分。
Quinlan在1986年發(fā)明了ID3算法,這是決策樹方法中最經(jīng)典的學(xué)習(xí)算法。然而ID3只能夠處理離散的數(shù)據(jù),這顯然對(duì)于入侵檢測(cè)是不夠的。1993年Quinlan在ID3的基礎(chǔ)上提出了C4.5算法,繼承了ID3的全部優(yōu)點(diǎn),不但能夠處理離散類型、連續(xù)類型的屬性,而且還能夠?qū)傩缘娜≈导线M(jìn)行等價(jià)類劃分,劃分在同一類的屬性值在屬性判斷時(shí)走向同一分支。ID5R算法能夠減少構(gòu)造決策樹時(shí)的重復(fù)構(gòu)造過程,其他諸如CART算法等還能夠進(jìn)行回歸分析。
在構(gòu)造完決策樹后,由于僅僅對(duì)入侵情況進(jìn)行判斷,因此決策樹可以進(jìn)行簡化,只將入侵情況列出,將非入侵的葉節(jié)點(diǎn)省略掉。制定規(guī)則時(shí)可以把一棵決策樹寫成一系列的if…then的語句。由于入侵?jǐn)?shù)據(jù)很大一部分屬性是離散值,這對(duì)于構(gòu)造決策樹是很方便的,省去了很多離散化的步驟。使用構(gòu)建好的決策樹對(duì)入侵?jǐn)?shù)據(jù)進(jìn)行分類,可以獲得不錯(cuò)的效果和很高的速度,因?yàn)榉诸惻袛嗳肭种恍韬唵蔚膶傩员葘?duì)[17]。
同時(shí)決策樹可以為遺傳算法等算法進(jìn)行數(shù)據(jù)預(yù)處理,在將決策樹制定的規(guī)則作為遺傳算法的輸入時(shí),可以將決策樹中沒有列出的條件用-1來表示,默認(rèn)可以取任何值。這樣簡化了遺傳算法開始制定規(guī)則的條件,便于遺傳算法的執(zhí)行。
(5)支持向量機(jī)在入侵檢測(cè)中的應(yīng)用。支持向量機(jī)(Support Vector Machine,SVM)是由Vapnik領(lǐng)導(dǎo)的ATT Bell實(shí)驗(yàn)室小組提出的針對(duì)分類和回歸的統(tǒng)計(jì)學(xué)習(xí)方法。
由于支持向量機(jī)的分類器只能對(duì)維數(shù)相同的數(shù)字向量進(jìn)行分類,但系統(tǒng)審計(jì)數(shù)據(jù)中的數(shù)據(jù)不但長度不盡相同,而且很有可能不是數(shù)字類型,必須將原始數(shù)據(jù)轉(zhuǎn)換成支持向量機(jī)能夠識(shí)別的數(shù)字向量。從網(wǎng)絡(luò)中獲得的審計(jì)數(shù)據(jù)需要通過預(yù)處理器進(jìn)行處理或變換。支持向量機(jī)分類器對(duì)這些數(shù)字向量進(jìn)行分類,產(chǎn)生判決結(jié)果。當(dāng)然,這些判決結(jié)果可以直接作為整個(gè)入侵檢測(cè)系統(tǒng)的輸出,但為了進(jìn)一步提高整個(gè)系統(tǒng)的正確率,可以設(shè)定一些判決準(zhǔn)則,如用發(fā)生數(shù)目、百分比等來進(jìn)行最終的判定。這個(gè)過程是由決策系統(tǒng)完成的。
整個(gè)系統(tǒng)的工作過程同樣分為兩個(gè)階段,即訓(xùn)練階段和檢測(cè)階段。在訓(xùn)練階段,根據(jù)已知的正常審計(jì)數(shù)據(jù)和異常審計(jì)數(shù)據(jù)訓(xùn)練支持向量機(jī);在檢測(cè)階段,預(yù)處理器先將未知狀態(tài)的審計(jì)數(shù)據(jù)處理成數(shù)字向量的形式,然后通過支持向量機(jī)分類器,根據(jù)判決函數(shù)式對(duì)這些數(shù)字向量進(jìn)行分類,并將分類結(jié)果提交給決策系統(tǒng)作出最后的判斷。
在入侵檢測(cè)中使用支持向量機(jī)方法有很多長處,支持向量機(jī)方法是專門針對(duì)有限樣本的,它是為了得到現(xiàn)有信息下的最優(yōu)解而不僅僅是樣本數(shù)趨于無窮大時(shí)的最優(yōu)值。支持向量機(jī)算法最終將轉(zhuǎn)換為一個(gè)二次型尋優(yōu)問題。從理論上說,得到的將是全局最優(yōu)點(diǎn),解決了在神經(jīng)網(wǎng)絡(luò)方法中無法避免的局部極值問題。而且支持向量機(jī)將實(shí)際問題通過非線性變換轉(zhuǎn)換到高維的特征空間,在高維空間中構(gòu)造線性判別函數(shù)來實(shí)現(xiàn)原空間中的非線性判別函數(shù)。這種特殊性質(zhì)能夠保證機(jī)器有良好的推廣能力。同時(shí)它巧妙地解決了維數(shù)問題,使算法的復(fù)雜度與樣本的維數(shù)無關(guān)[15]。
在入侵檢測(cè)中使用SVM對(duì)于分類來說是一種比較快速的算法,能夠適應(yīng)入侵檢測(cè)實(shí)時(shí)性的要求。同時(shí)SVM處理分類問題的復(fù)雜度與性能空間的維數(shù)無關(guān),適合于處理較大規(guī)模的樣本。由于SVM只能處理二元分類問題,如果要區(qū)分多種入侵方式就需要多個(gè)SVM來實(shí)現(xiàn)。
(6)人工免疫算法在入侵檢測(cè)中的應(yīng)用。免疫系統(tǒng)的主要目的是識(shí)別體內(nèi)的所有細(xì)胞,并將它們分為自我與非自我。將免疫系統(tǒng)應(yīng)用于異常檢測(cè)時(shí),將自我定義為系統(tǒng)行為的正常模式,因此,觀測(cè)數(shù)據(jù)中任何超過允許變化值的偏離均被看做是行為模式中的異常行為。
根據(jù)信息處理的觀點(diǎn),免疫系統(tǒng)是一個(gè)非凡的平行及分布式自適應(yīng)系統(tǒng),它可用于學(xué)習(xí)、記憶、聯(lián)想檢索,解決識(shí)別與分類等問題。如果把網(wǎng)絡(luò)系統(tǒng)看做一個(gè)生理系統(tǒng),那么網(wǎng)絡(luò)攻擊檢測(cè)系統(tǒng)實(shí)質(zhì)就是實(shí)現(xiàn)這一系統(tǒng)的免疫功能與自愈功能。
Forrest等人[21]基于免疫系統(tǒng)中自我與非自我差異的原則,為免疫系統(tǒng)開發(fā)了一個(gè)逆向選擇算法,用它來檢測(cè)計(jì)算機(jī)系統(tǒng)內(nèi)的惡意攻擊。因此異常檢測(cè)問題可簡化為檢測(cè)所觀察的數(shù)據(jù)模式是否已經(jīng)變化(實(shí)際上是用反向選擇進(jìn)行匹配)的問題,因?yàn)閿?shù)據(jù)模式的變化意味著正常行為模式的變化。這種方法可概括為:①收集充分顯示系統(tǒng)正常行為的時(shí)間序列數(shù)據(jù);②仔細(xì)審查這些數(shù)據(jù),決定數(shù)據(jù)模式的變化范圍,并根據(jù)所需的精度選擇編碼參數(shù);③在觀察的數(shù)據(jù)范圍內(nèi)用二進(jìn)制對(duì)每個(gè)數(shù)值進(jìn)行編碼;④選擇適當(dāng)?shù)哪塬@取數(shù)據(jù)模式規(guī)律的窗口大??;⑤將窗口沿著時(shí)間序列進(jìn)行滑移,并將每個(gè)窗口的編碼儲(chǔ)存為自我;⑥產(chǎn)生一個(gè)能與任何一種自我匹配的探測(cè)器。一旦正常數(shù)據(jù)模式的探測(cè)器產(chǎn)生,它就能夠盡可能地從未出現(xiàn)的時(shí)間序列數(shù)據(jù)的模式中檢測(cè)出任何變化(即非正常行為)[17]。
基于免疫系統(tǒng)的學(xué)習(xí)方法不需要中心控制器且學(xué)習(xí)時(shí)間短,本身具有的自調(diào)節(jié)和最優(yōu)化功能,能根據(jù)接收到的數(shù)據(jù)作出決策。但是,它需要足夠的能代表系統(tǒng)行為的正常數(shù)據(jù)序列樣本。
1.4基于Agent的入侵檢測(cè)技術(shù)
分布式入侵檢測(cè)有兩層含義:一種可以解釋為分布式入侵的檢測(cè),強(qiáng)調(diào)入侵是分布式的;還有一種解釋是分布式的入侵檢測(cè),側(cè)重于檢測(cè)是分布式的。這里兩種情況均要考慮,因?yàn)閷?duì)于分布式協(xié)同攻擊,最好的方法也是使用分布式協(xié)同檢測(cè)技術(shù)。
隨著人工智能技術(shù)、博弈技術(shù)的不斷發(fā)展,入侵技術(shù)和入侵檢測(cè)技術(shù)均得到了不斷的發(fā)展,高級(jí)入侵活動(dòng)變得越來越呈現(xiàn)出分布性和協(xié)調(diào)性的特點(diǎn),具體表現(xiàn)在:
(1)一次入侵可能分布在網(wǎng)絡(luò)上的多個(gè)機(jī)器上[18]。
(2)一次攻擊可能只是一個(gè)更大規(guī)模的入侵的一個(gè)部分。它的最終目標(biāo)可能是攻擊別的系統(tǒng)或非法得到其他資源,而只是使用當(dāng)前被攻陷的網(wǎng)絡(luò)作為跳板[20]。
(3)多次簡單攻擊可以組合成為一次更復(fù)雜的長時(shí)間協(xié)同入侵[19]。
事實(shí)上,分布式網(wǎng)絡(luò)入侵及分布式入侵檢測(cè)的對(duì)抗雙方,均是一個(gè)以“局部運(yùn)作,全局共享”為核心的多Agent系統(tǒng)。對(duì)抗雙方均是一組自治的Agent,通過協(xié)調(diào)它們的知識(shí),從而完成問題協(xié)作求解(入侵或者檢測(cè))。在求解過程中,各Agent之間達(dá)成了協(xié)作、協(xié)調(diào)、協(xié)商、對(duì)抗、交互等各種關(guān)系。因此從多Agent的層面對(duì)分布式入侵檢測(cè)的關(guān)鍵技術(shù)展開研究是應(yīng)該的[13]。
由于入侵者的目的是減少被發(fā)現(xiàn)的可能性,聰明的入侵者會(huì)努力掩蓋他們的意圖,如遮蓋他們的痕跡、用一些很難預(yù)測(cè)的策略或利用入侵檢測(cè)系統(tǒng)的弱點(diǎn)來逃避檢測(cè)。對(duì)于DIDSs而言,推斷入侵者意圖和目的是至關(guān)重要的環(huán)節(jié)。在人工智能領(lǐng)域,通過所觀察到的行為推出其行為者的目的這一過程稱為計(jì)劃識(shí)別。因此,為了推斷入侵者的意圖和目的并預(yù)測(cè)其未來攻擊行為,類似計(jì)劃識(shí)別的能力必須是DIDSs的核心部分[14]。
移動(dòng)代理(Mobile Agent)則是指能在同構(gòu)或異構(gòu)網(wǎng)絡(luò)主機(jī)之間自主地進(jìn)行遷移的有名字的程序。該程序能自主地決定什么時(shí)候遷移到什么地方。它能在程序運(yùn)行的任一點(diǎn)掛起,然后遷移到另一臺(tái)主機(jī)上,并接著這一點(diǎn)繼續(xù)往下執(zhí)行。
移動(dòng)代理應(yīng)用于DIDS,可以實(shí)現(xiàn)主機(jī)間的動(dòng)態(tài)遷移,從而改變傳統(tǒng)的將數(shù)據(jù)傳送給程序(計(jì)算)的方式,改為將程序(計(jì)算)傳送給數(shù)據(jù);此外,還能具有智能性、平臺(tái)無關(guān)性、分布的靈活性、低網(wǎng)絡(luò)數(shù)據(jù)流量、協(xié)作性等優(yōu)點(diǎn)。
研究基于移動(dòng)代理的分布式入侵檢測(cè)系統(tǒng)在理論和實(shí)踐上均具有深刻的意義??梢曰诂F(xiàn)有的成熟的入侵檢測(cè)技術(shù),結(jié)合移動(dòng)Agent技術(shù)應(yīng)用于入侵檢測(cè)系統(tǒng)的優(yōu)勢(shì),設(shè)計(jì)一種基于移動(dòng)代理的分布式入侵檢測(cè)系統(tǒng)模型,完成對(duì)一些典型的入侵攻擊的檢測(cè)。
2基于人工智能技術(shù)的若干入侵檢測(cè)系統(tǒng)簡介
入侵檢測(cè)系統(tǒng)的研究早在20世紀(jì)90年代就開始了,這當(dāng)中出現(xiàn)了許多成功的系統(tǒng)[22]。
EMERALD(Event Monitoring Enabling Responses to Anomalous Live Disturbances)[23]是SRI國際組織最新研究的系統(tǒng)。該系統(tǒng)集成了異常檢測(cè)和特征檢測(cè)的技術(shù)。該組織從1983年就開始從事入侵檢測(cè)方面的工作。
NetSTAT(tate Transition analysis)[24]系統(tǒng)是加利福尼亞大學(xué)開發(fā)的一套系統(tǒng),他們主要從事通過狀態(tài)轉(zhuǎn)移分析來實(shí)時(shí)檢測(cè)入侵[24]。這種方法的前提假設(shè)是:入侵是滿足某種序列的行為的集合,系統(tǒng)最先處于安全狀態(tài)。當(dāng)經(jīng)過一系列事件后。該系統(tǒng)可能將會(huì)處在一個(gè)危險(xiǎn)的狀態(tài)。NetSTAT系統(tǒng)是“STAT”產(chǎn)品線最新的一套系統(tǒng)。NetSTAT系統(tǒng)也是他們基于網(wǎng)絡(luò)的一套系統(tǒng)。該系統(tǒng)由許多小的檢測(cè)器構(gòu)成,并且能夠自動(dòng)運(yùn)行,自動(dòng)分析。當(dāng)一個(gè)檢測(cè)器發(fā)現(xiàn)可能入侵時(shí)能夠?qū)⑷肭智闆r轉(zhuǎn)告給其他檢測(cè)器,同時(shí)進(jìn)行協(xié)同分析,這樣可以解決多子網(wǎng)協(xié)同攻擊的情況。
BRO[25]是由Lawrence Livermore國際實(shí)驗(yàn)室研發(fā)的一個(gè)能夠承受高網(wǎng)絡(luò)負(fù)載,實(shí)時(shí)的、易于升級(jí)的入侵檢測(cè)系統(tǒng)。BRO有三個(gè)層次:第一個(gè)層次用Libpcap抓取網(wǎng)絡(luò)數(shù)據(jù)包,Libpcap能夠?qū)λ蠦RO感興趣的協(xié)議所產(chǎn)生的數(shù)據(jù)包進(jìn)行捕捉;第二層是事件檢測(cè)層,首先檢測(cè)數(shù)據(jù)包頭是否非法,如果是就丟棄,如果不是則檢測(cè)包的內(nèi)容;第三層,通過策略審查器對(duì)數(shù)據(jù)包進(jìn)行審查。
MIDAS(Expert system in Intrusion Detection)[26]是由國際計(jì)算機(jī)安全中心聯(lián)合其他一些機(jī)構(gòu)合作開發(fā)的一個(gè)基于專家系統(tǒng)的(模式匹配/特征檢測(cè))入侵檢測(cè)系統(tǒng)。該系統(tǒng)定義了什么入侵它將處理以及如何處理。因此,一個(gè)真正意義上的專家是不可缺少的。
Hyperview[27]是一個(gè)包含了兩個(gè)主要部件的入侵檢測(cè)系統(tǒng)。其中一個(gè)部件是專家系統(tǒng),對(duì)已知行為進(jìn)行檢測(cè);另外一個(gè)主要部件是神經(jīng)網(wǎng)絡(luò),通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)新的用戶規(guī)則以擴(kuò)充專家系統(tǒng)的規(guī)則庫。
DIDP(Distributed Intrusion Detection Prototype)[28]是一個(gè)分布式入侵檢測(cè)的原型系統(tǒng),它集成了多個(gè)單機(jī)系統(tǒng),通過將獨(dú)立的檢測(cè)器的數(shù)據(jù)關(guān)聯(lián)起來檢測(cè)新的入侵。它由三部分組成:一個(gè)主機(jī)檢測(cè)器,檢測(cè)本機(jī)入侵;一個(gè)網(wǎng)絡(luò)檢測(cè)器,檢測(cè)網(wǎng)絡(luò)數(shù)據(jù);一個(gè)中心檢測(cè)器,對(duì)前兩種檢測(cè)器獲得的數(shù)據(jù)進(jìn)行集中分析。
ASAX(Architect and rule-based language for universal audit trail analysis)[29]是一個(gè)基于規(guī)則的入侵檢測(cè)系統(tǒng)。ASAX先將操作系統(tǒng)日志信息轉(zhuǎn)換成一種叫做NADF的格式,然后抽取出用RUSSEL語言表示的規(guī)則。
GrIDS [12]是一個(gè)基于圖形的入侵檢測(cè)系統(tǒng),它包括軟件管理器、圖形構(gòu)建引擎、模型控制器和數(shù)據(jù)源。數(shù)據(jù)源獲得數(shù)據(jù)后交由圖形構(gòu)建引擎構(gòu)建圖形,模型控制器配置圖形參數(shù),專門化的軟件管理器管理所有的模型模式。
機(jī)器學(xué)習(xí)算法在入侵檢測(cè)中的應(yīng)用主要就是構(gòu)建分類器,或者說是學(xué)習(xí)器,用這些算法來學(xué)習(xí)一些入侵識(shí)別規(guī)則。當(dāng)新的攻擊發(fā)生時(shí),通過學(xué)習(xí)好的分類器進(jìn)行識(shí)別。這方面主要有劉賽等人[30]提出的基于免疫算法的入侵檢測(cè)系統(tǒng)、史長瓊等人[31]提出的基于多決策樹的入侵檢測(cè)系統(tǒng)、張琨等人[32]提出的基于支持向量機(jī)的入侵檢測(cè)系統(tǒng)等。
3結(jié)束語
入侵檢測(cè)技術(shù)是一種主動(dòng)保護(hù)自己免受攻擊的一種網(wǎng)絡(luò)安全技術(shù)。作為防火墻的合理補(bǔ)充,入侵檢測(cè)技術(shù)能夠幫助系統(tǒng)對(duì)付網(wǎng)絡(luò)攻擊,擴(kuò)展了系統(tǒng)管理員的安全管理能力(包括安全審計(jì)、監(jiān)視、攻擊識(shí)別和響應(yīng)),提高了信息安全基礎(chǔ)結(jié)構(gòu)的完整性。人工智能是一個(gè)很熱門的領(lǐng)域,將人工智能技術(shù)應(yīng)用在入侵檢測(cè)系統(tǒng)中,無疑能夠解決其中的許多問題。相信將來兩者將會(huì)有更多的結(jié)合點(diǎn)。
參考文獻(xiàn):
[1]ANDERSON J P. Computer security threat monitoring and surveillance[R].Washington:James PAnderson Co., 1980.
[2]DENNING E D. An intrusion detection model[J].IEEE Transactions on Software Engineering,1987:222.
[3]AUROBINDO S. An introduction to intrusion detection, ACM crossroads 2.4.[EB/OL].http:∥www.acm.org/crossroads/xrds2-4/intrus.html.
[4]LEE W, STOLFO S J. A framework for constructing features and models for intrusion detection systems[J].ACM Transactions on Information and System Security,2000,3(4):227-261.
[5]LEE W,XIANG D. Information-theoretic measures for anomaly detection:proceedings of the 2001 IEEE Symposium on Security and Privacy[C].[S.l.]:[s.n.],2001.
[6]LINDQVIST U, PORRAS P A. Detecting computer and network misuse through the production-based expert system toolset:proceedings of the 1999 IEEE Symposium on Research in Security and Privacy[C].[S.l.]:[s.n.],1999.
[7]SEKAR R, BENDRE M, DHURJATI D, et al. A fast automaton-based method for detecting anomalous program behaviors:proceedings of the 2001 IEEE Symposium on Security and Privacy[C].[S.l.]:[s.n.],2001.
[8]VALDES A, SKINNER K. Probabilistic alert correlation:proceedings of the 4th International Symposium on Recent Advances in Intrusion Detection(RAID)[C].[S.l.]:[s.n.],2001.
[9]PORRAS P A, FONG M W,VALDES A. A mission-impact-based approach to INFOSEC alarm correlation:proceedings of the 5th International Symposium on Recent Advances in Intrusion Detection(RAID)[C].[S.l]:[s.n.],2002.
[10]DEBAR H, WESPI A. Aggregration and correlation of intrusion-detection alerts:proceedings of the 4th International Symposium on Recent Advances in Intrusion Detection(RAID)[C].[S.l.]:[s.n.],2001.
[11]LEE W, FAN W, MILLER M, et al. Toward cost-sensitive modeling for intrusion detection and response[J].Journal of Computer Security,2002,10(1):5-22.
[12]CHEN S S, CHEUNG S, CRAWFORD R, et al. GrIDS—a graph based intrusion detection system for large networks:the 19th National Information Systems Security Conference(NISSC)[C].Baltimore:[s.n.],1996:361-370.
[13]邊肇祺,張學(xué)工.模式識(shí)別.[M].第2版.北京:清華大學(xué)出版社,1999.
[14]程顯毅.Agent計(jì)算[M].哈爾濱:黑龍江科學(xué)技術(shù)出版社,2003.
[15]饒鮮,董春曦,楊紹全.基于支持向量的入侵檢測(cè)系統(tǒng)[J].軟件學(xué)報(bào),2003,14(4):798-803.
[16]覃愛明,胡昌振,譚惠民.網(wǎng)絡(luò)攻擊檢測(cè)中的機(jī)器學(xué)習(xí)方法綜述[J].安全與環(huán)境學(xué)報(bào),2001,1(1):30-36.
[17]孫宏偉,鄒濤,田新廣,等.基于機(jī)器學(xué)習(xí)的入侵檢測(cè)方法實(shí)驗(yàn)與分析[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,25(5):694-696.
[18]NORTHCUTT S. Network intrusion detection:an analyst’s handbook[M].[S.l.]:New Riders, 1999.
[19]TSENG C Y, BALASUBRAMANYAM P KO C, LIMPRASITTIPORN RR, et al. A specification-based intrusion detection system for AODV:proceedings of the 2003 ACM Workshop on Security of Ad hoc and Sensor Networks(SASN’03)[C]. Farirfax Virginia:[s.n.],2003:125-134.
[20]VIGNA G, KEMMERER R. NetSTAT:a network-based intrusion detection system:proceedings of the 14th Annual Computer Security Applications Conference[C].Scottsdale:[s.n.],1998.
[21]FORREST S, PERELSON A, ALLEN L, et al. Self-nonself discrimination in a computer:proceedings of IEEE Symp. on Research in Security and Privacy[C].[S.l.]:[s.n.],1994.
[22]MUKHERJEE, BIWEANATH, HEBERLEIN,et al.Network intrusion detection[J].IEEE Network,1994,8(3):26-41.
[23]ANDERSON, DEBRA(SRI International). Detecting unusual program behavior using the statistical component of the next-generation intrusion detection: expert system(NIDES),SRICSL-95-06[R]. Menlo Park:Computer Science Laboratory, SRI International, 1995.
[24]VIGNA, GIOVANNI, KEMMERER, et al. NetSTAT:a network-based intrusion detection approach:proceedings of the 14th Annual Computer Security Applications Conference[C].Scottsdale:[s.n.],1998.
[25]PAXSON V.Bro: A system for detecting network intruders in real-time:proceedings of the 7th USENIX Security Symposium[C].San Antonio:[s.n.],1998.
[26]MICHAEL M S, ERIC S, MARY E H, et al. Expert system in intrusiondetection:a case study:proceedings of the 11th National Compu-ter Security Conference[C].Baltimore:[s.n.],1988:74-81.
[27]HERVE D, MNIQUE B, DIDIER S.A neural network component for an intrusion detection system:proceedings of the 1992 IEEE Computer Society Symposium on Research in Security and Privacy[C].Oakland:[s.n.],1992:240-250.
[28]STEVEN R S, STEPHEN E S, DANIEL M T, et al. The DIDS (Distributed intrusion detection system) prototype:proceedings of the Summer USENIX Conference[C].San Antonio:[s.n.],1992:227-233.
[29]JANI H, BAUDOUIN L C, ABDELAZIZ M, et al. ASAX: Software architecture and rule-based language for universal audit trail analysis[C]//DESWARTE Y,et al.Computer security:proceedings of ESORICS’92,Volume 648 of LNCS.Toulouse:[s.n.],1992:435-450.
[30]劉賽,徐斌,梁意文.入侵檢測(cè)系統(tǒng)中的一種免疫遺傳算法[J].計(jì)算機(jī)工程,2004,30(8):63-64.
[31]史長瓊,易昂.基于多決策樹算法的網(wǎng)絡(luò)入侵檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,25(4):518-519,529.
[32]張琨,許滿武,劉鳳玉,等.基于支持向量機(jī)的異常入侵檢測(cè)系統(tǒng)[J].計(jì)算機(jī)工程,2004,30(18):44-45.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”