搭建ELK的環(huán)境來對(duì)日志進(jìn)行處理和分_第1頁
搭建ELK的環(huán)境來對(duì)日志進(jìn)行處理和分_第2頁
搭建ELK的環(huán)境來對(duì)日志進(jìn)行處理和分_第3頁
搭建ELK的環(huán)境來對(duì)日志進(jìn)行處理和分_第4頁
搭建ELK的環(huán)境來對(duì)日志進(jìn)行處理和分_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章概述1.1課題的來源時(shí)代的發(fā)展,在互聯(lián)網(wǎng)方面體現(xiàn)的淋漓盡致,更多的人會(huì)選擇使用網(wǎng)絡(luò)來進(jìn)行娛樂,學(xué)習(xí),辦公。網(wǎng)絡(luò)使用的增加,而且互聯(lián)網(wǎng)的應(yīng)用場景的多樣化,計(jì)算機(jī)的網(wǎng)絡(luò)安全格局就作為格外的重要內(nèi)容之一,越來越多的企業(yè),政府機(jī)關(guān),以及個(gè)人開始關(guān)注這一方面。入侵檢測作是網(wǎng)絡(luò)安全防護(hù)的一部分。作為一種主動(dòng)防護(hù)技術(shù),給系統(tǒng)提供實(shí)時(shí)保護(hù)策略,而且不僅僅針對(duì)來自于內(nèi)部的攻擊,還有來自于外部攻擊以及用戶自身的誤操作等。這可以在網(wǎng)絡(luò)遭受實(shí)質(zhì)性侵害之前,能給系統(tǒng)提供在遭受侵入攻擊時(shí)的應(yīng)對(duì)措施,提升系統(tǒng)操作者的安全管理能力,使信息安全架構(gòu)的完整性得到提升。入侵檢測的意義在于,當(dāng)惡意的攻擊或者文件在通過防火墻之后,系統(tǒng)有發(fā)現(xiàn)惡意文件或者程序的能力。否則,當(dāng)惡意的攻擊和用戶行為在防火墻之后,就沒有有效的手段發(fā)現(xiàn)和警告威脅。在當(dāng)前的互聯(lián)網(wǎng)高度發(fā)達(dá)的現(xiàn)狀下,受制于計(jì)算機(jī)硬件以及計(jì)算機(jī)軟件方面的制約,導(dǎo)致傳統(tǒng)的網(wǎng)絡(luò)入侵檢測有些力不從心。具體的缺點(diǎn)體現(xiàn)在以下的這些方面,例如,系統(tǒng)對(duì)異常檢測的報(bào)告的誤報(bào)率居高不下,對(duì)誤用檢測的方面報(bào)告的漏報(bào)率特別高;系統(tǒng)對(duì)計(jì)算機(jī)硬件的占用資源太多加在一定大系統(tǒng)符合,系統(tǒng)對(duì)當(dāng)前規(guī)則未知的網(wǎng)絡(luò)的監(jiān)測能力不盡人意;系統(tǒng)對(duì)異常的數(shù)據(jù)分析有過多的忽略沒有太多重視,系統(tǒng)需要過多的人工干預(yù)自動(dòng)化程度低下等。在上述的各種網(wǎng)絡(luò)入侵系統(tǒng)現(xiàn)存的問題的前提下,需要研究者開始研究使用大數(shù)據(jù)技術(shù)結(jié)合設(shè)計(jì)網(wǎng)絡(luò)入侵檢測系統(tǒng),來加強(qiáng)系統(tǒng)的功能和提高系統(tǒng)對(duì)各類已知甚至未知攻擊的應(yīng)對(duì)能力。研究者在充分分析和了解入侵檢測體系的前提下,結(jié)合機(jī)器學(xué)習(xí)大數(shù)據(jù)的思路和方法,在設(shè)計(jì)入侵檢測系統(tǒng)時(shí),結(jié)合大數(shù)據(jù)算法所訓(xùn)練的模型從而能夠更好的對(duì)用戶的行為進(jìn)行分析,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行實(shí)時(shí)的檢測,并不斷使用現(xiàn)有數(shù)據(jù)學(xué)習(xí)訓(xùn)練,完善模型提高預(yù)測和判斷的精度。還可以從使用其他的主機(jī)或者開源的數(shù)據(jù)集來訓(xùn)練本地的模型,提高系統(tǒng)應(yīng)對(duì)威脅的能力和水平。為了有效的利用大數(shù)據(jù)的特性,可以分析不同的系統(tǒng)源和不同的地區(qū)地點(diǎn)的網(wǎng)絡(luò)流量和網(wǎng)絡(luò)惡意攻擊。提取一個(gè)大的數(shù)據(jù)集,用于訓(xùn)練我們的大數(shù)據(jù)模型。在使用大數(shù)據(jù)技術(shù)前,應(yīng)當(dāng)充分了解入侵檢測體系的相關(guān)通過對(duì)計(jì)算機(jī)運(yùn)行的情況進(jìn)行實(shí)時(shí)監(jiān)測、控制用戶的使用價(jià)值,保證其對(duì)大數(shù)據(jù)技術(shù)的應(yīng)用合理合法。通過對(duì)用戶的上網(wǎng)行為.判斷入侵行為攔截違法侵害行為通過一系列安全反網(wǎng)絡(luò)行為進(jìn)行監(jiān)測檢測其非法異常行為.在對(duì)非法程序的入侵行為鑒定下,應(yīng)該需要保證當(dāng)前的系統(tǒng)安全穩(wěn)定運(yùn)行。從這里可以看出來,網(wǎng)絡(luò)入侵檢測的方式方法是對(duì)系統(tǒng)和網(wǎng)絡(luò)請(qǐng)求方面進(jìn)行檢測與判斷。通過對(duì)市場數(shù)據(jù)、日常行為安全日志等內(nèi)容算機(jī)系統(tǒng)內(nèi)、網(wǎng)絡(luò)中的安全管理技術(shù),可收集分析不同系統(tǒng)源的收集分析其數(shù)據(jù)背后的信息建立起與計(jì)算機(jī)系統(tǒng)關(guān)鍵點(diǎn)相重要節(jié)點(diǎn)信息將其作為重要依據(jù)為計(jì)算機(jī)運(yùn)行穩(wěn)定性的判連接的信息。因此使用大數(shù)據(jù)的思路來進(jìn)行網(wǎng)絡(luò)入侵檢測分析,可以有效的提高檢測的精度和廣度。并且使得分析具有一定的預(yù)測未知攻擊的能力,而且可以在一定程度上提高網(wǎng)絡(luò)入侵檢測分析的自動(dòng)化水平,對(duì)企業(yè)以及政府來說具有相當(dāng)重要的意義。1.2基于大數(shù)據(jù)的入侵檢測系統(tǒng)的研究意義基于誤用檢測的網(wǎng)絡(luò)入侵檢測系統(tǒng)是現(xiàn)在比較常用的。而且當(dāng)前的系統(tǒng)中現(xiàn)有的存在的特征標(biāo)識(shí)列表,都是基于一些安全專家的經(jīng)驗(yàn)和知識(shí),還有一些研究人員的研究和探索成果來設(shè)計(jì)和創(chuàng)建的。沙盒在網(wǎng)絡(luò)入侵檢測之中也有一席之地,將可能存在威脅的文件或者應(yīng)用程序,可以放入沙盒存儲(chǔ)或者運(yùn)行。如果是惡意的軟件或者程序,系統(tǒng)可以發(fā)出警報(bào),并且不會(huì)對(duì)影響沙盒之外的系統(tǒng)。但是,這個(gè)方法只能檢測已知的攻擊。所以,惡意的攻擊者改變已知的攻擊文件類型的特征和標(biāo)識(shí),那么大部分的檢測方法將會(huì)面臨失效的風(fēng)險(xiǎn)。所以這個(gè)時(shí)候,我們就迫切需要一種更加穩(wěn)定,并且能識(shí)別未知攻擊的方法,所以我們將使用大數(shù)據(jù)和機(jī)器學(xué)習(xí)的思維方式來進(jìn)行網(wǎng)絡(luò)入侵檢測系統(tǒng)的設(shè)計(jì),從而提高系統(tǒng)應(yīng)為未知風(fēng)險(xiǎn)的能力,使其更加穩(wěn)定,并且更加高效和智能化。大型企業(yè)和政府相關(guān)機(jī)構(gòu)對(duì)網(wǎng)絡(luò)安全重視程度的加深,以及大數(shù)據(jù)機(jī)器學(xué)習(xí)方法的流行和日趨成熟,企業(yè)和政府都有在網(wǎng)絡(luò)安全方面應(yīng)用大數(shù)據(jù)思路的想法和趨勢。Splunk、Vectra、趨勢科技、賽門鐵克、Invincea甚至IBM等公司都已經(jīng)開始著重對(duì)機(jī)器學(xué)習(xí)方面進(jìn)行研究,并開始建立相關(guān)的部門來研究和設(shè)計(jì)相關(guān)的系統(tǒng)和軟件。同樣的,更多的安全企業(yè),在絞盡腦汁的通過使用機(jī)器學(xué)習(xí)的思路來進(jìn)行入侵檢測方面的應(yīng)用,并且想要在一定程度上,配合著復(fù)雜的數(shù)學(xué)的理論推導(dǎo)和詳盡的數(shù)學(xué)計(jì)算來預(yù)測和研究,推測攻擊者的攻擊目標(biāo),目的,還有心態(tài)。企業(yè)在這個(gè)方面,也想盡辦法來達(dá)到這個(gè)目的,該公司給客戶提供了能夠預(yù)測和防范高級(jí)網(wǎng)絡(luò)威脅的技術(shù)和服務(wù)。同樣,SentinelOne公司也在使用預(yù)測的方式,建立并訓(xùn)練模型來實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài),檢測網(wǎng)絡(luò)風(fēng)險(xiǎn),還有實(shí)時(shí)探查相關(guān)網(wǎng)絡(luò)安全設(shè)備的運(yùn)行狀態(tài)。1、基于大數(shù)據(jù)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的現(xiàn)狀在賽門鐵克任職機(jī)器學(xué)習(xí)高級(jí)總監(jiān)的AndrewGardner坦言,機(jī)器學(xué)習(xí)的“自然變革”必然是要把人類的經(jīng)驗(yàn)和智慧和計(jì)算機(jī)相融合的。所以在這個(gè)大趨勢之下,我們應(yīng)該努力探索大數(shù)據(jù)機(jī)器學(xué)習(xí)方面與網(wǎng)絡(luò)安全方面的融合,使用這個(gè)強(qiáng)大的思路和理論來加強(qiáng)網(wǎng)絡(luò)安全方面應(yīng)用的能力和水平。 本科畢業(yè)設(shè)計(jì)(論文)第二章需求分析2.1入侵檢測市場需求分析近年來由于互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展和人們生活質(zhì)量的提高,網(wǎng)絡(luò)走進(jìn)了千家萬戶成為生活中不可或缺的一部分,網(wǎng)絡(luò)安全更是重中之重,隨著網(wǎng)絡(luò)安全防護(hù)意識(shí)深入人心,亦將其應(yīng)用到社會(huì)生活的各個(gè)方面,網(wǎng)絡(luò)入侵檢測系統(tǒng)作為網(wǎng)絡(luò)安全的一個(gè)方面,也開始受到更多關(guān)注。新的計(jì)算機(jī)技術(shù),信息技術(shù)的應(yīng)用必將會(huì)給網(wǎng)絡(luò)安全,網(wǎng)絡(luò)空間安全帶來新的機(jī)遇及挑戰(zhàn)。根據(jù)相關(guān)研究院的預(yù)測,到2025年,我國網(wǎng)絡(luò)安全的市場份額將超過1200億人民幣。并且會(huì)保持很高的增長率,預(yù)估會(huì)有30%。所以在十幾年后,市場可能會(huì)擴(kuò)大到萬億級(jí)別。由此可見,網(wǎng)絡(luò)安全方面的市場潛力巨大。由于,計(jì)算機(jī)技術(shù)的發(fā)展,企業(yè)以及政府的網(wǎng)絡(luò)安全泄露事件發(fā)生頻率越來越高,國外的Facebook、中國的bilibili以及其他用戶量很大的網(wǎng)站都有過大規(guī)模的用戶數(shù)據(jù)泄漏事件發(fā)生,因此網(wǎng)絡(luò)入侵檢測作為防火墻之后的保護(hù)嗎,正在越來越收到國際的重視。所以,相關(guān)的業(yè)內(nèi)專家,從現(xiàn)在的國際網(wǎng)絡(luò)安全的局勢,還有中國的在網(wǎng)絡(luò)空間安全相關(guān)的國家戰(zhàn)略出發(fā),認(rèn)為國家政府會(huì)有對(duì)計(jì)算機(jī)信息技術(shù),以及網(wǎng)絡(luò)安全相關(guān)企業(yè)提供一定的扶持和幫助。而且現(xiàn)在在國外對(duì)中國實(shí)行5G封鎖戰(zhàn)略的前提下,國家更加提高對(duì)中國本土網(wǎng)絡(luò)設(shè)備產(chǎn)業(yè)和計(jì)算機(jī)相關(guān)行業(yè)的扶持力度。網(wǎng)絡(luò)安全方面的巨大的發(fā)展?jié)摿?,毋庸置疑的吸引了大量資本家的眼球,我國許多的資本家都開始想盡辦法投資新興的網(wǎng)絡(luò)安全方面的企業(yè)以及機(jī)構(gòu)。據(jù)不完全統(tǒng)計(jì),2018年全球在安全相關(guān)企業(yè)總?cè)谫Y都創(chuàng)造了新的高度,去年全球投資額350億美元,國內(nèi)投資額8億美元。業(yè)內(nèi)相關(guān)的投資機(jī)構(gòu)坦言:網(wǎng)絡(luò)安全行業(yè)的資本注入和發(fā)展的速度是呈現(xiàn)出幾何增長的趨勢,并且大膽預(yù)測,到了2022年,安全行業(yè)的總市場額度將會(huì)達(dá)到驚人的千億級(jí)大小。2.2可行性分析2.2.1技術(shù)可行性1、網(wǎng)絡(luò)入侵檢測系統(tǒng)的技術(shù)可行性目前在互聯(lián)網(wǎng)上有許多網(wǎng)絡(luò)入侵檢測相關(guān)的資料,以及免費(fèi)開源的網(wǎng)絡(luò)日志分析組件,并且本論文中采用的技術(shù)在當(dāng)前運(yùn)用都是非常廣泛的,由此可以說明本系統(tǒng)在技術(shù)這一方面上是完全可行的。2、實(shí)驗(yàn)環(huán)境搭建的可行性實(shí)驗(yàn)所使用的框架為ELK,全稱為Elasticsearch,Logstash,Kibana。均為開源免費(fèi)的軟件。實(shí)驗(yàn)搭建在本地2.2.2法律可行性1、網(wǎng)絡(luò)入侵檢測法律可行性網(wǎng)絡(luò)入侵檢測法律現(xiàn)代化包括法律內(nèi)容、法律理念、法律體系及立法技術(shù)的現(xiàn)代化根據(jù)國際通行準(zhǔn)則的分析來看網(wǎng)絡(luò)監(jiān)控法律的現(xiàn)代化需建立在優(yōu)先保障安全利益基礎(chǔ)上。具體來說將法律理念由絕對(duì)隱私觀轉(zhuǎn)換為安全優(yōu)先的相對(duì)隱私觀由傳統(tǒng)分散的、效力等級(jí)不一的、可操作性差的法律法規(guī)轉(zhuǎn)換為高效力層級(jí)的專立法將法律內(nèi)容由傳統(tǒng)的注重限制網(wǎng)絡(luò)監(jiān)控權(quán)力的章節(jié)轉(zhuǎn)換為保障與限制同等重要的比例。世界相關(guān)法律體系的發(fā)展趨勢表明,現(xiàn)代化過渡時(shí)期網(wǎng)絡(luò)入侵檢測法正在實(shí)行專門的網(wǎng)絡(luò)入侵檢測法,而不是強(qiáng)制性的行政手段。在監(jiān)督授權(quán)機(jī)制改革方面,司法監(jiān)督主要是通過廣泛的行政許可來輔之以立法。為通信行業(yè)的執(zhí)法機(jī)構(gòu)提供明確和具體的協(xié)助,同樣分擔(dān)協(xié)助執(zhí)法的成本。通過法治確保安全優(yōu)先事項(xiàng)“網(wǎng)絡(luò)入侵檢測法律的有效性大多數(shù)國家目前或正在制定針對(duì)恐怖主義和高科技犯罪具有較高效力的特別法律,以期在憲法和法律框架,網(wǎng)絡(luò)監(jiān)控力量是通過建立一個(gè)組織化和高效的網(wǎng)絡(luò)監(jiān)控機(jī)制來保護(hù)網(wǎng)絡(luò)監(jiān)控力的合法性,以預(yù)防和打擊極端恐怖主義和其他嚴(yán)重犯罪,以維護(hù)公共和國家安全。網(wǎng)絡(luò)監(jiān)控力量的組成主要包括通信內(nèi)容截取通信數(shù)據(jù)的兩個(gè)方面。監(jiān)督機(jī)制的靈活高效化優(yōu)先保障安全利益兼顧隱私保護(hù),區(qū)分通信內(nèi)容和通信數(shù)據(jù)的保護(hù)機(jī)制,提高安全機(jī)構(gòu)執(zhí)法效率,妥善保護(hù)公民隱私。信息化和網(wǎng)絡(luò)化帶來了劃時(shí)代的范式革命。隱私的范圍隨著網(wǎng)絡(luò)技術(shù)和服務(wù)的發(fā)展而發(fā)展,這導(dǎo)致了隱私保護(hù)法范例的差異化。隱私的要素明確分類在網(wǎng)絡(luò)空間中。公眾和公共當(dāng)局都認(rèn)識(shí)到,隱私可以明確分為兩部分:通信內(nèi)容和通信數(shù)據(jù)。通信內(nèi)容具有最高級(jí)別的隱私敏感度,并且通信數(shù)據(jù)由于不涉及內(nèi)容而相對(duì)較低靈敏度。為了保留和檢索通信數(shù)據(jù),新出現(xiàn)的數(shù)據(jù)保留法規(guī)定了更靈活和有效的許可監(jiān)督機(jī)制。由于不涉及通信數(shù)據(jù)監(jiān)視的最高通信靈敏度的監(jiān)視機(jī)制是建立在安全性和效率優(yōu)先的基礎(chǔ)上的,因此它更加靈活和靈活。其基本模式是執(zhí)法機(jī)構(gòu)自行審核并使用與監(jiān)管機(jī)構(gòu)有關(guān)的通信數(shù)據(jù)。協(xié)助實(shí)施明確和強(qiáng)制執(zhí)法,構(gòu)建網(wǎng)絡(luò)監(jiān)控力量,使遵守傳統(tǒng)的國家秘密監(jiān)控成為可能,協(xié)助通信服務(wù)提供商的監(jiān)控過程。由于網(wǎng)絡(luò)技術(shù)和服務(wù)的發(fā)展,執(zhí)法機(jī)構(gòu)難以依靠自身力量獨(dú)立實(shí)施網(wǎng)絡(luò)監(jiān)控。它要求通信公司協(xié)助執(zhí)法。促進(jìn)執(zhí)法成本分擔(dān)的公平性在保障行業(yè)安全的同時(shí),兼顧行業(yè)發(fā)展明確政府對(duì)通信行業(yè)的補(bǔ)償責(zé)任公平分擔(dān)協(xié)助執(zhí)法的成本并考慮到工業(yè)發(fā)展是網(wǎng)絡(luò)監(jiān)測方法現(xiàn)代化的表現(xiàn)之一。確保攔截通信內(nèi)容和保留通信數(shù)據(jù)的能力無疑需要大量投資。數(shù)據(jù)保留成本的分?jǐn)偸窍嚓P(guān)法規(guī)必須澄清的問題。由于通信服務(wù)提供商在數(shù)據(jù)保存方面的援助是對(duì)“公共權(quán)力”的援助,因此它不是通信行業(yè)的重要組成部分,因此其成本的補(bǔ)償因國家而異。2、入侵檢測日志法律可行性隨著入侵檢測系統(tǒng)的飛速發(fā)展以及在該系統(tǒng)在這方面的大量應(yīng)用,不可避免的在這些方面暴露出許多讓人深思的問題,不少涉及企業(yè)日志泄露,以及對(duì)企業(yè)日志的盜用等存在侵權(quán)現(xiàn)象的法律問題也慢慢的涌現(xiàn)出來。在目前的網(wǎng)絡(luò)的大環(huán)境之下,對(duì)于該項(xiàng)技術(shù)的使用方面的問題,此技術(shù)手段,在維護(hù)公共設(shè)施安全方面沒有任何的問題。在比如,用于企業(yè)服務(wù)器,個(gè)人服務(wù)器等民用市場,也都是可以的。這項(xiàng)技術(shù)對(duì)于國家相關(guān)系統(tǒng)維護(hù)等,都是十分有利的?,F(xiàn)在有多部網(wǎng)絡(luò)安全信息法以及信息安全法的相關(guān)規(guī)章存在,并且未來還會(huì)有更多的相關(guān)法律和規(guī)章出臺(tái),來規(guī)范網(wǎng)絡(luò)安全方面的企業(yè)和用戶行為,以及對(duì)違反的進(jìn)行合理的處罰和懲治,這方面是尤其重要并且相關(guān)法律的完善,有利于網(wǎng)絡(luò)安全方面的發(fā)展,和維護(hù)網(wǎng)絡(luò)空間安全。2.2.3功能需求分析該設(shè)計(jì)最主要的任務(wù)就是分析系統(tǒng)日志可以將日志中的威脅檢測并做可視化的展示,從日志中分析數(shù)據(jù),對(duì)數(shù)據(jù)使用大數(shù)據(jù)的思路進(jìn)行分析。該系統(tǒng)先需要對(duì)日志進(jìn)行分析,對(duì)日志中的關(guān)鍵信息進(jìn)行提取.圖2-1需求分析圖 本科畢業(yè)設(shè)計(jì)(論文)第三章總體設(shè)計(jì)3.1python語言Python作為一門編程語言,具有很多語言的特性,并且現(xiàn)在正逐步成為最受歡迎的編程語言之一。主要用于科學(xué)研究方面的項(xiàng)目,還有其他方面的一些項(xiàng)目的開發(fā)。該語言是一種面向?qū)ο蟮膭?dòng)態(tài)類型的腳本語言,在一開始的應(yīng)用并不是特別廣泛,但是隨著語言維護(hù)團(tuán)隊(duì)的規(guī)模擴(kuò)大,語言的功能越來越多,語言的適用范圍也不斷加大,并且被用于許多獨(dú)立的、大型企業(yè)和政府項(xiàng)目。1、python的知識(shí)體系結(jié)構(gòu)圖圖3-1python知識(shí)體系結(jié)構(gòu)2、Python發(fā)展歷史Python最初是在八十年代末和九十年代初,由荷蘭人吉多·范羅蘇姆設(shè)計(jì)出來的,并在之后涌現(xiàn)出許多精英還有團(tuán)隊(duì)來進(jìn)行維護(hù)和拓展。Python語言經(jīng)歷過許多版本,從一開始的單純的腳本編寫(shell)語言,到之后,隨著語言維護(hù)團(tuán)隊(duì)的增加和用戶規(guī)模的擴(kuò)大,趨于穩(wěn)定的版本是Python2.7。目前發(fā)展到了Python3.6版本。3、Python特點(diǎn)Python易讀、易維護(hù)。這是語言創(chuàng)始人對(duì)Python的要求,希望對(duì)一個(gè)問題能有一個(gè)最好的解決方案,就像剃刀原理,將不必要的東西全部剔除,只留下最簡單的,最適用的也就是最好的。Python的作者,還故意簡化了if的括號(hào)以及分號(hào)相關(guān)的細(xì)節(jié)。這有助于約束編程人員,讓編程人員能夠養(yǎng)成足夠好的編程習(xí)慣。該語言通過縮進(jìn)來表示c語言的花括號(hào),這個(gè)設(shè)計(jì)在反方面使得風(fēng)格不符合編程規(guī)范的程序不能運(yùn)行,使得該語言編程的程序代碼的可讀性的加強(qiáng),有利于減少開發(fā)團(tuán)隊(duì)在開發(fā)時(shí)在風(fēng)格方面的不統(tǒng)一所耗費(fèi)的時(shí)間,在一定程度上能加快開發(fā)的效率,和提高項(xiàng)目的質(zhì)量。3.2總體結(jié)構(gòu)設(shè)計(jì)圖3-2系統(tǒng)功能圖總體設(shè)計(jì)流程圖如3-4所示:圖3-3總體結(jié)構(gòu)設(shè)計(jì)流程圖使用ELK框架處理日志,提取日志中的信息。對(duì)數(shù)據(jù)進(jìn)行處理之后使用機(jī)器學(xué)習(xí)大數(shù)據(jù)的思路,使用決策樹模型訓(xùn)練,得到訓(xùn)練模型之后,進(jìn)行測試完善,之后對(duì)提取到的數(shù)據(jù)就可以使用該模型進(jìn)行判斷其中是否有網(wǎng)絡(luò)威脅。機(jī)器學(xué)習(xí)的原理是基于海量數(shù)據(jù)統(tǒng)計(jì)的學(xué)習(xí)和分析,機(jī)器學(xué)習(xí)其實(shí)就是在使用統(tǒng)計(jì)學(xué)原理來對(duì)問題進(jìn)行分析和研究。因此,只要得到的數(shù)據(jù)量足夠大,根據(jù)統(tǒng)計(jì)學(xué)原理,那么分類的準(zhǔn)確率就能達(dá)到足以滿足我們需求的級(jí)別。數(shù)據(jù)預(yù)處理:數(shù)據(jù)在剛?cè)〉脮r(shí)其中存在不少的無效數(shù)據(jù),還有一些數(shù)據(jù)項(xiàng)中的部分?jǐn)?shù)據(jù)不規(guī)范,或者一些數(shù)據(jù)的數(shù)值不符合規(guī)則,我們需要對(duì)數(shù)據(jù)進(jìn)行清洗,去除其中的‘臟’數(shù)據(jù)。還需要對(duì)數(shù)據(jù)進(jìn)行必要的審核,對(duì)明顯不符合規(guī)則的數(shù)據(jù)進(jìn)行去除,比如在性別一欄中出現(xiàn)學(xué)生,該數(shù)據(jù)明顯是不符合規(guī)范的。還可以將數(shù)據(jù)進(jìn)行分組,將屬性相同的數(shù)據(jù)歸為一組,有助于提高模型構(gòu)建的效率。將數(shù)據(jù)進(jìn)行排序,對(duì)某些算法也有一定的提高效率的作用,所以數(shù)據(jù)預(yù)處理十分的重要,也是必要的,缺少這一步,將會(huì)極大的影響模型的精度,甚至難以構(gòu)建模型。由于原始訓(xùn)練集和測試集的分類結(jié)果都是攻擊的特定類,總計(jì)24+14=38種,但是在這里,我們不需要考慮那么細(xì)的分類,只需將所有的連接分到四個(gè)攻擊的大類即可,因此我們根據(jù)映射關(guān)系,將type屬性降為5類,用數(shù)字0,1,2,3,4替換,分別代表四種攻擊的大類以及正常情況。圖3-4預(yù)處理模塊圖數(shù)據(jù)存儲(chǔ)與加載:為了后面方便讀取、排序等操作,降低運(yùn)行時(shí)間,我們把data目錄下的文件數(shù)據(jù)讀取。因?yàn)闆Q策樹對(duì)于有序的輸入能夠加快訓(xùn)練的速度,所以我們先使用sort方法,來對(duì)訓(xùn)練集中的type屬性先進(jìn)行排序,在排序之后,再將訓(xùn)練集和測試集所有的輸入儲(chǔ)存在dataset里。類別重編碼:作為模型構(gòu)建的必要準(zhǔn)備,有些數(shù)據(jù)的類別需要進(jìn)行重新編碼,類別變量(CategoricalVariable)的定義和解釋,例如:人的性別、天氣的類型等,對(duì)于這種字符串變量,因?yàn)椴荒軌蛑苯虞斎氲剿惴P椭腥?,所以我們需要將其重新編碼為整型1,2,3,4等或者是二進(jìn)制類型bitmap。而對(duì)于決策樹算法來說,使用的是類型和數(shù)字并不會(huì)直接影響模型,在解決無法輸入的這個(gè)問題的前提下,也不會(huì)對(duì)模型的訓(xùn)練精度等方面產(chǎn)生任何影響。特征選?。簩?duì)數(shù)據(jù)進(jìn)行特征選取用于訓(xùn)練模型。3.3日志讀取和轉(zhuǎn)存功能設(shè)計(jì)在對(duì)日志進(jìn)行第一步處理時(shí),我們配置filebeat的各項(xiàng)參數(shù),并且使用其來搬運(yùn)和轉(zhuǎn)存數(shù)據(jù)。其優(yōu)勢在于可以不斷的監(jiān)控指定目錄下的日志文件的變化,并且運(yùn)行速度極快,效率極高,而且占用的系統(tǒng)資源極少。日志讀取和轉(zhuǎn)存的工作步驟:(1)指定對(duì)應(yīng)的目錄或者文件,程序會(huì)不斷檢測指定目錄或者文件的情況,在第一時(shí)間讀取最新的內(nèi)容。(2)對(duì)于每一個(gè)新的監(jiān)測到的變化,程序都進(jìn)行處理并且到‘收割機(jī)’程序。(3)程序?qū)⑦@些新的變化的數(shù)據(jù)集合全部導(dǎo)入到一個(gè)池子(spooler)中(4)程序發(fā)送集合的數(shù)據(jù)到你指定的地點(diǎn)(我這里是導(dǎo)到Logstash)。圖3-5filebeat原理圖3.4日志分析和數(shù)據(jù)提取功能設(shè)計(jì)該部分設(shè)計(jì)主要實(shí)現(xiàn)對(duì)日志的部分分析,和提取日志的數(shù)據(jù)用于下一步功能。日志轉(zhuǎn)存程序?qū)⑷罩巨D(zhuǎn)存到Logstash。Logstash的優(yōu)勢在于能夠連續(xù)的捕捉系統(tǒng)中的很多不同來源的數(shù)據(jù),并且采用流式傳輸方式,運(yùn)行十分的高效,并且適應(yīng)能力極強(qiáng)。圖3-6Logstash原理圖Logstash從不同來源捕捉到的數(shù)據(jù),之后放入庫(暫存)中,其還有過濾器可以解析不同的數(shù)據(jù)和事件,轉(zhuǎn)化成標(biāo)準(zhǔn)的通用格式,方便利用這些數(shù)據(jù)來做后一步的分析和研究。舉個(gè)例子,其可以從ip地址轉(zhuǎn)化成地理的坐標(biāo),如果我們將其使用在網(wǎng)絡(luò)安全方面,我們就可以直接得到敏感用戶行為或者惡意攻擊的實(shí)際地理位置?,F(xiàn)在數(shù)據(jù)通過Logstah管道,之后我們現(xiàn)在可以在使用其將日志轉(zhuǎn)存到我們所希望的存儲(chǔ)庫中,在這里我們將數(shù)據(jù)轉(zhuǎn)存到了Elasticsearch中。圖3-7Elasticsearch原理圖Elasticsearch是一個(gè)開源的搜索和分析引擎。其支持分布式的設(shè)計(jì),不僅可以用來實(shí)現(xiàn)全文檢索,而且可以用來做結(jié)構(gòu)化的檢索。舉個(gè)例子,現(xiàn)在我們有許多熟知的公司和網(wǎng)站都使用其來構(gòu)建基礎(chǔ)的框架,比如Wikipedia和GitHub。我們在將數(shù)據(jù)轉(zhuǎn)存到Elasticsearch之后,我們可以使用Kibana來對(duì)數(shù)據(jù)進(jìn)行可視化的分析和處理。3.5數(shù)據(jù)分類設(shè)計(jì)及算法簡述決策樹是在已知各種情況發(fā)生概率的基礎(chǔ)上,通過構(gòu)成決策樹來求取凈現(xiàn)值的期望值大于等于零的概率,評(píng)價(jià)項(xiàng)目風(fēng)險(xiǎn),判斷其可行性的決策分析方法,是直觀運(yùn)用概率分析的一種圖解法。由于這種決策分支畫成圖形很像一棵樹的枝干,故稱決策樹。在機(jī)器學(xué)習(xí)中,決策樹是一個(gè)預(yù)測模型,他代表的是對(duì)象屬性與對(duì)象值之間的一種映射關(guān)系。決策樹是一種樹形結(jié)構(gòu),其中每個(gè)內(nèi)部節(jié)點(diǎn)表示一個(gè)屬性上的測試,每個(gè)分支代表一個(gè)測試輸出,每個(gè)葉節(jié)點(diǎn)代表一種類別。決策樹學(xué)習(xí)的目的是為了產(chǎn)生一顆泛化能力強(qiáng),即處理未見示例強(qiáng)的決策樹,其基本的流程遵循簡單且直觀的”分而治之”策略。決策樹的生成是一個(gè)遞歸的過程,在決策樹的基本算法中,有三種情形會(huì)導(dǎo)致遞歸返回:(1)當(dāng)前結(jié)點(diǎn)包含的樣本全屬于同一類別,無需劃分;(2)當(dāng)前的屬性集為空,或是所有樣本在所有屬性上取值相同,無法劃分;(3)當(dāng)前結(jié)點(diǎn)包含的樣本集合為空,不能劃分。在(2)情況下我們把當(dāng)前的結(jié)點(diǎn)標(biāo)記為葉結(jié)點(diǎn),但將其類別設(shè)定為其父結(jié)點(diǎn)所含樣本最多的類別。這兩種情形的處理實(shí)質(zhì)并不同:情形(2)是利用當(dāng)前結(jié)點(diǎn)的后驗(yàn)分布,而情形(3)則是把父結(jié)點(diǎn)的樣本分布作為當(dāng)前結(jié)點(diǎn)的先驗(yàn)分布。決策樹是一種十分常用的分類方法。它是一種監(jiān)管學(xué)習(xí),所謂監(jiān)管學(xué)習(xí)就是給定一堆樣本,每個(gè)樣本都有一組屬性和一個(gè)類別,這些類別是事先確定的,那么通過學(xué)習(xí)得到一個(gè)分類器,這個(gè)分類器能夠?qū)π鲁霈F(xiàn)的對(duì)象給出正確的分類。這樣的機(jī)器學(xué)習(xí)就被稱之為監(jiān)督學(xué)習(xí)。決策樹的優(yōu)點(diǎn)是計(jì)算的復(fù)雜度不高,輸出結(jié)果易于理解,對(duì)中間值的缺失不敏感,可以處理不相關(guān)特征數(shù)據(jù)。缺點(diǎn)是可能會(huì)出現(xiàn)過度匹配的問題。適用的數(shù)據(jù)類型是數(shù)值型和標(biāo)稱型。整個(gè)決策樹生長過程中最重要的一個(gè)部分是特征選擇這一方面,如果特征選擇的好,決策樹的性能就會(huì)很好,相反如果特征選擇的不好,則性能就可能不理想。目前來說,主要的選擇標(biāo)準(zhǔn)是信息增益,信息增益比,Gini指數(shù),針對(duì)不同的實(shí)現(xiàn)算法,采用不同的選擇標(biāo)準(zhǔn)。生成決策樹的算法的思路,首先尋找最優(yōu)的決策樹的問題是一個(gè)NP難題,所以采用一種基于啟發(fā)式方法,貪心算法策略,來尋找并生成最優(yōu)的決策樹。決策樹的生長過程主要有如下幾步(假設(shè)訓(xùn)練數(shù)據(jù)集為D,特征集為A):若D中所有實(shí)例都屬于同一個(gè)類別(或方差小于預(yù)設(shè)閾值),則停止生長,返回決策樹T.若?,則將DD中數(shù)量最多的類別(平均值)作為該節(jié)點(diǎn)的標(biāo)記,返回T.若?,則從A中選擇一個(gè)最優(yōu)的特征進(jìn)行子節(jié)點(diǎn)的分裂(利用上面所說的分裂標(biāo)準(zhǔn)).分裂得到n個(gè)子節(jié)點(diǎn),用表示。遍歷每一個(gè)子節(jié)點(diǎn),將作為新的D,從第一步開始重復(fù)上述操作。調(diào)用sklearn庫中的DecisionTreeClassifier方法,使用python語言來進(jìn)行實(shí)驗(yàn),來對(duì)實(shí)驗(yàn)數(shù)據(jù)的測試集進(jìn)行訓(xùn)練。在進(jìn)行多次運(yùn)行之后,得到多組實(shí)驗(yàn)準(zhǔn)確率以及建模時(shí)間數(shù)據(jù)。在決策樹里,所分析的數(shù)據(jù)樣本先是集成為一個(gè)樹根,然后經(jīng)過層層分枝,最終形成若干個(gè)結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)代表一個(gè)結(jié)論。決策樹技術(shù)在數(shù)據(jù)化運(yùn)營中的主要用途體現(xiàn)在:作為分類、預(yù)測問題的典型支持技術(shù),它在用戶劃分、行為預(yù)測、規(guī)則梳理等方面具有廣泛的應(yīng)用前景,決策樹甚至可以作為其他建模技術(shù)前期進(jìn)行變量篩選的一種方法,即通過決策樹的分割來篩選有效地輸入自變量。決策樹算法是一種逼近離散函數(shù)值的方法。它是一種典型的分類方法,首先對(duì)數(shù)據(jù)進(jìn)行處理,利用歸納算法生成可讀的規(guī)則和決策樹,然后使用決策對(duì)新數(shù)據(jù)進(jìn)行分析。本質(zhì)上決策樹是通過一系列規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類的過程。決策樹方法最早產(chǎn)生于上世紀(jì)60年代,到70年代末。由JRossQuinlan提出了ID3算法,此算法的目的在于減少樹的深度。但是忽略了葉子數(shù)目的研究。C4.5算法在ID3算法的基礎(chǔ)上進(jìn)行了改進(jìn),對(duì)于預(yù)測變量的缺值處理、剪枝技術(shù)、派生規(guī)則等方面作了較大改進(jìn),既適合于分類問題,又適合于回歸問題。決策樹算法構(gòu)造決策樹來發(fā)現(xiàn)數(shù)據(jù)中蘊(yùn)涵的分類規(guī)則.如何構(gòu)造精度高、規(guī)模小的決策樹是決策樹算法的核心內(nèi)容。決策樹構(gòu)造可以分兩步進(jìn)行。第一步,決策樹的生成:由訓(xùn)練樣本集生成決策樹的過程。一般情況下,訓(xùn)練樣本數(shù)據(jù)集是根據(jù)實(shí)際需要有歷史的、有一定綜合程度的,用于數(shù)據(jù)分析處理的數(shù)據(jù)集。第二步,決策樹的剪枝:決策樹的剪枝是對(duì)上一階段生成的決策樹進(jìn)行檢驗(yàn)、校正和修下的過程,主要是用新的樣本數(shù)據(jù)集(稱為測試數(shù)據(jù)集)中的數(shù)據(jù)校驗(yàn)決策樹生成過程中產(chǎn)生的初步規(guī)則,將那些影響預(yù)衡準(zhǔn)確性的分枝剪除。 本科畢業(yè)設(shè)計(jì)(論文) 第四章詳細(xì)設(shè)計(jì)4.1ELK框架搭建4.1.1filebeats配置文件表4-1Logstash配置表名稱描述input_type:log|stdin指定輸入類型paths節(jié)點(diǎn)名稱,每個(gè)節(jié)點(diǎn)必須在集群中有一個(gè)唯一的名稱以便識(shí)別。index.number_of_shards支持基本的正則,所有g(shù)olangglob都支持,支持/var/log/*/*.logencodingplain,latin1,utf-8,utf-16be-bom,utf-16be,utf-16le,big5,gb18030,gbk,hz-gb-2312,euc-kr,euc-jp,iso-2022-jp,shift-jis,andsoonexclude_lines支持正則排除匹配的行,如果有多行,合并成一個(gè)單一行來進(jìn)行過濾include_lines支持正則include_lines執(zhí)行完畢之后會(huì)執(zhí)行exclude_lines。exclude_files支持正則排除匹配的文件fields_under_root如果值為ture,那么fields存儲(chǔ)在輸出文檔的頂級(jí)位置;如果與filebeat中字段沖突,自定義字段會(huì)覆蓋其他字段ignore_older可以指定Filebeat忽略指定時(shí)間段以外修改的日志內(nèi)容;文件被忽略之前,確保文件不在被讀取,必須設(shè)置ignoreolder時(shí)間范圍大于close_inactive;close_*用于在特定標(biāo)準(zhǔn)或時(shí)間之后關(guān)閉harvester。關(guān)閉harvester意味著關(guān)閉文件處理程序。close_inactive啟動(dòng)選項(xiàng)時(shí),如果在制定時(shí)間沒有被讀取,將關(guān)閉文件句柄;讀取的最后一條日志定義為下一次讀取的起始點(diǎn),而不是基于文件的修改時(shí)間。close_rename當(dāng)選項(xiàng)啟動(dòng),如果文件被重命名和移動(dòng),filebeat關(guān)閉文件的處理讀取close_removed當(dāng)選項(xiàng)啟動(dòng),文件被刪除時(shí),filebeat關(guān)閉文件的處理讀取,這個(gè)選項(xiàng)啟動(dòng)后,必須啟動(dòng)clean_removed。close_eof適合只寫一次日志的文件,然后filebeat關(guān)閉文件的處理讀取tags列表中添加標(biāo)簽,用過過濾close_timeout當(dāng)選項(xiàng)啟動(dòng)時(shí),filebeat會(huì)給每個(gè)harvester設(shè)置預(yù)定義時(shí)間,不管這個(gè)文件是否被讀取,達(dá)到設(shè)定時(shí)間后,將被關(guān)閉,close_timeout不能等于ignore_older,會(huì)導(dǎo)致文件更新時(shí),不會(huì)被讀取。fields可選字段,選擇額外的字段進(jìn)行輸出;可以是標(biāo)量值,元組,字典等嵌套類型;默認(rèn)在sub-dictionary位置圖4-1featbeat配置代碼圖4.1.2Logstash配置文件表4-2Logstash配置表名稱描述path指定輸入類型exclude節(jié)點(diǎn)名稱,每個(gè)節(jié)點(diǎn)必須在集群中有一個(gè)唯一的名稱以便識(shí)別。sincedb_path支持基本的正則,所有g(shù)olangglob都支持,支持/var/log/*/*.logstart_positionplain,latin1,utf-8,utf-16be-bom,utf-16be,utf-16le,big5,gb18030,gbk,hz-gb-2312,euc-kr,euc-jp,iso-2022-jp,shift-jis,andsoonstat_interval支持正則排除匹配的行,如果有多行,合并成一個(gè)單一行來進(jìn)行過濾discover_interval支持正則include_lines執(zhí)行完畢之后會(huì)執(zhí)行exclude_lines。ignore_older支持正則排除匹配的文件close_older列表中添加標(biāo)簽,用過過濾what可設(shè)置為previous或next。表示當(dāng)與pattern匹配成功的時(shí)候,匹配行是歸屬上一個(gè)事件還是下一個(gè)事件negate布爾值,表示是否對(duì)pattern的結(jié)果取反date日期解析grok正則匹配解析dissect分隔符解析mutate對(duì)字段作處理,比如重命名、刪除、替換json按照json解析字段內(nèi)容到指定字段中g(shù)eoip增加地理位置數(shù)據(jù)ruby利用ruby代碼來動(dòng)態(tài)修改LogstashEventpattern設(shè)置行匹配的正則表達(dá)式,可以使用grok圖4-2Logstash配置代碼圖4.1.3Elasticsearch配置Elasticsearch的主要配置文件"config/elasticsearch.yml"。主要配置如下:表4-3Elasticsearch配置表名稱類型描述string集群名稱,具有同一集群名稱的Elasticsearch節(jié)點(diǎn)才能組成一個(gè)集群。string節(jié)點(diǎn)名稱,每個(gè)節(jié)點(diǎn)必須在集群中有一個(gè)唯一的名稱以便識(shí)別。index.number_of_shardsint每個(gè)索引數(shù)據(jù)的默認(rèn)切片數(shù)量,這個(gè)值的修改不會(huì)影響已創(chuàng)建的索引。默認(rèn)為5。index.number_of_replicasint每個(gè)索引切片默認(rèn)的副本數(shù)量。默認(rèn)為1。path.datastring存儲(chǔ)索引數(shù)據(jù)的目錄路徑列表,路徑之間使用逗號(hào)分隔。例如:/data1,/data2,/data3network.bind_hoststring服務(wù)要監(jiān)聽的IP地址。默認(rèn)為本機(jī)所有IP地址。network.publish_hoststring在集群中公開的IP地址。默認(rèn)為本機(jī)主機(jī)名對(duì)應(yīng)的IP地址。如果使用默認(rèn)值,則需要編輯"/etc/hosts"文件,讓Elasticsearch能夠解析本機(jī)的主機(jī)名。transport.tcp.portint供其它節(jié)點(diǎn)通訊連接的TCP端口。默認(rèn)為9300。http.portint供客戶端使用的RESTFulAPI的HTTP端口。默認(rèn)為9200。4.1.4Kibana配置該組件的主要的配置內(nèi)容如下:表4-4Kibana配置表名稱類型描述string集群名稱,具有同一集群名稱的Elasticsearch節(jié)點(diǎn)才能組成一個(gè)集群。string節(jié)點(diǎn)名稱,每個(gè)節(jié)點(diǎn)必須在集群中有一個(gè)唯一s的名稱以便識(shí)別。index.number_of_shardsint每個(gè)索引數(shù)據(jù)的默認(rèn)切片數(shù)量,這個(gè)值的修改不會(huì)影響已創(chuàng)建的索引。默認(rèn)為5。index.number_of_replicasint每個(gè)索引切片默認(rèn)的副本數(shù)量。默認(rèn)為1。path.datastring存儲(chǔ)索引數(shù)據(jù)的目錄路徑列表,路徑之間使用逗號(hào)分隔。例如:/data1,/data2,/data3network.bind_hoststring服務(wù)要監(jiān)聽的IP地址。默認(rèn)為本機(jī)所有IP地址。network.publish_hoststring在集群中公開的IP地址。默認(rèn)為本機(jī)主機(jī)名對(duì)應(yīng)的IP地址。如果使用默認(rèn)值,則需要編輯"/etc/hosts"文件,能夠解析本機(jī)的主機(jī)名。transport.tcp.portint供其它節(jié)點(diǎn)通訊連接的TCP端口。默認(rèn)為9300。http.portint供客戶端使用的RESTFulAPI的HTTP端口。默認(rèn)為9200。4.2大數(shù)據(jù)模型建立與訓(xùn)練設(shè)計(jì)4.2.1數(shù)據(jù)預(yù)處理圖4-3代碼圖由于原始訓(xùn)練集和測試集的分類結(jié)果都是攻擊的特定類,總計(jì)24+14=38種,但是在這里,我們不需要考慮那么細(xì)的分類,只需將所有的連接分到四個(gè)攻擊的大類即可,因此我們根據(jù)映射關(guān)系,將type屬性降為5類,用數(shù)字0,1,2,3,4替換,分別代表四種攻擊的大類以及正常情況。為了后面方便讀取、排序等操作,降低運(yùn)行時(shí)間,我們把data目錄下的文件數(shù)據(jù)讀取并寫入。對(duì)于類別變量(CategoricalVariable)的定義和解釋,例如:人的性別、天氣的類型等,對(duì)于這種字符串變量,因?yàn)椴荒軌蛑苯虞斎氲剿惴P椭腥?,所以我們需要將其重新編碼為整型1,2,3,4等或者是二進(jìn)制類型bitmap。圖4-4類別重編碼圖而對(duì)于決策樹算法來說,使用的是類型和數(shù)字并不會(huì)直接影響模型,在解決無法輸入的這個(gè)問題的前提下,也不會(huì)對(duì)模型的訓(xùn)練精度等方面產(chǎn)生任何影響。該算法是基于信息純度來分類的,所以完全不用擔(dān)心類別重編碼會(huì)對(duì)模型有不利影響。經(jīng)過前面類別變量的重編碼,dataset變量一共有42個(gè)維度,高維度的數(shù)據(jù)集在決策樹中的訓(xùn)練很容易出現(xiàn)過擬合的情況,因此我們需要對(duì)變量進(jìn)行篩選,也就是我們常說的特征選擇,在模型訓(xùn)練中如果特征選擇做的好,能夠使模型訓(xùn)練事半功倍。我們使用基于樹的屬性子集的選擇方法,之后我們把數(shù)據(jù)輸入其中進(jìn)行訓(xùn)練。隨后我們再提取訓(xùn)練的模型,最后使用轉(zhuǎn)化的方法篩選出重要的特征。圖4-5特征選擇圖在訓(xùn)練模型前,我們將訓(xùn)練集的十分之一用來做交叉驗(yàn)證,剩下數(shù)據(jù)用來做訓(xùn)練,因此將訓(xùn)練集分為了兩部分:training_set、training_target:用來訓(xùn)練模型。test_set、test_target:用來交叉驗(yàn)證。圖4-6交叉驗(yàn)證代碼圖4.2.2決策樹分類設(shè)計(jì)在機(jī)器學(xué)習(xí)算法中,決策樹是監(jiān)督學(xué)習(xí)算法,常用的算法有:(1)C4.5基于信息熵entropy,(2)CART基于gini不純度。而Scikit提供了一種優(yōu)化版本的CART算法,封裝在DecisionTreeClassifier里,有一些主要的參數(shù):criterion:節(jié)點(diǎn)分裂的規(guī)則。giniorentropy,max_depth:樹的最大深度,為了避免該數(shù)值過大對(duì)模型對(duì)樣本的過擬合或者該數(shù)值過小無法學(xué)習(xí)數(shù)據(jù)生成模型的情況出現(xiàn),希望這個(gè)值從5開始依次增大觀察情況,尋求最優(yōu)的值。min_samples_split:能夠被分裂成子節(jié)點(diǎn)的最小樣本數(shù)。當(dāng)某個(gè)分支下面的樣本數(shù)量小于這個(gè)數(shù)值,就需要將其標(biāo)志改為葉子節(jié)點(diǎn),之后就不會(huì)產(chǎn)生分支。class_weight:設(shè)置各個(gè)類別的權(quán)重大小,通過數(shù)據(jù)量的大小合理分配權(quán)重,來使樹達(dá)到平衡,避免輸入樣本中類別數(shù)量差異相差大,影響最后預(yù)測效果的情況。通過反復(fù)嘗試,我們找到一組比較好的訓(xùn)練參數(shù):用信息entropy來分裂各個(gè)節(jié)點(diǎn)。min_samples_split=30;該參數(shù)讓所有訓(xùn)練樣本充分平衡,即輸入的各類元組的數(shù)量相等。在使用數(shù)據(jù)訓(xùn)練完模型之后,該模型可以直接作為下次預(yù)測的模型,從本地文件讀入,再讀入數(shù)據(jù)就可以進(jìn)行預(yù)測。圖4-7訓(xùn)練決策樹模型代碼 本科畢業(yè)設(shè)計(jì)(論文)第五章系統(tǒng)實(shí)現(xiàn)及測試通過前期需求分析、設(shè)計(jì)和實(shí)現(xiàn)等工作,設(shè)計(jì)也進(jìn)行到了系統(tǒng)測試的階段。整體進(jìn)入到測試階段也就意味著我們進(jìn)入到了最后的環(huán)節(jié),并從中發(fā)現(xiàn)程序的錯(cuò)誤和不足之處。正如我們所知道的,好的用例不是驗(yàn)證程序的正確性而是發(fā)現(xiàn)未發(fā)現(xiàn)過的問題。測試不僅僅是找到系統(tǒng)存在的問題,還要通過問題分析出原因,進(jìn)行追蹤,進(jìn)而提高質(zhì)量。另外,測試還分為性能測試等、回歸測試、壓力測試等,可以根據(jù)不同的測試目進(jìn)行選擇。5.1測試環(huán)境實(shí)驗(yàn)系統(tǒng):MacOSMojave0.14.3處理器:2.3GhzIntelCorei5內(nèi)存:8G2133MhzLPDDR35.2測試方案與測試用例我們首先對(duì)日志的轉(zhuǎn)存功能與日志分析和數(shù)據(jù)提取功能進(jìn)行測試:測試filebeat的運(yùn)行狀態(tài)。測試logstash的運(yùn)行狀態(tài),并且發(fā)送運(yùn)行狀態(tài)數(shù)據(jù)到本地的9600端口。(3)測試elasticsearch的運(yùn)行狀態(tài),并且發(fā)送運(yùn)行狀態(tài)數(shù)據(jù)到本地的9200端口。測試Kibana的運(yùn)行狀態(tài),并且發(fā)送運(yùn)行數(shù)據(jù)到本地的5601端口。(4)對(duì)大數(shù)據(jù)模型訓(xùn)練進(jìn)行測試:交叉驗(yàn)證。模型測試。5.3測試過程與結(jié)果5.3.1日志數(shù)據(jù)轉(zhuǎn)存與日志分析數(shù)據(jù)提取功能測試1、對(duì)系統(tǒng)的日志讀取和轉(zhuǎn)存功能的測試:成功啟動(dòng)filebeat程序。2、對(duì)系統(tǒng)的日志分析和數(shù)據(jù)提取功能的測試:Logstash的啟動(dòng)和驗(yàn)證從本地的9600端口查看信息:結(jié)果:成功運(yùn)行程序。3、Elasticsearch的啟動(dòng)和驗(yàn)證:從本地的9200端口查看信息:結(jié)果:成功運(yùn)行程序。4、Kibana的啟動(dòng)和驗(yàn)證:從本地的5601端口驗(yàn)證Kibana:結(jié)果:成功運(yùn)行程序。5.3.2大數(shù)據(jù)模型測試一、交叉驗(yàn)證先取出訓(xùn)練集的十分之一(test_set)的數(shù)據(jù)來進(jìn)行預(yù)測,將預(yù)測和實(shí)際的內(nèi)容,并構(gòu)建出混淆矩陣(confusionmatrix)和來查看和分析分類的結(jié)果,用來查看驗(yàn)證訓(xùn)練模型對(duì)于數(shù)據(jù)集的各個(gè)類型的預(yù)測概率大小:1、混淆矩陣:[[955826111750][5418200][176193899234][00071][4006102]]混淆矩陣(confusionmatrix)中顯示了分類的內(nèi)容,行代表實(shí)際的類,列代表預(yù)測的類。在矩陣對(duì)角線上的是預(yù)測與實(shí)際一致的數(shù)量。以對(duì)角線為劃分,對(duì)角線以外數(shù)字表示,預(yù)測的與實(shí)際結(jié)果不一致的元個(gè)數(shù),比如:5表示:有5個(gè)元組實(shí)際上屬于類別1(第1行),而卻被預(yù)測到了類別0(第0列)。2、模型精度:precisionrecallf1-scoresupport00.980.990.99966210.900.980.9442521.000.991.003919430.210.880.34840.650.910.76112avg/total0.990.990.9949401123456789二、模型測試最后我們來測試訓(xùn)練的模型是否能夠很好的預(yù)測測試數(shù)據(jù),我們首先使用T_len,在dataset中取出數(shù)據(jù),導(dǎo)入并且測試集合(test_data_set),(test_data_target)。在fea_index中使用相同的方法,將測試輸入提取子特征,最終再比較預(yù)測值和實(shí)際值來分析和評(píng)價(jià)模型。Output:1、混淆矩陣:[[629438151011][5800400][191204150810][00030][107650163]]分析混淆矩陣,對(duì)類0、類1和類2的分類結(jié)果十分樂觀。但是類別3,分類效果比較差,只有3個(gè)元組被正常歸類;類別4,發(fā)現(xiàn)也只有3個(gè)元組被正常歸類,但是有1076個(gè)元組實(shí)際上屬于類別4卻被分到了類別0。2、模型精度:precisionrecallf1-scoresupport00.830.990.90636810.930.990.9680921.000.991.004172030.101.000.18340.210.000.011100avg/total0.960.970.9650000123456789經(jīng)過混淆矩陣的粗略分析,我們算出各個(gè)類的精度、召回率、F度量來描述分類器對(duì)每個(gè)類的分類情況,可以看出來,訓(xùn)練出的決策樹模型對(duì)前三類有較好的效果而對(duì)于類別3:precision=0.1表示:所有預(yù)測出來為類3的元組中,預(yù)測正確的占0.1,也就是真實(shí)也為類3的占0.1。recall=1表示:所有的真實(shí)為類3的元組全部被正確分類到類3。5.3.3測試結(jié)果及結(jié)果分析通過以上測試可以得到測試結(jié)果如下:(1)日志的轉(zhuǎn)存功能運(yùn)行合理,達(dá)到預(yù)期要求。filebeat成功運(yùn)行。(2)與日志分析和數(shù)據(jù)提取功能運(yùn)行合理,達(dá)到預(yù)期要求。logstash的運(yùn)行成功,本地的9600端口成功得到運(yùn)行狀態(tài)數(shù)據(jù)。elasticsearch的運(yùn)行成功,本地的9200端口成功得到運(yùn)行狀態(tài)數(shù)據(jù)。Kibana的運(yùn)行成功,本地的5601端口成功得到運(yùn)行狀態(tài)數(shù)據(jù)。(3)模型訓(xùn)練和測試合理,交叉驗(yàn)證和模型測試均達(dá)到預(yù)期要求。綜上所述整個(gè)系統(tǒng)運(yùn)行合理,達(dá)到預(yù)期效果。 本科畢業(yè)設(shè)計(jì)(論文)總結(jié)在此次畢業(yè)設(shè)計(jì)中,我對(duì)許多的專業(yè)知識(shí)都有了更加深刻的理解,在看待問題的思考角度和還有自己的思維方式有了質(zhì)的飛躍,特別是對(duì)python語言有了更加深刻的認(rèn)識(shí),還有對(duì)專業(yè)技能的運(yùn)用更加熟練。在研究和設(shè)計(jì)本論文的網(wǎng)絡(luò)入侵檢測系統(tǒng)之前,對(duì)網(wǎng)絡(luò)入侵檢測系統(tǒng)的相關(guān)技術(shù)和內(nèi)容做了很多的學(xué)習(xí)和研究,提升了自己的學(xué)習(xí)能力和研究水平。在學(xué)習(xí)大數(shù)據(jù)相關(guān)技術(shù)時(shí),遇到了許多的難題和自己不熟悉的內(nèi)容。在一步步摸索國內(nèi)的相關(guān)文獻(xiàn),以及一部分國外的文獻(xiàn)資料之后,逐步成長和學(xué)習(xí)了相關(guān)內(nèi)容,讓自己的英語能力也得到了鍛煉。本論文主要介紹了搭建ELK環(huán)境來分析和提取日志中的相關(guān)數(shù)據(jù),并且使用提取后的數(shù)據(jù)使用大數(shù)據(jù)原理運(yùn)用大數(shù)據(jù)算法來進(jìn)行分析和研究,并訓(xùn)練出模型。主要針對(duì)一個(gè)日志進(jìn)行分析,并且提取出數(shù)據(jù)。對(duì)網(wǎng)絡(luò)威脅進(jìn)行處理。并且使用大數(shù)據(jù)的決策樹算法來對(duì)數(shù)據(jù)集訓(xùn)練,使用訓(xùn)練出的模型來預(yù)測和分析網(wǎng)絡(luò)入侵相關(guān)的威脅,并且使用新的數(shù)據(jù)來進(jìn)行更多的訓(xùn)練完善模型。由于本人的知識(shí)水平有限并且時(shí)間十分倉促,此設(shè)計(jì)可能在一些功能操作上和其他方面尚有不足之處。論文中出現(xiàn)的缺點(diǎn)和錯(cuò)誤,還懇請(qǐng)各位領(lǐng)導(dǎo)、老師和同學(xué)們批評(píng)指正。方便日后的進(jìn)一步完善和二次的開發(fā)并且再不斷加強(qiáng)。

