摘要:網絡入侵檢測已成為計算機界研究的熱點問題之一。介紹了若干用于網絡入侵檢測的人工智能方法,著重介紹了基于Agent的入侵檢測技術,并客觀分析了這些方法的優點和不足,同時列舉了一些基于人工智能方法的網絡入侵檢測系統。最后展望了目前的發展趨勢。
關鍵詞:入侵檢測; 機器學習; 代理; 網絡安全
中圖分類號:TP393.08文獻標志碼:A
文章編號:1001-3695(2007)05-0144-06
0引言
入侵檢測是指在不影響網絡性能的情況下對計算機網絡或計算機系統中的若干關鍵點收集信息并進行分析,從中發現網絡或系統中是否有違反安全策略的行為和被攻擊的跡象;同時收集入侵證據,為數據恢復和事故處理提供依據。1980年J.Anderson[1]第一次提出入侵檢測的概念,并提出了一種對計算機系統風險和威脅的分類方法。這一思想成為入侵檢測系統設計及開發的基礎。1987年D.Denning[2]提出了第一個入侵檢測模型IDES。
一般而言,入侵檢測系統應包含三個必要功能的組件,即信息來源、分析引擎和響應組件。圖1是一個簡單的入侵檢測系統的結構模式圖。數據收集器將收集來的數據存入數據存儲器;處理器根據配置數據,參考數據來處理活躍數據,一旦發現入侵就發出警報并通知安全管理員;安全管理員又會將反饋的數據通過參考數據及配置數據通知處理器以改變處理模式[3,4]。
近年來,入侵檢測逐漸成為工業界和學術界的研究熱點,已經出現并將不斷出現許多入侵檢測相關的新技術、算法和系統。本文對此將進行了詳細的介紹。
1入侵檢測方法
1.1基于統計分析的方法
(1)Activity Intensity Measure。這種方法檢測行為活動突發的異常,尤其是那些與正常相比高頻度的活動。它不會給長期的平均值帶來很大的異常,但在短期會被發現,如一分鐘內高頻的訪問。
(2)Audit Record Distribution Measures。這種方法檢測活動類型的分布,可以發現針對特定用戶的短期內的行為類型分布的異常。例如短期內對某個文件的大量訪問,或高頻的I/O操作。
(3)Categorical Measures。這種方法檢測整個系統的所有活動行為的種類分布的異常。例如某地登錄次數,總的對郵件的訪問次數。
(4)Ordinal Measures。這種方法檢測輸出結果為數字的異常,如CPU利用率I/O操作的次數等。
最近的用戶行為數據被記錄下來,每隔一個周期與以往數據進行比對匯總,異常行為通過這個比較得到。
用統計模型取代上面的自定義公式進行異常檢測也是目前的一個發展方向。統計模型中常用的測量參數包括審計事件的數量、間隔時間、資源消耗情況等。常用于入侵檢測的五種統計模型如下:
(1)操作模型。該模型假設異常可通過測量結果與一些固定指標相比較得到,固定指標可以根據經驗值或一段時間內的統計平均得到。例如在短時間內的多次失敗的登錄很有可能是口令嘗試攻擊。
(2)方差模型。計算參數的方差,設定其置信區間。當測量值超過置信區間的范圍時表明有可能是異常。
(3)多元模型。操作模型的擴展,通過同時分析多個參數實現檢測。
(4)馬爾柯夫過程模型。將每種類型的事件定義為系統狀態,用狀態轉移矩陣來表示狀態的變化。當一個事件發生時,或狀態矩陣中該種轉移的概率較小,則可能是異常事件。
(5)時間序列分析。將事件計數與資源耗用根據時間排成序列。如果一個新事件在該時間發生的概率較低,則該事件可能是入侵。
統計方法是當前產品化的入侵檢測系統中常用的方法,它是一種成熟的入侵檢測方法。它的最大優點是可以“學習”用戶的使用習慣,從而具有較高檢出率與可用性。但是它的“學習”能力也給入侵者以機會,通過逐步“訓練”使入侵事件符合正常操作的統計規律,從而透過入侵檢測系統。
1.2基于匹配的方法
(1)簡單模式匹配(Pattern Matching)。它是將已知的入侵特征編碼成為與審計記錄相符合的模式。該模式既不能與其他模式沖突,同時又要能夠識別出其變種。當新的審計事件產生時,這一方法將尋找與它相匹配的已知入侵模式;當審計的事件與已知的入侵事件模式相匹配時,即報警。模式可以隨意添加或刪減,不會影響已有的模式匹配。同時,也不需要建立任何依賴關系。目前基于特征描述的模式匹配應用較為廣泛。該方法預報檢測的準確率較高,但對于無經驗知識的入侵與攻擊行為無能為力。簡單模式匹配有可能失去入侵行為的序列性。
(2)基于規則的異常檢測(Rule-based Anomaly Detection)。它與簡單模式匹配不同在于前面匹配的是入侵模式,這里匹配的是正常模式。這種檢測方法考慮了事件的序列及相互聯系。根據觀察到的用戶行為,歸納產生出一套規則集來構成用戶的輪廓框架,并能動態地修改系統中的規則,使之具有較高的預測性、準確性和可信度。如果觀察到的事件序列匹配規則的左邊,而后續的事件顯著地背離根據規則預測到的事件,那么系統就可以檢測出這種偏離,這就表明用戶操作是異常的。這種方法的主要優點有:能較好地處理多樣的用戶行為,并具有很強的時序模式;能夠集中考查少數幾個相關的安全事件,而不是關注可疑的整個登錄會話過程;對發現檢測系統遭受攻擊,具有良好的靈敏度。
(3)基于模型的入侵檢測(Model-based)。該系統有一個攻擊情節的數據庫,假定每一次的完整攻擊均包含了這個攻擊的序列行為。當某一時刻懷疑有攻擊了,系統就會產生一個攻擊情節的子集,然后在系統日志序列中尋找與之匹配的,如果匹配成功則接受這個攻擊情節的子集,不成功則拒絕這個攻擊情節子集。這個子集其實就是攻擊行為序列的模型。一個情節對應一個攻擊行為。根據現行活躍模型,預測器還可能會預測今后將要發生的行為,將這些行為通報給系統或者是管理員,由他們決定這一假設的行為是否要記錄在系統獨立的日志中。事件的發生是對攻擊情節與模型匹配情況的檢驗與更新。攻擊事件的發生會對某些攻擊情節正確性起積累作用,相反也會對某些情節起否定作用。當匹配于某個模型的攻擊發生了,這個模型就被添加到活躍模型庫中。所以活躍的模型表就在不斷地更新。事件的發生是提高攻擊情節在活躍模型表中發生率的關鍵。
(4)基于圖形的入侵檢測系統(Graph-based Intrusion Detection System,GrIDS)。該系統能夠為它所檢測的主機以及主機的活動構建一個圖[12]。以一個蠕蟲入侵為例,如圖2所示。
蠕蟲首先從主機A開始,然后它攻擊主機B和C。這兩個鏈接的建立被報告給了GrIDS,GrIDS以圖的形式記錄下這兩個鏈接。如果在接下來的很長時間內,主機A、B、C均沒有動靜,那么這個圖便自動消失。如果蠕蟲很快傳播到了D、E以及其他主機,那么這鏈接也將會被記錄下來構造圖。這些鏈接產生的時間等一系列參數將被記錄下來。如果時間戳顯示這些鏈接時間靠得很近,那么它們是入侵的可能性就很大。這樣一張圖就被存在數據庫中。當這樣一張圖再次出現時,就有可能被認為是蠕蟲。其他的攻擊也均被定義成一張圖以及圖上相應的參數。除了時間以外,其他諸如目標地址、端口等信息也被用在其他類型入侵的表示中。圖節點的屬性、邊的屬性均可以被用來代表特定的信息。入侵行為的圖的特點結構此時就成了判斷的條件。
(5)狀態轉移模型(State-transition Model)。該模型是基于高層次語義的,它能夠對未來進行預測,這是普通專家系統所不能做到的。它基于兩個假設:①入侵行為必須在入侵前采取某些行動,如TCP/IP端口掃描;②這些行動必須產生在此之前沒有的能力,如獲得主機回復的數據,知道主機服務類型。一次入侵行動被定義成一個入侵行為序列,從狀態模型的初始狀態到結束狀態,不斷地在狀態間轉移。當遇到事先定義好的關鍵狀態時,筆者就認為入侵發生了。
狀態轉移分析方法將攻擊表示成一系列被監控的系統狀態轉移。攻擊模式的狀態對應于系統狀態,同時有狀態轉移的條件判斷。事件類型無須與審計記錄一一對應。攻擊模式只能說明事件序列,因此不適合描述更復雜的事件,沒有通用的方法來剪除部分攻擊匹配。
需要說明的是,基于模型的入侵檢測并不能替代基于統計的異常檢測,而只能是它的一個補充。
1.3基于機器學習的方法
(1)貝葉斯在入侵檢測中的應用。貝葉斯是根據各個變量之間的概率關系建立的圖論模型,因此可以用貝葉斯方法解決入侵檢測系統中的不確定問題。貝葉斯網絡可以作為異常檢測中的統計方法,特別是貝葉斯分類法在入侵檢測中的應用受到研究人員的關注。貝葉斯分類將嘗試著找到最有可能的產生已知數據的過程。也就是說,貝葉斯將產生已經發生的入侵的最有可能的行為序列,然后將發生的行為序列與已知序列進行比較,這將得到最有可能的入侵類型。貝葉斯在處理大量數據時有著很高的速度和準確性。
本文將一系列入侵子事件發生后某種入侵發生的可能性轉換為計算在這種入侵發生時各個子事件發生的概率。如果各個事件發生的條件概率相互獨立,那么就可以用樸素貝葉斯;如果事件間的依賴關系較明顯,則可以用貝葉斯信念網絡來分類。貝葉斯網絡允許在隨機變量之間表示它們的因果關系,可以用圖表的形式表示各個變量之間的關系,每個隨機變量只決定于它周圍的變量。所有的根節點均有一個初始的概率,其他節點均是根節點的條件概率。貝葉斯網絡可以用DAG圖進行表示。當圖中部分節點概率可知時,其他便可求。
使用貝葉斯能夠在給定數據集上自動確定類型個數。它在停止條件,分類標準上沒有特別要求,能夠處理離散和連續的屬性,能夠學習和識別新的未知形式的入侵,可處理不完整和帶有噪聲的數據集。其語義清晰,可理解性強。貝葉斯分類能夠對數據進行最優的分類,將具有相似行為框架的用戶分為一類,而不是簡單地將相同的分為一類。
檢測特定入侵的貝葉斯網絡事先存入與該入侵形式有關的信息并不會給系統帶來負擔。針對部分入侵模式,筆者希望在系統中事先存入更多的相關信息。
(2)神經網絡在入侵檢測中的應用。人工神經網絡(Artificial Neural Networks,ANN)是模擬人腦加工、存儲和處理信息機制而提出的一種智能化信息處理技術。它具備概括抽象能力、學習和自適應能力以及內在的并行計算特性。根據一系列有序信息單元訓練神經網絡,神經網絡就能夠按照現在已有的行為活動和以前行為活動的序列,預測將來的行為活動。用一個典型的用戶的活動序列去訓練神經網絡時,網絡能夠構建出用戶活動的框架。最常見的一種應用神經網絡的入侵檢測系統的結構如圖3所示。通過神經網絡訓練入侵以及正常模式,然后交由專家系統進行匹配比對。
神經網絡的缺點主要是訓練時間長以及難以理解。目前使用最廣泛的神經網絡學習算法是BP神經網絡,但是BP網絡存在訓練入侵數據時間長、收斂速度慢、容易陷入局部極小等問題。所以有研究人員嘗試用LVQ或者其他算法解決這一問題,取得了不錯的效果。通過訓練各個功能專一、結構簡單的小神經網絡,然后聯合構建功能強大的神經網絡也是目前的一種解決辦法。可以對某種入侵專門訓練一個小型神經網絡,當有新的數據加入時,只須對小型網進行調整,無須對整個神經網絡進行重新學習[16]。
(3)遺傳算法在入侵檢測中的應用。遺傳算法(GA)是基于自然選擇,模擬生命進化機制的搜索優化方法,它模擬了自然選擇和遺傳中發生的復制、交換和變異現象。搜索空間被映射到遺傳空間,將每一個可能的解編碼為一個向量,稱為染色體(Chromosome)向量,向量的每一個元素稱為基因(Genes)。按預定的評價函數對每個染色體進行評價,根據其結果給出一個適應度的值。所有的染色體組成群體(Population)。從初始種群出發,通過隨機選擇、交叉和變異操作,產生新的更適應環境的個體。適應度低(因而性能不佳)的染色體將被淘汰,從而得到新的群體。因為新群體是上一代優秀者,具有上一代的優良性態,所以明顯優于上一代。GA反復迭代,向著更優解的方向進化,直至滿足某種預定的優化指標[16]。
對于染色體的評價是一個較為復雜的問題,一般首先隨機抽取一些被確認為入侵的連接數據與另一些隨機抽取的正常的連接數據混雜在一起,通過染色體對這些數據是否入侵再次進行判斷,正確率最高的染色體被認為是這一代最優的染色體。當生成的新一代染色體達到了所要求的目標,如連續兩次正確率在90%以上時,就可以停止算法,認為找到了可以應用的規則。所采用的評價數據的優劣直接影響到制定規則的好壞,且生成的規則在應用過程中產生的錯誤是很難消除的。
在入侵檢測應用中,用一個向量即一個染色體表示對記錄的選擇,記錄中的每個屬性用基因來表示,使用特殊的編碼規則進行編碼。通常采用擴展的二進制形式,使用選擇算子、交叉算子、變異算子,最終選擇出最優染色體將其翻譯成自然語言的產生式規則并提交。規則最終將被用來對入侵進行分類。
(4)決策樹在入侵檢測中的應用。決策樹由一個根節點、若干個葉節點和若干個非葉節點構成。根節點對應于學習的任務,每個葉節點均包含一個分類名,即包含一個概念,每個非葉節點均包含一個屬性測試,對該屬性可能取的每一個值用一條邊引出到另一個節點。
首先對哪一個屬性進行劃分是由信息增益決定的。一個屬性如果能夠將數據分得很好,那么由這個屬性分好的類的信息熵之和必定比較小,信息增益也就比較大。筆者總是選擇這樣的屬性進行劃分。
Quinlan在1986年發明了ID3算法,這是決策樹方法中最經典的學習算法。然而ID3只能夠處理離散的數據,這顯然對于入侵檢測是不夠的。1993年Quinlan在ID3的基礎上提出了C4.5算法,繼承了ID3的全部優點,不但能夠處理離散類型、連續類型的屬性,而且還能夠對屬性的取值集合進行等價類劃分,劃分在同一類的屬性值在屬性判斷時走向同一分支。ID5R算法能夠減少構造決策樹時的重復構造過程,其他諸如CART算法等還能夠進行回歸分析。
在構造完決策樹后,由于僅僅對入侵情況進行判斷,因此決策樹可以進行簡化,只將入侵情況列出,將非入侵的葉節點省略掉。制定規則時可以把一棵決策樹寫成一系列的if…then的語句。由于入侵數據很大一部分屬性是離散值,這對于構造決策樹是很方便的,省去了很多離散化的步驟。使用構建好的決策樹對入侵數據進行分類,可以獲得不錯的效果和很高的速度,因為分類判斷入侵只需簡單的屬性比對[17]。
同時決策樹可以為遺傳算法等算法進行數據預處理,在將決策樹制定的規則作為遺傳算法的輸入時,可以將決策樹中沒有列出的條件用-1來表示,默認可以取任何值。這樣簡化了遺傳算法開始制定規則的條件,便于遺傳算法的執行。
(5)支持向量機在入侵檢測中的應用。支持向量機(Support Vector Machine,SVM)是由Vapnik領導的ATT Bell實驗室小組提出的針對分類和回歸的統計學習方法。
由于支持向量機的分類器只能對維數相同的數字向量進行分類,但系統審計數據中的數據不但長度不盡相同,而且很有可能不是數字類型,必須將原始數據轉換成支持向量機能夠識別的數字向量。從網絡中獲得的審計數據需要通過預處理器進行處理或變換。支持向量機分類器對這些數字向量進行分類,產生判決結果。當然,這些判決結果可以直接作為整個入侵檢測系統的輸出,但為了進一步提高整個系統的正確率,可以設定一些判決準則,如用發生數目、百分比等來進行最終的判定。這個過程是由決策系統完成的。
整個系統的工作過程同樣分為兩個階段,即訓練階段和檢測階段。在訓練階段,根據已知的正常審計數據和異常審計數據訓練支持向量機;在檢測階段,預處理器先將未知狀態的審計數據處理成數字向量的形式,然后通過支持向量機分類器,根據判決函數式對這些數字向量進行分類,并將分類結果提交給決策系統作出最后的判斷。
在入侵檢測中使用支持向量機方法有很多長處,支持向量機方法是專門針對有限樣本的,它是為了得到現有信息下的最優解而不僅僅是樣本數趨于無窮大時的最優值。支持向量機算法最終將轉換為一個二次型尋優問題。從理論上說,得到的將是全局最優點,解決了在神經網絡方法中無法避免的局部極值問題。而且支持向量機將實際問題通過非線性變換轉換到高維的特征空間,在高維空間中構造線性判別函數來實現原空間中的非線性判別函數。這種特殊性質能夠保證機器有良好的推廣能力。同時它巧妙地解決了維數問題,使算法的復雜度與樣本的維數無關[15]。
在入侵檢測中使用SVM對于分類來說是一種比較快速的算法,能夠適應入侵檢測實時性的要求。同時SVM處理分類問題的復雜度與性能空間的維數無關,適合于處理較大規模的樣本。由于SVM只能處理二元分類問題,如果要區分多種入侵方式就需要多個SVM來實現。
(6)人工免疫算法在入侵檢測中的應用。免疫系統的主要目的是識別體內的所有細胞,并將它們分為自我與非自我。將免疫系統應用于異常檢測時,將自我定義為系統行為的正常模式,因此,觀測數據中任何超過允許變化值的偏離均被看做是行為模式中的異常行為。
根據信息處理的觀點,免疫系統是一個非凡的平行及分布式自適應系統,它可用于學習、記憶、聯想檢索,解決識別與分類等問題。如果把網絡系統看做一個生理系統,那么網絡攻擊檢測系統實質就是實現這一系統的免疫功能與自愈功能。
Forrest等人[21]基于免疫系統中自我與非自我差異的原則,為免疫系統開發了一個逆向選擇算法,用它來檢測計算機系統內的惡意攻擊。因此異常檢測問題可簡化為檢測所觀察的數據模式是否已經變化(實際上是用反向選擇進行匹配)的問題,因為數據模式的變化意味著正常行為模式的變化。這種方法可概括為:①收集充分顯示系統正常行為的時間序列數據;②仔細審查這些數據,決定數據模式的變化范圍,并根據所需的精度選擇編碼參數;③在觀察的數據范圍內用二進制對每個數值進行編碼;④選擇適當的能獲取數據模式規律的窗口大小;⑤將窗口沿著時間序列進行滑移,并將每個窗口的編碼儲存為自我;⑥產生一個能與任何一種自我匹配的探測器。一旦正常數據模式的探測器產生,它就能夠盡可能地從未出現的時間序列數據的模式中檢測出任何變化(即非正常行為)[17]。
基于免疫系統的學習方法不需要中心控制器且學習時間短,本身具有的自調節和最優化功能,能根據接收到的數據作出決策。但是,它需要足夠的能代表系統行為的正常數據序列樣本。
1.4基于Agent的入侵檢測技術
分布式入侵檢測有兩層含義:一種可以解釋為分布式入侵的檢測,強調入侵是分布式的;還有一種解釋是分布式的入侵檢測,側重于檢測是分布式的。這里兩種情況均要考慮,因為對于分布式協同攻擊,最好的方法也是使用分布式協同檢測技術。
隨著人工智能技術、博弈技術的不斷發展,入侵技術和入侵檢測技術均得到了不斷的發展,高級入侵活動變得越來越呈現出分布性和協調性的特點,具體表現在:
(1)一次入侵可能分布在網絡上的多個機器上[18]。
(2)一次攻擊可能只是一個更大規模的入侵的一個部分。它的最終目標可能是攻擊別的系統或非法得到其他資源,而只是使用當前被攻陷的網絡作為跳板[20]。
(3)多次簡單攻擊可以組合成為一次更復雜的長時間協同入侵[19]。
事實上,分布式網絡入侵及分布式入侵檢測的對抗雙方,均是一個以“局部運作,全局共享”為核心的多Agent系統。對抗雙方均是一組自治的Agent,通過協調它們的知識,從而完成問題協作求解(入侵或者檢測)。在求解過程中,各Agent之間達成了協作、協調、協商、對抗、交互等各種關系。因此從多Agent的層面對分布式入侵檢測的關鍵技術展開研究是應該的[13]。
由于入侵者的目的是減少被發現的可能性,聰明的入侵者會努力掩蓋他們的意圖,如遮蓋他們的痕跡、用一些很難預測的策略或利用入侵檢測系統的弱點來逃避檢測。對于DIDSs而言,推斷入侵者意圖和目的是至關重要的環節。在人工智能領域,通過所觀察到的行為推出其行為者的目的這一過程稱為計劃識別。因此,為了推斷入侵者的意圖和目的并預測其未來攻擊行為,類似計劃識別的能力必須是DIDSs的核心部分[14]。
移動代理(Mobile Agent)則是指能在同構或異構網絡主機之間自主地進行遷移的有名字的程序。該程序能自主地決定什么時候遷移到什么地方。它能在程序運行的任一點掛起,然后遷移到另一臺主機上,并接著這一點繼續往下執行。
移動代理應用于DIDS,可以實現主機間的動態遷移,從而改變傳統的將數據傳送給程序(計算)的方式,改為將程序(計算)傳送給數據;此外,還能具有智能性、平臺無關性、分布的靈活性、低網絡數據流量、協作性等優點。
研究基于移動代理的分布式入侵檢測系統在理論和實踐上均具有深刻的意義。可以基于現有的成熟的入侵檢測技術,結合移動Agent技術應用于入侵檢測系統的優勢,設計一種基于移動代理的分布式入侵檢測系統模型,完成對一些典型的入侵攻擊的檢測。
2基于人工智能技術的若干入侵檢測系統簡介
入侵檢測系統的研究早在20世紀90年代就開始了,這當中出現了許多成功的系統[22]。
EMERALD(Event Monitoring Enabling Responses to Anomalous Live Disturbances)[23]是SRI國際組織最新研究的系統。該系統集成了異常檢測和特征檢測的技術。該組織從1983年就開始從事入侵檢測方面的工作。
NetSTAT(tate Transition analysis)[24]系統是加利福尼亞大學開發的一套系統,他們主要從事通過狀態轉移分析來實時檢測入侵[24]。這種方法的前提假設是:入侵是滿足某種序列的行為的集合,系統最先處于安全狀態。當經過一系列事件后。該系統可能將會處在一個危險的狀態。NetSTAT系統是“STAT”產品線最新的一套系統。NetSTAT系統也是他們基于網絡的一套系統。該系統由許多小的檢測器構成,并且能夠自動運行,自動分析。當一個檢測器發現可能入侵時能夠將入侵情況轉告給其他檢測器,同時進行協同分析,這樣可以解決多子網協同攻擊的情況。
BRO[25]是由Lawrence Livermore國際實驗室研發的一個能夠承受高網絡負載,實時的、易于升級的入侵檢測系統。BRO有三個層次:第一個層次用Libpcap抓取網絡數據包,Libpcap能夠對所有BRO感興趣的協議所產生的數據包進行捕捉;第二層是事件檢測層,首先檢測數據包頭是否非法,如果是就丟棄,如果不是則檢測包的內容;第三層,通過策略審查器對數據包進行審查。
MIDAS(Expert system in Intrusion Detection)[26]是由國際計算機安全中心聯合其他一些機構合作開發的一個基于專家系統的(模式匹配/特征檢測)入侵檢測系統。該系統定義了什么入侵它將處理以及如何處理。因此,一個真正意義上的專家是不可缺少的。
Hyperview[27]是一個包含了兩個主要部件的入侵檢測系統。其中一個部件是專家系統,對已知行為進行檢測;另外一個主要部件是神經網絡,通過神經網絡學習新的用戶規則以擴充專家系統的規則庫。
DIDP(Distributed Intrusion Detection Prototype)[28]是一個分布式入侵檢測的原型系統,它集成了多個單機系統,通過將獨立的檢測器的數據關聯起來檢測新的入侵。它由三部分組成:一個主機檢測器,檢測本機入侵;一個網絡檢測器,檢測網絡數據;一個中心檢測器,對前兩種檢測器獲得的數據進行集中分析。
ASAX(Architect and rule-based language for universal audit trail analysis)[29]是一個基于規則的入侵檢測系統。ASAX先將操作系統日志信息轉換成一種叫做NADF的格式,然后抽取出用RUSSEL語言表示的規則。
GrIDS [12]是一個基于圖形的入侵檢測系統,它包括軟件管理器、圖形構建引擎、模型控制器和數據源。數據源獲得數據后交由圖形構建引擎構建圖形,模型控制器配置圖形參數,專門化的軟件管理器管理所有的模型模式。
機器學習算法在入侵檢測中的應用主要就是構建分類器,或者說是學習器,用這些算法來學習一些入侵識別規則。當新的攻擊發生時,通過學習好的分類器進行識別。這方面主要有劉賽等人[30]提出的基于免疫算法的入侵檢測系統、史長瓊等人[31]提出的基于多決策樹的入侵檢測系統、張琨等人[32]提出的基于支持向量機的入侵檢測系統等。
3結束語
入侵檢測技術是一種主動保護自己免受攻擊的一種網絡安全技術。作為防火墻的合理補充,入侵檢測技術能夠幫助系統對付網絡攻擊,擴展了系統管理員的安全管理能力(包括安全審計、監視、攻擊識別和響應),提高了信息安全基礎結構的完整性。人工智能是一個很熱門的領域,將人工智能技術應用在入侵檢測系統中,無疑能夠解決其中的許多問題。相信將來兩者將會有更多的結合點。
參考文獻:
[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]邊肇祺,張學工.模式識別.[M].第2版.北京:清華大學出版社,1999.
[14]程顯毅.Agent計算[M].哈爾濱:黑龍江科學技術出版社,2003.
[15]饒鮮,董春曦,楊紹全.基于支持向量的入侵檢測系統[J].軟件學報,2003,14(4):798-803.
[16]覃愛明,胡昌振,譚惠民.網絡攻擊檢測中的機器學習方法綜述[J].安全與環境學報,2001,1(1):30-36.
[17]孫宏偉,鄒濤,田新廣,等.基于機器學習的入侵檢測方法實驗與分析[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]劉賽,徐斌,梁意文.入侵檢測系統中的一種免疫遺傳算法[J].計算機工程,2004,30(8):63-64.
[31]史長瓊,易昂.基于多決策樹算法的網絡入侵檢測[J].計算機工程與設計,2004,25(4):518-519,529.
[32]張琨,許滿武,劉鳳玉,等.基于支持向量機的異常入侵檢測系統[J].計算機工程,2004,30(18):44-45.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”