亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SVM的入侵檢測識別系統(tǒng)

        2021-11-30 09:31:38吳荻高大鵬
        現(xiàn)代計算機 2021年29期
        關(guān)鍵詞:特征檢測

        吳荻,高大鵬

        (中國民用航空飛行學(xué)院計算機學(xué)院,廣漢618300)

        0 引言

        互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)的普及,使得網(wǎng)絡(luò)在生活中產(chǎn)生了巨大的作用,網(wǎng)絡(luò)電子渠道成為目前為止人們獲取外界信息最有效且最重要的方式。2018年公布了中國互聯(lián)網(wǎng)使用情況統(tǒng)計,截至2018年6月30日,中國網(wǎng)絡(luò)用戶數(shù)目達到了80200萬,在2018前半年新增網(wǎng)絡(luò)用戶2968萬。與2017年比,增長了3.8%,移動網(wǎng)絡(luò)的覆蓋率達到了57.7%,人類生活的便捷度得到了巨大的改善。移動互聯(lián)網(wǎng)的發(fā)展,推動了網(wǎng)絡(luò)信息的傳播,但也同時出現(xiàn)了一些安全問題。正因為網(wǎng)絡(luò)信息是開放的、無國界的、公共的,因此如何守護網(wǎng)絡(luò)的信息安全問題就成了一個嚴峻的挑戰(zhàn)。

        入侵檢測系統(tǒng)是一種通過實時監(jiān)測網(wǎng)絡(luò)環(huán)境訪問數(shù)據(jù),以此確定合法訪問和入侵活動。由于網(wǎng)絡(luò)的快速發(fā)展導(dǎo)致網(wǎng)絡(luò)環(huán)境中各種數(shù)據(jù)量急劇增加,網(wǎng)絡(luò)環(huán)境復(fù)雜,計算機更容易受到攻擊,比如用惡意代碼對信息進行修改,竊取、揭露等。老式的檢測技術(shù)依賴于大量的人力,時效性較差,防御未知入侵技術(shù)的能力也不出眾,因此在現(xiàn)代檢測技術(shù)中就更需要提升檢測算法的高效性。機器學(xué)習(xí)算法是通過“學(xué)習(xí)”模擬人類的學(xué)習(xí)行為來檢測未知攻擊,因此在傳統(tǒng)檢測技術(shù)的基礎(chǔ)上引入機器學(xué)習(xí)算法會更加適配現(xiàn)代復(fù)雜的網(wǎng)絡(luò)環(huán)境。

        1 支持向量機(SVM)

        SVM是一種優(yōu)秀的二分類算法,它是建立在統(tǒng)計學(xué)習(xí)理論和機構(gòu)風(fēng)險最小化原理的基礎(chǔ)上,解決了很多傳統(tǒng)機器學(xué)習(xí)算法中出現(xiàn)的過度擬合、維數(shù)災(zāi)難、低位模式等問題,在很多特殊問題上有獨有優(yōu)勢,比如非線性、小樣本和高位模式等問題。SVM算法的分類決策中最重要的一個部分就是支持向量,廣義支持向量機分為線性可分和線性不可分兩種。

        1.1 線性可分SVM

        假設(shè)解決一個分類問題,如果只有二維的特征向量,需要將正常訪問的用戶和惡意訪問的黑客區(qū)分開來,如果可以只通過一個直線(或一個平面)區(qū)分,那么這個分類問題就是一個線性可分問題。這個區(qū)分的直線也可以是一個超平面,支持向量就是距離超平面最近的樣本。

        為了解決線性可分性問題,假設(shè)訓(xùn)練數(shù)據(jù)的樣本量為l,該樣本可以表示為{(xi,yi),i=1,2,3,…,l},訓(xùn)練數(shù)據(jù)樣本集分為兩個類別,如果xi為第一類,則yi=1;如果xi為第二類,則yi=-1。

        假設(shè)有一個超平面的分類ωx+b=0。樣本可以準(zhǔn)確的分為兩類,將不同的種類分別打入超平面的兩側(cè),使得數(shù)據(jù)集線性可分。即對于(xi,yi)∈D,若yi=1,則 有ωTxi+b>0;若yi=-1,則有ωTxi+b<0。

        樣本空間中任意點到超平面的距離為r=

        如圖1所示,H即為判別類型的超平面,黑白兩色的圓圈代表兩個樣本。若則黑白兩種數(shù)據(jù)樣本點之間的間隔是

        圖1 線性可分SVM

        1.2 非線性可分SVM

        在解決實際問題的時候,在大多數(shù)的情況下,樣本是不能完美的線性分開的,因此要使用非線性向量機來解決這個問題,升級到更高的平面進行區(qū)分,例如二維平面不能區(qū)分就升級到三維平面甚至更高。簡單講就是分為兩步,第一步升高維度(樣本空間向高維映射),第二步線性化。但是在升維的過程中,會出現(xiàn)新的問題,比如計算復(fù)雜度會增加,或者會引起維數(shù)災(zāi)難。而SVM會巧妙地解決升維帶來的計算復(fù)雜化的問題,升級維度的依據(jù)就是核函數(shù)。

        核函數(shù)種類決定了SVM的區(qū)別,常用的核函數(shù)有以下4種:

        (1)線性核函數(shù)K(x,y)=x?y。(用于線性可分的情況,沒有需要專門設(shè)置的核函數(shù),計算速度快)

        (2)多 項式 核 函數(shù)K(x,y)=[(x,y)+r]^d。(低維空間映射到高位空間,參數(shù)多,計算復(fù)雜度高)

        (3)徑向基函數(shù)K(x,y)=exp(-|x-y|^2d^2)。(應(yīng)用最廣的核函數(shù),將樣本映射到高維空間,參數(shù)較少)

        (4)二 層 神 經(jīng) 網(wǎng) 絡(luò) 核 函 數(shù)K(x,y)=tanh(a(x,y)+b)。(實現(xiàn)的是一種多層神經(jīng)網(wǎng)絡(luò))

        需要對數(shù)據(jù)有一定的研究和先驗知識才能選出合適的核函數(shù),利用先驗來選擇復(fù)合數(shù)據(jù)分布的核函數(shù),如果無法選擇的話,通常有兩種解決辦法:①交叉驗證,使用多種不同的核函數(shù)運算出預(yù)測結(jié)果,選擇誤差最小的即為最優(yōu)核函數(shù);②混合核函數(shù),通過結(jié)合多個基本核函數(shù),形成混合函數(shù),再加載數(shù)據(jù)運算。由于用的是核函數(shù)展開定理,在實際編寫中不需要知道非線性映射函數(shù)的線性表達式,而且在維度空間中建立的線性學(xué)習(xí)機,因此與線性模型相比會在某種程度上避免維數(shù)災(zāi)難,而且?guī)缀醪粫黾佑嬎愕膹?fù)雜性。

        當(dāng)Φ:Rn→D,原輸入空間的樣本數(shù)據(jù)被映射到高維空間D中尋找最優(yōu)平面。

        支持向量機的學(xué)習(xí)策略是間隔最大化,即正則化的合頁損失函數(shù)的最小化問題,也就是一個求解凸二次規(guī)劃的問題,所以SVM算法實際上是一種為了達到最小化風(fēng)險的一種最佳算法。

        圖2 線性不可分SVM

        2 入侵檢測數(shù)據(jù)集

        2.1 KDD99數(shù)據(jù)集

        數(shù)據(jù)集與算法是網(wǎng)絡(luò)安全入侵檢測中不可缺少的兩部分。著名計算機科學(xué)家、PASCAL語言的創(chuàng)始人Niklaus Wirth說,“程序=數(shù)據(jù)結(jié)構(gòu)+算法”,而在入侵檢測領(lǐng)域“入侵檢測數(shù)據(jù)挖掘=算法+數(shù)據(jù)集”。很多時候數(shù)據(jù)比算法更重要,算法需要數(shù)據(jù)才能得到結(jié)果的驗證。

        本文在實驗中選用的是由麻省理工學(xué)院林肯實驗室在1998年模擬真實的軍事網(wǎng)絡(luò)訪問環(huán)境得到的500萬條KDD99數(shù)據(jù)集。與原始網(wǎng)絡(luò)訪問記錄相比,此數(shù)據(jù)集已經(jīng)是經(jīng)過去除重復(fù)訪問記錄等預(yù)處理之后得到的數(shù)據(jù)集,相比原始集,KDD99只包含了網(wǎng)絡(luò)流量統(tǒng)計特征

        KDD99數(shù)據(jù)集是以CSV格式記錄,除了本來的500萬條數(shù)據(jù)外,還有一個10%的訓(xùn)練子集和測試子集。本文采用的是10%的訓(xùn)練子集作為分析對象。10%的數(shù)據(jù)自己包括了494021條數(shù)據(jù),每一條數(shù)據(jù)都由1個標(biāo)簽和41個特征(TCP鏈接的基本特征,TCP鏈接的內(nèi)容特征,基于時間的網(wǎng)絡(luò)流量統(tǒng)計特征,基于主機的網(wǎng)絡(luò)流量統(tǒng)計特征)構(gòu)成,每一行有42項。其中前41項特征分為四個大類。

        2.2 數(shù)據(jù)異常類型

        數(shù)據(jù)集中每一行包含了1個類標(biāo)識和41個固定的特征,一共42項,9個離散項,33個連續(xù)項。

        表1 數(shù)據(jù)異常類型

        3 實驗步驟與分析

        3.1 數(shù)據(jù)預(yù)處理

        原本的KDD99數(shù)據(jù)集中一部分標(biāo)簽是以字符串形式記錄的,在SVM程序運行時,字符串和數(shù)值型一起處理時并不方便,因此對數(shù)據(jù)集做預(yù)處理。預(yù)處理的方式有很多種,比如統(tǒng)一將字符型和數(shù)值型全部化為二進制字符串,其優(yōu)點是方便在結(jié)果中看到原本的標(biāo)識類型;或者直接將數(shù)據(jù)集中的字符型特征轉(zhuǎn)化為數(shù)值型特征(即符號特征數(shù)值化)。數(shù)值化會更加方便后續(xù)的數(shù)據(jù)處理。因此本文也使用數(shù)值化的方法進行預(yù)處理。數(shù)值化大致分為以下4個部分:

        (1)源文件行中3中協(xié)議類型轉(zhuǎn)換成數(shù)字標(biāo)識;

        (2)源文件中70中網(wǎng)絡(luò)服務(wù)類型轉(zhuǎn)換成數(shù)字標(biāo)識;

        (3)11中網(wǎng)絡(luò)連接狀態(tài)轉(zhuǎn)化成數(shù)字標(biāo)識;

        (4)5大類型轉(zhuǎn)換成數(shù)字標(biāo)識,把未知攻擊分入一個類型,單獨標(biāo)記。

        3.2 樣本分析

        KDD99數(shù)據(jù)集數(shù)據(jù)量大,屬性多,時間復(fù)雜度高。它是在DARPA98數(shù)據(jù)集中將部分數(shù)據(jù),比如DoS攻擊后產(chǎn)生的大量重復(fù)記錄刪除后,在KDD99中只提取了5分鐘之內(nèi)的記錄寫入。它的樣本類別如表2所示。

        表2 樣本類別

        為了檢測入侵檢測系統(tǒng)的好壞,需要用未知的攻擊來確定,因此在KDD99數(shù)據(jù)集存在39小類攻擊類型中,訓(xùn)練集只出現(xiàn)了22種攻擊類型,剩下的17只在測試集中出現(xiàn)的攻擊類型對于訓(xùn)練集來說就是未知的攻擊類型,以此劃分來實現(xiàn)用一個數(shù)據(jù)集就可以檢測系統(tǒng)對未知攻擊的檢測力。

        3.3 數(shù)據(jù)集劃分

        為了進行交叉驗證,減少過擬合風(fēng)險,本文按照4∶1的比例,對訓(xùn)練數(shù)據(jù)集隨機劃分為訓(xùn)練集(Train)和驗證集(Validation)。

        X_train,X_val,y_train,y_val=train_test_split(X,Y,test_size=0.25)

        由此分開的數(shù)據(jù)集,目標(biāo)變量Y的分布大致相似,如表3所示,劃分后的數(shù)據(jù)集中,某幾種標(biāo)簽的比例大致相似。

        表3 劃分后的數(shù)據(jù)集中各標(biāo)簽的比例

        3.4 特征設(shè)計與處理

        如前文所示,數(shù)據(jù)表總共有41個特征,其中protocol_type、service、flag是 取 值 數(shù) 分 別 有3、70、11的三種離散特征,其余均為連續(xù)型數(shù)值特征。在SVM模型中,需要計算樣本間距,離散型的取值無法直接進行距離計算。為了解決這個問題,在數(shù)據(jù)處理中對離散型的特征數(shù)據(jù)進行One-Hot編碼,使每個整數(shù)都用二進制表示,除了整數(shù)索引標(biāo)記為1之外,其余都用0表示,使得特征的計算更為合理。

        在對KDD99數(shù)據(jù)集數(shù)值化預(yù)處理的過程中,是用不同的整數(shù)數(shù)值來代替不同的特征類型,因此用的數(shù)值大小不一樣就會對模型、對不同特征的敏感度不一樣,比如一個特征用數(shù)值1代替,另一個特征項用數(shù)值100代替,則用100代替的特征項就會對結(jié)果產(chǎn)生更大的影響,不利于模型收斂。因此需要將數(shù)值特征歸一化,各個特征大小范圍一致就可以使用距離度量等算法。在sklearn中,是默認把數(shù)值歸一化到[0,1]或者[-1,1]之間,因為不同的機器學(xué)習(xí)算法所需要的數(shù)值范圍不一樣,因此在實際應(yīng)用中可以通過調(diào)參來實歸一化后的數(shù)值大小固定在某一區(qū)間之內(nèi)。歸一化后能加速梯度下降算法的收斂速度,在SVM算法中,一致化的特征能加速尋找支持向量的時間。

        本文程序中,特征處理的主要代碼如下所示:

        3.5 模型訓(xùn)練

        SVM有多種參數(shù),包括核函數(shù)、正則化系數(shù)等??梢允褂媒徊骝炞C調(diào)參選擇最優(yōu)參數(shù)讓結(jié)果達到最理想的結(jié)果,在本文中使用train_test_split()函數(shù)將訓(xùn)練集隨機劃分成“用于訓(xùn)練”和“用

        4 實驗結(jié)果

        經(jīng)交叉驗證進行參數(shù)調(diào)優(yōu),模型的預(yù)測精度可以達到99.9%,所使用的參數(shù)為:

        通過設(shè)置交叉驗證集,還可以繪制混淆矩陣,將結(jié)果以表格化的形式展現(xiàn)出來,它是一種可視化工具,使得模型驗證結(jié)果更加明了。每一列標(biāo)識預(yù)測類別,每一行表示數(shù)據(jù)真實歸屬類別;每列總數(shù)是預(yù)測為該類別的數(shù)據(jù)個數(shù),每行數(shù)據(jù)總數(shù)是該類別的數(shù)據(jù)實例的數(shù)量。在sklearn中,已經(jīng)內(nèi)置混淆矩陣的API。使用matplotlib,將混淆矩陣可視化:

        如圖3所示,混淆矩陣會清晰的反應(yīng)出模型的檢測能力,該模型對于大多數(shù)的類別預(yù)測都有很高的準(zhǔn)確率。對于個別類顯示分類準(zhǔn)確率不正常,因為其所對應(yīng)的樣本只有兩三個,增加所對應(yīng)的樣本即可。

        圖3 混淆矩陣

        5 結(jié)語

        SVM算法本身具有處理小樣本、高維度、非線性分類的特點,把SVM算法應(yīng)用在入侵檢測當(dāng)中,可以發(fā)揮它的特點,克服目前入侵檢測技術(shù)中,如運行速度較慢、檢測準(zhǔn)確率比較低、實時性較差等明顯缺陷。但是,SVM在基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的實際應(yīng)用中,仍然有很多需要完善和提高的地方,如核函數(shù)的選擇參考問題、高維數(shù)據(jù)如何有效降維,等。

        猜你喜歡
        特征檢測
        抓住特征巧觀察
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        新型冠狀病毒及其流行病學(xué)特征認識
        如何表達“特征”
        不忠誠的四個特征
        抓住特征巧觀察
        亚洲V在线激情| 人妻少妇被粗大爽.9797pw| 亚洲av激情久久精品人| 日本久久久精品免费免费理论| 人妻熟妇乱又伦精品视频| 欧美激情一区二区三区成人| …日韩人妻无码精品一专区| 中文字幕亚洲情99在线| 久久国产综合精品欧美| 亚洲自偷自拍另类第一页| 精品婷婷国产综合久久| 亚洲一区精品在线中文字幕| 蜜桃视频在线看一区二区三区| 99久久国产综合精品女图图等你| 亚洲无码精品免费片| 久久久精品国产亚洲AV蜜| 操老熟妇老女人一区二区| 国产亚洲成人av一区| 四虎影视永久地址www成人| 中文亚洲爆乳av无码专区 | 国产三区三区三区看三区| 国产一区二区三区天堂 | av草草久久久久久久久久久 | 成年女人片免费视频播放A| 中文字幕一区二区三区乱码人妻| 蜜臀性色av免费| 无码人妻精品丰满熟妇区| 麻豆久久五月国产综合| 日本一区二区三区中文字幕视频| 精品日韩av专区一区二区| 亚洲综合精品中文字幕| 无码人妻丰满熟妇区五十路百度| 国产精品三级在线专区1| 蜜桃一区二区三区自拍视频| 一区二区视频中文字幕| 曰本大码熟中文字幕| 一本无码人妻在中文字幕| 隔壁人妻欲求不满中文字幕 | 亚洲一区二区在线观看av| 人人妻人人澡人人爽人人精品浪潮 | 性生大片免费观看性少妇|