吳喬



摘 ?要:網絡入侵檢測技術能夠對系統進行實時檢測或事后檢測,及時發現、防范各種復雜多變的網絡攻擊企圖、攻擊行為與攻擊結果。同時網絡入侵檢測技術也是網絡空間安全中一個具有挑戰性的網絡安全問題,機器學習對入侵檢測技術性能的提高成為熱門研究內容。文章綜述了近些年來幾種典型的群體智能優化算法,及其與支持向量機相結合的網絡入侵檢測技術,最后對機器學習在網絡安全入侵檢測中的未來發展前景進行展望。
關鍵詞:機器學習;入侵檢測;網絡安全
中圖分類號:TP181 ? ?文獻標志碼:A ? ? ? ? 文章編號:2095-2945(2020)25-0001-04
Abstract: Network intrusion detection technology can detect the system in real time or after the detection, timely find and prevent various complex and changeable network attack attempts, attack behavior and attack results. At the same time, the network intrusion detection technology is also a challenging network security problem in the network space security. This paper summarizes several typical swarm intelligence optimization algorithms in recent years, and its network intrusion detection technology combined with support vector machine. Finally, the future development prospect of machine learning in network security intrusion detection is prospected.
Keywords: machine learning; intrusion detection; network security
1 概述
新時代下,隨著云計算,大數據,物聯網,5G網絡等技術的迅猛發展,網絡流量和網絡攻擊日益增長且越來越復雜。入侵檢測系統[1](Intrusion Detection System)在計算機網絡收集、分析、處理系統或網絡的日志文件、網絡流量、系統目錄和文件的異常變化、程序執行中的異常行為等能夠可靠檢測到準確的數據信息,及時發現違反安全策略、攻擊的行為。因此,網絡安全管理員必須快速找到可以改進和提高入侵檢測系統的新方法來避免網絡遭受黑客攻擊。
目前,機器學習(Machine Learning)廣泛應用于各學科領域,在數據挖掘[2,3],計算機視覺[4],語音識別[5],自然語言處理[6],機器人應用[7,8],材料科學[9],醫學信息[10],網絡安全[11]等領域備受關注,均取得了不同程度的成功。另一方面,網絡存在的漏洞、風險、異常、未知惡意軟件越來越多,其防御過程難度增大,機器學習改進算法在入侵檢測技術中的應用成為很多學者研究關注的熱點問題,本文選取了近些年來幾種改進的群體智能優化算法與支持向量機融合的網絡入侵檢測技術開展了綜述。
2 群體智能優化算法
K最鄰近(k-Nearest Neighbor,KNN)、模糊聚類(Fuzzy Clustering)、貝葉斯優化(Bayesian Optimization)、隨機森林(Random Forest)等經典算法[12]不能夠準確得到非線性、多極值等復雜函數的最優解,隨著優化理論的不斷發展,學者們通過對粒子群、蟻群、鳥群、蜂群、螢火蟲群等社會生物的群體活動行為的研究,衍生出了一系列智能群體優化算法,比如遺傳算法[13]、粒子群優化算法[14]、蟻群優化算法[15]、人工蜂群優化算法[16]、人工螢火蟲群優化算法[17]等。基于群體智能優化算法改進機器學習算法的技術在網絡入侵檢測領域廣泛應用,各種群體智能優化算法比較如表1所示。
3 智能融合的支持向量機算法
入侵檢測系統(Intrusion Detection System,IDS)可以分為基于誤用、異常和混合網絡入侵檢測系統[18],入侵檢測系統分類如圖1所示。由于DOS、R2L、U2R、probe等網絡攻擊行為在快速演變,識別“零日”攻擊日益重要,而異常入侵檢測成為檢測的主要研究方向的首要原因是異常入侵檢測能夠識別未知的網絡威脅。學者們研究了多種機器學習檢測模型,針對高維、小樣本的網絡數據集,支持向量機(Support Vector Machine, SVM)模型具有相當的優勢,不會面臨像聚類算法高錯誤率、神經網絡“維數災”、過擬合等難題,有更好的泛化能力,能夠適用于其他數據集,但是由于SVM算法的懲罰參數C和核寬度參數σ的尋優主要依賴于經驗方法,難以保證參數的準確性,而參數直接影響SVM模型識別網絡攻擊分類的準確性。為了能夠獲得較優參數的SVM模型,高效、準確的檢測網絡攻擊行為,諸多學者提出了智能優化算法與SVM融合的入侵檢測技術。
3.1粒子群優化(Particles Swarm Optimization, PSO)?算法
PSO算法是一種收斂速度快、精度高的迭代進化算法,源于Eberhart博士和Kennedy博士模擬鳥群覓食行為的研究,是類似于模擬退火算法、遺傳算法的智能算法。PSO算法的基本原理步驟如圖2所示。
余森[19],劉明珍[20]等研究了PSO算法和SVM融合的網絡入侵檢測技術。前者研究基于網絡系統中的通信數據作為訓練集和驗證集,KDD 1999作為測試集,通過采用PSO算法確定懲罰參數C和核寬度參數σ的值,確定網絡入侵檢測分類器。作者通過試驗、對比發現,PSO算法確定SVM參數設計的網絡入侵檢測分類模型,準確率更高、檢測時間更短,降低了誤檢率、漏檢率,檢測效果更好。后者研究基于KDD 1999數據集,通過BPSOA(用二值粒子群優化算法),對數據集的41個特征進行特征提取,直至獲得最佳特征集,設計網絡入侵檢測分類器。作者通過試驗、對比發現,BPSO科學的排除了特征集中的噪聲特征,同樣可以降低檢測時間、提高準確率。兩者研究均表明,PSO算法不僅可用于參數尋優,還可用于最優特征集篩選,從而優化網絡入侵檢測的系統性能。
但基本的PSO算法優化SVM參數的迭代過程中,種群在搜索空間的聚集度會逐漸提高、多樣性會大幅減少,容易導致PSO算法陷入局部極值、后期迭代效率低等現象,針對以上不足,諸多學者從改進粒子群優化(Improved Particle Swarm Optimization,IPSO)算法或多種算法融合的角度進行研究,以此優化SVM尋優參數的準確率,提高網絡入侵檢測系統的性能。馬占飛[21]等通過在傳統的PSO算法中設計高斯擾動和適應度方差值,在傳統的差分(Differential Evolution,DE)算法中設計縮放因子F的自適應動態調整策略,提出了IQPSO-IDE入侵檢測方法,即改進的粒子群優化和改進的差分(Improved Differential Evolution,IDE)算法融合。該入侵檢測模型的設計首先通過在種群粒子的平均位置引入高斯擾動來增加粒子多樣性;其次選擇能夠反映粒子群聚集度的適應度方差s2,原理是通過設置閾值來判斷算法的搜索能力。s2大于閾值,說明粒子群聚集度小,搜索能力較好,未達到局部最優,s2小于閾值,說明粒子群聚集度大,搜索能力差,算法陷入局部極值問題;最后利用自適應調整縮放因子F的差異策略,原理是動態調整F值的大小,在算法的迭代后期,豐富種群粒子的多樣性,使其更好的進行SVM參數尋優。結果表明,IQPSO-IDE算法提高了網絡入侵檢測的正確率、降低了漏報率和誤報率。
3.2 蟻群優化(Ant Colony Optimization,ACO)算法
ACO算法是一種機率型算法,用來在圖中尋找優化路徑。源于Marco Dorigo博士對螞蟻在覓食過程中,根據其他螞蟻留下的信息素發現從巢穴到食物源之間最短路徑行為的研究,而提出的模擬進化智能算法,具有多樣性、正反饋機制、魯棒性、搜索能力強等特點。ACO算法的基本原理步驟如圖3所示。
潘曉君[22]等研究了ACO算法與SVM融合的網絡入侵檢測技術。作者將ACO與交叉驗證兩種算法結合,利用蟻群每個個體之間可以共享信息資源的特性,進行局部和全局尋優,有效獲得SVM參數C和σ的最優解。基于KDD數據集,通過試驗發現,針對DOS、U2R、U2L、Probe四種網絡攻擊類型,蟻群優化算法有低誤報率、低入侵檢測時間、高準確率的優點。
但基本的ACO算法存在因發生螞蟻聚集而陷入局部最優、收斂速度慢、收斂停滯等缺點,為此,王雪松[23],袁琴琴[24]等人提出改進ACO算法優化SVM的入侵檢測技術。前者在螞蟻進行空間搜索的過程中,為改善因蟻群聚集而導致的局部最優狀態,對蟻群個體進行高斯變異,調整螞蟻的搜索路徑,最終選擇最優路徑,而確定SVM的參數;后者利用遺傳算法(Genetica1 Algorithm,GA)進行數據特征選擇,通過改進節點選擇的方法,即在算法迭代后期進行隨機節點選擇,同時改進信息更新的策略,即增加最優路徑信息素、減少最差路徑信息素,以便加快算法的收斂速度,最終提出IACO-GA網絡入侵檢測模型。試驗驗證表明,以上兩種改進的ACO算法均能較好的克服傳統ACO算法的缺陷,提升SVM尋優效果。
3.3 人工蜂群(Artificial Bee Colony,ABC)算法
ABC算法是一種全局搜索能力強、收斂速度較快的群體智能算法,源于Karaboga對蜜蜂種群在任何復雜的環境下,能夠高效率采蜜行為的研究,根據模擬引領蜂、觀察蜂和偵察蜂分配不同的任務進行蜜蜂種群信息交換與共享,最終獲得函數全局最優解。ABC算法的基本原理步驟如圖4所示。
為了改善SVM網絡入侵檢測模型的參數尋優能力,提高檢測正確率,謝偉增[25]提出ABC-SVM網絡入侵檢測技術,通過ABC算法將SVM懲罰因子C和核參數σ組合編碼成為人工蜂群算法的蜜源,設定算法迭代搜索目標為檢測率,多次模擬蜂群尋找蜜源的過程,最終選擇較優的SVM參數,建立了網絡入侵檢測模型。試驗表明,ABC-SVM網絡入侵檢測模型提高了檢測正確率,降低了誤報率。傳統的ABC算法易陷入局部最優解且迭代后期搜索能力差,劉銘[26]等人通過引入交叉突變算子,將父代種群與適應度較差的種群進行交叉,提出了基于(CMABCCrossover Mutation ABC)算法的SVM網絡入侵檢測模型,根據適應度值劃分蜂群,不僅克服了傳統ABC算法易陷入局部最優解的缺點,且提高了算法的收斂速度。
4 結束語
網絡入侵檢測技術是網絡安全領域較重要的防護技術,隨著突發網絡安全事件數量逐漸增加,提高網絡入侵檢測技術性能尤為重要,本文陳述了基于改進的粒子群優化算法、蟻群優化算法、人工蜂群算法三種群體智能優化算法的支持向量機的網絡入侵檢測方法,這種融合算法可以取長補短,有效解決收斂速度慢、收斂停滯、易陷入局部最優、種群多樣性減少等缺點,大大提升參數尋優能力,設計檢測效率較高的模型,減少網絡安全事件發生。
但是,就群體智能優化算法和傳統的機器算法相融合的入侵檢測技術還有很大的提升空間,一是由于網絡威脅事件日益發展和變化,常用檢測技術難以應對新的網絡攻擊,只有繼續深究,才能發現識別“零日”攻擊的新型技術;二是群體智能優化算法都有各自的優缺點和更適合的應用領域,研究者應同時融合多種算法,才可以揚長避短,提升算法性能,提高檢測效率,降低漏檢率和誤報率,獲得精確的網絡入侵檢測模型。以上兩點將是未來網絡入侵檢測技術研究發展的重要方向。
參考文獻:
[1]Kemmerer RA, Vigna G (2002) Intrusion detection: a brief history and overview[J]. Computer,2002,35(4):27-30.
[2]Hitarth Shah,Vishruti Kakkad,Reema Patel,Nishant Doshi. A survey on game theoretic approaches for privacy preservation in data mining and network security[J]. Procedia Computer Science,2019,155.
[3]GiangNguyen, Stefan Dlugolinsky, Martin Bobák, ?Viet Tran, ??魣lvaro López García, Ignacio Heredia, ?Peter Malík, ?Ladislav Hluch?倀. Machine Learning and Deep Learning frameworks and libraries for large-scale data mining: a survey[J]. Artificial Intelligence Review, 2019, 52 (1), pp.77-124.
[4]Siddharth Singh Chouhan, Uday Pratap Singh, Sanjeev Jain. Applications of Computer Vision in Plant Pathology: A Survey[J]. Archives of Computational Methods in Engineering: State of the Art Reviews, 2020, 27 (12), pp.611-632.
[5]Thales Aguiar de Lima,Márjory Da Costa-Abreu.A survey on automatic speech recognition systems for Portuguese language and its variations[J]. ComputerSpeech& Language,2020,62.
[6]Cambria E, White B. Jumping NLP curves:A review of natural language processing research[J]. IEEE ComputIntell Mag, 2014, 9: 48-57.
[7]JaeseokKim,NinoCauli, Pedro Vicente,BrunoDamas, AlexandreBernardino,JoséSantos-Victor,Filippo Cavallo.Cleaning Tasks Knowledge Transfer Between Heterogeneous Robots: a Deep Learning Approach[J].Journal of Intelligent &Robotic Systems: with a special section on Unmanned Systems, 2020, 98 (1) :191-205.
[8]Linzhou Pang,Yunzhou Zhang,Sonya Coleman,He Cao. Efficient Hybrid-Supervised Deep Reinforcement Learning for Person Following Robot[J].Journal of Intelligent & Robotic Systems, 2020, 97 (2):299-312.
[9]Jonathan Schmidt, MárioR.G.Marques, Silvana Botti & Miguel A.L. Marques.Recent advances and applications of machine learning in solid-state materialsscience[J].npjComputational Materials volume 5, Article number: 83 (2019).
[10]Bert Heinrichs,Simon B. Eickhoff. Your evidence? Machine learning algorithms for medical diagnosis and prediction[J]. Human Brain Mapping,2020,41(6).
[11]張蕾,崔勇,劉靜,等.機器學習在網絡空間安全研究中的應用[J].計算機學報,2018,41(09):1943-1975.
[12] Wu X, Kumar V, Ross Quinlan J, et al. Top 10 algorithms in data mining[J]. KnowlInfSyst, 2008, 14: 1-37.
[13]M. Rabe,M. Deininger,A.A. Juan. Speeding Up Computational Times in Simheuristics Combining Genetic Algorithms with Discrete-Event Simulation[J]. Simulation Modelling Practice and Theory,2020.
[14]王爾申,孫彩苗,黃煜峰,等.改進粒子群優化的衛星導航選星算法[J/OL].北京航空航天大學學報:1-7[2020-08-13].https://doi.org/10.13700/j.bh.1001-5965.2019.0644.
[15]Qiang Luo, Haibao Wang, Yan Zheng, Jingchang He. Research on path planning of mobile robot based on improved ant colony algorithm[J].Neural Computing and Applications, 2020, Vol.32 (6), pp.1555-1566.
[16]XiaoyuSong,MingZhao,QifengYan,Shuangyun Xing. A high-efficiency adaptive artificial bee colony algorithm using two strategies for continuous optimization[J]. Swarm and Evolutionary Computation,2019,50.
[17]楊艷,周永權,羅林,等.人工螢火蟲群優化算法求解約束優化問題[J].小型微型計算機系統,2014,35(01):185-188.
[18]RaoufBoutaba, Mohammad A.Salahuddin,Noura Limam, Sara Ayoubi,Nashid Shahriar, Felipe Estrada-Solano,Oscar M.Caicedo.Acomprehensive survey on machine learning for networking: evolution, applications and research opportunities[J].Journal of Internet Services and Applications, 2018, 9 (1):1-99.
[19]余森,趙冉.粒子群算法和支持向量機的網絡入侵檢測[J].微型電腦應用,2019,35(09):143-145.
[20]劉明珍.粒子群優化支持向量機的入侵檢測算法[J].計算機工程與應用,2012,48(35):71-74+105.
[21]馬占飛,楊晉,金溢,等.基于IQPSO-IDE算法的網絡入侵檢測方法[J].計算機工程與應用,2019,55(10):115-120+204.
[22]潘曉君.基于IQPSO的SVM參數優化入侵檢測研究[J].寧夏師范學院學報,2019,40(10):80-84.
[23]王雪松,梁昔明.改進蟻群算法優化支持向量機的網絡入侵檢測[J].計算技術與自動化,2015,34(02):95-99.
[24]袁琴琴,呂林濤.基于改進蟻群算法與遺傳算法組合的網絡入侵檢測[J].重慶郵電大學學報(自然科學版),2017,29(01):84-89.
[25]謝偉增.人工蜂群算法優化支持向量機的網絡入侵檢測[J].微型電腦應用,2017,33(01):71-73.
[26]劉銘,黃凡玲,傅彥銘,等.改進的人工蜂群優化支持向量機算法在入侵檢測中的應用[J].計算機應用與軟件,2017,34(01):230-235+246.