聚類分析在網(wǎng)絡(luò)入侵檢測中的應(yīng)用_第1頁
聚類分析在網(wǎng)絡(luò)入侵檢測中的應(yīng)用_第2頁
聚類分析在網(wǎng)絡(luò)入侵檢測中的應(yīng)用_第3頁
聚類分析在網(wǎng)絡(luò)入侵檢測中的應(yīng)用_第4頁
聚類分析在網(wǎng)絡(luò)入侵檢測中的應(yīng)用_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

目錄TOC\o"1-4"\h\z\u第一章緒論 41.1課題研究的背景與意義 41.1.1什么是web異常檢測 41.1.2基于機(jī)器學(xué)習(xí)web異常檢測技術(shù) 41.2課題研究的內(nèi)容 5本章小結(jié) 5第二章聚類分析概述 52.1什么是聚類分析 52.2基于距離的聚類 62.3基于密度的聚類 62.4本章小結(jié) 7第三章Web入侵技術(shù)概述 7第四章基于聚類的Web入侵檢測實(shí)現(xiàn) 84.1開發(fā)工具介紹 84.2數(shù)據(jù)集的選擇 84.3數(shù)據(jù)預(yù)處理(標(biāo)準(zhǔn)化) 94.4建立入侵檢測模型 104.4.1利用k-means建立聚類 104.4.2利用DBSCAN建立聚類 114.5模型的性能評(píng)價(jià) 114.6本章小結(jié) 125總結(jié) 12摘要針對(duì)目前網(wǎng)絡(luò)入侵行為日益嚴(yán)重和檢測網(wǎng)絡(luò)入侵行為日益嚴(yán)重的問題,本文研究的是通過機(jī)器學(xué)習(xí)來提高網(wǎng)絡(luò)入侵的檢測能力。在傳統(tǒng)的入侵檢測系統(tǒng)(IDS)通常是使用基于某些規(guī)則的匹配來對(duì)網(wǎng)絡(luò)入侵行為進(jìn)行檢測,這種檢測方式存在不夠靈活,對(duì)新出現(xiàn)的網(wǎng)絡(luò)入侵行為檢測不準(zhǔn)確的缺點(diǎn)。而本文使用機(jī)器學(xué)習(xí)中的聚類算法來進(jìn)行網(wǎng)絡(luò)入侵行為的檢測,通過對(duì)數(shù)據(jù)集特征化,然后分別利用聚類算法中的K-Means和DBSCAN來構(gòu)建網(wǎng)絡(luò)入侵的檢測模型,最后將兩者之間表現(xiàn)出的實(shí)際性能,進(jìn)行相對(duì)深入的細(xì)致對(duì)比,篩選出性能比較高的算法,來應(yīng)用到網(wǎng)絡(luò)入侵的檢測中。通過使用像這樣的機(jī)器學(xué)習(xí)算法來構(gòu)建網(wǎng)絡(luò)入侵檢測模型可以有效的彌補(bǔ)傳統(tǒng)的IDS的缺點(diǎn)。關(guān)鍵詞:機(jī)器學(xué)習(xí)聚類算法入侵檢測K-MeansDBSCANAbstractInviewoftheincreasingnetworkintrusionbehaviorandtheincreasinglyseriousproblemofdetectingnetworkintrusionbehavior,thispaperstudiestheabilityofnetworkintrusiondetectionthroughmachinelearning.IntraditionalIntrusionDetectionSystem(IDS),networkintrusionbehaviorisusuallydetectedbyusingcertainrule-basedmatching.Thisdetectionmethodisnotflexibleenoughtodetectinaccuratenetworkintrusionbehavior.Inthispaper,theclusteringalgorithminmachinelearningisusedtodetectthenetworkintrusionbehavior.Bycharacterizingthedataset,thenusingK-MeansandDBSCANintheclusteringalgorithmtoconstructthenetworkintrusiondetectionmodel,andfinallythroughthisTheperformanceofthetwoalgorithmsiscompared,andthealgorithmwithhigherperformanceisselectedtobeappliedtothedetectionofnetworkintrusion.Byusingamachinelearningalgorithmlikethistoconstructanetworkintrusiondetectionmodel,itcaneffectivelycompensatefortheshortcomingsofthetraditionalIDS.Keywords:machinelearningclusteringalgorithmintrusiondetectionK-MeansDBSCAN第一章緒論1.1課題研究的背景與意義現(xiàn)如今,web3.0時(shí)代已經(jīng)來臨,網(wǎng)絡(luò)逐步實(shí)現(xiàn)一體化,賦予網(wǎng)絡(luò)用戶極為廣闊的自由空間,可以切實(shí)滿足他們的實(shí)際需求。在此背景下,多樣化軟件應(yīng)運(yùn)而生。但是這也產(chǎn)生了嚴(yán)重的安全問題,在以往十年當(dāng)中,全球前沿的科技企業(yè),例如:谷歌以及Facebook等,均出現(xiàn)過極為惡劣的各類網(wǎng)絡(luò)安全事件,造成了大量用戶數(shù)據(jù)泄露,從而危害到網(wǎng)絡(luò)用戶自身的財(cái)產(chǎn)安全。故而在當(dāng)前時(shí)期,應(yīng)當(dāng)致力于推進(jìn)網(wǎng)絡(luò)入侵檢測工作,實(shí)現(xiàn)全面的智能化。本文就基于此,將從聚類分析在網(wǎng)絡(luò)安全中的應(yīng)用這個(gè)選題出發(fā),借助于聚類算法的作用,積極構(gòu)建出科學(xué)完善的網(wǎng)絡(luò)入侵檢測模型,以此來突出自身的優(yōu)勢。該研究的意義在于隨著web技術(shù)的持續(xù)發(fā)展,web的架構(gòu)將會(huì)越來越復(fù)雜,面對(duì)的攻擊也會(huì)是千變?nèi)f化,傳統(tǒng)的基于規(guī)則的網(wǎng)絡(luò)入侵檢測可能會(huì)慢慢消失,網(wǎng)絡(luò)入侵檢測的智能化將會(huì)成為主流,該研究將會(huì)給未來網(wǎng)絡(luò)入侵檢測的智能提供一個(gè)更好的素材。1.1.1什么是web異常檢測在解釋什么是web異常檢測之前,本文首先針對(duì)其基本概念,進(jìn)行大致的闡述:其旨在發(fā)現(xiàn)相對(duì)特殊的對(duì)象,即所謂的離群點(diǎn)。故而通常情況下,異常檢測也被人們稱之為偏差檢測。而web異常檢測就是指在眾多的指向服務(wù)器的鏈接當(dāng)中。找到一些和正常鏈接不同的異常鏈接并阻斷它。來保護(hù)服務(wù)器設(shè)備免受一些不法分子的攻擊。1.1.2基于機(jī)器學(xué)習(xí)web異常檢測技術(shù)通常情況下,以往的web入侵檢測技術(shù),主要借助于維護(hù)規(guī)則集的作用,針對(duì)不正當(dāng)?shù)娜肭衷L問,進(jìn)行及時(shí)有效的攔截。然而,這種方式實(shí)則存在某些不足之處,例如:高技術(shù)含量的黑客,往往能夠繞過硬規(guī)則。與此同時(shí),該規(guī)則很難承受來源于0day發(fā)起的攻擊;除此之外,該規(guī)則的建立還需耗費(fèi)極為高昂的經(jīng)濟(jì)成本,這無疑加大企業(yè)的負(fù)擔(dān)。在此情況下,以相關(guān)機(jī)器學(xué)習(xí)技術(shù)為基礎(chǔ),而成功構(gòu)建的新型web入侵檢測技術(shù),實(shí)則能夠針對(duì)以往方法的劣勢進(jìn)行及時(shí)彌補(bǔ)。從本質(zhì)上而言,機(jī)器學(xué)習(xí)方法實(shí)則可以借助于數(shù)量可觀的數(shù)據(jù),來實(shí)現(xiàn)一系列自動(dòng)化學(xué)習(xí)等,故而其在現(xiàn)今已經(jīng)廣泛應(yīng)用于圖像領(lǐng)域以及相應(yīng)的自然語言處理等多樣化領(lǐng)域。但是,該方法同樣存在某些不足之處。其中尤為關(guān)鍵的即為標(biāo)簽數(shù)據(jù)的顯著短缺,而且趨于多樣化,不利于模型的后期學(xué)習(xí)等相關(guān)工作。故而在大部分情況下,該方法基本在不存在任何監(jiān)督主體形式的環(huán)境中進(jìn)行。通過基于數(shù)量可觀的正常日志,積極構(gòu)建出科學(xué)合理的模型,再將不符合該模型的數(shù)據(jù)定義為異常數(shù)據(jù)。此類思路完全相悖于攔截規(guī)則。值得一提的是,攔截規(guī)則旨在針對(duì)不正當(dāng)?shù)娜肭中袨?,進(jìn)行相對(duì)精準(zhǔn)的識(shí)別。1.2課題研究的內(nèi)容本課題主要研究的是利用機(jī)器學(xué)習(xí)中的聚類算法K-Means和DBSCAN算法,基于KDD-Cup99數(shù)據(jù)集的作用,來構(gòu)建網(wǎng)絡(luò)入侵檢測模型,然后對(duì)這兩個(gè)不同的聚類算法所構(gòu)建的網(wǎng)絡(luò)入侵檢測模型的性能進(jìn)行比較,篩選出性能比較高的算法。本章小結(jié)在本章節(jié)中,重點(diǎn)針對(duì)本文的基本背景及其實(shí)際意義,進(jìn)行相對(duì)深入的細(xì)致闡述。以及對(duì)web異常檢測和機(jī)器學(xué)習(xí)的簡單介紹,并且簡述了本課題的研究內(nèi)容,讓我們對(duì)本課題有一個(gè)大概的了解。第二章聚類分析概述2.1什么是聚類分析聚類分析的基本含義為:將相關(guān)對(duì)象所組成的集合進(jìn)行細(xì)致分組,從而將性質(zhì)相似的對(duì)象歸為一類。從這一角度而言,聚類和分類是不同的。相較于分類而言,聚類表現(xiàn)出一定的差異性,其中尤為關(guān)鍵的即為所劃分的類必須未知。聚類的本質(zhì),在于將海量數(shù)據(jù)歸于相應(yīng)的類別亦或?yàn)榇刂?,故而在相同簇中所含有的?duì)象,實(shí)則表現(xiàn)出極為顯著的相似性,反之則表現(xiàn)出相對(duì)明顯的差異性?;诮y(tǒng)計(jì)學(xué)的角度進(jìn)行觀察,聚類分析實(shí)則借助于數(shù)據(jù)建模的作用,針對(duì)現(xiàn)有的相關(guān)數(shù)據(jù),進(jìn)行科學(xué)得當(dāng)?shù)暮喕J聦?shí)上,以往的統(tǒng)計(jì)聚類分析方法,重點(diǎn)涵蓋分解法、動(dòng)態(tài)聚類法以及有重疊聚類等相關(guān)類別。值得一提的是,某些以k-均值等核心算法為基準(zhǔn)的各類聚類分析工具,在當(dāng)前時(shí)期已經(jīng)在以SPSS為主的統(tǒng)計(jì)分析軟件包中,獲得相對(duì)廣泛的實(shí)際應(yīng)用。如果基于機(jī)器學(xué)習(xí)的方面來看,簇實(shí)則等同于隱藏模式。而聚類的本質(zhì)則在于針對(duì)簇所表現(xiàn)出的無監(jiān)督學(xué)習(xí)行為,進(jìn)行及時(shí)采集。相較于分類而言,聚類表現(xiàn)出尤其顯著的差異性,其實(shí)則屬于觀察式學(xué)習(xí)的范疇。聚類分析實(shí)則表現(xiàn)出相對(duì)良好的探索性,可基于海量的樣本數(shù)據(jù),實(shí)現(xiàn)科學(xué)深入的自動(dòng)分類。由于各個(gè)研究者的采用方法各不相同,故而通過聚類分析一般會(huì)獲得相異的結(jié)論,即使研究對(duì)象為同組數(shù)據(jù),也是如此?;谌粘?yīng)用的方面而言,聚類分析實(shí)則對(duì)于現(xiàn)今的數(shù)據(jù)挖掘領(lǐng)域至關(guān)重要。與此同時(shí),聚類還可被看作為完全獨(dú)立的工具,針對(duì)相關(guān)數(shù)據(jù)的實(shí)際分布情況,進(jìn)行及時(shí)采集。通過觀察和篩選,來針對(duì)某聚簇集合,進(jìn)行更深層次的細(xì)致分析。2.2基于距離的聚類從本質(zhì)上而言,K-Means聚類算法實(shí)則基于空間存在的k個(gè)點(diǎn),來實(shí)現(xiàn)后期的聚類工作。并將其中最近的相關(guān)對(duì)象進(jìn)行細(xì)致歸類,借助于迭代的首選,分別更新多樣化聚類中心的實(shí)際數(shù)值,以此來獲得最佳效果。對(duì)于K-Means算法而言,其所遵循的基本流程大致如下:輸入是樣本集D={x1,x2,...xm},聚類的簇樹k,最大迭代次數(shù)N輸出是簇劃分C={C1,C2,...Ck}1)從數(shù)據(jù)集D中隨機(jī)選擇k個(gè)樣本作為初始的k個(gè)質(zhì)心向量:{μ1,μ2,...,μk}2)對(duì)于n=1,2,...,Na)將簇劃分C初始化為Ct=?t=1,2...kb)對(duì)于i=1,2...m,計(jì)算樣本xi和各個(gè)質(zhì)心向量μj(j=1,2,...k)的距離:dij=||xi?μj||22,將xi標(biāo)記最小的為dij所對(duì)應(yīng)的類別λi。此時(shí)更新Cλi=Cλi∪{xi}c)對(duì)于j=1,2,...,k,對(duì)Cj中所有的樣本點(diǎn)重新計(jì)算新的質(zhì)心μj=1|Cj|∑x∈Cjxe)如果所有的k個(gè)質(zhì)心向量都沒有發(fā)生變化,則轉(zhuǎn)到步驟3)3)輸出簇劃分C={C1,C2,...Ck}一般情況下,K-Means聚類算法通常含有下述基本特征。例如:其在建設(shè)過程中相對(duì)迅猛,并且極為簡潔,尤其適用于大數(shù)據(jù)集的處理,表現(xiàn)出極為優(yōu)良的可伸縮性。值得一提的是,對(duì)于該類算法而言,其所表現(xiàn)出的時(shí)間復(fù)雜度實(shí)則為O(nkt),在此之中,n意味著數(shù)據(jù)當(dāng)中全部集中對(duì)象的實(shí)際數(shù)量,與此同時(shí),t=意味著全部算法迭代的實(shí)際次數(shù)。除此之外,k意味著簇的實(shí)際數(shù)量。2.3基于密度的聚類DBSCAN聚類算法與K-Means不同,它是基于聚類的一種算法。它旨在假設(shè)類別可以取決于樣本分布過程中所表現(xiàn)出的緊密性。由此得知,對(duì)于類別完全相同的樣本而言,其彼此之間實(shí)則表現(xiàn)為緊密結(jié)合的關(guān)系,將其聚合起來即為聚類類別。在此情況下,只需將全部緊密結(jié)合的樣本進(jìn)行細(xì)致劃分,使其生成多樣化類別,即可獲得全部聚類類別結(jié)果。對(duì)于此類算法而言,其關(guān)于聚類的基本概念如下:借助于密度可達(dá)關(guān)系的作用,將能得到和最大密度緊密連接的某特定樣本集合,即簇。在上述簇中,能夠包含數(shù)個(gè)核心對(duì)象。假設(shè)僅僅存在單個(gè)核心對(duì)象,則意味著簇中存在的其他數(shù)量可觀的非核心對(duì)象樣本,均處于該特定核心對(duì)象所表現(xiàn)出的?-鄰域當(dāng)中;與此同時(shí),假設(shè)存在若干核心對(duì)象,則意味著簇中存在的隨機(jī)核心對(duì)象,所表現(xiàn)出的?-鄰域當(dāng)中,必將含有某個(gè)除自身以外的核心對(duì)象,才能達(dá)到緊密結(jié)合的效果。值得一提的是,若將全部核心對(duì)象所表現(xiàn)出的的?-鄰域中,所蘊(yùn)含的全體樣本集合進(jìn)行緊密組合,必將形成某特定的DBSCAN聚類簇。若想找出該特定的簇樣本集合,應(yīng)當(dāng)借助于DBSCAN算法的作用。首先,隨機(jī)采集某尚未分類的核心對(duì)象,將其定義為種子。其次,找出全部與之相關(guān)聯(lián)的密度可達(dá)的樣本集合,即可獲得聚類簇。隨后重復(fù)上述步驟,直至全部核心對(duì)象均含有自身的類別。DBSCAN聚類算法的主要特點(diǎn)是:相較于K-means基本方法而言,DBSCAN無需提前知曉后期的簇類數(shù)量,并能采集多樣化形狀的簇類。與此同時(shí),該方法可精準(zhǔn)識(shí)別相應(yīng)的噪聲點(diǎn),并且相對(duì)于離群點(diǎn),表現(xiàn)出極為優(yōu)良的魯棒性和檢測性。如果將DBSCAN和數(shù)據(jù)庫之間進(jìn)行協(xié)同運(yùn)用,則將能夠有效提高現(xiàn)有區(qū)域的實(shí)際查詢速度。2.4本章小結(jié)在本章節(jié)中,旨在針對(duì)K-Means算法以及相應(yīng)的DBSCAN算法,所表現(xiàn)出的基本概念,進(jìn)行相對(duì)深入的細(xì)致闡述。從而為后面的算法建模提供幫助。第三章Web入侵技術(shù)概述在當(dāng)今web應(yīng)用越來越復(fù)雜的時(shí)代,不法分子對(duì)于web所采取的攻擊技術(shù)也愈加趨于多樣化,下面簡單介紹10種高發(fā)的web入侵技術(shù):3.1sql注入:即借助于將相關(guān)SQL命令徑直插入至Web表單即刻提交等手段,誘導(dǎo)服務(wù)器執(zhí)行某些惡意的SQL命令。整體而言,其實(shí)則借助于當(dāng)前的應(yīng)用程序,將相關(guān)SQL命令徑直傳遞至后臺(tái)數(shù)據(jù)庫引擎是,使其即刻執(zhí)行。這種行為一般基于數(shù)據(jù)庫當(dāng)中的漏洞而實(shí)現(xiàn)。造成sql注入的原因有很多,其中主要涉及到①類型處理出現(xiàn)差錯(cuò);②數(shù)據(jù)庫配置表現(xiàn)出的安全性還有待提高;③查詢集處理尚不科學(xué);④錯(cuò)誤處理并非恰當(dāng)。這種漏洞會(huì)造成數(shù)據(jù)庫信息泄漏,網(wǎng)頁篡改,數(shù)據(jù)庫被惡意操作等后果。3.2XSS攻擊實(shí)則存在于web應(yīng)用當(dāng)中,表現(xiàn)為尤為典型的計(jì)算機(jī)安全漏洞。其可以允許惡意web用戶,將不善意的代碼徑直植入至其他多樣化用戶的頁面當(dāng)中。通常情況下,XSS能夠細(xì)分成三種類型,其中包含反射型以及DOM型,此外還涵蓋存儲(chǔ)型。從本質(zhì)上而言,XSS危害也特別巨大,甚至能直接盜取各種類型的用戶帳號(hào),例如:用戶網(wǎng)銀帳號(hào)等。與此同時(shí),其還能針對(duì)尤為關(guān)鍵的企業(yè)數(shù)據(jù),進(jìn)行相對(duì)精準(zhǔn)的控制,其中包含但并不僅限于讀取數(shù)據(jù)以及篡改數(shù)據(jù)等。除此之外,XSS還能竊取企業(yè)尤為關(guān)鍵的商業(yè)資料,危害極大。3.3CSRF跨站請求偽造,通常又被人們稱之為SessionRiding,其本質(zhì)在于惡意利用某特定網(wǎng)站。相較于XSS而言,其表現(xiàn)出尤為顯著的差異性,詳細(xì)如下:XSS的攻擊對(duì)象僅僅為存在于站點(diǎn)之中的海量信任用戶,但是對(duì)于CSRF來說,其旨在基于一系列偽裝,使其自身成為網(wǎng)站信任的用戶,以此來發(fā)送惡意請求。從這一角度而言,CSRF攻擊雖然現(xiàn)今尚未獲得相對(duì)廣泛的實(shí)際應(yīng)用,然而卻很容易被人忽視,故而其實(shí)則比XSS更加危險(xiǎn)。3.4通常情況下,分布式拒絕服務(wù)攻擊的基本含義為:通過各種類型服務(wù)器技術(shù)的協(xié)同作用,將若干計(jì)算機(jī)之間進(jìn)行緊密結(jié)合,從而形成性能強(qiáng)大的攻擊平臺(tái),以此來針對(duì)若干目標(biāo)進(jìn)行DDoS攻擊,這樣所造成的攻擊威力,將呈現(xiàn)倍數(shù)式增長。一般情況下,首先,攻擊者會(huì)借助于某特定的偷竊帳號(hào),將自身所含的DDoS主控程序,徑直安裝至某特定的計(jì)算機(jī)當(dāng)中,其次,基于預(yù)先擬定的時(shí)間,將現(xiàn)有的主控程序和數(shù)量可觀的代理程序之間進(jìn)行實(shí)時(shí)通訊。在此情況下,一旦代理程序已經(jīng)成功接收相關(guān)指令,將會(huì)即刻發(fā)動(dòng)迅猛攻擊。值得一提的是,借助于各種類型服務(wù)器技術(shù)的協(xié)同作用,主控程序可以在數(shù)秒的時(shí)間內(nèi),實(shí)現(xiàn)眾多代理程序的數(shù)千次運(yùn)行。在這之中,尤為關(guān)鍵的時(shí)是DDoS攻擊一般借助于網(wǎng)絡(luò)中相關(guān)基本協(xié)議的作用,例如:Email協(xié)議,故而難以對(duì)其進(jìn)行有效防御,只能在攻擊出現(xiàn)的情況下,即刻停止服務(wù)來對(duì)其進(jìn)行限制。但若如此,合法用戶的請求必將得不到回應(yīng),這將會(huì)影響到網(wǎng)站獲得的經(jīng)濟(jì)收益。故而一旦發(fā)生大規(guī)模的DDoS事件,將會(huì)極大耗費(fèi)原本極為充足的網(wǎng)絡(luò)資源。3.5SSRF旨在將內(nèi)部系統(tǒng)作為自身的攻擊目標(biāo),其同樣借助于服務(wù)端漏洞而實(shí)現(xiàn)。第四章基于聚類的Web入侵檢測實(shí)現(xiàn)4.1開發(fā)工具介紹本文所選擇的開發(fā)語言為python。這是由于,該語言已經(jīng)成為現(xiàn)今炙手可熱的計(jì)算機(jī)程序設(shè)計(jì)語言之一。其本質(zhì)為腳本語言,表現(xiàn)出極為良好的動(dòng)態(tài)特征,而且還能面向?qū)ο蟆ython自研發(fā)之初,旨在編寫各種類型的自動(dòng)化腳本。然而在當(dāng)前時(shí)期,由于版本的持續(xù)升級(jí),其新增某些尤為關(guān)鍵的語言功能,故而廣泛適用于大規(guī)模的項(xiàng)目當(dāng)中。開發(fā)工具使用Anaconda,Anaconda實(shí)則為Python的典型發(fā)行版本,表現(xiàn)出開源的基本特性,其中涉及到conda等高達(dá)180個(gè)科學(xué)包。由于其中涵蓋數(shù)量可觀的科學(xué)包,故而Anaconda一般需要下載相對(duì)較大的文件。用戶若想節(jié)約空間,也能運(yùn)用Miniconda版本,該版本相對(duì)較小。4.2數(shù)據(jù)集的選擇本文旨在采用KDDCUP99數(shù)據(jù)集。1998年,西方發(fā)達(dá)國家的美國MIT林肯實(shí)驗(yàn)室,曾經(jīng)研發(fā)出此數(shù)據(jù)集,并且積極構(gòu)建出適用于自身軍事領(lǐng)域的模擬網(wǎng)絡(luò)環(huán)境。在此情況下,該實(shí)驗(yàn)室連續(xù)收集高達(dá)9周的TCPdump(*)網(wǎng)絡(luò)連接數(shù)據(jù)以及相應(yīng)的系統(tǒng)審計(jì)數(shù)據(jù),從而針對(duì)多樣化用戶以及各種類型的攻擊手段,進(jìn)行科學(xué)合理的仿真。值得一提的是,該采集過程細(xì)分為兩大階段,詳細(xì)如下:第一階段,7周。其涵蓋高達(dá)5,000,000的網(wǎng)絡(luò)連接記錄;第二階段,2周。其涵蓋高達(dá)2,000,000的網(wǎng)絡(luò)連接記錄。在上述內(nèi)容中所涉及的網(wǎng)絡(luò)連接,可以看作為基于某特定的時(shí)間當(dāng)中,自始至終而形成的TCP數(shù)據(jù)包序列。在此期間,數(shù)據(jù)將會(huì)基于預(yù)定義協(xié)議,完成自源IP地址之初,直至目的IP地址為止的整體傳送過程。需要注意的是,任何網(wǎng)絡(luò)連接均會(huì)被系統(tǒng)標(biāo)記,從而細(xì)分成正常以及異常兩類。其中,異常類型一共含有4大類別,累計(jì)涵蓋高達(dá)39種攻擊類型。4種異常類型分別是:拒絕服務(wù)攻擊,例如;主要代表來源于遠(yuǎn)程主機(jī)所發(fā)出的未授權(quán)訪問,例如未授權(quán)的本地超級(jí)用戶特權(quán)訪問,例如端口監(jiān)視或掃描,例如。在此之后,全球著名學(xué)者SalStolfo及其WenkeLee,曾經(jīng)借助于數(shù)據(jù)挖掘等多樣化技術(shù),針對(duì)上述所提及的數(shù)據(jù)集,進(jìn)行更深層次的特征分析,以及相對(duì)深入的數(shù)據(jù)預(yù)處理工作,以此來組成嶄新的數(shù)據(jù)集,即1999年尤為典型的KDD99數(shù)據(jù)集。對(duì)于此類數(shù)據(jù)集而言,其旨在基于41個(gè)特征值,針對(duì)連接(*),進(jìn)行極為細(xì)致的描述:2.normal。其中最后一個(gè)字段是用來標(biāo)記該條數(shù)據(jù)是正常還是異常的數(shù)據(jù)。4.3數(shù)據(jù)預(yù)處理(標(biāo)準(zhǔn)化) 因?yàn)閗ddcup99數(shù)據(jù)集中存在非數(shù)值化數(shù)據(jù),于是對(duì)該數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化處理第一步將定義將源文件行中3種協(xié)議類型轉(zhuǎn)換成數(shù)字標(biāo)識(shí)的函數(shù),代碼如下:protocol_list=['tcp','udp','icmp']returnfind_index(input[1],protocol_list)[0]第二步將定義將源文件行中70種網(wǎng)絡(luò)服務(wù)類型轉(zhuǎn)換成數(shù)字標(biāo)識(shí)的函數(shù),代碼如下:service_list=['aol','auth','bgp','courier','csnet_ns','ctf','daytime','discard','domain','domain_u','echo','eco_i','ecr_i','efs','exec','finger','ftp','ftp_data','gopher','harvest','hostnames','http','http_2784','http_443','http_8001','imap4','IRC','iso_tsap','klogin','kshell','ldap',link','login','mtp','name','netbios_dgm','netbios_ns','netbios_ssn','netstat','nnsp','nntp','ntp_u','other','pm_dump','pop_2','pop_3','printer','private','red_i','remote_job','rje','shell','smtp','sql_net','ssh','sunrpc','supdup','systat','telnet','tftp_u','tim_i','time','urh_i','urp_i','uucp','uucp_path','vmnet','whois','X11','Z39_50']ifinput[2]inservice_list:returnfind_index(input[2],service_list)[0]第三步定義將源文件行中11種網(wǎng)絡(luò)連接狀態(tài)轉(zhuǎn)換成數(shù)字標(biāo)識(shí)的函數(shù),代碼如下:flag_list=['OTH','REJ','RSTO','RSTOS0','RSTR','S0','S1','S2','S3','SF','SH']ifinput[3]inflag_list:returnfind_index(input[3],flag_list)[0]基于源文件行中,將現(xiàn)有的攻擊類型,轉(zhuǎn)化為相應(yīng)的數(shù)字標(biāo)識(shí),以此來實(shí)現(xiàn)的函數(shù)代碼詳細(xì)如下:#label_list=['normal.','buffer_overflow.','loadmodule.','perl.','neptune.','smurf.',#'guess_passwd.','pod.','teardrop.','portsweep.','ipsweep.','land.','ftp_write.',#'back.','imap.','satan.','phf.','nmap.','multihop.','warezmaster.','warezclient.',#'spy.','rootkit.']globallabel_list#在函數(shù)內(nèi)部使用全局變量并修改它ifinput[41]inlabel_list:returnfind_index(input[41],label_list)[0]else:label_list.append(input[41])returnfind_index(input[41],label_list)[0]到此完成數(shù)據(jù)的標(biāo)準(zhǔn)化工作,完成模型建立前的準(zhǔn)備。4.4建立入侵檢測模型4.4.1利用k-means建立聚類借助于sklearn當(dāng)中所蘊(yùn)含的K-Means算法,將能針對(duì)上述各類數(shù)據(jù),進(jìn)行科學(xué)合理的聚類,首先需要對(duì)數(shù)據(jù)進(jìn)行讀取,并且應(yīng)當(dāng)借助于pandas模塊中涉及的pd函數(shù),針對(duì)相關(guān)數(shù)據(jù)進(jìn)行相應(yīng)的讀取,其基本代碼如下:然后調(diào)用K-Means進(jìn)行數(shù)據(jù)的分析,由于數(shù)據(jù)并不是二維的,在數(shù)據(jù)分析完成以后,需要使用sklearn.decomposition模塊中的PCA函數(shù)對(duì)數(shù)據(jù)進(jìn)行降維,其次,借助于模塊中所涉及的plt函數(shù),針對(duì)現(xiàn)有的圖進(jìn)行良好的繪制,對(duì)數(shù)據(jù)進(jìn)行可視化,因?yàn)槿绻麡颖緮?shù)過多,繪制出來的散點(diǎn)圖幾乎看不出區(qū)別,所以繪制下圖時(shí)只選擇了24條數(shù)據(jù)來進(jìn)行演示。4.4.2利用DBSCAN建立聚類對(duì)于DBSCAN而言,其在積極構(gòu)建自身模型時(shí),完全等同于K-Means的構(gòu)建過程。首先需要對(duì)數(shù)據(jù)進(jìn)行讀取,并且應(yīng)當(dāng)借助于pandas模塊中涉及的pd函數(shù),針對(duì)相關(guān)數(shù)據(jù)進(jìn)行相應(yīng)的讀取,其基本代碼如下:然后調(diào)用DBSCAN進(jìn)行數(shù)據(jù)的分析,由于數(shù)據(jù)并不是二維的,在數(shù)據(jù)分析完成以后,需要使用sklearn.decomposition模塊中的PCA函數(shù)對(duì)數(shù)據(jù)進(jìn)行降維,其次,借助于模塊中所涉及的plt函數(shù),針對(duì)現(xiàn)有的圖進(jìn)行良好的繪制,并對(duì)數(shù)據(jù)進(jìn)行可視化展示。4.5模型的性能評(píng)價(jià)若K-Means模型以及相應(yīng)的DBSCAN模型均成功構(gòu)建,則在此情況下,我們選取100條已經(jīng)打好標(biāo)簽的數(shù)據(jù),放入數(shù)據(jù)中進(jìn)行測試,測試結(jié)果如下表所示:K-Measn測試結(jié)果DBSCAN測試結(jié)果由以上的數(shù)據(jù)測試結(jié)果可以看出K-Means的誤報(bào)率為4%,而dbscan的誤報(bào)率為%2.1,從這個(gè)結(jié)果可以看出,在異常檢測檢測中DBSCAN算法的準(zhǔn)確率是要高過K-Means算法的準(zhǔn)確率的。4.6本章小結(jié)在這一章里面我們完成了數(shù)據(jù)的標(biāo)準(zhǔn)化,模型的建立,模型的性能對(duì)比的工作,并通過對(duì)樣本檢測的誤報(bào)率的對(duì)比,發(fā)現(xiàn)了在異常檢測這個(gè)應(yīng)用領(lǐng)域里面,相較于K-Means而言,DBSCAN所表現(xiàn)出的精準(zhǔn)率相對(duì)較高。5總結(jié)在本次的課題研究中,首先針對(duì)現(xiàn)今尤為典型的web入侵檢測技術(shù),進(jìn)行相對(duì)深入的細(xì)致闡述,然后又結(jié)合機(jī)器學(xué)習(xí),對(duì)本研究課題進(jìn)行了一個(gè)簡述。最后分別介紹了研究所用到的工具和算法和數(shù)據(jù)。通過本次研究,我們以異常檢測為切入點(diǎn),對(duì)K-Means和DBSCAN算法在異常檢測中性能的高低進(jìn)行了比較,發(fā)現(xiàn)在樣本數(shù)據(jù)一致的情況下,相較于K-Means而言,DBSCAN所表現(xiàn)出的精準(zhǔn)率相對(duì)較高。至此本課題的研究結(jié)束。但是在模型的調(diào)試過程中也發(fā)現(xiàn)了DBSCAN中的eps和minpts這兩個(gè)參數(shù)非常的難以確定,這也造成了最后的結(jié)果數(shù)據(jù)分析有一定的誤差。致謝四年的大學(xué)學(xué)習(xí)生活在即將劃上一個(gè)句號(hào),而于我的人生來說卻僅僅只是一個(gè)逗號(hào),我將面對(duì)新的征程的開始。本研究及論文是在我的導(dǎo)師梁老師的親切關(guān)懷和耐心的指導(dǎo)下完成的。偉人、名人固然為我所崇拜,可是我更迫切地想要把我的敬意獻(xiàn)給給一位平凡的人,我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論