




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄TOC\o"1-4"\h\z\u第一章緒論 41.1課題研究的背景與意義 41.1.1什么是web異常檢測 41.1.2基于機器學(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入侵檢測實現(xiàn) 84.1開發(fā)工具介紹 84.2數(shù)據(jù)集的選擇 84.3數(shù)據(jù)預(yù)處理(標準化) 94.4建立入侵檢測模型 104.4.1利用k-means建立聚類 104.4.2利用DBSCAN建立聚類 114.5模型的性能評價 114.6本章小結(jié) 125總結(jié) 12摘要針對目前網(wǎng)絡(luò)入侵行為日益嚴重和檢測網(wǎng)絡(luò)入侵行為日益嚴重的問題,本文研究的是通過機器學(xué)習(xí)來提高網(wǎng)絡(luò)入侵的檢測能力。在傳統(tǒng)的入侵檢測系統(tǒng)(IDS)通常是使用基于某些規(guī)則的匹配來對網(wǎng)絡(luò)入侵行為進行檢測,這種檢測方式存在不夠靈活,對新出現(xiàn)的網(wǎng)絡(luò)入侵行為檢測不準確的缺點。而本文使用機器學(xué)習(xí)中的聚類算法來進行網(wǎng)絡(luò)入侵行為的檢測,通過對數(shù)據(jù)集特征化,然后分別利用聚類算法中的K-Means和DBSCAN來構(gòu)建網(wǎng)絡(luò)入侵的檢測模型,最后將兩者之間表現(xiàn)出的實際性能,進行相對深入的細致對比,篩選出性能比較高的算法,來應(yīng)用到網(wǎng)絡(luò)入侵的檢測中。通過使用像這樣的機器學(xué)習(xí)算法來構(gòu)建網(wǎng)絡(luò)入侵檢測模型可以有效的彌補傳統(tǒng)的IDS的缺點。關(guān)鍵詞:機器學(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時代已經(jīng)來臨,網(wǎng)絡(luò)逐步實現(xiàn)一體化,賦予網(wǎng)絡(luò)用戶極為廣闊的自由空間,可以切實滿足他們的實際需求。在此背景下,多樣化軟件應(yīng)運而生。但是這也產(chǎn)生了嚴重的安全問題,在以往十年當(dāng)中,全球前沿的科技企業(yè),例如:谷歌以及Facebook等,均出現(xiàn)過極為惡劣的各類網(wǎng)絡(luò)安全事件,造成了大量用戶數(shù)據(jù)泄露,從而危害到網(wǎng)絡(luò)用戶自身的財產(chǎn)安全。故而在當(dāng)前時期,應(yīng)當(dāng)致力于推進網(wǎng)絡(luò)入侵檢測工作,實現(xiàn)全面的智能化。本文就基于此,將從聚類分析在網(wǎng)絡(luò)安全中的應(yīng)用這個選題出發(fā),借助于聚類算法的作用,積極構(gòu)建出科學(xué)完善的網(wǎng)絡(luò)入侵檢測模型,以此來突出自身的優(yōu)勢。該研究的意義在于隨著web技術(shù)的持續(xù)發(fā)展,web的架構(gòu)將會越來越復(fù)雜,面對的攻擊也會是千變?nèi)f化,傳統(tǒng)的基于規(guī)則的網(wǎng)絡(luò)入侵檢測可能會慢慢消失,網(wǎng)絡(luò)入侵檢測的智能化將會成為主流,該研究將會給未來網(wǎng)絡(luò)入侵檢測的智能提供一個更好的素材。1.1.1什么是web異常檢測在解釋什么是web異常檢測之前,本文首先針對其基本概念,進行大致的闡述:其旨在發(fā)現(xiàn)相對特殊的對象,即所謂的離群點。故而通常情況下,異常檢測也被人們稱之為偏差檢測。而web異常檢測就是指在眾多的指向服務(wù)器的鏈接當(dāng)中。找到一些和正常鏈接不同的異常鏈接并阻斷它。來保護服務(wù)器設(shè)備免受一些不法分子的攻擊。1.1.2基于機器學(xué)習(xí)web異常檢測技術(shù)通常情況下,以往的web入侵檢測技術(shù),主要借助于維護規(guī)則集的作用,針對不正當(dāng)?shù)娜肭衷L問,進行及時有效的攔截。然而,這種方式實則存在某些不足之處,例如:高技術(shù)含量的黑客,往往能夠繞過硬規(guī)則。與此同時,該規(guī)則很難承受來源于0day發(fā)起的攻擊;除此之外,該規(guī)則的建立還需耗費極為高昂的經(jīng)濟成本,這無疑加大企業(yè)的負擔(dān)。在此情況下,以相關(guān)機器學(xué)習(xí)技術(shù)為基礎(chǔ),而成功構(gòu)建的新型web入侵檢測技術(shù),實則能夠針對以往方法的劣勢進行及時彌補。從本質(zhì)上而言,機器學(xué)習(xí)方法實則可以借助于數(shù)量可觀的數(shù)據(jù),來實現(xiàn)一系列自動化學(xué)習(xí)等,故而其在現(xiàn)今已經(jīng)廣泛應(yīng)用于圖像領(lǐng)域以及相應(yīng)的自然語言處理等多樣化領(lǐng)域。但是,該方法同樣存在某些不足之處。其中尤為關(guān)鍵的即為標簽數(shù)據(jù)的顯著短缺,而且趨于多樣化,不利于模型的后期學(xué)習(xí)等相關(guān)工作。故而在大部分情況下,該方法基本在不存在任何監(jiān)督主體形式的環(huán)境中進行。通過基于數(shù)量可觀的正常日志,積極構(gòu)建出科學(xué)合理的模型,再將不符合該模型的數(shù)據(jù)定義為異常數(shù)據(jù)。此類思路完全相悖于攔截規(guī)則。值得一提的是,攔截規(guī)則旨在針對不正當(dāng)?shù)娜肭中袨椋M行相對精準的識別。1.2課題研究的內(nèi)容本課題主要研究的是利用機器學(xué)習(xí)中的聚類算法K-Means和DBSCAN算法,基于KDD-Cup99數(shù)據(jù)集的作用,來構(gòu)建網(wǎng)絡(luò)入侵檢測模型,然后對這兩個不同的聚類算法所構(gòu)建的網(wǎng)絡(luò)入侵檢測模型的性能進行比較,篩選出性能比較高的算法。本章小結(jié)在本章節(jié)中,重點針對本文的基本背景及其實際意義,進行相對深入的細致闡述。以及對web異常檢測和機器學(xué)習(xí)的簡單介紹,并且簡述了本課題的研究內(nèi)容,讓我們對本課題有一個大概的了解。第二章聚類分析概述2.1什么是聚類分析聚類分析的基本含義為:將相關(guān)對象所組成的集合進行細致分組,從而將性質(zhì)相似的對象歸為一類。從這一角度而言,聚類和分類是不同的。相較于分類而言,聚類表現(xiàn)出一定的差異性,其中尤為關(guān)鍵的即為所劃分的類必須未知。聚類的本質(zhì),在于將海量數(shù)據(jù)歸于相應(yīng)的類別亦或為簇中,故而在相同簇中所含有的對象,實則表現(xiàn)出極為顯著的相似性,反之則表現(xiàn)出相對明顯的差異性?;诮y(tǒng)計學(xué)的角度進行觀察,聚類分析實則借助于數(shù)據(jù)建模的作用,針對現(xiàn)有的相關(guān)數(shù)據(jù),進行科學(xué)得當(dāng)?shù)暮喕?。事實上,以往的統(tǒng)計聚類分析方法,重點涵蓋分解法、動態(tài)聚類法以及有重疊聚類等相關(guān)類別。值得一提的是,某些以k-均值等核心算法為基準的各類聚類分析工具,在當(dāng)前時期已經(jīng)在以SPSS為主的統(tǒng)計分析軟件包中,獲得相對廣泛的實際應(yīng)用。如果基于機器學(xué)習(xí)的方面來看,簇實則等同于隱藏模式。而聚類的本質(zhì)則在于針對簇所表現(xiàn)出的無監(jiān)督學(xué)習(xí)行為,進行及時采集。相較于分類而言,聚類表現(xiàn)出尤其顯著的差異性,其實則屬于觀察式學(xué)習(xí)的范疇。聚類分析實則表現(xiàn)出相對良好的探索性,可基于海量的樣本數(shù)據(jù),實現(xiàn)科學(xué)深入的自動分類。由于各個研究者的采用方法各不相同,故而通過聚類分析一般會獲得相異的結(jié)論,即使研究對象為同組數(shù)據(jù),也是如此?;谌粘?yīng)用的方面而言,聚類分析實則對于現(xiàn)今的數(shù)據(jù)挖掘領(lǐng)域至關(guān)重要。與此同時,聚類還可被看作為完全獨立的工具,針對相關(guān)數(shù)據(jù)的實際分布情況,進行及時采集。通過觀察和篩選,來針對某聚簇集合,進行更深層次的細致分析。2.2基于距離的聚類從本質(zhì)上而言,K-Means聚類算法實則基于空間存在的k個點,來實現(xiàn)后期的聚類工作。并將其中最近的相關(guān)對象進行細致歸類,借助于迭代的首選,分別更新多樣化聚類中心的實際數(shù)值,以此來獲得最佳效果。對于K-Means算法而言,其所遵循的基本流程大致如下:輸入是樣本集D={x1,x2,...xm},聚類的簇樹k,最大迭代次數(shù)N輸出是簇劃分C={C1,C2,...Ck}1)從數(shù)據(jù)集D中隨機選擇k個樣本作為初始的k個質(zhì)心向量:{μ1,μ2,...,μk}2)對于n=1,2,...,Na)將簇劃分C初始化為Ct=?t=1,2...kb)對于i=1,2...m,計算樣本xi和各個質(zhì)心向量μj(j=1,2,...k)的距離:dij=||xi?μj||22,將xi標記最小的為dij所對應(yīng)的類別λi。此時更新Cλi=Cλi∪{xi}c)對于j=1,2,...,k,對Cj中所有的樣本點重新計算新的質(zhì)心μj=1|Cj|∑x∈Cjxe)如果所有的k個質(zhì)心向量都沒有發(fā)生變化,則轉(zhuǎn)到步驟3)3)輸出簇劃分C={C1,C2,...Ck}一般情況下,K-Means聚類算法通常含有下述基本特征。例如:其在建設(shè)過程中相對迅猛,并且極為簡潔,尤其適用于大數(shù)據(jù)集的處理,表現(xiàn)出極為優(yōu)良的可伸縮性。值得一提的是,對于該類算法而言,其所表現(xiàn)出的時間復(fù)雜度實則為O(nkt),在此之中,n意味著數(shù)據(jù)當(dāng)中全部集中對象的實際數(shù)量,與此同時,t=意味著全部算法迭代的實際次數(shù)。除此之外,k意味著簇的實際數(shù)量。2.3基于密度的聚類DBSCAN聚類算法與K-Means不同,它是基于聚類的一種算法。它旨在假設(shè)類別可以取決于樣本分布過程中所表現(xiàn)出的緊密性。由此得知,對于類別完全相同的樣本而言,其彼此之間實則表現(xiàn)為緊密結(jié)合的關(guān)系,將其聚合起來即為聚類類別。在此情況下,只需將全部緊密結(jié)合的樣本進行細致劃分,使其生成多樣化類別,即可獲得全部聚類類別結(jié)果。對于此類算法而言,其關(guān)于聚類的基本概念如下:借助于密度可達關(guān)系的作用,將能得到和最大密度緊密連接的某特定樣本集合,即簇。在上述簇中,能夠包含數(shù)個核心對象。假設(shè)僅僅存在單個核心對象,則意味著簇中存在的其他數(shù)量可觀的非核心對象樣本,均處于該特定核心對象所表現(xiàn)出的?-鄰域當(dāng)中;與此同時,假設(shè)存在若干核心對象,則意味著簇中存在的隨機核心對象,所表現(xiàn)出的?-鄰域當(dāng)中,必將含有某個除自身以外的核心對象,才能達到緊密結(jié)合的效果。值得一提的是,若將全部核心對象所表現(xiàn)出的的?-鄰域中,所蘊含的全體樣本集合進行緊密組合,必將形成某特定的DBSCAN聚類簇。若想找出該特定的簇樣本集合,應(yīng)當(dāng)借助于DBSCAN算法的作用。首先,隨機采集某尚未分類的核心對象,將其定義為種子。其次,找出全部與之相關(guān)聯(lián)的密度可達的樣本集合,即可獲得聚類簇。隨后重復(fù)上述步驟,直至全部核心對象均含有自身的類別。DBSCAN聚類算法的主要特點是:相較于K-means基本方法而言,DBSCAN無需提前知曉后期的簇類數(shù)量,并能采集多樣化形狀的簇類。與此同時,該方法可精準識別相應(yīng)的噪聲點,并且相對于離群點,表現(xiàn)出極為優(yōu)良的魯棒性和檢測性。如果將DBSCAN和數(shù)據(jù)庫之間進行協(xié)同運用,則將能夠有效提高現(xiàn)有區(qū)域的實際查詢速度。2.4本章小結(jié)在本章節(jié)中,旨在針對K-Means算法以及相應(yīng)的DBSCAN算法,所表現(xiàn)出的基本概念,進行相對深入的細致闡述。從而為后面的算法建模提供幫助。第三章Web入侵技術(shù)概述在當(dāng)今web應(yīng)用越來越復(fù)雜的時代,不法分子對于web所采取的攻擊技術(shù)也愈加趨于多樣化,下面簡單介紹10種高發(fā)的web入侵技術(shù):3.1sql注入:即借助于將相關(guān)SQL命令徑直插入至Web表單即刻提交等手段,誘導(dǎo)服務(wù)器執(zhí)行某些惡意的SQL命令。整體而言,其實則借助于當(dāng)前的應(yīng)用程序,將相關(guān)SQL命令徑直傳遞至后臺數(shù)據(jù)庫引擎是,使其即刻執(zhí)行。這種行為一般基于數(shù)據(jù)庫當(dāng)中的漏洞而實現(xiàn)。造成sql注入的原因有很多,其中主要涉及到①類型處理出現(xiàn)差錯;②數(shù)據(jù)庫配置表現(xiàn)出的安全性還有待提高;③查詢集處理尚不科學(xué);④錯誤處理并非恰當(dāng)。這種漏洞會造成數(shù)據(jù)庫信息泄漏,網(wǎng)頁篡改,數(shù)據(jù)庫被惡意操作等后果。3.2XSS攻擊實則存在于web應(yīng)用當(dāng)中,表現(xiàn)為尤為典型的計算機安全漏洞。其可以允許惡意web用戶,將不善意的代碼徑直植入至其他多樣化用戶的頁面當(dāng)中。通常情況下,XSS能夠細分成三種類型,其中包含反射型以及DOM型,此外還涵蓋存儲型。從本質(zhì)上而言,XSS危害也特別巨大,甚至能直接盜取各種類型的用戶帳號,例如:用戶網(wǎng)銀帳號等。與此同時,其還能針對尤為關(guān)鍵的企業(yè)數(shù)據(jù),進行相對精準的控制,其中包含但并不僅限于讀取數(shù)據(jù)以及篡改數(shù)據(jù)等。除此之外,XSS還能竊取企業(yè)尤為關(guān)鍵的商業(yè)資料,危害極大。3.3CSRF跨站請求偽造,通常又被人們稱之為SessionRiding,其本質(zhì)在于惡意利用某特定網(wǎng)站。相較于XSS而言,其表現(xiàn)出尤為顯著的差異性,詳細如下:XSS的攻擊對象僅僅為存在于站點之中的海量信任用戶,但是對于CSRF來說,其旨在基于一系列偽裝,使其自身成為網(wǎng)站信任的用戶,以此來發(fā)送惡意請求。從這一角度而言,CSRF攻擊雖然現(xiàn)今尚未獲得相對廣泛的實際應(yīng)用,然而卻很容易被人忽視,故而其實則比XSS更加危險。3.4通常情況下,分布式拒絕服務(wù)攻擊的基本含義為:通過各種類型服務(wù)器技術(shù)的協(xié)同作用,將若干計算機之間進行緊密結(jié)合,從而形成性能強大的攻擊平臺,以此來針對若干目標進行DDoS攻擊,這樣所造成的攻擊威力,將呈現(xiàn)倍數(shù)式增長。一般情況下,首先,攻擊者會借助于某特定的偷竊帳號,將自身所含的DDoS主控程序,徑直安裝至某特定的計算機當(dāng)中,其次,基于預(yù)先擬定的時間,將現(xiàn)有的主控程序和數(shù)量可觀的代理程序之間進行實時通訊。在此情況下,一旦代理程序已經(jīng)成功接收相關(guān)指令,將會即刻發(fā)動迅猛攻擊。值得一提的是,借助于各種類型服務(wù)器技術(shù)的協(xié)同作用,主控程序可以在數(shù)秒的時間內(nèi),實現(xiàn)眾多代理程序的數(shù)千次運行。在這之中,尤為關(guān)鍵的時是DDoS攻擊一般借助于網(wǎng)絡(luò)中相關(guān)基本協(xié)議的作用,例如:Email協(xié)議,故而難以對其進行有效防御,只能在攻擊出現(xiàn)的情況下,即刻停止服務(wù)來對其進行限制。但若如此,合法用戶的請求必將得不到回應(yīng),這將會影響到網(wǎng)站獲得的經(jīng)濟收益。故而一旦發(fā)生大規(guī)模的DDoS事件,將會極大耗費原本極為充足的網(wǎng)絡(luò)資源。3.5SSRF旨在將內(nèi)部系統(tǒng)作為自身的攻擊目標,其同樣借助于服務(wù)端漏洞而實現(xiàn)。第四章基于聚類的Web入侵檢測實現(xiàn)4.1開發(fā)工具介紹本文所選擇的開發(fā)語言為python。這是由于,該語言已經(jīng)成為現(xiàn)今炙手可熱的計算機程序設(shè)計語言之一。其本質(zhì)為腳本語言,表現(xiàn)出極為良好的動態(tài)特征,而且還能面向?qū)ο?。Python自研發(fā)之初,旨在編寫各種類型的自動化腳本。然而在當(dāng)前時期,由于版本的持續(xù)升級,其新增某些尤為關(guān)鍵的語言功能,故而廣泛適用于大規(guī)模的項目當(dāng)中。開發(fā)工具使用Anaconda,Anaconda實則為Python的典型發(fā)行版本,表現(xiàn)出開源的基本特性,其中涉及到conda等高達180個科學(xué)包。由于其中涵蓋數(shù)量可觀的科學(xué)包,故而Anaconda一般需要下載相對較大的文件。用戶若想節(jié)約空間,也能運用Miniconda版本,該版本相對較小。4.2數(shù)據(jù)集的選擇本文旨在采用KDDCUP99數(shù)據(jù)集。1998年,西方發(fā)達國家的美國MIT林肯實驗室,曾經(jīng)研發(fā)出此數(shù)據(jù)集,并且積極構(gòu)建出適用于自身軍事領(lǐng)域的模擬網(wǎng)絡(luò)環(huán)境。在此情況下,該實驗室連續(xù)收集高達9周的TCPdump(*)網(wǎng)絡(luò)連接數(shù)據(jù)以及相應(yīng)的系統(tǒng)審計數(shù)據(jù),從而針對多樣化用戶以及各種類型的攻擊手段,進行科學(xué)合理的仿真。值得一提的是,該采集過程細分為兩大階段,詳細如下:第一階段,7周。其涵蓋高達5,000,000的網(wǎng)絡(luò)連接記錄;第二階段,2周。其涵蓋高達2,000,000的網(wǎng)絡(luò)連接記錄。在上述內(nèi)容中所涉及的網(wǎng)絡(luò)連接,可以看作為基于某特定的時間當(dāng)中,自始至終而形成的TCP數(shù)據(jù)包序列。在此期間,數(shù)據(jù)將會基于預(yù)定義協(xié)議,完成自源IP地址之初,直至目的IP地址為止的整體傳送過程。需要注意的是,任何網(wǎng)絡(luò)連接均會被系統(tǒng)標記,從而細分成正常以及異常兩類。其中,異常類型一共含有4大類別,累計涵蓋高達39種攻擊類型。4種異常類型分別是:拒絕服務(wù)攻擊,例如;主要代表來源于遠程主機所發(fā)出的未授權(quán)訪問,例如未授權(quán)的本地超級用戶特權(quán)訪問,例如端口監(jiān)視或掃描,例如。在此之后,全球著名學(xué)者SalStolfo及其WenkeLee,曾經(jīng)借助于數(shù)據(jù)挖掘等多樣化技術(shù),針對上述所提及的數(shù)據(jù)集,進行更深層次的特征分析,以及相對深入的數(shù)據(jù)預(yù)處理工作,以此來組成嶄新的數(shù)據(jù)集,即1999年尤為典型的KDD99數(shù)據(jù)集。對于此類數(shù)據(jù)集而言,其旨在基于41個特征值,針對連接(*),進行極為細致的描述:2.normal。其中最后一個字段是用來標記該條數(shù)據(jù)是正常還是異常的數(shù)據(jù)。4.3數(shù)據(jù)預(yù)處理(標準化) 因為kddcup99數(shù)據(jù)集中存在非數(shù)值化數(shù)據(jù),于是對該數(shù)據(jù)集進行標準化處理第一步將定義將源文件行中3種協(xié)議類型轉(zhuǎn)換成數(shù)字標識的函數(shù),代碼如下:protocol_list=['tcp','udp','icmp']returnfind_index(input[1],protocol_list)[0]第二步將定義將源文件行中70種網(wǎng)絡(luò)服務(wù)類型轉(zhuǎn)換成數(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ù)字標識的函數(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ù)字標識,以此來實現(xiàn)的函數(shù)代碼詳細如下:#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ù)的標準化工作,完成模型建立前的準備。4.4建立入侵檢測模型4.4.1利用k-means建立聚類借助于sklearn當(dāng)中所蘊含的K-Means算法,將能針對上述各類數(shù)據(jù),進行科學(xué)合理的聚類,首先需要對數(shù)據(jù)進行讀取,并且應(yīng)當(dāng)借助于pandas模塊中涉及的pd函數(shù),針對相關(guān)數(shù)據(jù)進行相應(yīng)的讀取,其基本代碼如下:然后調(diào)用K-Means進行數(shù)據(jù)的分析,由于數(shù)據(jù)并不是二維的,在數(shù)據(jù)分析完成以后,需要使用sklearn.decomposition模塊中的PCA函數(shù)對數(shù)據(jù)進行降維,其次,借助于模塊中所涉及的plt函數(shù),針對現(xiàn)有的圖進行良好的繪制,對數(shù)據(jù)進行可視化,因為如果樣本數(shù)過多,繪制出來的散點圖幾乎看不出區(qū)別,所以繪制下圖時只選擇了24條數(shù)據(jù)來進行演示。4.4.2利用DBSCAN建立聚類對于DBSCAN而言,其在積極構(gòu)建自身模型時,完全等同于K-Means的構(gòu)建過程。首先需要對數(shù)據(jù)進行讀取,并且應(yīng)當(dāng)借助于pandas模塊中涉及的pd函數(shù),針對相關(guān)數(shù)據(jù)進行相應(yīng)的讀取,其基本代碼如下:然后調(diào)用DBSCAN進行數(shù)據(jù)的分析,由于數(shù)據(jù)并不是二維的,在數(shù)據(jù)分析完成以后,需要使用sklearn.decomposition模塊中的PCA函數(shù)對數(shù)據(jù)進行降維,其次,借助于模塊中所涉及的plt函數(shù),針對現(xiàn)有的圖進行良好的繪制,并對數(shù)據(jù)進行可視化展示。4.5模型的性能評價若K-Means模型以及相應(yīng)的DBSCAN模型均成功構(gòu)建,則在此情況下,我們選取100條已經(jīng)打好標簽的數(shù)據(jù),放入數(shù)據(jù)中進行測試,測試結(jié)果如下表所示:K-Measn測試結(jié)果DBSCAN測試結(jié)果由以上的數(shù)據(jù)測試結(jié)果可以看出K-Means的誤報率為4%,而dbscan的誤報率為%2.1,從這個結(jié)果可以看出,在異常檢測檢測中DBSCAN算法的準確率是要高過K-Means算法的準確率的。4.6本章小結(jié)在這一章里面我們完成了數(shù)據(jù)的標準化,模型的建立,模型的性能對比的工作,并通過對樣本檢測的誤報率的對比,發(fā)現(xiàn)了在異常檢測這個應(yīng)用領(lǐng)域里面,相較于K-Means而言,DBSCAN所表現(xiàn)出的精準率相對較高。5總結(jié)在本次的課題研究中,首先針對現(xiàn)今尤為典型的web入侵檢測技術(shù),進行相對深入的細致闡述,然后又結(jié)合機器學(xué)習(xí),對本研究課題進行了一個簡述。最后分別介紹了研究所用到的工具和算法和數(shù)據(jù)。通過本次研究,我們以異常檢測為切入點,對K-Means和DBSCAN算法在異常檢測中性能的高低進行了比較,發(fā)現(xiàn)在樣本數(shù)據(jù)一致的情況下,相較于K-Means而言,DBSCAN所表現(xiàn)出的精準率相對較高。至此本課題的研究結(jié)束。但是在模型的調(diào)試過程中也發(fā)現(xiàn)了DBSCAN中的eps和minpts這兩個參數(shù)非常的難以確定,這也造成了最后的結(jié)果數(shù)據(jù)分析有一定的誤差。致謝四年的大學(xué)學(xué)習(xí)生活在即將劃上一個句號,而于我的人生來說卻僅僅只是一個逗號,我將面對新的征程的開始。本研究及論文是在我的導(dǎo)師梁老師的親切關(guān)懷和耐心的指導(dǎo)下完成的。偉人、名人固然為我所崇拜,可是我更迫切地想要把我的敬意獻給給一位平凡的人,我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年邯鄲市成安縣招聘村黨務(wù)(村務(wù))工作者考試真題及一套答案詳解
- 2025廣西來賓市招聘鄉(xiāng)村振興專員221人筆試備考題庫參考答案詳解
- 湖南省名校聯(lián)盟2024-2025學(xué)年高二上學(xué)期入學(xué)考試物理試題(解析版)
- 2025年3月四川省中職單招語文試題卷附答案解析
- 2025年嬰幼兒配方食品營養(yǎng)配方調(diào)整與嬰幼兒早期教育研究報告
- 2019-2025年一級注冊建筑師之建筑設(shè)計題庫綜合試卷B卷附答案
- 利用BIM技術(shù)進行事故風(fēng)險分析的案例分享
- 護理病患家屬的技巧
- 地下室防霉涂料涂刷遍數(shù)專項方案
- 保險公司支創(chuàng)活動方案
- 食品產(chǎn)品認證管理-地理標志產(chǎn)品認證
- 2023年山東省春季高考語文模擬卷試題及答案(含答題卡)
- Hirota方法在孤子方程中的應(yīng)用的中期報告
- 抹灰安全技術(shù)操作規(guī)程
- 【互聯(lián)網(wǎng)消費金融行業(yè)的風(fēng)險控制研究-以螞蟻花唄為例11000字(論文)】
- 2022-2023學(xué)年甘肅省酒泉市敦煌市六年級下學(xué)期小升初精選數(shù)學(xué)試卷含答案
- 2022-2023學(xué)年仙桃市六年級數(shù)學(xué)第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 2023年春季國開《學(xué)前教育科研方法》期末大作業(yè)(參考答案)
- 上海初級第二學(xué)期六年級地理期末考試卷
- 中國結(jié)算第二場結(jié)算綜合業(yè)務(wù)綜合業(yè)務(wù)知識培訓(xùn)
- 海洋石油安全管理細則-25號令(新修改)
評論
0/150
提交評論