李麒鑫
(上海電力大學計算機科學與技術學院 上海市 200000)
隨著機器學習的發展,其在入侵檢測中的應用在近年來也越來越廣,其在惡意流量的識別上有著十分廣泛的應用。但是基于機器學習的方法本質上還是屬于淺層的學習,他更多地是側重在特征的選擇過程。而特征選擇,一直是傳統的機器學習方法在入侵檢測上存在困難的點。因為其在對于入侵事件的分類上檢測不夠有效,所以在入侵事件的識別上,整體無法得到較高的準確率。
今年來,機器學習與網絡安全領域有著良好的結合,運用機器學習算法構建入侵檢測模型能夠有效提升網絡安全。
入侵檢測技術[1]是一種主動而積極的網絡安全技術,它可以對于網絡環境做實時的偵查,對于可能出現的異常網絡狀態做出及時而又有效的反應和警示,通過一些物理方面硬件以及軟件操作中的空擋加入一些額外的靜態防御措施,以彌補網絡中可能存在的漏洞和不足。與此同時,隨著入侵檢測技術的發展與不斷迭代,其在現代社會的網絡安全體系中扮演的角色也越來越重要。入侵檢測系統(Intrusion Detection System,IDS)通過對于網絡結構和互聯網系統中非法的訪問事件和惡意入侵進行模式識別[5],并根據其訪問事件找到相應規律,另一方面實時數據處理可以檢測不同的網絡入侵狀態,入侵檢測系統根據這些狀態找到相應的應對措施,從這個層面講,其對于網絡結構和互聯網系統中的安全可靠防護進入到了實時級別,達到了全面的檢測與防護的目的。
基于分類的出發角度,IDS可以被劃分成不同的種類。
(1)從數據源差異性的角度出發,網絡入侵可被分為三大類:第一類,基于主機的IDS;第二類,基于網絡的IDS;第三類,混合式IDS。
這一類IDS把主機當做媒介,通常安裝在需要被保護的主機上,因此主機就成了它的入侵數據的來源。這類IDS會對主機上的綜合審計日志信息、主機訪問記錄日志,實時信息流量上報的信息做監測和信息的采集。IDS基于這些信息對于系統是否被入侵做出判斷與分析,如果檢測到非法的網絡行為和異常,將馬上給系統管理員發送告警。
基于主機的IDS的應用主要在早期的系統中,這種設計的優勢在于應對內部攻擊方面,由于具有不受網絡信息流交換和網絡加密影響的優勢,在應對內部攻擊是可以取得非常好的效果。除此之外,該方案在硬件設備方面不需要額外的投入,具有較高的性價比。再加上該類技術可以利用自身具有的系統特性,在一些特定情況下,其實時的策略可能更加合理。其缺點也很明顯:由于主機與檢測系統耦合,主機主應用占用較多資源時,其入侵檢測性能會受到影響。此外,面對拒絕服務攻擊(Denial of Service, DoS)時,基于主機的IDS可提供的防御會更加薄弱。第三,這種方案也具有較差的軟件移植性。
基于網絡的IDS通過在重要網段的關鍵節點插入檢測節點從而采集數據信息。它通過檢測網絡中傳輸的數據包,并采取特定的方式分析這些數據包,從而判斷網絡是否存在入侵。此類方式與基于主機的IDS最大的區別在于,基于網絡的IDS是基于特征匹配的方法統計分析數據從而判斷入侵行為。如果基于數據包的檢測判斷出基于現有規則,入侵行為與現有規則匹配,IDS就會發出告警,如果存在嚴重威脅系統安全的行為甚至會將網絡連接直接斷開。
在常見的IDS種類中,基于網絡的IDS占據其中的很大一部分,該類IDS對比于基于主機的IDS有明顯優勢,尤其是可以檢測出后者檢測不出的一些入侵行為。此外,他還有其他很多優勢:首先,它能夠做到網絡狀態的實時監控,并且對于很多細節可以做到關注,監控可做到的程度也更加精細化。第二,該類IDS在實際應用時能夠做到很細微的影響網絡本身,系統也具有更高的抗攻擊能力。當然,他也有其自身的缺點。由于依賴網絡數據包的分析,若網絡狀況不太好,整體系統的延遲和網絡的丟包都會加劇,網絡的不穩定會導致數據包的遺漏,影響網絡攻擊行為的數據分析,從而影響整體模型對于入侵判斷的準確率。

圖1:反向傳播神經網絡結構

