肖陽,白磊,王仙
(西安電子科技大學 通信工程學院,陜西 西安 710071)
移動ad hoc網(wǎng)絡是一種融合了無線技術、移動網(wǎng)絡技術及對等通信技術的動態(tài)拓撲網(wǎng)絡,被廣泛地應用于諸如軍事通信、搶險救災等多種通信環(huán)境中。移動 ad hoc網(wǎng)絡本身具有的一些獨特性使其不同于其他類型的網(wǎng)絡,其無需借助任何基礎設施,以自組織的方式分布式動態(tài)運行,使用無線鏈路進行通信。然而,和其他網(wǎng)絡相比,正是由于其獨有的特性給移動自組網(wǎng)帶來節(jié)點間協(xié)作、路由、安全等多種新問題。其中,選擇合適的路由及路由信息的維護是提供正常網(wǎng)絡服務的基礎,對網(wǎng)絡拓撲的維護尤為重要。移動ad hoc網(wǎng)絡中任何節(jié)點都可能參與路由,很容易遭受外部或內部的攻擊,因此路由安全研究是移動ad hoc網(wǎng)絡進一步發(fā)展的關鍵問題之一。作為入侵防御機制的加密、認證等技術雖然在自組網(wǎng)路由安全中廣泛應用,但其都是針對于外部攻擊,對來自網(wǎng)絡內部的攻擊卻無能為力,這就需要將行為檢測和響應技術與之互為補充,共同保障路由安全。
入侵檢測系統(tǒng)作為一種網(wǎng)絡安全工具,動態(tài)地監(jiān)控網(wǎng)絡中發(fā)生的事件并決定這些事件表征的是網(wǎng)絡的正常行為還是惡意襲擊,能夠對已經(jīng)轉變?yōu)閻阂夤?jié)點或者新加入的惡意節(jié)點進行檢測。近年來,無線入侵檢測系統(tǒng)的提出成為一個新的研究話題,其目標在于開發(fā)一個新的架構和機制來更好地保護無線網(wǎng)絡。但目前大多數(shù)的入侵檢測系統(tǒng)研究集中在有線網(wǎng)絡,而有線網(wǎng)絡與移動ad hoc網(wǎng)絡之間的顯著差異使傳統(tǒng)的IDS不能直接運用于無線網(wǎng)絡,其大多數(shù)都采用集中式的入侵檢測,由于移動自組網(wǎng)的自組織、無中心特點,分布式解決方案成為主流,其系統(tǒng)架構主要有單點式孤立IDS、分布式協(xié)作IDS和層次化IDS這3種,現(xiàn)有的大多數(shù)入侵檢測方案,如基于規(guī)范(specification-based)的分布式協(xié)作入侵檢測[1]、基于分組丟失和路由表異常變化的入侵檢測[2]、基于智能代理和數(shù)據(jù)挖掘技術的入侵檢測[3]、基于貝葉斯網(wǎng)絡的層次ad hoc網(wǎng)絡入侵檢測方案[4]等都是基于這些模型提出的,通過對這些方案深入的研究分析,發(fā)現(xiàn)其在不同程度上都有各自的缺陷和不足,但對解決移動ad hoc網(wǎng)絡的安全問題起到了不同程度的效果,為移動ad hoc網(wǎng)絡中入侵檢測技術的進一步研究提供了較好的依據(jù)。
通過參考已有的移動ad hoc網(wǎng)絡入侵檢測模型和方法,針對移動ad hoc網(wǎng)絡的無中心、自組織、動態(tài)拓撲、能量有限等特性,本文主要從入侵檢測系統(tǒng)的2個方面進行討論,即如何有效檢測移動ad hoc網(wǎng)絡路由入侵行為、如何準確地響應并將惡意路由節(jié)點移除網(wǎng)絡,提供可信路由環(huán)境的角度進行分析,提出了一種基于朋友機制的輕量級移動 ad hoc網(wǎng)絡入侵檢測模型。
基于對上述提及的入侵檢測方案模型的研究分析,下面針對移動ad hoc網(wǎng)絡環(huán)境入侵檢測系統(tǒng)架構的設計總結出以下經(jīng)驗,以此來指導本文的入侵檢測系統(tǒng)框架設計工作。
1) 層次化,即IDS必須能對每個節(jié)點進行入侵檢測,節(jié)點必須能協(xié)作完成是否發(fā)出警報的決策。
2) 具有通用性,不依賴于特定的路由協(xié)議。
3) 不僅能阻止特定類型的攻擊,對于未定義的攻擊也可以檢測阻止。
4) 能夠自適應、易于配置,而不會增加過多的開銷,保證IDS消耗的資源應最小化。
5) 需要選取合適的統(tǒng)計特征值,使其能夠處理異常與正常行為之間沒有明確界線這樣一個問題,最大化地降低誤判率,提高檢測率。
在處理實際問題時,由于傳統(tǒng)的統(tǒng)計學是基于樣本數(shù)目趨向于無窮大時的漸進理論,因此針對樣本數(shù)量有限的實際環(huán)境,像神經(jīng)網(wǎng)絡中的BP算法等這些優(yōu)秀的統(tǒng)計學習方法卻不盡人意。于是,在統(tǒng)計學習理論的基礎上,出現(xiàn)了一種新的學習理論,即支持向量機(SVM,support vector machine)。SVM 用于解決各種學習、分類和預測問題,由Vapnik等[5]于 1995年在 《The Nature of Statistic Learning Theory》一書中提出。借鑒眾多研究者將SVM運用到移動ad hoc網(wǎng)絡入侵檢測系統(tǒng)中的經(jīng)驗:SVM用于入侵檢測時能夠提供很高的檢測正確率;通過特征值的選擇來降低算法復雜度,使SVM在有限資源的ad hoc網(wǎng)絡中可以保持很好的檢測性能;SVM能夠解決訓練樣本獲取代價過高帶來的問題。因此,本文提出的入侵檢測模型也將SVM作為網(wǎng)絡入侵行為的識別算法。
1) 核函數(shù)
核函數(shù)在支持向量機中扮演重要的角色,選擇不同的核函數(shù)將生成不同的算法。在實踐中,根據(jù)輸入數(shù)據(jù)集的復雜性可以使用多種內積核函數(shù),如線性內核、多項式內核、徑向基內核和Sigmoid內核。
①線性核函數(shù)
②多項式核函數(shù)(以下是q階多項式分類器)
③徑向基核函數(shù)(RBF, radial basis function)
其中,xi為核函數(shù)中心,δ為函數(shù)的寬度參數(shù),控制了函數(shù)的徑向作用范圍。
徑向基核函數(shù)就是某種沿徑向對稱的標量函數(shù)。每個函數(shù)中心對應一個支持向量,向量及其對應的輸出權值都是由算法自動確定的,這與傳統(tǒng)RBF方法有重要區(qū)別。最常用的徑向基函數(shù)是高斯核函數(shù)。
④Sigmoid內核,也稱作S形內核
2) SVM的訓練算法
Vapnik等[5]將 SVM的訓練歸結為解一個凸二次優(yōu)化問題,SVM中的其他問題,如確定核函數(shù)中的參數(shù)或者懲罰系數(shù),也常歸結為此類優(yōu)化問題。一般采用循環(huán)迭代的方法,把原來問題分解為若干個子問題來求解,使最終結果收斂到原問題的最優(yōu)解。根據(jù)子問題的劃分和迭代策略分為“塊算法”和“分解算法”2類。
Platt[6]提出的SMO(sequetial minimal optimizaton)方法作為“分解算法”的一個特例,對大訓練樣本問題進行了解決,能有效避免多樣本下的數(shù)值解不穩(wěn)定和耗時問題,不需要很大的存儲空間,而且算法速度快。
Keerthi S S等[7]在Platt提出的SMO算法的基礎上進行了改進,使算法更加有效合理。
Joachims[8]對“分解算法”和SMO算法進行了具體的編程實現(xiàn),將其集成在SVMLight軟件包中,能較好地處理大規(guī)模訓練集問題。
林智仁等[9]對SMO算法和SVMLight軟件中的工作集選擇方法進行綜合,采用C++設計實現(xiàn)了一個簡單、易于使用和快速有效的SVM模式識別與回歸的軟件包LIBSVM。它不但提供了編譯好的可在 Windows系列系統(tǒng)地執(zhí)行文件,還提供了源代碼,方便改進、修改以及在其他操作系統(tǒng)上應用。該軟件對SVM所涉及的參數(shù)調節(jié)較少,一般利用提供的大量默認參數(shù)就可以解決很多問題,并提供了交互檢驗(cross validation)功能,使LIBSVM作為SVM訓練工具使用最為方便。第4節(jié)在對黑洞攻擊模型獲取的原始數(shù)據(jù)訓練測試中正是使用了LIBSVM軟件工具。
2.2.1 基本概念
早在1967年,哈佛大學的心理學教授Milgram[10]通過實驗證實了“小世界現(xiàn)象”的存在,簡而言之,就是在任何地方隨機地選取任意2個人,他們之間經(jīng)過一條不超過6個熟人的鏈連接,也就是說最多通過6個人你就能夠結識任何一個特定的陌生人,因此也被稱作“六度分割理論”。后來有一些研究人員拓展了他的這種理論,他們認為在某種程度上萬維網(wǎng)也是一種“小世界”,并將其擴展到了互聯(lián)網(wǎng)應用,即所有的網(wǎng)站是高度集群化的并且它們之間的路徑長度很小。Helmy[11]通過仿真實驗進一步建立了小世界概念和無線網(wǎng)絡之間的關系,然而并沒有討論如何將這種關系有效地運用于系統(tǒng)中。后來,Capkun等[12]基于“小世界現(xiàn)象”提出friendships機制,并將“friends”的概念引入到具有自組織、分布式特性的移動ad hoc網(wǎng)絡中來解決許多問題,尤其是安全相關的問題。建立節(jié)點之間的朋友關系類似社會學中的朋友關系,研究人員做出以下假設:移動ad hoc網(wǎng)絡中的任意2個節(jié)點在成為朋友之前必須相互認識,即能夠直接通信,其次互相信任,這類節(jié)點稱之為“一度朋友”或者“直接朋友”。對于不能直接通信的節(jié)點,如果它們有共同的一度朋友,那么這類節(jié)點稱之為“二度節(jié)點”或者“間接朋友”。具體場景如下。一對節(jié)點,在加入網(wǎng)絡之前假定它們之間互相信任,則它們能夠在網(wǎng)絡通信過程中建立安全關聯(lián),通過這種安全關聯(lián)根據(jù)朋友節(jié)點之間直接或間接的信任評價能夠加速網(wǎng)絡中節(jié)點可信域的產(chǎn)生過程,從而減少了節(jié)點的匿名不安全通信。
2.2.2 朋友機制在移動ad hoc網(wǎng)絡中的應用
近年來朋友機制以其優(yōu)越性廣泛地用于多種網(wǎng)絡及其安全性問題的研究。裴偉東等[13]在研究復雜網(wǎng)絡模型時,從“朋友”機制捕捉網(wǎng)絡形成的動態(tài)特性,了解該機制對網(wǎng)絡最終結構的影響,提出了一種新的無標度網(wǎng)絡演化模型。馬春娥等[14]在基于移動ad hoc網(wǎng)絡安全性模型研究中利用“朋友”機制,提出了一種在移動節(jié)點“臨近”的時候,建立移動節(jié)點間安全關聯(lián)的機制,有效地對節(jié)點間建立安全關聯(lián)的步長進行了評估和建模仿真。另外,朋友的概念被用于防止路由機制中節(jié)點的自私行為。在MANET中,有的節(jié)點為了保護自己有限的資源拒絕加入路由轉發(fā)。如文獻[15]所述,一般通過2種方式強制這類節(jié)點參與網(wǎng)絡操作,即要么對他們的不合作行為進行懲罰,要么獎勵他們的參與。然而,這種機制會產(chǎn)生不公平,特別是對于那些處于通信繁忙區(qū)域之外的節(jié)點。節(jié)點依賴自身的信用值在網(wǎng)絡中發(fā)送其數(shù)據(jù)分組,而信用值的積累僅僅是在轉發(fā)其他節(jié)點數(shù)據(jù)分組時獲得。然而,對于處于通信繁忙區(qū)域之外的節(jié)點,在數(shù)據(jù)分組轉發(fā)的過程被選擇的機會相對較低,這將使他們很難獲得更多的信用。Miranda等[16]提出用“朋友”的概念來解決這個問題。他們建議路由過程使用選擇性轉發(fā),其中每個節(jié)點將只參與一個數(shù)據(jù)分組的轉發(fā)過程,如果數(shù)據(jù)分組是來自或者需要被發(fā)送到它的一個朋友節(jié)點,節(jié)點將推薦給它朋友列表中的其他節(jié)點,從而避免其被指控為不轉發(fā)其他不是朋友節(jié)點的數(shù)據(jù)分組。
網(wǎng)絡系統(tǒng)的安全性研究往往依賴于一些特殊的假設,以確保其有效性和簡單性。為此,本文從以下3個方面進行約定。
1) 直接朋友機制(DFM, direct friend mechanism)
首先,在入侵檢測系統(tǒng)執(zhí)行的最開始,考慮移動ad hoc網(wǎng)絡中有5個節(jié)點,假定每個節(jié)點可信任的初始節(jié)點列表,被稱為直接朋友機制,如表1所示。此時,由于每個節(jié)點對其他節(jié)點不可能有足夠的經(jīng)驗,因此無法給出正確的評估,則認為彼此是零知識的朋友關系,即不考慮其他節(jié)點的推薦信任(這種假設是可行的,則在組網(wǎng)之前用到的所有節(jié)點都會是可信的,而之后由于拓撲變化及節(jié)點的妥協(xié)等因素引入的惡意節(jié)點,就交給入侵檢測系統(tǒng)來處理)。另外,朋友列表被網(wǎng)絡中的其他可信節(jié)點所共享,并且節(jié)點的初始信任列表根據(jù)圖2所示的全局朋友輪廓數(shù)據(jù)庫進行更新,產(chǎn)生新的朋友集,即間接朋友關系。
表1 節(jié)點初始信任關系
2) 入侵檢測預警分析
在入侵檢測模型設計之前,討論其預警分析的結果是非常有必要的。根據(jù)審計的流量蹤跡入侵檢測的預警分析通常有4種可能的結果。
TP(true positive):攻擊成功并且IDS能夠檢測出來。
TN(true negative):攻擊沒有成功并且IDS沒有報告。
FP(false positive):沒有攻擊但是 IDS給出報告。
FN(false negative):攻擊成功但是IDS沒有檢測出來。
其中,TP和 TN是正確的預警響應,它們有助于提高入侵檢測系統(tǒng)的精確性;而 FP和FN則是影響誤報和漏檢的主要因素,降低入侵檢測的準確性。
3) 入侵檢測系統(tǒng)的準確性
檢索率(recall)是指通過搜索從數(shù)據(jù)庫中能夠獲取的所有相關文件占總的文件百分比[17]。如果用戶已知數(shù)據(jù)庫中有1 000個相關文件,而通過搜索只能獲得100個相關文件,這時檢索率就是10%。這里主要是指攻擊成功后能夠正確檢測到的攻擊行為比率。即
精確度(precision)是指獲取的相關文件數(shù)占獲取的所有文件數(shù)目百分比[17]。假設獲取到100個文件而相關聯(lián)的文件僅有20個,那么精確度為20%。這里主要是指已經(jīng)報告為攻擊行為,而確實屬于攻擊行為的比率。即
基于上面2個參數(shù)的討論,給出綜合評價入侵檢測系統(tǒng)識別攻擊行為準確性的公式,即
式(7)計算結果值的高低最終決定了所設計的入侵檢測框架性能的好壞與否。
本文提出的入侵檢測系統(tǒng)模型主要由2大模塊組成,分別是本地入侵檢測模塊和全局入侵檢測模塊。其中,本地入侵檢測位于第一層,由于其能夠收集獲取到網(wǎng)絡局部的一手信息,對任何的可疑活動可快速檢測,而全局入侵檢測過程需要較長時間來完成,這是因為更多全面信息的獲取要通過其他可信節(jié)點來提供,時間相對較長。同時,為了提高本地入侵檢測模塊的檢測率及響應速率,即盡可能地在系統(tǒng)前期檢測出入侵行為,使攻擊危害最小化,那么在設計入侵檢測模型時,使其遵守 20:80定律將會大大提高入侵檢測的效率。這里主要是指檢測引擎規(guī)則的比例設置基于二八原則的概念,即在本地入侵檢測模塊中將規(guī)則的 20%設定為高檢測閾值,一方面它能夠快速地檢測出節(jié)點的異常行為活動,另一方面,使本地入侵檢測模塊生成的朋友列表也相對較快。然而,降低檢測閾值的時候檢測率提高,誤報率勢必也會提高,為盡量減小誤報率,在響應模塊進行約定,本地響應模塊只對來自其直接朋友的報警才發(fā)出警告,否則進入全局檢測模塊做進一步的檢測。而在全局入侵檢測模塊,設置正常的入侵檢測閾值規(guī)則對本地入侵檢測模塊中未檢測到的異常行為進一步過濾、識別,并通過全局朋友機制進行更為全面、嚴格的檢測。
本地入侵檢測模塊和全局入侵檢測模塊又分別由許多個小部件構成,下面將對這2大模塊的設計細節(jié)進行詳述。
3.2.1 本地入侵檢測模塊設計
本地入侵檢測模塊由5大部件組成,分別是數(shù)據(jù)收集模塊、本地檢測引擎模塊、本地入侵響應模塊、本地用戶輪廓數(shù)據(jù)庫、全局入侵檢測引擎接口模塊,如圖1所示。
圖1 本地入侵檢測模塊
數(shù)據(jù)收集模塊的功能是收集來自于不同監(jiān)控數(shù)據(jù)源的(一般分為基于主機的審計日志和基于網(wǎng)絡的數(shù)據(jù)報文)與安全相關的數(shù)據(jù),并根據(jù)檢測引擎的需求格式進行格式轉換等預處理。由于基于主機的數(shù)據(jù)源不依賴于任何網(wǎng)絡結構,應用在有線網(wǎng)絡中的數(shù)據(jù)收集技術完全可以用于移動ad hoc網(wǎng)絡。例如,可以使用簡單網(wǎng)絡監(jiān)控協(xié)議SNMP來記錄用戶的行為活動或者使用代理機制收集有用的數(shù)據(jù)源。但是,由于移動自組網(wǎng)的無中心、自組織特性使有線網(wǎng)絡中基于網(wǎng)絡的數(shù)據(jù)源收集技術不能直接用于移動ad hoc網(wǎng)絡,根據(jù)移動ad hoc網(wǎng)絡的無線通信特性,任意節(jié)點可以采用監(jiān)聽模式捕捉到它周圍鄰居節(jié)點的網(wǎng)絡活動,只不過這些數(shù)據(jù)源是局部的。另外,由于收集到的源數(shù)據(jù)往往夾雜著噪音等無用信息,應對這些實時數(shù)據(jù)匯聚精簡,做過濾、降噪處理,同時還要提取出主要特征信息、預處理轉化為檢測引擎的輸入格式。這部分可以采用諸如機器學習算法、神經(jīng)網(wǎng)絡算法、模糊算法、數(shù)據(jù)挖掘算法等技術來實現(xiàn)。本文主要研究的是網(wǎng)絡層的路由安全,即考慮的數(shù)據(jù)源主要包括網(wǎng)絡中的路由活動、拓撲模式及通信的變化情況等。
本地檢測引擎可以根據(jù)模塊中已經(jīng)存在的網(wǎng)絡正常輪廓、規(guī)則庫等對數(shù)據(jù)收集模塊收集處理后的數(shù)據(jù)源進行匹配,以識別當前網(wǎng)絡是否存在攻擊行為,也可以對節(jié)點的活動審計分析,抽取能夠反映攻擊特性的特征值。針對移動ad hoc網(wǎng)絡的特性,模型設計中將誤用檢測和異常檢測相結合并行使用,不但根據(jù)誤用檢測技術能有效快速地定位、檢測已知類型的攻擊,提高檢測效率,而且利用異常檢測技術通過分析攻擊所具有的行為特征,訓練和學習形成攻擊模型,能夠最大限度地檢測到未知的網(wǎng)絡入侵行為,降低漏檢率。當2種檢測技術的檢測結果同時為可信節(jié)點時(這里假定其值均為0),認為是朋友,將檢測結果存入本地反饋信息表,如表2所示,同時經(jīng)由本地用戶輪廓數(shù)據(jù)庫發(fā)送到全局檢測引擎做進一步的核查。否則,將異常入侵行為信息提交到本地入侵響應模塊,本地入侵響應模塊針對其攻擊行為做出響應。
表2 本地反饋信息
本地入侵響應模塊的功能是對本地入侵檢測引擎檢測的不可信行為按照前述約定的響應策略在本地網(wǎng)絡內進行廣播,避免攻擊范圍的進一步擴大,使其危害最小化。
本地用戶輪廓數(shù)據(jù)庫的功能是根據(jù)本地反饋信息表來維護可信鄰居列表,即朋友關系列表,不可信節(jié)點將被移除網(wǎng)絡。
全局入侵檢測引擎接口模塊的功能是連接本地IDS和全局IDS,將本地入侵檢測產(chǎn)生的朋友關系列表發(fā)送到全局入侵檢測模塊對可信節(jié)點做進一步嚴格的審查。
3.2.2 全局入侵檢測模塊設計
類似地,全局入侵檢測模塊由4大組件組成,分別是全局數(shù)據(jù)收集模塊、全局檢測引擎模塊、全局入侵響應模塊、全局用戶輪廓數(shù)據(jù)庫,如圖2所示。
全局數(shù)據(jù)收集模塊的功能是接收來自本地入侵檢測模塊匯總的相關數(shù)據(jù)源,包括本地數(shù)據(jù)收集模塊收集及處理后的審計數(shù)據(jù)和本地IDS生成的朋友關系列表。不需要重新執(zhí)行數(shù)據(jù)收集、處理工作,降低了系統(tǒng)的復雜性。
圖2 全局入侵檢測模塊
全局檢測引擎模塊的功能和本地檢測引擎類似,不同之處在于此時的檢測基準和閾值設定為入侵行為的正常水平,從而對上述數(shù)據(jù)源做進一步的檢測審核。除此之外,生成更為精確的全局反饋信息表和最終的直接朋友列表,同時由本地IDS產(chǎn)生的可信鄰居列表根據(jù)節(jié)點之間的信任關系生成間接朋友列表,通過綜合來自直接朋友和間接朋友提供的信息來加速整個檢測過程。最后由直接朋友列表和間接朋友列表中的節(jié)點各自以0.5的概率采用投票的方法加權計算出每個節(jié)點的最終信任級別。結合表3中給出的節(jié)點初始信任關系,全局檢測模塊最終根據(jù)其生成的直接朋友列表和非直接朋友列表產(chǎn)生每個節(jié)點的信任級別,如表3所示。
表3 節(jié)點的信任等級
全局入侵響應模塊的功能是對全局入侵檢測引擎檢測的不可信行為按照響應策略在全局網(wǎng)絡進行廣播。這些不可信行為一般比較隱蔽,應加強檢測引擎規(guī)則的分類和特征值提取技術,避免其造成更多的攻擊。
全局用戶輪廓數(shù)據(jù)庫的功能是存儲全局檢測引擎生成的節(jié)點信任等級表,此表可用于移動 ad hoc網(wǎng)絡的可信路由選擇和任何需要保證機密性的可信環(huán)境中。
本文提出的入侵檢測模型的基本流程如圖 3所示。
圖3 入侵檢測流程
1) 數(shù)據(jù)收集模塊主要獲取基于網(wǎng)絡的數(shù)據(jù)源,根據(jù)安全需求可以在網(wǎng)絡各層,包括數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層等配置不同的監(jiān)視器,獲取入侵檢測所需的原始數(shù)據(jù),對檢測模型進行實時反饋。
2) 數(shù)據(jù)審計模塊可以采用統(tǒng)計學習、數(shù)據(jù)挖掘、模糊算法等技術將原始數(shù)據(jù)抽象為統(tǒng)計變量集,同時預處理轉化為檢測引擎的輸入格式。
3) 本地檢測引擎模塊通過配置不同的檢測技術來實現(xiàn),本文在檢測引擎模塊使用基于支持向量機SVM的異常檢測算法。將上述生成的審計數(shù)據(jù)作為輸入來運行SVM算法進行訓練和測試,通過對攻擊特點的分析,從訓練數(shù)據(jù)集中識別出異常實例,建立一個區(qū)分正常數(shù)據(jù)和異常數(shù)據(jù)的分類邊界,根據(jù)本文檢測目標,選擇相關的網(wǎng)絡統(tǒng)計量作為特征參數(shù),并將其統(tǒng)計值與當前設置的檢測閾值比較,判斷其是否有攻擊行為,并初次檢測可信任節(jié)點。
4) 如果第 3)步中檢測引擎未檢測出異常行為,那么認為是可信任的朋友節(jié)點,更新朋友關系列表,等待下一步的審核。否則,認為是可疑節(jié)點,并根據(jù)此節(jié)點的直接朋友反饋判斷其是否為真正的惡意節(jié)點,如果是,就向本地響應模塊發(fā)出入侵報警,進行本地廣播,同時將此節(jié)點移除網(wǎng)絡;如果不是,返回到第1)步繼續(xù)新一輪的檢測。
5) 全局檢測引擎模塊對本地檢測引擎初次檢測的可信任節(jié)點和本地已經(jīng)處理的審計數(shù)據(jù)做進一步更為全面、嚴格的檢測,此時需要根據(jù)直接朋友節(jié)點和間接朋友節(jié)點各自的推薦信息來協(xié)作來判斷,對惡意節(jié)點行為檢測更為精準。尤其是這里的全局朋友機制對本地檢測模塊無法檢測的欺詐攻擊和惡意節(jié)點的共謀攻擊可以有效抵御,克服了某些節(jié)點的不可信行為。
6) 如果第5)步中判斷有惡意行為,向全局響應模塊發(fā)出預警;否則認為是朋友節(jié)點,并根據(jù)直接朋友列表判斷其是直接朋友還是間接朋友,以此來更新相應的朋友列表。
7) 全局投票模塊通過直接朋友和間接朋友之間的關系對各個節(jié)點投票,以此決定出每個節(jié)點最終的信任等級。
8) 全局朋友輪廓模塊對所有的可信任節(jié)點存儲,并標明其對應的信任等級,此時任何惡意節(jié)點或不可信節(jié)點將排除在此輪廓外,以便于后續(xù)安全路由的選擇等。
最后,特別要注意的是,為了避免共謀節(jié)點的聯(lián)合誣告攻擊,減少誤報率。對響應模塊做出響應時設立以下規(guī)定:即本地或全局響應模塊只對來自其直接信任朋友的報警才發(fā)出警告,廣播給網(wǎng)絡中的其他節(jié)點。
通過對上述入侵檢測模型各模塊設計及具體檢測流程的分析,可以看出,和目前已有的移動ad hoc網(wǎng)絡入侵檢測系統(tǒng)相比,本系統(tǒng)具有如下的特點。
1) 層次化結構。本系統(tǒng)采用兩層式的入侵檢測模型,通過對位于第一層的局部檢測引擎設置二八準則,使其在系統(tǒng)檢測初期能夠最大化地檢測出惡意攻擊,從而使攻擊危害最小化。對于本地引擎未能檢測出來的可疑行為將進入位于第二層的全局檢測機制做更為全面的檢測,全局入侵檢測機制則通過朋友節(jié)點的協(xié)作來判定節(jié)點的入侵行為。這種層次化結構的入侵檢測系統(tǒng)在整個入侵檢測過程中起到了加速檢測的作用,可以提高檢測速度,降低檢測時間,有效地節(jié)省了節(jié)點的資源開銷。此外,縮短了惡意節(jié)點在網(wǎng)絡中的駐留時間,提高整個網(wǎng)絡的安全性。
2) 朋友節(jié)點。全局檢測機制需要其他朋友節(jié)點的協(xié)作,但是對于移動ad hoc網(wǎng)絡這種特殊的網(wǎng)絡環(huán)境,節(jié)點除了自身外不會信任其他任何的節(jié)點。為了有效解決節(jié)點間的信任問題,該模型引入朋友節(jié)點的概念,將網(wǎng)絡中的其他節(jié)點分為一度朋友節(jié)點和二度朋友節(jié)點,一度朋友節(jié)點即完全可信任節(jié)點,二度朋友節(jié)點即間接朋友,需要中間的裁判節(jié)點對其身份進行確認才能得到信任。這樣,通過節(jié)點間的互通合作關系有效地抵御了節(jié)點間各持己見引起的決策權問題及網(wǎng)絡中自私節(jié)點和共謀欺騙節(jié)點的惡意行為,提高了系統(tǒng)檢測的可靠性。
3) 輕量級。本文基于朋友機制設計的層次化入侵檢測系統(tǒng),和文獻[18]中的入侵檢測模型相比,它不需要簽名管理、信任管理和入侵檢測引擎預定義等復雜技術的支持,通過混合使用支持向量機算法和朋友關聯(lián)機制,快速高效地從大量冗余數(shù)據(jù)中選擇出相關性特征,系統(tǒng)計算資源消耗較低,實時性強,靈活性高,非常適合移動自組織網(wǎng)絡環(huán)境。
移動ad hoc網(wǎng)絡路由安全中,最常見的攻擊類型便是黑洞攻擊。下面結合移動ad hoc網(wǎng)絡自身的特點,在OPNET網(wǎng)絡仿真環(huán)境下,以廣泛使用的AODV協(xié)議為研究實例,在對黑洞攻擊特點進行研究的基礎上,分析討論其攻擊特征,并按照入侵檢測流程對第3節(jié)中提出的基于朋友機制的入侵檢測模型進行模擬實現(xiàn)。
黑洞攻擊是一種借由丟棄封包的阻斷服務攻擊,這種攻擊可以是選擇性的或者成批的。通常在路由發(fā)現(xiàn)階段,惡意節(jié)點在收到源節(jié)點發(fā)送的RREQ請求分組后,通過偽造一個比目的節(jié)點更大的序列號來搶先快速應答,并聲稱其具有到目的節(jié)點的最短路徑,將自己推薦給源節(jié)點,源節(jié)點誤以為路由發(fā)現(xiàn)過程完成而忽略其他節(jié)點發(fā)送的 RREP消息,選擇了來自惡意節(jié)點的路由,從而改變正常的路由表。這將導致其他節(jié)點發(fā)送的數(shù)據(jù)分組都要經(jīng)過惡意節(jié)點,惡意節(jié)點攔截經(jīng)過自己的所有數(shù)據(jù)分組,形成了一個吸引數(shù)據(jù)的“黑洞”。
AODV協(xié)議中的黑洞攻擊過程如圖4所示。S想要向D發(fā)送數(shù)據(jù)分組進行通信,即發(fā)出RREQ分組進行最新的可用路由發(fā)現(xiàn),惡意節(jié)點A接收到請求后,偽造一個比目的節(jié)點D的序列號更大的序列號,發(fā)送虛假路由信息給S,并稱其有最佳的路由(相比其他節(jié)點控制開銷少或經(jīng)過的跳數(shù)少),而實際中此節(jié)點可能根本無法到達節(jié)點D。源節(jié)點選擇圖中經(jīng)過惡意節(jié)點 A的路由并開始數(shù)據(jù)分組的發(fā)送,攻擊節(jié)點A通過反復對來自不同源節(jié)點的數(shù)據(jù)信息吸收,輕而易舉地騙得大量的網(wǎng)絡數(shù)據(jù)信息等,以極低的代價對網(wǎng)絡造成嚴重的威脅。
圖4 黑洞攻擊原理
4.2.1 黑洞攻擊仿真網(wǎng)絡環(huán)境
為了有效獲取黑洞攻擊下的關鍵網(wǎng)絡參數(shù),使用 OPNET14.5作為網(wǎng)絡仿真平臺,下面對移動自組網(wǎng)實驗網(wǎng)絡在OPNET環(huán)境的輸入輸出參數(shù)設定做一些說明。
實驗中的通信信道設置為 ad hoc模式,采用802.11b通信協(xié)議,每個節(jié)點的傳輸功率設為0.005 W。模擬網(wǎng)絡由21個移動節(jié)點組成1 000 m×1 000 m的運動區(qū)域,節(jié)點采用預設的隨機路點軌跡trajectory-5 (random way point)以(0~20) m/s之間的速率隨機移動,每一次的模擬時間為3 600 s。其中,節(jié)點 20作為目的節(jié)點,其他節(jié)點都向它發(fā)送路由請求,仿真環(huán)境如圖5所示。
實驗中,應用AODV路由協(xié)議,分別對正常情況和存在黑洞攻擊的重要參數(shù)進行分析。
第一次仿真時不加入惡意節(jié)點,接下來將節(jié)點6換成惡意節(jié)點實施黑洞攻擊,這樣,通過多次仿真可以觀察到網(wǎng)絡的多種不同特征,由于本文的重點在于入侵檢測系統(tǒng)性能的研究,這里主要對幾個明顯反映黑洞攻擊特點的網(wǎng)絡參數(shù)進行了仿真統(tǒng)計,進而可以對有無惡意節(jié)點情形下系統(tǒng)的性能做比較。
從圖6和圖7的仿真結果很容易分析出:網(wǎng)絡中存在黑洞攻擊時,雖然目的節(jié)點為節(jié)點20,然而惡意節(jié)點6吸收了大部分的數(shù)據(jù)流量,導致路由過程中實際的數(shù)據(jù)流量轉發(fā)效率很低,使整個網(wǎng)絡的丟失分組現(xiàn)象非常明顯。
4.2.2 黑洞攻擊特征參數(shù)及其門限值的識別
1) 特征參數(shù)提取
為了區(qū)分節(jié)點的正常和入侵行為,進一步識別攻擊,獲取一些具體的特征值是必要的?;?.2.1節(jié)的仿真實驗,黑洞攻擊的典型特征被加以提取,進一步可以驗證黑洞攻擊下本文提出的入侵檢測系統(tǒng)的準確性。將圖6和圖7產(chǎn)生的原始統(tǒng)計數(shù)據(jù)導出到電子表格中進行特征分析,并對這些特征數(shù)據(jù)抽取預處理分類,然后在Windows 64 bit平臺中的LIBSVM軟件環(huán)境下,對處理后的數(shù)據(jù)按照黑洞攻擊的以下3種特征:路由流量接收率、路由流量發(fā)送率和路由分組丟失率進行訓練和測試。這3種特征參數(shù)的具體含義如下。
路由流量接收率(RRTR)
2) 特征參數(shù)門限規(guī)則約定
通過上面利用 LIBSVM 軟件對提取出的特征參數(shù)進行訓練和測試,必須進一步估算和確定這些重要參數(shù)的門限值,這樣通過對這些特征參數(shù)值的計算,并且和給定的門限值進行比較來判斷各個節(jié)點所處的狀態(tài),為后面利用朋友機制檢測提供依據(jù)。
圖5 黑洞攻擊仿真網(wǎng)絡場景
圖6 網(wǎng)絡發(fā)送的總流量與惡意節(jié)點接收的總流量
在門限值識別實驗中,將上述生成的黑洞攻擊特征參數(shù)訓練結果輸入到Matlab,根據(jù)曲線變化得到各個參數(shù)的門限值。如果一個節(jié)點的特征參數(shù)滿足,那么可以判斷該節(jié)點不是朋友節(jié)點。
約束條件如下。
圖7 網(wǎng)絡中丟棄的總數(shù)據(jù)分組與惡意節(jié)點丟棄的數(shù)據(jù)分組
這里強調的是,上述門限值是根據(jù)前面設置的仿真參數(shù)進一步實驗得到的,不是對所有的移動ad hoc網(wǎng)絡都有效,但在不同的網(wǎng)絡需求中通過類似實驗可以得到不同的門限值。
4.2.3 仿真結果
下面將使用2.1節(jié)中介紹的LIBSVM軟件進行仿真。其中,擁有3 568個正常、懷疑和威脅狀態(tài)的原始數(shù)據(jù)樣本集、提取出3種重要的特征參數(shù)和約定好的門限值作為入侵檢測框架的輸入,通過改變SVM算法的核函數(shù)及同一個核函數(shù)中選取不同的懲罰因子C和核參數(shù)γ進行具體的實驗。
1) > svm-train ../heart_myscale train.model.text其中,heart_myscale表示輸入的樣本文件,train.model.text表示生成的模型文件,如表4所示。經(jīng)驗證后,此模型文件可以部署在移動ad hoc網(wǎng)絡節(jié)點模型中的網(wǎng)絡IP層。移動ad hoc網(wǎng)絡的節(jié)點模型如圖8所示。
2) >svm-predict ../test.text train.model.text output.text
本步驟將根據(jù)上一步中生成的模型文件對給出的測試數(shù)據(jù)樣本進行預測,測試結果用于判斷一個節(jié)點是正常節(jié)點還是入侵節(jié)點,如表5所示。
圖8 移動ad hoc網(wǎng)絡的節(jié)點模型
從4.2節(jié)對黑洞攻擊的測試數(shù)據(jù)實驗結果可以看出,本文提出的檢測模型在給定的朋友機制框架下對于不同的核函數(shù)系統(tǒng)檢測的準確性差異較大,并且對同一個核函數(shù)設定不同的C和γ參數(shù)時,檢測結果也會隨之變化。通過對比可以發(fā)現(xiàn):黑洞攻擊下系統(tǒng)檢測的準確性都是在取懲罰因子C=2.0及核參數(shù)γ=1.0時的徑向基核函數(shù)表現(xiàn)得最好,系統(tǒng)檢測的準確性分別高達98.99%和99.92%,那么完全可以通過在檢測引擎中配置產(chǎn)生的這2種模型文件使本文提出的朋友機制檢測模型具有較高的檢測性能。為了驗證本文提出的入侵檢測系統(tǒng)的有效性,進一步對該模型下的黑洞攻擊的檢測結果和已有模型檢測結果做比較,具體的結果如表6所示[19,20]。
表4 黑洞攻擊訓練模型數(shù)據(jù)
表5 黑洞攻擊測試數(shù)據(jù)集
由此可以看出,本節(jié)設計的攻擊檢測方案能夠有效地檢測黑洞攻擊。在第3節(jié)中提出的基于朋友機制的入侵檢測模型中,可以將黑洞攻擊生成的模型文件配置在入侵檢測引擎模塊,并且通過收集更多的網(wǎng)絡審計數(shù)據(jù)不斷的更新朋友關系列表,從而保持最新的直接朋友和間接朋友關系,使之相互協(xié)作、快速準確地對惡意節(jié)點行為做出判斷,提升整個系統(tǒng)檢測的準確性。
表6 黑洞攻擊下的檢測模型性能比較
本文引入朋友機制的概念,提出了一種針對移動ad hoc網(wǎng)絡的輕量級入侵檢測模型,仿真實驗證明,在檢測路由中黑洞攻擊時有著良好的性能,并在有限樣本條件下,和已有入侵模型檢測結果做了比較,檢測準確率最高,進一步驗證了本文所提模型的可行性和有效性。本文只針對網(wǎng)絡路由層面的攻擊進行了仿真實現(xiàn)。然而,要設計一個成熟的能夠檢測任何網(wǎng)絡攻擊的檢測系統(tǒng),不能只停留于網(wǎng)絡路由層的攻擊,需要擴展到鏈路層、傳輸層、甚至應用層去研究更新的安全威脅和攻擊模型來豐富其規(guī)則庫和網(wǎng)絡輪廓,采取漸進的方式不斷地對其完善。
[1] YANG C T,et al. A specification-based intrusion detection system for AODV[A]. Proc of the ACM Workshop on security of Ad Hoc and SensorNetworks[C]. 2003.125-134.
[2] HUANG Y, FAN W, LEE W,et al. Cross-featurea nalysisf or detecting ad-hoc routing anomalies[A]. Proceedings of the 23rd Intemational Conference On Distributed Computing Systems[C]. 2003. 478-487.
[3] SRINIVASARAO G, KUMAR S S. An Efficient Intrusion Detection System in Mobile Ad hoc Networks[A]. Lecture Notes in Electrical Engineering 151[C]. 2013.
[4] KULKARNI P. Design of hierarchical intrusion detection unit for ad hoc networks based on bayesian networks[M]. Dissertations & These grad works, 2008.
[5] PERRIG A, ZAPATA, JOHNSON D B. Ariadne: a secure on-demand routing protocol for ad hoc networks[A]. Mobile Computing and Networking ACM[C]. 2002. 12-23.
[6] JOHN C E Fast training of support vector machines using sequential minimal optimization[M]. Advances in Kernel Methods Support Vector Learning, Cambridge, MA, M/T Press, 1999: 185-208.
[7] KEERTHI S S, SHEVADE S K BHATTACHARYYA C,et al. Improvements to Platt’s SM4 algorithm for SVM classifier design[D].Dept. of O Mechanical and Production Engineering, National University of Singapore, 1999.
[8] JOACHIMS T. Making Large-Scale SVM Learning Practical[R]. LS8-Report, University of Dortmund, 1998.
[9] CHANG C C, LIN C J. LIBSVM: a library for support vector machines[EB/OL]. http:// www.csie.ntu.edu.tw/. rcjlinhibsvm, 2001.
[10] MILGRAM S. The small world problem[J]. Psychology Today, 1967,(5):60-67.
[11] HELMY A. Small worlds in wireless networks[J]. IEEE Communications Letters, 2003, 7(10): 490-492.
[12] CAPKUN S, HUBAUX J P, BUTTYAN L. Mobility helps security in ad hoc networks[A]. Proc of MobiHoc’03, Annapolis[C]. 2003. 45-56.
[13] PEI W D, CHEN Z Q, YUAN Z Z. Friends-help mechanism for generating a class of scale-free networks [J]. Journal of Jilin University(Information Science Edition) 2007, 25(4): 371-378.
[14] MA C E,SHI H S. Security model and mathematical analysis of mobile ad hoc network [J] . Chinese Journal of Sensors and Actuators,2006, 19(4):1305-1309.
[15] RAGHAVAN B, SNOEREN A C. Priority forwarding in ad hoc networks with self-interested parties[A]. Workshop on Economics of Peer-to-Peer Systems[C]. Berkeley, USA, May, 2003.
[16] MIRANDA H, RODRIGUES L. Friends and foes: preventing selfishness in open mobile ad hoc networks[A]. Proc of the First International Workshop on Mobile Distributed Computing (MDC’03)[C]. USA,2003.
[17] VAPNIK V N. The nature of statistical learning theory[A]. Series:Information Science and Statistics[C].1996.
[18] RAZAK S A, FURNELL S, CLARKE N,et al. A two-tier intrusion detection system for mobile ad hoc networks–a friend approach[A].Intelligence and Security Informatics[C]. Springer Berlin Heidelberg,2006. 590-595.
[19] DENG H M, ZENG Q A, AGRAWAL D P. SVM-based intrusion detection system for wireless ad hoc networks[A]. Vehicular Technology Conference[C]. 2003.
[20] WANG X; WONG J S, STANLEY F, BASU S. Cross-layer based anomaly detection in wireless mesh networks[A]. Ninth Annual International Symposium on Applications and the Internet[C]. 2009.20-24.