席海龍 劉海燕 張鈺
摘要:近年來隨著機器學習技術的發展,將其應用于入侵檢測領域的研究不斷涌現,以應對日趨龐大的數據和復雜多變的攻擊種類。該文基于機器學習對入侵檢測領域內最新文獻的研究,從分類算法、檢測效果和驗證結果等方面概述了其研究進展,分析了其應用于網絡安全目前存在的幾點問題,并指出了該技術后續的發展趨勢和應用趨勢,以期為網絡安全的發展提供一些新思路。
Abstract: With the development of machine learning technology in recent years, it has been applied to the field of intrusion detection to cope with increasingly large data and complex and changeable types of attacks. Based on the research of the latest literature in the field of intrusion detection by machine learning, this paper summarizes its research progress in classification algorithm, detection effect and verification results, analyzes some problems existing in its application to network security, and points out the development trend and application trend of this technology in the future, in order to provide some new ideas for development of network security.
關鍵詞:機器學習;入侵檢測;深度學習
Key words: machine learning;intrusion detection;deep learning
中圖分類號:TP393.0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2018)34-0269-04
0? 引言
面對當前日趨復雜的網絡環境,入侵檢測技術作為一項主動性防御技術在網絡安全中起著愈加重要的作用。然而傳統網絡入侵檢測技術在面對新時期復雜多樣的攻擊形式和海量數據的網絡環境時顯得乏力不足,存在誤報率和漏報率較高等諸多問題[1]。
為彌補傳統入侵檢測技術自適應性差、漏報率、誤報率過高等不足,業界引入了機器學習方法,如貝葉斯,支持向量機,邏輯回歸等算法,并取得了不錯成績。同時,在面對入侵數據日趨復雜,數據特征維度高,非線性特性強等特點,傳統機器學習易出現“維度爆炸”問題[2]。隨著計算機硬件技術的發展,深度學習算法在多媒體處理方面帶來突破性的成果,網絡空間安全領域的研究者也在嘗試將深度學習算法應用于惡意軟件檢測和入侵檢測等領域,相對于傳統的機器學習算法,深度學習提高了檢測效率,降低了誤報率,能夠自動化智能化識別攻擊特征,有助于發現潛在安全威脅。
1? 機器學習算法與入侵檢測
1.1 決策樹
決策樹算法是通過對大量樣本的類別訓練,最終得到一棵處理未知數據能力足夠強,即泛化能力足夠強的決策樹。它通常包含一個根結點,若干個內部結點和葉結點;葉結點對應于算法判定結果,其它每個結點對應于一種屬性測試;每個結點根據自身的樣本集合通過屬性測試分配到不同的子結點中,根結點包含所有樣本。決策樹學習的關鍵在于如何選擇出最優化的屬性劃分方法,通常劃分的依據有信息增益、信息熵、基尼指數等[3]。
當采用信息增益作為樣本屬性劃分的度量時,假定樣本集C中第i類樣本所占比例為,則C的信息熵定義為:
值越小,劃分后的可靠性越高。當采用有N個可能取值()的離散屬性a對C進行劃分時,產生N個分支結點,其中第n個分支結點包含了C中所有屬性a上取值為an的樣本,記為Cn。則信息增益可表示為:
一般情況下,信息增益越大,說明依據屬性a劃分的結果可靠性越高,即應選擇屬性:
應用于入侵檢測的決策樹,每一條從根結點到子結點的路徑都對應于一條既定的檢測規則,葉節點數據是對分類的預測結果。決策樹對檢測數據的分類剔除了正常行為數據,只對異常數據做簡單對比,同時對于離散型偏多的異常數據還可以省去數據的離散處理過程,泛化能力強,學習速度快,結果簡單易懂是其最大優點;但是這種處理方式對于訓練數據集依賴性過強,如果數據集中存在大量相似數據,易出現過擬合現象。文獻[4]結合數據挖掘的思想,采用C4.5算法實現了對KDD99數據集的分類,在規則提取時結合數據結構中的算法查找思想,加快了規則庫的匹配方法,但是采用的數據樣本量較小,不能證明在面對海量數據時具有足夠適用性;蒲元芳等人[5]提出了基于不同網絡協議構建不同決策樹,使檢測模型能更具針對性地并行處理網絡數據,宋明秋等人在文獻[6]中也針對具體網絡協議構建決策樹算法,解決傳統檢測算法資源消耗大、丟包率高的問題,實驗表明這兩種算法對數據分類具有更高的準確率;池靜等人針對ID3算法未充分考慮父節點已使用屬性集對子節點劃分的影響與子節點之間的互信息熵對分裂節點的影響問題,提出了一種基于混合互信息的決策樹檢測算法[7],在去除父節點已使用信息對于子節點劃分影響的同時,設定了屬性數量閾值,一定程度上減小了ID3算法的缺陷,提高了分類精度,但這種調整也增加了算法復雜度,新建立的決策樹模型對檢測過程整體優化效果不明顯。劉莘等[8]針對傳統NB算法對屬性獨立性要求高和決策樹易發生過擬合的問題,對C4.5算法做改進,將對數據的檢測劃分成為兩個弱分類器,最后通過融合形成最終決策規則,這種在屬性子集上構建局部樸素貝葉斯分類期的算法降低了數據獨立性的要求,具有較高參考價值。
決策樹在做剪枝處理時常用方法有預剪枝和后剪枝。預剪枝通過對結點劃分前后的樣本分類精確度的計算,決定是否對該結點進行劃分,但這種基于“貪心”的判斷算法禁止了某些分支的展開,給決策樹帶來的欠擬合的風險。較之于預剪枝,后剪枝算法是在從訓練集生成一棵完整決策樹后進行的修改,這樣保留了更多的分支,因此欠擬合風險小,泛化性能往往由于預剪枝。但這種自底向上進行的結點測試,數據處理量大,用于訓練的時間花銷成為其最大缺點。
1.2 樸素貝葉斯分類器
貝葉斯定理是貝葉斯分類器最重要的依據,它根據事件發生的先驗概率求其后驗概率,用公式可表示為:
較之于其它機器學習算法,貝葉斯網絡可直接用有向無環圖表達因果關系,不僅擁有較高的概率表達能力和不確定性表達能力,而且其超前的先驗知識學習能力也表現突出[9]。在應用于入侵檢測系統時,通過其在數據統計方面的優勢,充分收集網絡連接數據,用以填充固定貝葉斯網絡各節點,再利用所有子節點包含于根節點的結構關系計算網絡參數。文獻[1]結合數據挖掘技術,采用貝葉斯分類器從離散化的數據中提取出用以描繪入侵檢測模型的數據框架,區分不同網絡行為,具有較好的實驗結果;文獻[10]基于互信息的結構學習算法,利用貝葉斯網絡中各節點的依賴關系通過訓練建立網絡結構圖對數據進行分類,這種相互關聯的節點數據保證了最終的網絡模型具有較高的耦合性,但是在驗證環節缺乏有效的全新數據,泛化性能沒有得到足夠的保證。曾國斌等人[11]提出一種屬性價值算法NBC,該方法利用未分類節點可能所屬類別的最大后驗概率MAP來確定網絡模型中的最后節點,但是應用于實際實驗檢測時,由于過多的干擾因素和不同的特征節點樣本不同,致使分類準確率不高。
1.3 支持向量機
支持向量機(Support Vector Machines,SVM)是一種二分類模型,其基本模型是在特征空間上定義了間隔最大的線性分類器,從而有別于感知機。它的學習策略就是實現間隔最大化,可形式化為求解一個凸二次規劃的問題,也可等價于正則化的合頁損失函數的最小化問題。線性支持向量機構建的模型由簡單到復雜可分為線性可分支持向量機、線性支持向量機、非線性支持向量機等。
傳統入侵檢測系統在先驗信息較少的情況下,對未知情況預測能力較差,而應用支持向量機的方法可以有效提高預測分類能力和檢測性能。但是這種基于結構風險最小化的方法也存在一些不足之處,比如其初始化數據往往憑借經驗獲取,缺乏科學理論指導;SVM一般只能對數值數據進行處理,當需要區分不同入侵方式時需要多個SVM實現。
雖然SVM的學習方法在小樣本下能夠取得較好效果,但實際應用于大規模的入侵檢測系統中時,會受時間和空間復雜度約束,其本質原因是由于輸入特征空間具有高維、非線性的特征,而SVM分類器的時間和空間復雜度是其輸入向量大小的指數函數。SVM算法的時間復雜度為 O(n3),空間復雜度為 O(n2),n為訓練樣本數,因此,SVM的計算成本高于其他分類方法。
2? 網絡安全新趨勢
2.1 技術趨勢
機器學習這一概念很早就已提出,其各算法均有發展,但近年來神經網絡—深度學習這一分支發展最為迅速,今后更加智能化的網絡也將更加依賴于這一技術深層次的縱向發展。
2.1.1 跨行業的技術借鑒
現有的深度學習研究大多用于圖像處理,而圖像所處理的是網格數據,但安全領域的數據主要是序列數據,即離散型數據。對于深度學習的生成型模型而言,離散型數據不利于梯度的傳遞,Wang W等人將流量的每個字節轉換成像素[12],由此來把流量轉換為圖片,再將圖片作為 CNN 的輸入,進行訓練與分類,得到的二分類和多分類準確率分別是100%和99.17%,由此可見,使用原始特征的效果要優于使用NSL-KDD和KDD99數據集中人工提取的特征的效果。
在整體神經網絡的設計和優化方面,深度學習借鑒遺傳算法取得了顯著成效。例如根據Kolmogorov定理對BP神經元的權值和閾值的編碼,在設定初始化值時,為避免局部最優問題而引進交叉概率、變異概率和初始化種群等概念,采用隨機多組、模擬退火等方法進行最優化設計,采用交叉變異、染色體適應度比較等方法選取最優化組合。
2.1.2 行業內技術新舊融合
深度學習技術作為神經網絡的一項更深層技術,在應用于入侵檢測過程中也出現了重重阻礙。而在解決這些問題時,深度學習結合機器學習已有的算法可以有效彌補不足,取得良好成績。Salama等人首次將DBN作為生成模型應用于入侵檢測中的數據降維[13],使用SVM對降維之后的數據進行分類。他們的結果顯示,DBN-SVM結構比單獨的DBN或者SVM進行分類得到的準確率更高。同時,當采用SVM進行分類時,相比于主成分分析(principal component analysis,PCA)[14],卡方檢驗等降維方法,采用 DBN進行降維時的檢測準確率最高。
2.2 應用趨勢
2.2.1 應用于IOT的入侵檢測技術
近年來物聯網(Internet of Things)技術借助于人工智能的興起而迅速發展,但是相對應的網絡安全手段卻發展緩慢,性能提效不明顯。網絡安全和信息化發展是一體之雙翼,驅動之雙輪,缺少任一方面都必將發展受限。更何況當今時代是以信息技術為支撐的網絡環境下發展的,不同于其他學科,網絡環境的安全與整個社會行業的發展息息相關[15]。 面對愈加復雜的網絡安全隱患,傳統IDS明顯力不從心。一般將IOT分為感知層、網絡層和應用層[15],其中廣泛應用傳感器、自動識別追蹤、無線連接、分布式服務等技術,當它們面對不同類型的網絡攻擊時,傳統IDS檢測范圍不能完全適應,因此發展面向IOT的有針對性的新型入侵檢測技術是未來IDS發展的主要趨勢之一。
2.2.2 應用于云計算的入侵檢測技術
云計算自身開放的特性所采用的虛擬化技術使其所面臨的安全威脅主要來自于DDOS攻擊和非授權訪問權限獲取。目前NIDS(Network based Intrusion Detection System)是針對云計算的網絡入侵檢測系統的代表,但是針對虛擬機之間的逃逸流量和虛擬機遷移攻擊該系統無法檢測[16],因此下一步針對云計算的網絡入侵檢測會繼續向全面高效、低誤報率以及虛擬網絡方向發展。
3? 結束語
在傳統入侵檢測領域引入機器學習技術,不僅提高了檢測速率,而且能有效應對當前日趨復雜的網絡環境,是未來網絡安全技術的主流趨勢,而這其中又以深度學習技術為主。不同技術的相互借鑒發展、基礎理念的創新都將帶動網絡安全技術的進步,為以信息技術為依托的各行各業發展提供安全發展的網絡環境。
參考文獻:
[1]高華.基于海量日志的入侵檢測并行化算法研究[J].現代電子技術,2016,3919:71-75.
[2]華銘軒,張峰軍.大數據環境下的入侵檢測系統框架[J].通信技術,2015,4811:1300-1304.
[3]張棪,曹健.面向大數據分析的決策樹算法[J].計算機科學,2016,43S1:374-379,383.
[4]張國權,李文立.基于混合互信息的決策樹入侵檢測[J].遼寧工程技術大學學報(自然科學版),2009,2802:273-276.
[5]蒲元芳,杜紅樂.決策樹在網絡入侵檢測中的研究與應用[J].電腦知識與技術,2010,607:1560-1563.
[6]宋明秋,傅韻,鄧貴仕.基于決策樹和協議分析的入侵檢測研究[J].計算機應用研究,2007,12:171-173,176.
[7]池靜,楊振宇,張婷.基于貝葉斯和決策樹的入侵檢測方法[J].工礦自動化,2013,3902,62-65.
[8]劉莘,張永平,萬艷麗.決策樹算法在入侵檢測中的應用分析及改進[J].計算機工程與設計,2006(19):3641-3643.
[9]張月,柳炳祥,張峰.一種基于樸素貝葉斯網絡的入侵檢測分析方法[J].信息與電腦(理論版),2018,13:66-67,70.
[10]李健,陳為.基于異構條件的NIDS網絡安全技術研究[J].計算機技術與發展,2017,2709:106-109,115.
[11]曾國斌,冉兆春.基于改進樸素貝葉斯算法入侵檢測系統研究[J].電腦知識與技術,2017,1328:28-29.
[12]Wang Wei, Zhu Ming, Zeng Xuewen, et al. Malware traffic classification using convolutional neural network for representation learning[C]// Int Conf on Information Networking. NJ: IEEE, 2017: 712-717.
[13]Salama M A, Eid H F, Ramadan R A, et al. Hybrid intelligent intrusion detection scheme[M]//Soft computing in industrial applications. Springer.
[14]戚名鈺,劉銘,傅彥銘.基于PCA的SVM網絡入侵檢測研究[J].信息網絡安全,2015(02):15-18.
[15]武傳坤.物聯網安全關鍵技術與挑戰[J].密碼學報,2015,2(01):40-53.
[16]劉增鎖.云計算環境下海量數據中入侵檢測挖掘模型[J]. 計算機仿真,2015,32(06):289-291,393.