圖2:決策樹結構
上述的兩種系統各自存在自身的優劣勢,也容易被攻擊者利用其缺點,所以系統安全最終也會受到影響?;旌鲜絀DS則是結合基于主機的IDS和基于網絡的IDS的優劣勢,既引入了基于網絡數據包的數據分析,又可以利用主機的系統日志分析檢測異常狀態,兩種方式綜合起來形成了一套更加綜合和全面的入侵監測系統。
(2)根據IDS中數據分析環節的分析方式的不同,可以將IDS劃分為誤用IDS和異常IDS。
誤用IDS因為基于特征,也被叫做基于特征的IDS,在對于攻擊類型做數據分析后,可以建立包括已有入侵類型特征的特征庫,在實際系統中,可以將數據分析偵測到的行為與已存在數據庫中的數據進行對比,如果篩選出的行為符合數據庫中已有的數據特征,則將此條行為判斷為入侵行為,反之,則認為此行為為正常狀態行為。
誤用IDS由于直接建立了入侵行為特征的數據庫,其優勢在于入侵檢測會更加高效,當然其缺點也十分明顯;由于入侵檢測行為依賴于特征數據庫,故無法檢測出數據庫中不存在的入侵類型。隨著網絡發展,新的攻擊方式層出不窮,所以需要不斷的手動更新特征數據庫,需要較高的人工成本。
誤用IDS較為高效的基礎在于特征數據庫的精準與廣泛的覆蓋,至今,誤差IDS的實現不斷出現新技術和新方式,如:基于專家系統IDS、基于狀態遷移IDS、基于模式匹配IDS、基于模型推理IDS。
異常IDS的基本原理是設立基于網絡正常的流量狀態的檢測準則[2],當網絡中實時流量狀態與正常流量狀態存在較大偏差時,則將當前狀態識別為異常的入侵狀態。這類IDS對于正常情況下的網絡數據做提前的流量統計,而后根據這些正常流量數據搭建數據庫并制定相應規則,后續檢測則與規則庫對比,當瞬時流量與正常流量之間的偏差大于閾值時,則將相應系統狀態判斷為入侵行為,反之,則認為數據處于正常狀態。
由于異常IDS的設計與實時流量有關,而不依賴于入侵行為特征,所以該類IDS可以檢測新型攻擊,但是這種檢測方式也存在很嚴重的缺點:即如何判定系統正常狀態的模式存在較大的難度,如果閾值設置不合理則可能造成大量的虛假告警。此外,對于規則庫更新也有很高的成本。規則庫的正常的行為模式是否完全關乎異常IDS的準確率。
目前常見的異常IDS類型有:基于統計分析IDS,基于神經網絡IDS,基于數據挖掘IDS等。
IDS的工作模塊主要包含四部分:數據采集、數據處理、數據分析以及響應處理:
IDS會事先在網絡中和計算機上設置許多監測節點,采集用戶的各種行為記錄,包含用戶異常訪問的記錄,而這些異常記錄可以用來構建異常監測的模型,是其數據上的基礎。節點采集信息的來源包括計算機系統的內部日志、網絡上的日志軟件的實時運行狀態日志信息、防火墻相關的日志等。因為涉及模型的訓練,所以IDS的檢測結果強烈依賴于采集的數據量,獲取到越全面,越豐富的數據量,整體模型的準確度就會越高。
實際處理中,采集的數據包含噪聲和各種各樣的干擾信息是在所難免的,例如上述節點采取到的原始數據,這些數據一般數據量較大,且維度較高,直接對于原始數據進行分析會有很大難度。所以,為了分析和處理數據更加高效,一些數據清洗的工作是十分必要的,例如數據特征的維度壓縮,對于數據做歸一化操作以及數值的轉化等。
IDS的核心步驟是數據的分析,判斷入侵行為的處理方案在一定程度上依賴于前置步驟數據的預處理中數據信息的處理與分析方案。IDS中數據的分析方案對于檢測效果至關重要,所以數據分析的方案是需要不斷迭代和優化的。最近的幾十年間,大量的數據挖掘算法和機器學習技術被應用在了對于入侵檢測場景的數據分析中,使得入侵檢測的效果得到突飛猛進的提升。
數據分析環節會得到前置的分析結果,系統也會定義一些相應的響應措施以應對不同的網絡異常。如果IDS檢測到與正常的網絡流量數據有不同的狀態,響應的主動響應措施和被動防御性措施將會被激活。主動響應措施是積極主動的在不同層面介入來阻斷網絡的入侵,例如網絡連接的關閉以及主機系統的關閉等。
反向傳播神經網絡(Back Propagation neural network,BP)也被稱為深度前饋網絡或者人工神經網絡[3],是一個最具代表性和結構較為簡單的深度神經網絡模型。網絡主要由輸入數據的輸入層,提取深層特征的隱藏層和傳輸運算結果的輸出層組成。其網絡結構示意圖如圖1所示。其中隱藏層可以根據實際需要設置多個。
ID3是最為典型決策樹算法。作為ID3算法的一個改進,C4.5算法[4]生成的分類規則容易理解,并且分類的準確率高結果如圖2所示。實現的步驟如下:
(1)收集入侵信息,構造入侵樣本集;
(2)進行數據預處理,增刪查改,去掉無關的屬性,形成決策樹的訓練集;
(3)訓練數據,通過一定的映射建立相關的規則信息量;
(4)對決策樹剪枝。設定可信度,利用IF-THEN規則,對初始決策樹剪枝;
(5)分類入侵類型,判斷是否是攻。
決策樹C4.5算法在異常檢測中對各類異常的檢測率較高,但對未知入侵的檢測率仍有待提高。
隨機森林是一種決策樹的集成算法,由多組決策樹分類器組成。首先收集待檢測數據,然后對數據進行預處理、增刪查改,獲取待訓練的特征,最后將特征輸入各個隨機森林進行訓練,輸出的中間向量進行疊加然后歸一化獲取最終的輸出預測結果。
入侵檢測技術是網絡安全防護的關鍵,在提升網絡安全性與穩定性上起著至關重要的作用。將機器學習算法應用到網絡入侵檢測中效果良好,具有廣闊應用空間和發展前景。