孤立點分析在防火墻入侵檢測的研究論文
孤立點分析在防火墻入侵檢測的研究論文
入侵檢測,顧名思義,就是對入侵行為的發(fā)覺。他通過對計算機網(wǎng)絡或計算機系統(tǒng)中若干關(guān)鍵點收集信息并對其進行分析,從中發(fā)現(xiàn)網(wǎng)絡或系統(tǒng)中是否有違反安全策略的行為和被攻擊的跡象。以下是學習啦小編今天為大家精心準備的:孤立點分析在防火墻入侵檢測的研究相關(guān)論文。內(nèi)容僅供閱讀與參考!
孤立點分析在防火墻入侵檢測的研究全文如下:
關(guān)鍵詞:孤立點分析;防火墻;入侵檢測;
1. 引言
防火墻的入侵檢測是檢測和響應計算機誤用的技術(shù),其作用包括威懾、檢測、響應、損失情況評估、攻擊預測和起訴支持。但是,現(xiàn)在大多數(shù)入侵檢測系統(tǒng)都存在一個共同的問題,即系統(tǒng)位于不同的主機上,各自有各自的訓練集和數(shù)據(jù)庫。它們只對經(jīng)過本機的數(shù)據(jù)進行分析和檢測,而對于整個網(wǎng)絡來說,它們之間是孤立的。采用孤立點的方法比如基于密度的孤立點檢測方法直接從異常本質(zhì)出發(fā)來發(fā)現(xiàn)異常,給每個對象都賦予一個異常因子來表示其異常程度,然后把異常因子大的那些行為認為是入侵行為,相比聚類技術(shù)更適合網(wǎng)絡入侵的異常檢測。
2. 數(shù)據(jù)挖掘技術(shù)在防火墻中的應用
2.1 數(shù)據(jù)挖掘技術(shù)
數(shù)據(jù)挖掘是從大量數(shù)據(jù)中揭示有效的、新穎的、具有潛在效用以及最終可理解的知識和模式的非平凡過程。一般而言,數(shù)據(jù)挖掘的任務主要有分類分析、聚類分析、關(guān)聯(lián)分析、異常檢測以及預測分析等[1]。
數(shù)據(jù)挖掘是知識發(fā)現(xiàn)中的一個步驟,這個步驟會利用特定的算法和工具,在計算機和用戶可接受的時間內(nèi),完成一個處理序列,并向用戶返回某種結(jié)果的過程。
2.2數(shù)據(jù)挖掘在網(wǎng)絡入侵檢測中的應用
目前應用最廣的入侵檢測系統(tǒng)是基于特征簽名的方法,這種方法只能檢測到特征簽名庫中已知的攻擊,因此特征簽名庫必須對新的入侵行為的特征進行手工更新。這些局限性使基于數(shù)據(jù)挖掘的入侵檢測系統(tǒng)的研究越來越受到重視[2]。
基于數(shù)據(jù)挖掘的入侵檢測模型的構(gòu)建過程與知識發(fā)現(xiàn)過程相似,同樣要經(jīng)過數(shù)據(jù)準備、模型構(gòu)建和解釋評估三大階段。網(wǎng)絡入侵檢測系統(tǒng)中常用的數(shù)據(jù)挖掘方法主要有關(guān)聯(lián)分析、序列模式方法、分類分析、聚類分析、以及孤立點挖掘。
2.3 聚類分析
聚類分析是將物理或抽象的對象組成的集合分組成為由類似的對象組成的多個簇,使得處于相同簇中的對象具有最大的相似性,而處于不同簇中的對象具有最大的差異性的方法及過程。在許多應用中,可以將一個簇中的數(shù)據(jù)對象作為一個整體來對待,從而可以輔助人們從整體上對于有多個事物所構(gòu)成的群體取得認識[3]。通過聚類,能夠找出數(shù)據(jù)屬性之間潛在的相互關(guān)系。聚類分析已經(jīng)廣泛應用在許多領(lǐng)域中,如模式識別,數(shù)據(jù)分析,圖象處理,以及市場研究等。
作為數(shù)據(jù)挖掘的功能之一,可以將聚類分析作為一個獨立的工具來獲得數(shù)據(jù)分布的情況,觀察每個簇的特點,從而集中對特定的某些簇做進一步的分析。在很多情況下,聚類分析也可以作為其它算法(如特征和分類等)的預處理步驟,這些算法在生成的簇上再進行處理。
3. 基于入侵檢測的防火墻系統(tǒng)
3.1 防火墻中的孤立點算法
算法的開始先有一個聚類過程,經(jīng)過這一步驟后,算法在處理不同密度的區(qū)域是表現(xiàn)很好。在聚類處理過程中,不同密度區(qū)域中的點落到各個聚類中,可以一簇一簇地而不是一個一個地發(fā)現(xiàn)潛在的孤立點[4],這就使試驗中的孤立點檢測算法與當前的所有方法相比是高效的。
聚類過程是一個可適應性的過程,它能夠根據(jù)不同的分布狀況聚成不同的類,可適應性體現(xiàn)在聚類點間的方差作為停止聚類的一個量度。從數(shù)據(jù)集中的一個隨機點開始聚類,離它最近的各點依次被加入到聚類中,每個點加入后,都要重新計算一下聚類的方差。當一個點加入后計算所得的方差增加得相當大時,該聚類就停止生長了,因為這意味著這個點不應該屬于此聚類[5]。算法從這個點開始生成一個新的聚類。重復這個過程,直到數(shù)據(jù)集中的所有數(shù)據(jù)點都被處理過。
3.2算法流程
算法分為三個主要步驟。第一步,可適應性地將數(shù)據(jù)點聚成不同密度的聚類;第二步,選擇包含很少點的簇(即小聚類)作為候選孤立點集。第三步,也就是孤立點檢測步驟,計算候選孤立點集與非候選孤立點集之間的距離,如果候選集離所有的非候選集都很遠的話,它們中的點被標定為孤立點[6]。
Step1:從數(shù)據(jù)集中的一個隨機數(shù)據(jù)點開始,將它加入最近的聚類中,計算加入后的聚類的均值和方差,加入更多的點到此聚類中,直到加入點引起聚類方差增加巨大。此時停止當前聚類的生長,將剛加入的點從此聚類中移除。
Step2:從剛移除的點開始一個新的聚類,重復Step1
Step3:重復Step2直到數(shù)據(jù)集中所有點都被處理過
Step4:計算各聚類中點的個數(shù)。如果一個聚類中點的個數(shù)少于K個,選擇它為候選孤立點集。
Step5:計算每個候選孤立點集與所有非候選孤立點集之間的距離,如果距離大于既定的閾值D,標定此候選集為孤立點集,否則標定它為非孤立點集。
Step6:重復Step5直到所有的候選孤立點集被處理過。
4 實驗
4.1 數(shù)據(jù)采集
本文設(shè)計的重點在數(shù)據(jù)挖掘引擎的設(shè)計與實現(xiàn)部分,并沒有將數(shù)據(jù)預處理和結(jié)果可視化作為研究的內(nèi)容。同時,由于采用KDD99網(wǎng)上競賽標準數(shù)據(jù)集,因此也沒有使用特定的數(shù)據(jù)庫作為支持,源數(shù)據(jù)以特定的文件格式存儲,避免了數(shù)據(jù)清洗部分的工作。為了不失一般性,所有數(shù)據(jù)均通過TCPDUMP數(shù)據(jù)包嗅探工具進行格式轉(zhuǎn)換,符合網(wǎng)絡數(shù)據(jù)包和日志文件的標準,從而模擬真實的網(wǎng)絡入侵檢測系統(tǒng)環(huán)境。在此基礎(chǔ)之上,利用數(shù)據(jù)挖掘的方法,設(shè)計相應的程序?qū)θ罩疚募M行檢測和分析,從中發(fā)現(xiàn)異常日志記錄,驗證設(shè)計思路的正確性。實現(xiàn)系統(tǒng)涉及到的文件有:
無攻擊類型標記的標準數(shù)據(jù)集attackdata.xml
有攻擊類型標記的標準數(shù)據(jù)集safedata.xml
分類算法訓練集classifyattack.xml
分類算法測試集classifysafe.xml
分類算法經(jīng)驗集exp.xml
孤立點挖掘算法(聚類)數(shù)據(jù)源datasource.xml
孤立點挖掘算法經(jīng)驗集pointexp.xml
4.2 孤立點檢測
如前所示,試驗中的方法先找到候選孤立點集,然后計算候選的和非候選的點集之間的距離,這可以加快孤立點檢測速度。由上面的敘述可知算法的核心部分在DetectIt()和Se
tOutlier(int k,int d)方法中,前者只有一個循環(huán),循環(huán)的每一步取一個數(shù)據(jù)點,即一條記錄,所以時間復雜度為O(n)。后者有兩個循環(huán),但它的每一個循環(huán)的每一步取的都是一個簇,即若干點的集合,在聚類數(shù)量很多的情況下,循環(huán)的步數(shù)會很少。即使在最壞情況下,時間復雜度為 ,也在接受范圍之內(nèi)。
圖1 孤立點檢測流程圖
當前入侵檢測系統(tǒng)或孤立點檢測算法的主要問題是它們的誤報率太高。在試驗中的方法中,如果參數(shù)K和D取的得當,可以得到一個滿意的誤報率。而且試驗中的方法與當前存在的方法,特別是與基于統(tǒng)計的和LOF相比是一個簡單的方法。由于它的簡單特性,它能獲得一個較快的處理速度,這對于網(wǎng)絡實時處理是至關(guān)重要的。因為在這種環(huán)境下,響應時間是衡量一個算法優(yōu)劣的最關(guān)鍵標準。
4.3 結(jié)果分析
把檢測引擎滑動窗口的大小N設(shè)為1000。由于動態(tài)孤立點檢測算法開始需要一次靜態(tài)孤立點檢測結(jié)果為基礎(chǔ),首先用數(shù)據(jù)集中的前一千條記錄進行靜態(tài)算法檢測。然后將數(shù)據(jù)集中的連接記錄依次輸入到檢測引擎中來模擬連續(xù)到達的數(shù)據(jù)流:每輸入一個連接記錄,窗口朝前滑動一次并進行一次算法檢測。由于的目的是對最新加入的每一條數(shù)據(jù)記錄進行連續(xù)查詢其是否屬于孤立點,因此算法根據(jù)n閾值調(diào)整函數(shù)先得出n的動態(tài)調(diào)整值n(pnew),然后對滑動窗口內(nèi)數(shù)據(jù)點進行排序,如果pnew的序位m小于等于此時n閾值的動態(tài)調(diào)整值n(pnew),則認為這條新加入的連接記錄pnew為入侵行為。
表1 各種入侵行為類型攻擊次數(shù)的統(tǒng)計
攻擊類型 小類別 小類別攻擊次數(shù) 大類別攻擊次數(shù)
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 入侵行為在數(shù)據(jù)流序列中的分布情況
數(shù)據(jù)流序列
1-1000 1001-2000 2001-3000 3001-4000 4001-5000 50001-6000
攻擊次數(shù) 0 0 78 0 12 73
5. 結(jié)論
本系統(tǒng)的研究即基于數(shù)據(jù)挖掘技術(shù)的孤立點檢測算法引入到入侵檢測系統(tǒng)之中,并分析了數(shù)據(jù)挖掘工具應用于入侵檢測系統(tǒng)的可行性與有效性。
參考文獻:
[1] Dongmei Ren,Yuehong Jiang. Network Intrusion www.51lunwen.com/jsjzy/ 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.數(shù)據(jù)流頻繁模式挖掘研究進展.自動化學報,32(4):594-602
[5] 楊風召.高維數(shù)據(jù)挖掘技術(shù)研究.南京:東南大學出版社,2007,86-96
[6] 劉文濤. 網(wǎng)絡安全開發(fā)包詳解. 電子工業(yè)出版社,2005,21-24