致謝時(shí)光如箭,畢業(yè)設(shè)計(jì)作為大學(xué)四年學(xué)習(xí)的總結(jié)已經(jīng)到來了。在這個(gè)階段,特別真摯的向我親愛的導(dǎo)師,孫旸老師以及我大學(xué)四年的同窗們表示感謝,感謝老師和同學(xué)們這幾個(gè)月的悉心指導(dǎo)和大力支持。這過去的幾個(gè)月里,每當(dāng)遇到不能確定和不懂的問題,便向老師及同學(xué)請(qǐng)教,老師和同學(xué)都耐心的替我解答。無論是在白天還是太陽落山以后,老師和同學(xué)都耐心的為我解說,幫我撥開迷霧。同時(shí)也要感謝我的論文指導(dǎo)老師孫旸老師在論文分析設(shè)計(jì)需求、代碼編寫以及調(diào)試等各個(gè)階段給予的意見和建議,以及各個(gè)階段對(duì)我的幫助。老師孜孜不倦的教學(xué)態(tài)度和對(duì)待知識(shí)的嚴(yán)謹(jǐn)精神讓我感觸很深。這些建議引領(lǐng)了我制作程序時(shí)的思路,一步一步帶著我向前走,讓本系統(tǒng)在程序的功能更加完善合理。感謝各位老師以及同事對(duì)我的指導(dǎo)和幫助,讓我成功地完成了本次畢業(yè)設(shè)計(jì)。通過此次畢業(yè)設(shè)計(jì),我在代碼編寫和實(shí)現(xiàn)方面都取得很大成長。我要感謝所有幫助過我的人,謝謝你們! 本科畢業(yè)設(shè)計(jì)(論文)參考文獻(xiàn)[1]李嫵可,黎元,顏寧.大數(shù)據(jù)技術(shù)在網(wǎng)絡(luò)入侵檢測的應(yīng)用[J].科學(xué)技術(shù)創(chuàng)新,2018(26):79-80.[2]PeterHarrington著李銳,李鵬譯.機(jī)器學(xué)習(xí)實(shí)戰(zhàn)[M].北京:人民郵電出版社.[3]周志華.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社汪曉斌.[4]AlexanderT.Combs著,黃申譯.Python機(jī)器學(xué)習(xí)實(shí)踐指南[M].北京:人民郵電出版社.[5]吳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論