杜軍龍,周劍濤
(江西省信息中心, 江西 南昌 330001)
入侵檢測在保障信息安全中起著重要的作用,準確識別網絡中的各種攻擊是其關鍵技術。文章介紹一種基于云計算和機器學習的網絡入侵檢測系統,該系統提供了一種基于網絡大數據流的結構可視化分析的新方法。此外,這種軟件計算方法對于識別未知的或未遇到過的攻擊非常有用,這得益于人工機器學習的神經網絡的泛化能力。在研究中,探討了如何建立一個基于機器學習的入侵檢測系統模型,并提出了一種神經網絡和貝葉斯過濾器的入侵檢測的深度學習方法。此外,同時研究了該模型在二分類和多類分類中的性能,以及神經元數目和不同的學習速率對該模型性能的影響。將基于機器學習的網絡入侵檢測方法,與之前研究人員提出的人工神經網絡、隨機森林和支持向量機等機器學習方法在云計算數據集上進行了比較[1-2]。實驗結果表明,該模型提高了入侵檢測的準確性,為入侵檢測提供了一種新的研究方法。
循環神經網絡(Recurrent Neural Networks,RNNs)方法可用于監督分類學習,神經網絡RNN模型本質上是一個信息從輸入單元到隱藏單元的單向信息流,將之前的時間隱藏單元到當前定時隱藏單元的單向信息流,如可以把隱藏的單元看作是整個網絡的存儲,記住了端到端信息。遞歸神經網絡引入了一個方向環,它可以記住之前的信息并將其應用輸出,這是與傳統的模糊神經網絡(Fuzzy network-FNN,FNNs)的本質區別。前面的輸出也與序列的當前輸出相關,隱藏層之間的節點不再是無連接的。不僅是輸入層的輸出,最后一個隱藏層的輸出也作用于隱藏層的輸入[3-5]。RNN-IDS所涉及的步驟,如圖1所示。
顯然,該模型的訓練由正向傳播和反向傳播兩部分組成。正向傳播負責計算輸出值,反向傳播負責傳遞累積的殘差來更新權值,這與正常的神經網絡訓練沒有本質區別。展開遞歸神經網絡,如圖2所示。

圖1 RNN-IDS流程框圖

圖2 展開遞歸神經網絡

