河南 劉征 孫漢卿
機器學習在入侵檢測中的應用
河南 劉征 孫漢卿
機器學習是人工智能的一個核心研究領域,現(xiàn)正被廣泛的應用在機器學習中,但這種技術方法目前還不是很完備。本文首先介紹了入侵檢測的基本概念,然后介紹了幾種基于機器學習的入侵檢測技術,最后列舉了當前異常檢測系統(tǒng)所要面臨的挑戰(zhàn)。
入侵檢測;異常入侵檢測;機器學習
入侵檢測就是對企圖入侵,正在進行的入侵或者已經發(fā)生的入侵進行識別的過程。所有能夠執(zhí)行入侵檢測任務的系統(tǒng),都可稱為入侵檢測系統(tǒng)。入侵檢測方法的分類有多種。從數據來源看,入侵檢測可以分為基于主機的入侵檢測和基于網絡的入侵檢測。從數據分析手段來看,入侵檢測通??煞譃檎`用入侵檢測和異常入侵檢測。誤用檢測對比已知的攻擊所構成的數據庫中的數據和當前數據來發(fā)現(xiàn)入侵。而異常檢測是通過觀察當前活動與歷史正?;顒又g的差異來發(fā)現(xiàn)入侵。
機器學習綜合了人工智能、概率統(tǒng)計、神經生物學、認知科學、信息論、控制論等學科的優(yōu)點,現(xiàn)在被廣泛應用于異常入侵檢測中,其基本方法是,用檢測對象的正常行為實例樣本進行學習機訓練,一旦訓練完成,就建立了該檢測對象的正常行為特征輪廓;在檢測中,將檢測對象當前行為的特征度量輸入學習機,學習機經過運算輸出一個異常判別值,從而實現(xiàn)對檢測對象的異常檢測。機器學習的主要技術有:貝葉斯網絡、馬爾可夫模型、人工神經網絡、模糊邏輯技術、遺傳算法、數據挖掘等。
貝葉斯網絡是根據各個變量之間的概率關系建立的圖論模型,實際應用中,網絡中每個節(jié)點代表一種測度及其概率分布,對于根節(jié)點,概率分布是不依賴其他測度的(客觀概率);對于子節(jié)點,它是以根節(jié)點為條件的條件概率,輸入各測度的當前值后,該網絡就能輸出一個綜合異常評價結果.
利用貝葉斯網絡進行入侵檢測是非常高效得,但其主要問題是先驗知識的重要性.但問題是我們不可能對所有的人侵形式進行計算,必須在現(xiàn)有知識下盡可能精確地確定先驗概率,這樣計算量會很大,這些都是我們今后需要解決的問題。
馬爾可夫模型應用到入侵檢測中主要有兩種不同的方法:馬爾可夫鏈模型和隱馬爾可夫模型。一個馬爾可夫鏈就是由狀態(tài)轉移概率相關聯(lián)的一系列狀態(tài)變換,由此構成了該模型的拓撲結構。在初始的訓練數據階段,通過正常的系統(tǒng)行為得到概率。在隨后的異常檢測階段,通過對檢測行為序列評估得到一個數值(主要與概率相關)與我們事先設定的門限值比較判斷是否發(fā)生入侵。而隱馬爾可夫模型將狀態(tài)及其轉換隱藏,僅僅能看到其觀察值。與貝葉斯網絡相比,馬爾可夫模型不依賴于先驗概率,因此檢測效果較好。
神經網絡是模擬人腦加工、存儲和處理信息機制而提出的一種智能化信息處理技術,他是由大量簡單的處理單元(神經元)進行高度互連而形成的復雜網絡系統(tǒng)。人工神經網絡實現(xiàn)的是一種從輸入到輸出的映射關系。利用神經網絡檢測入侵的基本思想是用一系列信息單元訓練神經元,通過訓練和學習過程來修改網絡互連權值,這樣在給定一組輸入后,就可能預測輸出。
神經網絡應用到異常檢測中,主要是由于他的靈活性和適應性。這種方法已被應用到創(chuàng)建用戶配置文件,從先前的命令序列來預測下一個命令,以及確定入侵行為的流量模式等。神經網絡不依賴于任何有關數據種類的假設,能處理噪聲數據,實現(xiàn)簡單,但神經網絡拓撲結構的形成不穩(wěn)定,且易陷于局部極小,學習時間長,而且對判斷為異常的事件不能提供解釋或說明信息。
模糊邏輯來源于模糊集理論。其主要研究近似推理,而不是我們經典謂詞邏輯中的精確推導。由于異常檢測技術的特點我們可以考慮使用模糊變量來判別是否發(fā)生入侵。如果模糊變量在給定的范圍內,則認為系統(tǒng)正常。
模糊邏輯技術在異常檢測中被證明是高效的,尤其是端口掃描和探測中。但是其較高的資源消耗率是我們目前亟待解決的問題。另外,還有一些研究人員始終認為只有概率才是唯一用來嚴格的描述數學中的不確定性。
遺傳算法是計算數學中用于解決最優(yōu)化的搜索算法,是進化算法的一種。進化算法最初是借鑒了進化生物學中的一些現(xiàn)象而發(fā)展起來的,這些現(xiàn)象包括遺傳、突變、自然選擇以及雜交等。因此,遺傳算法構成另一種類型的機器學習的技術,它能產生的分類規(guī)則或選擇適當的功能或最佳參數的檢測過程。
遺傳算法是解決多目標優(yōu)化問題的算法,對于求解最優(yōu)化問題效率高。它的優(yōu)點是靈活,不用事先了解系統(tǒng)的活動的先驗知識。而它的缺點也很明顯,就是資源消耗率高。
聚類技術就是將數據集根據給定的相似度或者距離進行歸類。聚類算法的一般過程是選擇一個點作為該簇的中心點,選擇幾個點就是分為幾簇。然后新的數據點根據和這些中心點的鄰近程度劃分到那個簇中。最后某些點可能不屬于任何簇,這些店被命名為離群點,代表檢測過程中的異常活動。
一般認為,將聚類應用到異常檢測中關鍵是如何尋找到孤立點?,F(xiàn)在有很多技術可以實現(xiàn),例如,k-近鄰算法利用歐式距離來確定給定簇中的點,另外的一些方法使用馬氏距離。當然也可以使用其他的的關聯(lián)變量,比如密度。
聚類的數據來源于主機的審計記錄,系統(tǒng)學習過程較慢,難于進行實時檢測。
入侵檢測技術的不斷發(fā)展,其目標是不斷改善網絡安全狀況和保護計算機基礎設施免遭破壞。盡管異常檢測技術充滿希望,但是其目前來看,還存在著巨大的挑戰(zhàn),其主要如下:
3.1 檢測率低,特別是高誤報率仍然存在。
3.2 高成本,低吞吐量。
3.3 入侵檢測系統(tǒng)本身不能保護自己不受入侵。
異常檢測技術尚沒有完全成熟,其應用還有較大的局限性。這就需要我們不斷探索研究,以便在不久的將來開發(fā)出一種完美的入侵檢測系統(tǒng)。
[1]唐正軍,李建華.入侵檢測技術[M].北京:清華大學出版社,2004:7-28.
[2]林果園,黃皓,張永平.入侵檢測系統(tǒng)研究進展[J].計算機科學.第35卷第2期,2008:69-74.
[3]Mitchell TM.Machine Learning[M].北京:機械工業(yè)出版社,2003:60-69.
(作者單位:河南商業(yè)高等??茖W校計算機系)
(編輯 王旸)