瞿迪慶,呂齊,楊懷仁,余侃,吳哲翔







摘要:互聯網的飛速發展給人們的生活帶來便利的同時,也給網絡攻擊者提供了良好的環境。網絡安全問題不僅關乎民生,也關乎國家安全,因此,網絡安全問題引起了中央高度重視。為此,學者們提出了很多應對網絡安全攻擊和網絡異常檢測的方法,其中機器學習算法占據重要地位。該文采用多種機器學習方法,首先對數據集KDD99進行網絡異常檢測,并預測其攻擊類型,再對國家電網金華供電公司網絡數據進行網絡攻擊威脅預測及等級分類。研究發現采用決策樹算法預測準確度最高,同時運行時間也短,此外,研究揭示KDD99數據集中U2R攻擊類型容易被預測為正常類型。該研究為降低誤報率和提高網絡安全性能的系統設計提供參考。
關鍵詞:網絡安全;異常檢測;安全威脅等級分類;機器學習;國家電網
中圖分類號:TP393? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)34-0010-03
1 引言
隨著互聯網與社會生活的日益深入融合,互聯網正在改變著人們的學習和工作方式,同時也面臨著日益嚴重的安全威脅[1-2]。如2006年“熊貓燒香”病毒傳播事件,短短一個月時間被感染的用戶就超過了幾百萬。再比如近期發生的以郵件、程序木馬和網頁掛馬為主要傳播形式的“勒索病毒”,給全球帶來了極大的損失[3]。據CNCERT發布《2021年上半年我國互聯網網絡安全監測數據分析報告》指出:1)捕獲惡意程序樣本數量約2307萬個,日均傳播次數達582萬余次,涉及惡意程序家族約20.8萬個;2)我國境內感染計算機惡意程序的主機數量約446萬臺,同比增長46.8%。位于境外的約4.9萬個計算機惡意程序控制服務器控制我國境內約410萬臺主機,境外約1.2萬個IPv6地址控制了我國境內約2.3萬臺IPv6地址主機;3)國家信息安全漏洞共享平臺收錄通用型安全漏洞13083個,同比增長18.2%;4)CNCERT監測發現,境內目標遭受峰值流量超過1Gbps的大流量攻擊事件同比減少17.5%,攻擊時長不超過30分鐘的攻擊事件占比高達96.6%,比例進一步上升,表明攻擊者越來越傾向于利用大流量攻擊瞬間打癱攻擊目標;5)累計監測發現用于發起DDoS攻擊的活躍控制端1,455臺,其中位于境外的占比97.1%,主要來自美國、德國和荷蘭等;6)監測發現針對我國境內網站仿冒頁面約1.3萬余個,境內外8289個IP地址對我國境內約1.4萬個網站植入后門,我國境內被植入后門的網站數量較2020年上半年大幅減少62.4%,可以發現,盡管存在很多應對網絡安全攻擊的方法,但是檢測和降低甚至防止網絡攻擊,仍是一個亟待解決的關鍵問題[4]。
關于網絡安全檢測和網絡安全威脅等級預測,學者們提出了大量的方法[5-6]。Stevanovic 和 Pedersen列出了一些基于機器學習的網絡流量異常檢測方法,如支持向量機(support vector machine, SVM)、人工神經網絡(artificial neural networks, ANN)、決策樹和貝葉斯算法,以及一些無監督學習方法,如 K-means、X-means 等[7]。考慮到傳統機器學習方法只能進行淺層的學習,學者使用深度學習方法學習大量復雜的輸入數據,期望深入挖掘特征與輸入之間的關聯關系。如Suda等學者利用循環神經網絡(Recurrent Neural Network,RNN)挖掘數據包的時間序列特征,研究了車載網絡的入侵檢測[8]。考慮到傳統的RNN網絡存在梯度消失或爆炸問題,學者們提出了長短期記憶(Long Short-Term Memory networks, LSTM)網絡[9],后來學者們提出了更加簡單的網絡結構,門控循環單元(Gated Recurrent Unit,GRU)網絡,GRU網絡可以進一步提升運行速度的同時,預測準確度不會下降[10]。鑒于傳統的網絡安全態勢預測方法依賴于歷史態勢值的準確性,并且各種網絡安全因素之間存在相關性和重要程度差異性。何春蓉和朱江提出一種基于注意力機制的GRU編碼預測方法,該方法利用GRU循環神經網絡挖掘網絡安全態勢數據之間的時間相關性[11]。
文章擬基于KDD99數據集[12-13]和國家電網金華供電公司數據集,采用幾個傳統的機器學習算法,如支持向量機SVM、決策樹DecTr、K-近鄰KNN、隨機森林RF和兩個深度學習算法,如多層BP神經網絡[14]和雙向門控循環控制單元網絡(Bi-GRU)[15],研究網絡數據異常檢測和安全威脅等級預測。
2 數據概述與預處理
2.1 數據概述
為了研究筆者的問題,本文采用兩個網絡流量數據集,一種是KDD99數據集(KDD CUP 99 dataset[12-13]),另一種是國家電網金華供電公司網絡數據。
KDD99數據集為公開數據,含有約16.7萬條信息,41個特征,1個標簽。標簽含有5種類型,分別是normal,DOS攻擊,Probe攻擊,R2L攻擊,U2R攻擊。其中normal為正常類,表示網絡沒有遭受任何潛在安全威脅。其他幾個異常類型如下:
DOS攻擊:拒絕服務攻擊,包括back、land、neptune、pod、smurf、teardrop。
Probe攻擊:端口監視、探測或掃描,包括ipsweep、nmap、portsweep、satan。
R2L攻擊:來自遠程主機的未授權訪問,包括ftp_write、guess_passwd、imap、multihop、phf、spy、warezclient、warezmaster。
U2R攻擊:未授權的本地超級用戶特權訪問,包括buffer overflow、loadmodule、perl、rootkit。
41個特征包括9個TCP連接基本特征,13個TCP連接的內容特征,9個基于時間的網絡流量統計特征,10個基于主機的網絡流量統計特征。
因此,對于KDD99數據,文章基于這41個特征,預測某一行為是否存在網絡安全威脅,并預測其攻擊類型。
國家電網金華供電公司網絡數據集為2019年4月至2021年2月期間的13萬余條網絡信息,每條信息包含38個字段。其中與網絡安全威脅等級預測相關的字段有12個,分別為msgtype(消息類型),protocol(協議類型),direct(威脅方向),acted(對該告警的策略動作),sport(源端口),dport(目的端口),msg(告警描述信息),ds(觸發告警威脅字段),iscdnip(是否為cdn ip),alert_type(告警類型),attack_dir(攻擊方向),attack_chain(攻擊階段)。標簽為alterlevel(威脅等級),分別是1,2,3。
國家電網金華供電公司網絡異常檢測系統將正常的行為進行了過濾,所以只有異常數據。因此對于公司數據,目的是根據這12個特征,對某條信息的安全威脅等級進行預測,即預測標簽alterlevel的值。
2.2 數據預處理
將數據集數值化和標準化處理,并隨機分為訓練集、驗證集和測試集。訓練集占比為60%,驗證集占15%,測試集占25%。
數值類型標準化方法:
每個數值類型數據除以該特征的數據最大值,即[xijmax (Xj)],其中[xij]代表第[j]個屬性的第i個值,[max (Xj)]表示第[j]個屬性的最大值。
字符類型特征數值化方法:
基于某個特征,找出所有不同的字符串及個數,將不同字符串用整數標號,最后將整數標準化處理,即除以該列特征數據最大的值。譬如,某個特征有10個不同的值(字符串),那么將這些字符串轉化為1至10的數值,再對每個數值除以10,這樣就實現了字符串類型數值化。
3 數據分析與網絡安全預測研究
為了預測網絡異常攻擊類型和預測安全威脅等級,采用6種機器學習算法,分別為決策樹算法(DecTr),支持向量機(SVM)),K最近鄰算法(KNN)),隨機森林(RF),以及兩個深度學習算法,即多層人工神經網絡(BP)和雙向循環神經網絡(Bi-GRU)。
這些算法可以從python中的第三方庫直接調用。對于決策樹算法(DecTr),支持向量機(SVM),最近鄰算法(KNN),隨機森林(RF)四種算法,直接用默認參數;對于BP和Bi-GRU算法,筆者采用3個隱藏層,每層神經元數量為80個,最后一層采用全連接層。為了減少或避免進入局部最優解和過擬合,dropout設為0.2,即隨機將20%的神經元當作遺忘。運算批量大小batch_size為64,其他采用默認參數。
3.1 KDD99數據集分析
筆者將數據集隨機分為訓練集和測試集,比例為4:1,如圖1所示。可以發現,訓練集和測試集中的各類型分布相近,其中正常的占比最高,約占57%,攻擊類型中DOS攻擊類型占比最高,約占42%,U2R在攻擊類型中占比最低,不到0.1%,表明U2R攻擊類型很少出現。
3.2 KDD99數據集攻擊類型預測結果分析
如圖2所示,文章采用混淆矩陣圖像刻畫各種算法的預測準確度。混淆矩陣表示測試集中的數據被預測為各個類型的數量構成的矩陣。如果全在對角線,表明預測準確度達到了100%。
文章在圖3中給出了上述6種算法的預測準確度和相應算法的運行時長。從圖2和圖3可以發現,從算法準確度角度看,決策樹算法(DecTr)準確度最高,約為99.20%,BP算法次之,約為99.03%,最近鄰(KNN)算法約為98.89%,隨機森林(RF)約為98.68%,Bi-GRU雙向循環神經網絡算法約為96.83%,而支持向量機算法SVM準確度最差,約為94.06%。
綜合運行時長分析,可以看出,SVM分類算法不僅準確度低,運行時長也高,而KNN算法盡管準確度較高,但是預測時間較長,約為270秒。決策樹算法則在準確度和時間方面都占據絕對優勢,因此最終選定采用決策樹算法。
為了更為精確地了解預測結果,文章采用DecTr算法,進一步分析各類攻擊類型的預測誤報率,圖4結果表明U2R誤報為“正常”的比例比其他幾種類型要高,約為8%,R2L誤報為“正常”的比例約為7%,其他攻擊類型的誤報率都低于2%。U2R和R2L攻擊類型誤報率較高的原因可能是這兩種攻擊類型樣本很少,如U2R攻擊類型樣本數不到50。綜上,文章發現誤報率屬于可接受的范圍,該誤報率預測結果為降低U2R和R2L誤報為正常的系統設計提供參考。
3.3 國家電網金華供電公司數據集分析
首先分析該數據集標簽中的各類型分布,如圖5所示,可以清晰地發現,威脅等級為1的數量極少,只占了1.4%的比例,威脅等級為2的數據約占了28.5%,而威脅等級為3的比例達到了70%。
3.4 國家電網金華供電公司數據集網絡安全威脅等級預測
這里,同樣采用上述6種算法對該數據集進行網絡安全威脅等級預測。與KDD99數據集結果有點不同,筆者從圖6的預測結果發現,隨機森林(RF)、決策樹(DecTr)和KNN三種算法預測準確度都能達到100%。類似地,SVM算法預測準確度也是最差,同時SVM和Bi-GRU算法的運行時長也很高。RF、DecTr和KNN三種算法不僅預測非常準確,運行時間還短,尤其是對于DecTr算法,不管是訓練時間還是預測時間,都不到1秒。
綜上,文章發現,采用傳統的機器學習算法對于網絡安全異常檢測貌似更有效,Bi-GRU算法在很多領域中預測準確度非常高,如自然語言處理,圖像處理等,但是對于所分析的問題Bi-GRU算法預測準確度一般,一個可能的原因是Bi-GRU算法主要思想是數據集與時間序列有關,期望基于時間序列學習潛在的特征與輸出之間的關聯關系。然而,網絡異常檢測問題沒有涉及時間序列,所以Bi-GRU算法預測準確度較差。
4 結束語
網絡安全問題在國防和民生方面占據著重要地位,準確對網絡數據進行異常檢測和安全威脅級別分類具有重要研究意義和實用價值。文章基于KDD99公開數據集和國家電網金華供電公司網絡數據,采用機器學習算法預測網絡攻擊類型和安全威脅等級。通過對比幾種常用的機器學習算法的預測結果,文章發現采用決策樹算法不僅預測更準確,同時運行時間更短。在國家電網金華供電公司網絡數據預測結果揭示決策樹算法可以達到100%的預測準確度,同時運行時長不到1秒。在KDD99數據集上,決策樹算法預測準確度也達到了99.2%。此外,文章發現兩種攻擊類型,即U2R和R2L攻擊類型的誤報率較高,分別達到了8%和7%,文章的研究結果為進一步優化設計降低誤報率的系統提供參考。
參考文獻:
[1] 蔣建春,馬恒太,任黨恩,等.網絡安全入侵檢測:研究綜述[J].軟件學報,2000,11(11):1460-1466.
[2] Aftergood S.Cybersecurity:The cold war online[J].Nature,2017,547(7661):30-31.
[3] 方興東.勒索病毒事件對全球網絡治理的影響[J].中國信息安全,2017(7):31-32.
[4] 陶源,黃濤,張墨涵,等.網絡安全態勢感知關鍵技術研究及發展趨勢分析[J].信息網絡安全,2018(8):79-85.
[5] Xin Y,Kong L S,Liu Z,et al.Machine learning and deep learning methods for cybersecurity[J].IEEE Access,2018,6:35365-35381.
[6] 肖建平,龍春,趙靜,等.于深度學習的網絡入侵檢測研究綜述[J].據與計算發展前沿,2021,3(3):59-74.
[7] Stevanovic M,Pedersen J M.On the use of machine learning for identifying botnet network traffic[J].Journal of Cyber Security and Mobility, 2016,4(2):1-32.
[8] Suda H,Natsui M,Hanyu T.Systematic intrusion detection technique for an in-vehicle network based on time-series feature extraction[C].Proceedings of the 2018 IEEE 48th International Symposium on Multiple Valued Logic (ISMVL),2018:56-61.
[9] Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.
[10] Chung J,Gulcehre C,Cho K,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[J]. arXiv preprint arXiv:1412.3555,2014.
[11] 何春蓉,朱江.基于注意力機制的GRU神經網絡安全態勢預測方法[J].系統工程與電子技術,2021,43(1):258-266.
[12] NSL-KDD dataset[EB/OL].[2021-04-09]. https://www.unb.ca/cic/datasets/nsl.html.
[13] 張陽玉,呂光宏,李鵬飛.SDN網絡入侵檢測系統的深度學習方法綜述[J].計算機應用,2019,39(S2):147-151.
[14] Rumelhart D E,Hinton G E,Williams R J.Learning representations by back-propagating errors[J].Nature,1986,323(6088):533-536.
[15] Lynn H M,Pan S B,Kim P.A deep bidirectional GRU network model for biometric electrocardiogram classification based on recurrent neural networks[J].IEEE Access,2019,7:145395-145405.
【通聯編輯:謝媛媛】