杜軍龍,周劍濤
(江西省信息中心, 江西 南昌 330001)
入侵檢測(cè)在保障信息安全中起著重要的作用,準(zhǔn)確識(shí)別網(wǎng)絡(luò)中的各種攻擊是其關(guān)鍵技術(shù)。文章介紹一種基于云計(jì)算和機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),該系統(tǒng)提供了一種基于網(wǎng)絡(luò)大數(shù)據(jù)流的結(jié)構(gòu)可視化分析的新方法。此外,這種軟件計(jì)算方法對(duì)于識(shí)別未知的或未遇到過的攻擊非常有用,這得益于人工機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)的泛化能力。在研究中,探討了如何建立一個(gè)基于機(jī)器學(xué)習(xí)的入侵檢測(cè)系統(tǒng)模型,并提出了一種神經(jīng)網(wǎng)絡(luò)和貝葉斯過濾器的入侵檢測(cè)的深度學(xué)習(xí)方法。此外,同時(shí)研究了該模型在二分類和多類分類中的性能,以及神經(jīng)元數(shù)目和不同的學(xué)習(xí)速率對(duì)該模型性能的影響。將基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)方法,與之前研究人員提出的人工神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林和支持向量機(jī)等機(jī)器學(xué)習(xí)方法在云計(jì)算數(shù)據(jù)集上進(jìn)行了比較[1-2]。實(shí)驗(yàn)結(jié)果表明,該模型提高了入侵檢測(cè)的準(zhǔn)確性,為入侵檢測(cè)提供了一種新的研究方法。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNNs)方法可用于監(jiān)督分類學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)RNN模型本質(zhì)上是一個(gè)信息從輸入單元到隱藏單元的單向信息流,將之前的時(shí)間隱藏單元到當(dāng)前定時(shí)隱藏單元的單向信息流,如可以把隱藏的單元看作是整個(gè)網(wǎng)絡(luò)的存儲(chǔ),記住了端到端信息。遞歸神經(jīng)網(wǎng)絡(luò)引入了一個(gè)方向環(huán),它可以記住之前的信息并將其應(yīng)用輸出,這是與傳統(tǒng)的模糊神經(jīng)網(wǎng)絡(luò)(Fuzzy network-FNN,F(xiàn)NNs)的本質(zhì)區(qū)別。前面的輸出也與序列的當(dāng)前輸出相關(guān),隱藏層之間的節(jié)點(diǎn)不再是無連接的。不僅是輸入層的輸出,最后一個(gè)隱藏層的輸出也作用于隱藏層的輸入[3-5]。RNN-IDS所涉及的步驟,如圖1所示。
顯然,該模型的訓(xùn)練由正向傳播和反向傳播兩部分組成。正向傳播負(fù)責(zé)計(jì)算輸出值,反向傳播負(fù)責(zé)傳遞累積的殘差來更新權(quán)值,這與正常的神經(jīng)網(wǎng)絡(luò)訓(xùn)練沒有本質(zhì)區(qū)別。展開遞歸神經(jīng)網(wǎng)絡(luò),如圖2所示。
圖1 RNN-IDS流程框圖
圖2 展開遞歸神經(jīng)網(wǎng)絡(luò)
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
探索性投影尋蹤是一種較新的統(tǒng)計(jì)方法,旨在解決云端高維數(shù)據(jù)結(jié)構(gòu)識(shí)別的難題。它通過將數(shù)據(jù)投射到一個(gè)低維的子空間來實(shí)現(xiàn)這一點(diǎn),在這個(gè)子空間中,本文用肉眼來搜索數(shù)據(jù)的結(jié)構(gòu)。定義一個(gè)索引來度量給定投影的“有趣程度”,然后根據(jù)最大化該索引的投影來表示數(shù)據(jù)。定義哪些索引表示有趣的方向。“有趣”通常是根據(jù)高維數(shù)據(jù)的大多數(shù)投影給出的幾乎是高斯分布的這一事實(shí)來定義的。因此,為了識(shí)別數(shù)據(jù)中的“有趣”特征,尋找那些數(shù)據(jù)投影盡可能遠(yuǎn)離高斯分布的方向。
度量偏離高斯分布的方法是基于分布的高階矩。偏度是基于歸一化的第三階矩,測(cè)量分布與兩側(cè)對(duì)稱的偏差。雙峰分布通常具有負(fù)峰度,因此負(fù)峰度表示某一特定分布具有聚類的證據(jù)。因此,云端網(wǎng)絡(luò)可以捕獲某種類型的全局排序的方式找到數(shù)據(jù)集的獨(dú)立因素。考慮一個(gè)n維的輸入向量(x),一個(gè)m維的輸出向量(y),并以w為權(quán)值。
英國(guó)數(shù)學(xué)家托馬斯貝葉斯提出了貝葉斯過濾理論,即一個(gè)事件發(fā)生的概率可以通過調(diào)查該事件的過去而反推得到。當(dāng)知道一個(gè)結(jié)果時(shí),可以通過這個(gè)結(jié)果而推測(cè)出事件發(fā)生的概率,是在求解事后概率時(shí)使用的方法。網(wǎng)絡(luò)入侵的檢測(cè)判定流程[6-8],如圖3所示。
圖3 提案方法的判定流程
提案過濾器的判定精度包括以下幾個(gè)概念。
檢出率:表示在網(wǎng)絡(luò)入侵中被判定為網(wǎng)絡(luò)入侵的概率。
誤檢出率:表示在非網(wǎng)絡(luò)入侵中被判定為網(wǎng)絡(luò)入侵的概率。
檢錯(cuò)率:表示在網(wǎng)絡(luò)入侵中被判定為非網(wǎng)絡(luò)入侵的概率。
綜合精度:表示在全體網(wǎng)絡(luò)活動(dòng)中網(wǎng)絡(luò)入侵和非網(wǎng)絡(luò)入侵被正確判定的概率。
數(shù)據(jù)流分割方式,如圖4所示。
MOVCIDS將預(yù)處理數(shù)據(jù)流分割如下。
相等的簡(jiǎn)單段(S):每個(gè)簡(jiǎn)單段包含所有的包,其時(shí)間戳在段的起始時(shí)間和最終時(shí)間限制之間。每對(duì)連續(xù)的簡(jiǎn)單線段之間有輕微的時(shí)間重疊。簡(jiǎn)單段的長(zhǎng)度(持續(xù)時(shí)間)和時(shí)間重疊都可以由管理員設(shè)置。
圖4 數(shù)據(jù)流分割
積累片段(A):每個(gè)片段包含幾個(gè)連續(xù)的簡(jiǎn)單片段。累積段的長(zhǎng)度也是可配置的。
這種劃分的主要原因之一是向網(wǎng)絡(luò)管理員提供網(wǎng)絡(luò)流量演變的長(zhǎng)期圖景,從而使攻擊的持續(xù)時(shí)間比簡(jiǎn)單段的長(zhǎng)度還長(zhǎng)。此外,簡(jiǎn)單段允許對(duì)流量進(jìn)行實(shí)時(shí)的處理。由于捕獲延遲,數(shù)據(jù)集越長(zhǎng),實(shí)時(shí)分析的距離就越遠(yuǎn)。為了可視化異常情況的結(jié)束和簡(jiǎn)單段之間的演化,有必要對(duì)某些包進(jìn)行兩次考慮。為了防止分析人員的混亂(例如,在兩個(gè)不同的簡(jiǎn)單段中顯示相同的異常情況),需要同時(shí)顯示累積的段。這將導(dǎo)致網(wǎng)絡(luò)管理員意識(shí)到只有一個(gè)異常情況被可視化兩次。
捕獲的數(shù)據(jù)被選中并進(jìn)行預(yù)處理,因?yàn)橹粡脑季W(wǎng)絡(luò)流量中選擇包含在捕獲包的頭中的字段(特性)的一個(gè)簡(jiǎn)化集。為了克服這個(gè)問題,MOVCIDS將流量分成不同的組,考慮到IP上的協(xié)議(UDP、TCP、ICM等)。在所有實(shí)現(xiàn)的網(wǎng)絡(luò)協(xié)議中,有幾種協(xié)議(就網(wǎng)絡(luò)安全而言)被認(rèn)為是相當(dāng)危險(xiǎn)的,如簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(simple network management protocol, SNMP)。SNMP被CISCO確定為最脆弱的五大服務(wù)之一,特別是目前使用最廣泛的兩個(gè)協(xié)議?;诖藚f(xié)議的攻擊可能會(huì)嚴(yán)重危害整個(gè)網(wǎng)絡(luò)的安全。SNMP攻擊也被SysAdmin、 Audit、 Network和Security (SANS)列為十大最關(guān)鍵的互聯(lián)網(wǎng)安全威脅之一[9-10]。
MOVCIDS樣本,如圖5所示。
圖5 MOVCIDS樣本
大多數(shù)安全工具都將注意力集中在來自Internet的攻擊上,但是攻擊很可能來自網(wǎng)絡(luò)內(nèi)部,也可能來自外部。為了更好地兼顧來自網(wǎng)絡(luò)內(nèi)部的網(wǎng)絡(luò)攻擊,本研究的實(shí)驗(yàn)設(shè)置主要針對(duì)SNMP異常情況的識(shí)別展開。由于SNMP是基于UDP的,所以在本工作中只考慮UDP流量,以便關(guān)注一些特殊情況。在數(shù)據(jù)預(yù)處理步驟中,系統(tǒng)從捕獲的信息中執(zhí)行數(shù)據(jù)選擇。提取每個(gè)包的源端口、目的端口、大小、時(shí)間戳和協(xié)議(每個(gè)包分配它所屬的TCP/UDP協(xié)議的代碼)。
數(shù)據(jù)集實(shí)驗(yàn)中使用的云數(shù)據(jù)集,可以看作是在一個(gè)小型網(wǎng)絡(luò)中生成的“定制”數(shù)據(jù)集。除了SNMP數(shù)據(jù)包(“正常的”和“異常的”)之外,數(shù)據(jù)集還包含與其他協(xié)議相關(guān)的流量,被認(rèn)為是“正常的”流量。由于這個(gè)網(wǎng)絡(luò)是隔離的,并且受到外部攻擊的保護(hù),所以“正?!绷髁渴穷A(yù)先知道的,并且經(jīng)過了經(jīng)驗(yàn)測(cè)試。所有“正?!绷髁吭诓煌姆治鰯?shù)據(jù)集中被注意到以相同的方式來描述。在收集流量的網(wǎng)絡(luò)中,除了“正?!绷髁客猓€通過黑客工具生成了三種不同的SNMP異常情況。它們中的每一個(gè)都描述了數(shù)據(jù)集中包含的所有包。
SNMP是面向互聯(lián)網(wǎng)社區(qū)管理節(jié)點(diǎn)的,它用于控制路由器、網(wǎng)橋和其他一些網(wǎng)絡(luò)元素,讀寫關(guān)于這些設(shè)備的各種信息(如操作系統(tǒng)、版本、路由表、默認(rèn)TTL等)??梢詮V義地將其定義為SNMP用來存儲(chǔ)其控制的元素信息的數(shù)據(jù)庫。所分析的數(shù)據(jù)集包含上述所有異常情況的示例。除此之外,有關(guān)“正?!绷髁康男畔⒁舶ㄔ趦?nèi)。除了純粹的SNMP異常情況之外,MOVCIDS還幫助網(wǎng)絡(luò)管理員檢測(cè)網(wǎng)絡(luò)/端口掃描,這些掃描很容易被其他一些安全工具識(shí)別(例如,通過查看源/目標(biāo)IP地址)。
為了驗(yàn)證本文的網(wǎng)絡(luò)入侵檢測(cè)算法的有效性,對(duì)RNN-IDS的性能與其他五類模型進(jìn)行了比較,如圖6所示。
圖6 RNN-IDS的性能與其他模型的比較分析
實(shí)驗(yàn)表明,該模型的精度為81%。其中,KDDTest-21的分類率為67%,優(yōu)于J48、樸素貝葉斯、隨機(jī)森林和多層感知器等分類算法。此外,它在測(cè)試集KDDTest+上也優(yōu)于人工神經(jīng)網(wǎng)絡(luò)算法,得到79.9%。
用典型網(wǎng)絡(luò)入侵活動(dòng)進(jìn)行分析驗(yàn)證,首先利用貝葉斯過濾器的特性將試驗(yàn)數(shù)據(jù)追加到原始數(shù)據(jù)中,再對(duì)新的數(shù)據(jù)庫進(jìn)行機(jī)器學(xué)習(xí)。此時(shí)數(shù)據(jù)庫的網(wǎng)絡(luò)入侵事件有4 775件,非網(wǎng)絡(luò)入侵615件。將實(shí)驗(yàn)數(shù)據(jù)和再學(xué)習(xí)后數(shù)據(jù)的檢出率和綜合精度進(jìn)行比較分析,如表1所示。
表1 檢出率的比較結(jié)果
表2 綜合精度的比較結(jié)果
在計(jì)算機(jī)網(wǎng)絡(luò)安全領(lǐng)域,流量數(shù)據(jù)集通常具有分類、文本性質(zhì),將它們轉(zhuǎn)換為可應(yīng)用可視化技術(shù)的數(shù)據(jù)類型并不常見。本文提出的IDS模型采用了一種新穎的方法,將每個(gè)簡(jiǎn)單的數(shù)據(jù)包獨(dú)立地可視化。該模型通過描述每個(gè)數(shù)據(jù)包,為網(wǎng)絡(luò)管理員提供網(wǎng)絡(luò)流量、協(xié)議交互和流量的快照,以識(shí)別異常情況,為網(wǎng)絡(luò)傳輸提供了一個(gè)完整直觀的可視化模型。
云計(jì)算、機(jī)器學(xué)習(xí)、模式識(shí)別、數(shù)據(jù)挖掘等技術(shù),處理從數(shù)據(jù)中提取有趣的分類、集群、關(guān)聯(lián)和其他模式的問題。筆記本電腦、掌上電腦、嵌入式系統(tǒng)和可穿戴計(jì)算機(jī)設(shè)備的存在,使得大量分布式數(shù)據(jù)的訪問成為現(xiàn)實(shí)。在研究中,探討了如何建立一個(gè)基于機(jī)器學(xué)習(xí)的入侵檢測(cè)系統(tǒng)模型,并提出了一種神經(jīng)網(wǎng)絡(luò)進(jìn)行入侵檢測(cè)的深度學(xué)習(xí)方法。遞歸神經(jīng)網(wǎng)絡(luò)包括輸入單元、輸出單元和隱藏單元,隱藏單元完成最重要的工作。對(duì)分布式數(shù)據(jù)進(jìn)行高級(jí)分析,以提取有用的知識(shí),MOVCIDS的設(shè)計(jì)目的是使其可以從移動(dòng)設(shè)備訪問,從而實(shí)現(xiàn)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的永久移動(dòng)可視化、監(jiān)控和監(jiān)督。MOVCIDS可以使用包含已知或新攻擊的數(shù)據(jù)集進(jìn)行訓(xùn)練,因?yàn)樗哂腥魏芜B接模型的泛化能力。現(xiàn)有研究中還存在一些不足,接下來要繼續(xù)對(duì)網(wǎng)絡(luò)入侵檢測(cè)算法進(jìn)行優(yōu)化,不斷提升機(jī)器學(xué)習(xí)效率和檢測(cè)精度。