Algorithm 1 Forward Propagation Algorithm
Inputxi(i=1,2,…,m
1: forifromltomdo
2:ti=Whxxi+Whxhi-1+bh
3:hi=sigmoid(ti)
4:si=Wyhhi+by
6: end for

Algorithm 2 Weights Update Algorithm
Initializationθ={Whx,Whh,Wyh,bh,by}
Outputθ={Whx,Whh,Wyh,bh,by}
1: forifromkdowntoldo

3: Compute the partial derivative with respect toθi:δi←dL/dθi
4: Weight update:θi←θi+ηδi
5: end for
探索性投影尋蹤是一種較新的統計方法,旨在解決云端高維數據結構識別的難題。它通過將數據投射到一個低維的子空間來實現這一點,在這個子空間中,本文用肉眼來搜索數據的結構。定義一個索引來度量給定投影的“有趣程度”,然后根據最大化該索引的投影來表示數據。定義哪些索引表示有趣的方向。“有趣”通常是根據高維數據的大多數投影給出的幾乎是高斯分布的這一事實來定義的。因此,為了識別數據中的“有趣”特征,尋找那些數據投影盡可能遠離高斯分布的方向。
度量偏離高斯分布的方法是基于分布的高階矩。偏度是基于歸一化的第三階矩,測量分布與兩側對稱的偏差。雙峰分布通常具有負峰度,因此負峰度表示某一特定分布具有聚類的證據。因此,云端網絡可以捕獲某種類型的全局排序的方式找到數據集的獨立因素。考慮一個n維的輸入向量(x),一個m維的輸出向量(y),并以w為權值。
英國數學家托馬斯貝葉斯提出了貝葉斯過濾理論,即一個事件發生的概率可以通過調查該事件的過去而反推得到。當知道一個結果時,可以通過這個結果而推測出事件發生的概率,是在求解事后概率時使用的方法。網絡入侵的檢測判定流程[6-8],如圖3所示。

圖3 提案方法的判定流程
提案過濾器的判定精度包括以下幾個概念。
檢出率:表示在網絡入侵中被判定為網絡入侵的概率。
誤檢出率:表示在非網絡入侵中被判定為網絡入侵的概率。
檢錯率:表示在網絡入侵中被判定為非網絡入侵的概率。
綜合精度:表示在全體網絡活動中網絡入侵和非網絡入侵被正確判定的概率。
數據流分割方式,如圖4所示。
MOVCIDS將預處理數據流分割如下。
相等的簡單段(S):每個簡單段包含所有的包,其時間戳在段的起始時間和最終時間限制之間。每對連續的簡單線段之間有輕微的時間重疊。簡單段的長度(持續時間)和時間重疊都可以由管理員設置。

圖4 數據流分割
積累片段(A):每個片段包含幾個連續的簡單片段。累積段的長度也是可配置的。
這種劃分的主要原因之一是向網絡管理員提供網絡流量演變的長期圖景,從而使攻擊的持續時間比簡單段的長度還長。此外,簡單段允許對流量進行實時的處理。由于捕獲延遲,數據集越長,實時分析的距離就越遠。為了可視化異常情況的結束和簡單段之間的演化,有必要對某些包進行兩次考慮。為了防止分析人員的混亂(例如,在兩個不同的簡單段中顯示相同的異常情況),需要同時顯示累積的段。這將導致網絡管理員意識到只有一個異常情況被可視化兩次。
捕獲的數據被選中并進行預處理,因為只從原始網絡流量中選擇包含在捕獲包的頭中的字段(特性)的一個簡化集。為了克服這個問題,MOVCIDS將流量分成不同的組,考慮到IP上的協議(UDP、TCP、ICM等)。在所有實現的網絡協議中,有幾種協議(就網絡安全而言)被認為是相當危險的,如簡單網絡管理協議(simple network management protocol, SNMP)。SNMP被CISCO確定為最脆弱的五大服務之一,特別是目前使用最廣泛的兩個協議。基于此協議的攻擊可能會嚴重危害整個網絡的安全。SNMP攻擊也被SysAdmin、 Audit、 Network和Security (SANS)列為十大最關鍵的互聯網安全威脅之一[9-10]。
MOVCIDS樣本,如圖5所示。

圖5 MOVCIDS樣本
大多數安全工具都將注意力集中在來自Internet的攻擊上,但是攻擊很可能來自網絡內部,也可能來自外部。為了更好地兼顧來自網絡內部的網絡攻擊,本研究的實驗設置主要針對SNMP異常情況的識別展開。由于SNMP是基于UDP的,所以在本工作中只考慮UDP流量,以便關注一些特殊情況。在數據預處理步驟中,系統從捕獲的信息中執行數據選擇。提取每個包的源端口、目的端口、大小、時間戳和協議(每個包分配它所屬的TCP/UDP協議的代碼)。
數據集實驗中使用的云數據集,可以看作是在一個小型網絡中生成的“定制”數據集。除了SNMP數據包(“正常的”和“異常的”)之外,數據集還包含與其他協議相關的流量,被認為是“正常的”流量。由于這個網絡是隔離的,并且受到外部攻擊的保護,所以“正常”流量是預先知道的,并且經過了經驗測試。所有“正常”流量在不同的分析數據集中被注意到以相同的方式來描述。在收集流量的網絡中,除了“正常”流量外,還通過黑客工具生成了三種不同的SNMP異常情況。它們中的每一個都描述了數據集中包含的所有包。
SNMP是面向互聯網社區管理節點的,它用于控制路由器、網橋和其他一些網絡元素,讀寫關于這些設備的各種信息(如操作系統、版本、路由表、默認TTL等)。可以廣義地將其定義為SNMP用來存儲其控制的元素信息的數據庫。所分析的數據集包含上述所有異常情況的示例。除此之外,有關“正常”流量的信息也包括在內。除了純粹的SNMP異常情況之外,MOVCIDS還幫助網絡管理員檢測網絡/端口掃描,這些掃描很容易被其他一些安全工具識別(例如,通過查看源/目標IP地址)。
為了驗證本文的網絡入侵檢測算法的有效性,對RNN-IDS的性能與其他五類模型進行了比較,如圖6所示。

圖6 RNN-IDS的性能與其他模型的比較分析
實驗表明,該模型的精度為81%。其中,KDDTest-21的分類率為67%,優于J48、樸素貝葉斯、隨機森林和多層感知器等分類算法。此外,它在測試集KDDTest+上也優于人工神經網絡算法,得到79.9%。
用典型網絡入侵活動進行分析驗證,首先利用貝葉斯過濾器的特性將試驗數據追加到原始數據中,再對新的數據庫進行機器學習。此時數據庫的網絡入侵事件有4 775件,非網絡入侵615件。將實驗數據和再學習后數據的檢出率和綜合精度進行比較分析,如表1所示。

表1 檢出率的比較結果

表2 綜合精度的比較結果
在計算機網絡安全領域,流量數據集通常具有分類、文本性質,將它們轉換為可應用可視化技術的數據類型并不常見。本文提出的IDS模型采用了一種新穎的方法,將每個簡單的數據包獨立地可視化。該模型通過描述每個數據包,為網絡管理員提供網絡流量、協議交互和流量的快照,以識別異常情況,為網絡傳輸提供了一個完整直觀的可視化模型。
云計算、機器學習、模式識別、數據挖掘等技術,處理從數據中提取有趣的分類、集群、關聯和其他模式的問題。筆記本電腦、掌上電腦、嵌入式系統和可穿戴計算機設備的存在,使得大量分布式數據的訪問成為現實。在研究中,探討了如何建立一個基于機器學習的入侵檢測系統模型,并提出了一種神經網絡進行入侵檢測的深度學習方法。遞歸神經網絡包括輸入單元、輸出單元和隱藏單元,隱藏單元完成最重要的工作。對分布式數據進行高級分析,以提取有用的知識,MOVCIDS的設計目的是使其可以從移動設備訪問,從而實現對計算機網絡的永久移動可視化、監控和監督。MOVCIDS可以使用包含已知或新攻擊的數據集進行訓練,因為它具有任何連接模型的泛化能力。現有研究中還存在一些不足,接下來要繼續對網絡入侵檢測算法進行優化,不斷提升機器學習效率和檢測精度。