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