◆楊林 侯俊科
基于網(wǎng)絡的異常流量監(jiān)測算法研究
◆楊林 侯俊科
(山東省淄博第一中學 山東 255000)
網(wǎng)絡異常流量入侵檢測系統(tǒng)是當今網(wǎng)絡安全技術的重要研究領域。傳統(tǒng)的網(wǎng)絡異常流量監(jiān)測技術要求獲取大量訓練樣本來進行機器學習,從而提高該系統(tǒng)檢測的準確性,但在現(xiàn)實的網(wǎng)絡環(huán)境中進行大量訓練數(shù)據(jù)的獲取是比較困難的。由于SVM傳統(tǒng)算法的效率和檢測率還需要進一步的提升,本文在測試由傳統(tǒng)SVM算法完成的入侵檢測的基礎上,進一步尋找優(yōu)化SVM算法的方法進行網(wǎng)絡流量異常檢測。本研究采用的優(yōu)化方法是將選取的異常檢測的特征參數(shù)進行進一步的選擇,在處理參數(shù)的時候使用到了網(wǎng)格搜索與交叉驗證相結合的方法,使得檢測成功率有了明顯的提升。
入侵檢測;支持向量機;網(wǎng)格搜索;交叉驗證
隨著互聯(lián)網(wǎng)的不斷發(fā)展,網(wǎng)絡安全這一問題得到了世界各國廣泛的重視,通過進一步加強網(wǎng)絡安全和信息管理來維護互聯(lián)網(wǎng)安全,通過監(jiān)測、預警等方式來預防網(wǎng)絡攻擊的進行,在當今網(wǎng)絡安全技術領域,入侵檢測技術在其中起著相當重要的作用。傳統(tǒng)的入侵檢測系統(tǒng)的實現(xiàn)最大的困難之一是需要用于計算的數(shù)據(jù)樣本數(shù)量太大,相關技術所選擇的特征比較單一,網(wǎng)絡異常流量檢測的能力受到限制,從而導致系統(tǒng)檢測出異常情況的效率降低,以及其判斷的精確度降低之類的問題。對于目前而言,如何進一步在傳統(tǒng)入侵檢測系統(tǒng)上進行優(yōu)化是一個比較值得研究的課題。
本實驗使用的數(shù)據(jù)集是DARPA(Defense Advanced Research Projects Agency)為1999年KDD(Knowledge Discovery and data Mining,知識發(fā)現(xiàn)與數(shù)據(jù)挖掘)競賽建立的入侵檢測系統(tǒng)評估基準數(shù)據(jù)集,即KDD CUP1999,簡稱KDD99。許多研究人員利用這組數(shù)據(jù)驗證了入侵檢測算法的性能。數(shù)據(jù)集是從模擬局域網(wǎng)中收集的9周網(wǎng)絡連接數(shù)據(jù)。它分為訓練數(shù)據(jù)集和測試數(shù)據(jù)集,攻擊類型分為4類,再細分為39類。每個類表示一個攻擊類型,類型名稱被標記為訓練數(shù)據(jù)集中每一行的最后一項。入侵行為主要有4種類型:拒絕服務(DoS)、探查(Probe)、遠程到本地訪問(R2L)、User to Root(U2R)。在上述攻擊中,F(xiàn)looding類型的DoS攻擊,高強度的端口掃描和漏洞掃描都會導致網(wǎng)絡流量特征的變化。解析后使用共計8000條數(shù)據(jù)進行實驗,從中選取6400條作為訓練數(shù)據(jù),其中391條為“異?!睌?shù)據(jù)。正常數(shù)據(jù)為1,異常數(shù)據(jù)標記為-1。KDD99數(shù)據(jù)集中的每個記錄都含有41個特征值,如加上最后的標志(label),一共有42項,分別屬于4類特征集。具體類型如表1所示。
表1 數(shù)據(jù)集的特征值
編號名稱 說明類型 TCP 連接基本特征 1duration 連接持續(xù)時間連續(xù)類型 2protocol_type 協(xié)議類型離散類型 3service 目標主機的網(wǎng)絡服務類型離散類型 4flag 連接狀態(tài)離散類型 5src_bytes 從源到目標主機的數(shù)據(jù)字節(jié)數(shù)連續(xù)類型 6dst_bytes 從目標到源主機的數(shù)據(jù)字節(jié)數(shù)連續(xù)類型 7land 判斷是否為同一主機/端口離散類型 8wrong_fragment 分段錯誤數(shù)量連續(xù)類型 9urgent 加急包數(shù)量連續(xù)類型 TCP 連接的內容特征 10hot 訪問系統(tǒng)敏感文件和目錄的次數(shù)連續(xù)類型 11num_failed_logins 嘗試登錄失敗的次數(shù)連續(xù)類型 12logged_in 判斷是否登錄成功離散類型 13num_compromised compromised條件出現(xiàn)的次數(shù)連續(xù)類型 14root_shell 獲得超級用戶權限的次數(shù)連續(xù)類型 15su_attempted 判斷是否出現(xiàn)“su root”命令離散類型 16num_root root用戶訪問次數(shù)連續(xù)類型 17num_file_creations 文件創(chuàng)建操作次數(shù)連續(xù)類型 18num_shells 使用shells的次數(shù)連續(xù)類型 19num_access_files 訪問控制文件的次數(shù)連續(xù)類型 20num_outbound_cmds 一個FTP 會話中下載命令的數(shù)量連續(xù)類型 21is_hot_login 判斷登錄是否是“hot”列表離散類型 22is_guest_login 判斷登錄是否為guest離散類型 基于時間的網(wǎng)絡流量統(tǒng)計特征 23count 連接次數(shù)連續(xù)類型 25serror_rate 出現(xiàn)SYN錯誤連接百分比連續(xù)類型 27rerror_rate 出現(xiàn)REJ錯誤連接百分比連續(xù)類型 29same_srv_rate 與當前連接具有相同服務的連接百分比連續(xù)類型 30diff_srv_rate 與當前連接具有不同服務的連接百分比連續(xù)類型 24srv_count 連接類型連續(xù)類型 26srv_serror_rate 出現(xiàn)SYN錯誤連接百分比連續(xù)類型 28srv_rerror_rate 出現(xiàn)REJ錯誤連接的百分比連續(xù)類型 31srv_diff_host_rate 與當前連接具有不同主機的連接百分比連續(xù)類型 基于主機的網(wǎng)絡流量統(tǒng)計特征 32dst_host_count 連接數(shù)連續(xù)類型 33dst_host_srv_count 相同服務的連接數(shù)連續(xù)類型 34dst_host_same_srv_rate 相同服務的連接所占的百分比連續(xù)類型 35dst_host_diff_srv_rate 不同服務的連接所占的百分比連續(xù)類型 36dst_host_same_src_port_rate 相同源端口的連接所占的百分比連續(xù)類型 37dst_host_srv_diff_host_rate 當前連接具有不同源主機的連接所占的百分比連續(xù)類型 38dst_host_serror_rate 出現(xiàn) SYN 錯誤的連接所占的百分比連續(xù)類型 39dst_host_srv_serror_rate 出現(xiàn) SYN 錯誤的連接所占的百分比連續(xù)類型 40dst_host_rerror_rate 出現(xiàn)REJ錯誤的連接所占的百分比連續(xù)類型 41dst_host_srv_rerror_rate 出現(xiàn)REJ錯誤的連接所占的百分比連續(xù)類型
(1)開發(fā)環(huán)境
系統(tǒng)開發(fā)環(huán)境如表2所示。
表2 系統(tǒng)開發(fā)環(huán)境
分類名稱版本語種 操作系統(tǒng)Windows10簡體中文 開發(fā)平臺MatlabR2014a中文
(2)運行環(huán)境
硬件環(huán)境如表3所示。
表3 硬件環(huán)境
名稱最低配置推薦配置 處理器Intel Pentium 3.0GHzIntel Core i3 3.0GHz或以上 內存512M1G或以上
軟件環(huán)境如表4所示。
表4 軟件環(huán)境
分類名稱版本語種 操作系統(tǒng)Windows10簡體中文 算法測試平臺MatlabR2014a中文
(3)使用工具包
LibSVM是用于支持向量分類(C-SVC,nu-SVC),回歸(epsilon-SVR,nu-SVR)和分布估計的集成工具包。
(1)傳統(tǒng)SVM算法的實驗結果
運用MATLAB進行算法測試生成的圖像如圖1所示。
(2)優(yōu)化后SVM算法的實驗結果
超參選擇的結果圖如圖2、3所示。
測試集和預測集算法預測結果如圖4所示。
傳統(tǒng)SVM算法與基于網(wǎng)格搜索的SVM參數(shù)優(yōu)化進行對比,測試數(shù)據(jù)如表5所示。
表5 傳統(tǒng)與優(yōu)化算法實驗對比
訓練參數(shù)預測結果 訓練樣本優(yōu)化與否準確率誤報警率測試時間 1000Y96.748%0.107%32.082s N95.201%0.208%13.461s 5000Y98.405%0.027%22.434s N97.233%0.088%17.080s
可以看出:
(1)隨著訓練樣本數(shù)的提升,基于該訓練集的分類的準確率也相應提高。
(2)經(jīng)過參數(shù)優(yōu)化,準確率有了提高。
(3)基于網(wǎng)格搜索的參數(shù)尋優(yōu)分類效果比傳統(tǒng)的SVM效果好。
圖1 測試結果圖
圖2 SVC參數(shù)選擇結果圖(3D視圖)
本文主要針對實驗使用數(shù)據(jù)集的類型進行描述,介紹實驗的相關環(huán)境(軟件環(huán)境、硬件環(huán)境、使用工具包),通過對比實驗,驗證該課題的可實現(xiàn)性。主要針對傳統(tǒng)SVM算法不同參數(shù)的設置、以及算法優(yōu)化前后數(shù)據(jù)的對比進行對比和分析,對該算法的優(yōu)缺點進行總結和整理。本文的主要內容是對網(wǎng)絡異常流量檢測系統(tǒng)進行設計與實現(xiàn),通過選擇SVM算法作為入侵檢測系統(tǒng)的算法基礎,分析SVM算法的相關特性,并按照系統(tǒng)需求進行算法設計。在這個的基礎上,又針對SVM算法的缺點進行優(yōu)化,采用網(wǎng)格搜索和交叉驗證結合的方法進行優(yōu)化,并完成了相關實驗?;谥С窒蛄繖C的網(wǎng)絡異常檢測法不僅有效地檢測各種高強度掃描行為,還具有較低的誤警報率,本文中選擇的特征參數(shù)表示其能夠有效地檢測出因網(wǎng)絡攻擊而引起的異常業(yè)務變化,基于支持向量機的檢測方法表明,其具有優(yōu)秀的通用能力,能夠更好地檢測出訓練中沒有出現(xiàn)的新攻擊,增加了對于網(wǎng)絡安全的保障。
圖3 SVC參數(shù)選擇結果圖(等高線圖)
圖4 基于網(wǎng)格搜索法優(yōu)化的SVM算法預測結果
[1]R.-E. Fan,P.-H. Chen,and C.-J. Lin. Working set selection using second order information for training SVM[J]. Journal of Machine Learning Research 6,1889-1918,2005.
[2]http://www.cac.gov.cn/2018-04/25/c_1122741894.htm.
[3]段丹青,陳松喬,楊衛(wèi)平. 基于SVM主動學習算法的網(wǎng)絡入侵檢測系統(tǒng)[J]. 計算機工程與科學,2006,28(4):33-36.
[4]蘇志同,劉芳正. 基于改進 SVM 主動學習的網(wǎng)絡入侵檢測磁[J]. 計算機與數(shù)字工程,2016,44(9).
[5]趙春蘭. 基于改進SVM的網(wǎng)絡入侵檢測算法研究[D]. 西安科技大學,2012.