孤立點分析在防火牆入侵檢測的研究論文

  入侵檢測,顧名思義,就是對入侵行為的發覺。他通過對計算機網路或計算機系統中若干關鍵點收集資訊並對其進行分析,從中發現網路或系統中是否有違反安全策略的行為和被攻擊的跡象。以下是小編今天為大家精心準備的:孤立點分析在防火牆入侵檢測的研究相關論文。內容僅供閱讀與參考!

  孤立點分析在防火牆入侵檢測的研究全文如下:
 

  關鍵詞:孤立點分析;防火牆;入侵檢測;

  1. 引言

  防火牆的入侵檢測是檢測和響應計算機誤用的技術,其作用包括威懾、檢測、響應、損失情況評估、攻擊預測和起訴支援。但是,現在大多數入侵檢測系統都存在一個共同的問題,即系統位於不同的主機上,各自有各自的訓練集和資料庫。它們只對經過本機的資料進行分析和檢測,而對於整個網路來說,它們之間是孤立的。採用孤立點的方法比如基於密度的孤立點檢測方法直接從異常本質出發來發現異常,給每個物件都賦予一個異常因子來表示其異常程度,然後把異常因子大的那些行為認為是入侵行為,相比聚類技術更適合網路入侵的異常檢測。

  2. 資料探勘技術在防火牆中的應用

  2.1 資料探勘技術

  資料探勘是從大量資料中揭示有效的、新穎的、具有潛在效用以及最終可理解的知識和模式的非平凡過程。一般而言,資料探勘的任務主要有分類分析、聚類分析、關聯分析、異常檢測以及預測分析等[1]。

  資料探勘是知識發現中的一個步驟,這個步驟會利用特定的演算法和工具,在計算機和使用者可接受的時間內,完成一個處理序列,並向用戶返回某種結果的過程。

  2.2資料探勘在網路入侵檢測中的應用

  目前應用最廣的入侵檢測系統是基於特徵簽名的方法,這種方法只能檢測到特徵簽名庫中已知的攻擊,因此特徵簽名庫必須對新的入侵行為的特徵進行手工更新。這些侷限性使基於資料探勘的入侵檢測系統的研究越來越受到重視[2]。

  基於資料探勘的入侵檢測模型的構建過程與知識發現過程相似,同樣要經過資料準備、模型構建和解釋評估三大階段。網路入侵檢測系統中常用的資料探勘方法主要有關聯分析、序列模式方法、分類分析、聚類分析、以及孤立點挖掘。

  2.3 聚類分析

  聚類分析是將物理或抽象的物件組成的集合分組成為由類似的物件組成的多個簇,使得處於相同簇中的物件具有最大的相似性,而處於不同簇中的物件具有最大的差異性的方法及過程。在許多應用中,可以將一個簇中的資料物件作為一個整體來對待,從而可以輔助人們從整體上對於有多個事物所構成的群體取得認識[3]。通過聚類,能夠找出資料屬性之間潛在的相互關係。聚類分析已經廣泛應用在許多領域中,如模式識別,資料分析,圖象處理,以及市場研究等。

  作為資料探勘的功能之一,可以將聚類分析作為一個獨立的工具來獲得資料分佈的情況,觀察每個簇的特點,從而集中對特定的某些簇做進一步的分析。在很多情況下,聚類分析也可以作為其它演算法***如特徵和分類等***的預處理步驟,這些演算法在生成的簇上再進行處理。

  3. 基於入侵檢測的防火牆系統

  3.1 防火牆中的孤立點演算法

  演算法的開始先有一個聚類過程,經過這一步驟後,演算法在處理不同密度的區域是表現很好。在聚類處理過程中,不同密度區域中的點落到各個聚類中,可以一簇一簇地而不是一個一個地發現潛在的孤立點[4],這就使試驗中的孤立點檢測演算法與當前的所有方法相比是高效的。

  聚類過程是一個可適應性的過程,它能夠根據不同的分佈狀況聚成不同的類,可適應性體現在聚類點間的方差作為停止聚類的一個量度。從資料集中的一個隨機點開始聚類,離它最近的各點依次被加入到聚類中,每個點加入後,都要重新計算一下聚類的方差。當一個點加入後計算所得的方差增加得相當大時,該聚類就停止生長了,因為這意味著這個點不應該屬於此聚類[5]。演算法從這個點開始生成一個新的聚類。重複這個過程,直到資料集中的所有資料點都被處理過。

  3.2演算法流程

  演算法分為三個主要步驟。第一步,可適應性地將資料點聚成不同密度的聚類;第二步,選擇包含很少點的簇***即小聚類***作為候選孤立點集。第三步,也就是孤立點檢測步驟,計算候選孤立點集與非候選孤立點集之間的距離,如果候選集離所有的非候選集都很遠的話,它們中的點被標定為孤立點[6]。

  Step1:從資料集中的一個隨機資料點開始,將它加入最近的聚類中,計算加入後的聚類的均值和方差,加入更多的點到此聚類中,直到加入點引起聚類方差增加巨大。此時停止當前聚類的生長,將剛加入的點從此聚類中移除。

  Step2:從剛移除的點開始一個新的聚類,重複Step1

  Step3:重複Step2直到資料集中所有點都被處理過

  Step4:計算各聚類中點的個數。如果一個聚類中點的個數少於K個,選擇它為候選孤立點集。

  Step5:計算每個候選孤立點集與所有非候選孤立點集之間的距離,如果距離大於既定的閾值D,標定此候選集為孤立點集,否則標定它為非孤立點集。

  Step6:重複Step5直到所有的候選孤立點集被處理過。

  4 實驗

  4.1 資料採集

  本文設計的重點在資料探勘引擎的設計與實現部分,並沒有將資料預處理和結果視覺化作為研究的內容。同時,由於採用KDD99網上競賽標準資料集,因此也沒有使用特定的資料庫作為支援,源資料以特定的檔案格式儲存,避免了資料清洗部分的工作。為了不失一般性,所有資料均通過TCPDUMP資料包嗅探工具進行格式轉換,符合網路資料包和日誌檔案的標準,從而模擬真實的網路入侵檢測系統環境。在此基礎之上,利用資料探勘的方法,設計相應的程式對日誌檔案進行檢測和分析,從中發現異常日誌記錄,驗證設計思路的正確性。實現系統涉及到的檔案有:

  無攻擊型別標記的標準資料集attackdata.xml

  有攻擊型別標記的標準資料集safedata.xml

  分類演算法訓練集classifyattack.xml

  分類演算法測試集classifysafe.xml

  分類演算法經驗集exp.xml

  孤立點挖掘演算法***聚類***資料來源datasource.xml

  孤立點挖掘演算法經驗集pointexp.xml

  4.2 孤立點檢測

  如前所示,試驗中的方法先找到候選孤立點集,然後計算候選的和非候選的點集之間的距離,這可以加快孤立點檢測速度。由上面的敘述可知演算法的核心部分在DetectIt******和Se

  tOutlier***int k,int d***方法中,前者只有一個迴圈,迴圈的每一步取一個數據點,即一條記錄,所以時間複雜度為O***n***。後者有兩個迴圈,但它的每一個迴圈的每一步取的都是一個簇,即若干點的集合,在聚類數量很多的情況下,迴圈的步數會很少。即使在最壞情況下,時間複雜度為 ,也在接受範圍之內。

  圖1 孤立點檢測流程圖

  當前入侵檢測系統或孤立點檢測演算法的主要問題是它們的誤報率太高。在試驗中的方法中,如果引數K和D取的得當,可以得到一個滿意的誤報率。而且試驗中的方法與當前存在的方法,特別是與基於統計的和LOF相比是一個簡單的方法。由於它的簡單特性,它能獲得一個較快的處理速度,這對於網路實時處理是至關重要的。因為在這種環境下,響應時間是衡量一個演算法優劣的最關鍵標準。

  4.3 結果分析

  把檢測引擎滑動視窗的大小N設為1000。由於動態孤立點檢測演算法開始需要一次靜態孤立點檢測結果為基礎,首先用資料集中的前一千條記錄進行靜態演算法檢測。然後將資料集中的連線記錄依次輸入到檢測引擎中來模擬連續到達的資料流:每輸入一個連線記錄,視窗朝前滑動一次並進行一次演算法檢測。由於的目的是對最新加入的每一條資料記錄進行連續查詢其是否屬於孤立點,因此演算法根據n閾值調整函式先得出n的動態調整值n***pnew***,然後對滑動視窗內資料點進行排序,如果pnew的序位m小於等於此時n閾值的動態調整值n***pnew***,則認為這條新加入的連線記錄pnew為入侵行為。

  表1 各種入侵行為型別攻擊次數的統計

  攻擊型別 小類別 小類別攻擊次數 大類別攻擊次數

  DOS back 7 53

  land 5

  neptune 4

  pod 17

  smurf 18

  teardrop 2

  U2R buffer_overflow 18 33

  loadmodule 2

  perl 2

  rootkit 11

  R2L ftp_write 2 37

  phf 2

  spy 2

  warezclient 3

  warezmaster 10

  guess_passwd 18

  Probling ipsweep 13 40

  nmap 11

  portsweep 10

  satan 6

  表2 入侵行為在資料流序列中的分佈情況

  資料流序列

  1-1000 1001-2000 2001-3000 3001-4000 4001-5000 50001-6000

  攻擊次數 0 0 78 0 12 73

  5. 結論

  本系統的研究即基於資料探勘技術的孤立點檢測演算法引入到入侵檢測系統之中,並分析了資料探勘工具應用於入侵檢測系統的可行性與有效性。
 

  參考文獻:

  [1] Dongmei Ren,Yuehong Jiang. Network Intrusion Detection Using Outlier Detection Method CSci693 Network Security,1997.

  [2] Jiawei Han,Micheline Kamber. Data Mining Concepts and Techniques,1998.

  [3] R Agrawal,T Imielinski,A Swami. Database mining:A performance perspective IEEE Trans. Knowledge and Data Engineering,1993.

  [4] 潘雲鶴,王金龍,徐從富.2006.資料流頻繁模式挖掘研究進展.自動化學報,32***4***:594-602

  [5] 楊風召.高維資料探勘技術研究.南京:東南大學出版社,2007,86-96

  [6] 劉文濤. 網路安全開發包詳解. 電子工業出版社,2005,21-24