999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SVM的入侵檢測識別系統

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

吳荻,高大鵬

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

0 引言

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

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

1 支持向量機(SVM)

SVM是一種優秀的二分類算法,它是建立在統計學習理論和機構風險最小化原理的基礎上,解決了很多傳統機器學習算法中出現的過度擬合、維數災難、低位模式等問題,在很多特殊問題上有獨有優勢,比如非線性、小樣本和高位模式等問題。SVM算法的分類決策中最重要的一個部分就是支持向量,廣義支持向量機分為線性可分和線性不可分兩種。

1.1 線性可分SVM

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

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

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

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

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

圖1 線性可分SVM

1.2 非線性可分SVM

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

核函數種類決定了SVM的區別,常用的核函數有以下4種:

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

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

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

(4)二 層 神 經 網 絡 核 函 數K(x,y)=tanh(a(x,y)+b)。(實現的是一種多層神經網絡)

需要對數據有一定的研究和先驗知識才能選出合適的核函數,利用先驗來選擇復合數據分布的核函數,如果無法選擇的話,通常有兩種解決辦法:①交叉驗證,使用多種不同的核函數運算出預測結果,選擇誤差最小的即為最優核函數;②混合核函數,通過結合多個基本核函數,形成混合函數,再加載數據運算。由于用的是核函數展開定理,在實際編寫中不需要知道非線性映射函數的線性表達式,而且在維度空間中建立的線性學習機,因此與線性模型相比會在某種程度上避免維數災難,而且幾乎不會增加計算的復雜性。

當Φ:Rn→D,原輸入空間的樣本數據被映射到高維空間D中尋找最優平面。

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

圖2 線性不可分SVM

2 入侵檢測數據集

2.1 KDD99數據集

數據集與算法是網絡安全入侵檢測中不可缺少的兩部分。著名計算機科學家、PASCAL語言的創始人Niklaus Wirth說,“程序=數據結構+算法”,而在入侵檢測領域“入侵檢測數據挖掘=算法+數據集”。很多時候數據比算法更重要,算法需要數據才能得到結果的驗證。

本文在實驗中選用的是由麻省理工學院林肯實驗室在1998年模擬真實的軍事網絡訪問環境得到的500萬條KDD99數據集。與原始網絡訪問記錄相比,此數據集已經是經過去除重復訪問記錄等預處理之后得到的數據集,相比原始集,KDD99只包含了網絡流量統計特征

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

2.2 數據異常類型

數據集中每一行包含了1個類標識和41個固定的特征,一共42項,9個離散項,33個連續項。

表1 數據異常類型

3 實驗步驟與分析

3.1 數據預處理

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

(1)源文件行中3中協議類型轉換成數字標識;

(2)源文件中70中網絡服務類型轉換成數字標識;

(3)11中網絡連接狀態轉化成數字標識;

(4)5大類型轉換成數字標識,把未知攻擊分入一個類型,單獨標記。

3.2 樣本分析

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

表2 樣本類別

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

3.3 數據集劃分

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

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

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

表3 劃分后的數據集中各標簽的比例

3.4 特征設計與處理

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

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

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

3.5 模型訓練

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

4 實驗結果

經交叉驗證進行參數調優,模型的預測精度可以達到99.9%,所使用的參數為:

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

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

圖3 混淆矩陣

5 結語

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

猜你喜歡
特征檢測
抓住特征巧觀察
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
主站蜘蛛池模板: av手机版在线播放| 韩日午夜在线资源一区二区| 人妻精品全国免费视频| 青青草原国产| 一本一本大道香蕉久在线播放| 五月激情婷婷综合| 日本一本在线视频| 色妞www精品视频一级下载| 精品久久蜜桃| AV天堂资源福利在线观看| 老司机午夜精品网站在线观看 | 精品国产Av电影无码久久久| 亚洲美女操| 亚洲一级毛片在线观播放| 日本三级黄在线观看| 中文字幕久久亚洲一区 | 日本成人不卡视频| 免费一级毛片在线播放傲雪网| 欧美精品啪啪一区二区三区| 天天干伊人| 嫩草国产在线| 国产无码性爱一区二区三区| 亚洲综合经典在线一区二区| 朝桐光一区二区| 丁香六月激情综合| 国内老司机精品视频在线播出| 亚洲va欧美ⅴa国产va影院| 99久久无色码中文字幕| 久久亚洲国产视频| 国产精品思思热在线| 亚洲系列中文字幕一区二区| 人妖无码第一页| 美女毛片在线| 老司机久久99久久精品播放| 欧美有码在线| 国产三区二区| 四虎永久免费网站| 国产欧美性爱网| 欧美精品三级在线| 亚洲Va中文字幕久久一区 | 亚洲av无码片一区二区三区| 很黄的网站在线观看| 热99精品视频| 97久久人人超碰国产精品| 欧美精品一区在线看| 成年片色大黄全免费网站久久| 亚洲天堂精品视频| 538精品在线观看| 欧美一区二区精品久久久| 2021国产精品自拍| 国产91色在线| 欧美97欧美综合色伦图| 国产亚洲男人的天堂在线观看| 黄片一区二区三区| 久久精品无码一区二区日韩免费| 日本不卡免费高清视频| 国产精品无码久久久久AV| 亚洲丝袜第一页| 国产视频 第一页| 欧美一区精品| 亚洲综合精品第一页| 2021国产精品自产拍在线观看| 在线看国产精品| 亚洲人网站| 日本亚洲成高清一区二区三区| 三上悠亚一区二区| 成人福利在线免费观看| 色婷婷亚洲十月十月色天| 99精品久久精品| 在线看片免费人成视久网下载| 97在线公开视频| 日本国产精品一区久久久| 国产va在线| 亚洲午夜福利精品无码不卡| 成人年鲁鲁在线观看视频| 91久久偷偷做嫩草影院精品| 亚洲欧洲一区二区三区| 天堂中文在线资源| 91人妻日韩人妻无码专区精品| 亚洲第一视频区| 中文字幕乱码中文乱码51精品| 91精品福利自产拍在线观看|