肖陽,白磊,王仙
(西安電子科技大學 通信工程學院,陜西 西安 710071)
移動ad hoc網絡是一種融合了無線技術、移動網絡技術及對等通信技術的動態拓撲網絡,被廣泛地應用于諸如軍事通信、搶險救災等多種通信環境中。移動 ad hoc網絡本身具有的一些獨特性使其不同于其他類型的網絡,其無需借助任何基礎設施,以自組織的方式分布式動態運行,使用無線鏈路進行通信。然而,和其他網絡相比,正是由于其獨有的特性給移動自組網帶來節點間協作、路由、安全等多種新問題。其中,選擇合適的路由及路由信息的維護是提供正常網絡服務的基礎,對網絡拓撲的維護尤為重要。移動ad hoc網絡中任何節點都可能參與路由,很容易遭受外部或內部的攻擊,因此路由安全研究是移動ad hoc網絡進一步發展的關鍵問題之一。作為入侵防御機制的加密、認證等技術雖然在自組網路由安全中廣泛應用,但其都是針對于外部攻擊,對來自網絡內部的攻擊卻無能為力,這就需要將行為檢測和響應技術與之互為補充,共同保障路由安全。
入侵檢測系統作為一種網絡安全工具,動態地監控網絡中發生的事件并決定這些事件表征的是網絡的正常行為還是惡意襲擊,能夠對已經轉變為惡意節點或者新加入的惡意節點進行檢測。近年來,無線入侵檢測系統的提出成為一個新的研究話題,其目標在于開發一個新的架構和機制來更好地保護無線網絡。但目前大多數的入侵檢測系統研究集中在有線網絡,而有線網絡與移動ad hoc網絡之間的顯著差異使傳統的IDS不能直接運用于無線網絡,其大多數都采用集中式的入侵檢測,由于移動自組網的自組織、無中心特點,分布式解決方案成為主流,其系統架構主要有單點式孤立IDS、分布式協作IDS和層次化IDS這3種,現有的大多數入侵檢測方案,如基于規范(specification-based)的分布式協作入侵檢測[1]、基于分組丟失和路由表異常變化的入侵檢測[2]、基于智能代理和數據挖掘技術的入侵檢測[3]、基于貝葉斯網絡的層次ad hoc網絡入侵檢測方案[4]等都是基于這些模型提出的,通過對這些方案深入的研究分析,發現其在不同程度上都有各自的缺陷和不足,但對解決移動ad hoc網絡的安全問題起到了不同程度的效果,為移動ad hoc網絡中入侵檢測技術的進一步研究提供了較好的依據。
通過參考已有的移動ad hoc網絡入侵檢測模型和方法,針對移動ad hoc網絡的無中心、自組織、動態拓撲、能量有限等特性,本文主要從入侵檢測系統的2個方面進行討論,即如何有效檢測移動ad hoc網絡路由入侵行為、如何準確地響應并將惡意路由節點移除網絡,提供可信路由環境的角度進行分析,提出了一種基于朋友機制的輕量級移動 ad hoc網絡入侵檢測模型。
基于對上述提及的入侵檢測方案模型的研究分析,下面針對移動ad hoc網絡環境入侵檢測系統架構的設計總結出以下經驗,以此來指導本文的入侵檢測系統框架設計工作。
1) 層次化,即IDS必須能對每個節點進行入侵檢測,節點必須能協作完成是否發出警報的決策。
2) 具有通用性,不依賴于特定的路由協議。
3) 不僅能阻止特定類型的攻擊,對于未定義的攻擊也可以檢測阻止。
4) 能夠自適應、易于配置,而不會增加過多的開銷,保證IDS消耗的資源應最小化。
5) 需要選取合適的統計特征值,使其能夠處理異常與正常行為之間沒有明確界線這樣一個問題,最大化地降低誤判率,提高檢測率。
在處理實際問題時,由于傳統的統計學是基于樣本數目趨向于無窮大時的漸進理論,因此針對樣本數量有限的實際環境,像神經網絡中的BP算法等這些優秀的統計學習方法卻不盡人意。于是,在統計學習理論的基礎上,出現了一種新的學習理論,即支持向量機(SVM,support vector machine)。SVM 用于解決各種學習、分類和預測問題,由Vapnik等[5]于 1995年在 《The Nature of Statistic Learning Theory》一書中提出。借鑒眾多研究者將SVM運用到移動ad hoc網絡入侵檢測系統中的經驗:SVM用于入侵檢測時能夠提供很高的檢測正確率;通過特征值的選擇來降低算法復雜度,使SVM在有限資源的ad hoc網絡中可以保持很好的檢測性能;SVM能夠解決訓練樣本獲取代價過高帶來的問題。因此,本文提出的入侵檢測模型也將SVM作為網絡入侵行為的識別算法。
1) 核函數
核函數在支持向量機中扮演重要的角色,選擇不同的核函數將生成不同的算法。在實踐中,根據輸入數據集的復雜性可以使用多種內積核函數,如線性內核、多項式內核、徑向基內核和Sigmoid內核。
①線性核函數

②多項式核函數(以下是q階多項式分類器)

③徑向基核函數(RBF, radial basis function)

其中,xi為核函數中心,δ為函數的寬度參數,控制了函數的徑向作用范圍。
徑向基核函數就是某種沿徑向對稱的標量函數。每個函數中心對應一個支持向量,向量及其對應的輸出權值都是由算法自動確定的,這與傳統RBF方法有重要區別。最常用的徑向基函數是高斯核函數。
④Sigmoid內核,也稱作S形內核

2) SVM的訓練算法
Vapnik等[5]將 SVM的訓練歸結為解一個凸二次優化問題,SVM中的其他問題,如確定核函數中的參數或者懲罰系數,也常歸結為此類優化問題。一般采用循環迭代的方法,把原來問題分解為若干個子問題來求解,使最終結果收斂到原問題的最優解。根據子問題的劃分和迭代策略分為“塊算法”和“分解算法”2類。
Platt[6]提出的SMO(sequetial minimal optimizaton)方法作為“分解算法”的一個特例,對大訓練樣本問題進行了解決,能有效避免多樣本下的數值解不穩定和耗時問題,不需要很大的存儲空間,而且算法速度快。
Keerthi S S等[7]在Platt提出的SMO算法的基礎上進行了改進,使算法更加有效合理。
Joachims[8]對“分解算法”和SMO算法進行了具體的編程實現,將其集成在SVMLight軟件包中,能較好地處理大規模訓練集問題。
林智仁等[9]對SMO算法和SVMLight軟件中的工作集選擇方法進行綜合,采用C++設計實現了一個簡單、易于使用和快速有效的SVM模式識別與回歸的軟件包LIBSVM。它不但提供了編譯好的可在 Windows系列系統地執行文件,還提供了源代碼,方便改進、修改以及在其他操作系統上應用。該軟件對SVM所涉及的參數調節較少,一般利用提供的大量默認參數就可以解決很多問題,并提供了交互檢驗(cross validation)功能,使LIBSVM作為SVM訓練工具使用最為方便。第4節在對黑洞攻擊模型獲取的原始數據訓練測試中正是使用了LIBSVM軟件工具。
2.2.1 基本概念
早在1967年,哈佛大學的心理學教授Milgram[10]通過實驗證實了“小世界現象”的存在,簡而言之,就是在任何地方隨機地選取任意2個人,他們之間經過一條不超過6個熟人的鏈連接,也就是說最多通過6個人你就能夠結識任何一個特定的陌生人,因此也被稱作“六度分割理論”。后來有一些研究人員拓展了他的這種理論,他們認為在某種程度上萬維網也是一種“小世界”,并將其擴展到了互聯網應用,即所有的網站是高度集群化的并且它們之間的路徑長度很小。Helmy[11]通過仿真實驗進一步建立了小世界概念和無線網絡之間的關系,然而并沒有討論如何將這種關系有效地運用于系統中。后來,Capkun等[12]基于“小世界現象”提出friendships機制,并將“friends”的概念引入到具有自組織、分布式特性的移動ad hoc網絡中來解決許多問題,尤其是安全相關的問題。建立節點之間的朋友關系類似社會學中的朋友關系,研究人員做出以下假設:移動ad hoc網絡中的任意2個節點在成為朋友之前必須相互認識,即能夠直接通信,其次互相信任,這類節點稱之為“一度朋友”或者“直接朋友”。對于不能直接通信的節點,如果它們有共同的一度朋友,那么這類節點稱之為“二度節點”或者“間接朋友”。具體場景如下。一對節點,在加入網絡之前假定它們之間互相信任,則它們能夠在網絡通信過程中建立安全關聯,通過這種安全關聯根據朋友節點之間直接或間接的信任評價能夠加速網絡中節點可信域的產生過程,從而減少了節點的匿名不安全通信。
2.2.2 朋友機制在移動ad hoc網絡中的應用
近年來朋友機制以其優越性廣泛地用于多種網絡及其安全性問題的研究。裴偉東等[13]在研究復雜網絡模型時,從“朋友”機制捕捉網絡形成的動態特性,了解該機制對網絡最終結構的影響,提出了一種新的無標度網絡演化模型。馬春娥等[14]在基于移動ad hoc網絡安全性模型研究中利用“朋友”機制,提出了一種在移動節點“臨近”的時候,建立移動節點間安全關聯的機制,有效地對節點間建立安全關聯的步長進行了評估和建模仿真。另外,朋友的概念被用于防止路由機制中節點的自私行為。在MANET中,有的節點為了保護自己有限的資源拒絕加入路由轉發。如文獻[15]所述,一般通過2種方式強制這類節點參與網絡操作,即要么對他們的不合作行為進行懲罰,要么獎勵他們的參與。然而,這種機制會產生不公平,特別是對于那些處于通信繁忙區域之外的節點。節點依賴自身的信用值在網絡中發送其數據分組,而信用值的積累僅僅是在轉發其他節點數據分組時獲得。然而,對于處于通信繁忙區域之外的節點,在數據分組轉發的過程被選擇的機會相對較低,這將使他們很難獲得更多的信用。Miranda等[16]提出用“朋友”的概念來解決這個問題。他們建議路由過程使用選擇性轉發,其中每個節點將只參與一個數據分組的轉發過程,如果數據分組是來自或者需要被發送到它的一個朋友節點,節點將推薦給它朋友列表中的其他節點,從而避免其被指控為不轉發其他不是朋友節點的數據分組。
網絡系統的安全性研究往往依賴于一些特殊的假設,以確保其有效性和簡單性。為此,本文從以下3個方面進行約定。
1) 直接朋友機制(DFM, direct friend mechanism)
首先,在入侵檢測系統執行的最開始,考慮移動ad hoc網絡中有5個節點,假定每個節點可信任的初始節點列表,被稱為直接朋友機制,如表1所示。此時,由于每個節點對其他節點不可能有足夠的經驗,因此無法給出正確的評估,則認為彼此是零知識的朋友關系,即不考慮其他節點的推薦信任(這種假設是可行的,則在組網之前用到的所有節點都會是可信的,而之后由于拓撲變化及節點的妥協等因素引入的惡意節點,就交給入侵檢測系統來處理)。另外,朋友列表被網絡中的其他可信節點所共享,并且節點的初始信任列表根據圖2所示的全局朋友輪廓數據庫進行更新,產生新的朋友集,即間接朋友關系。

表1 節點初始信任關系
2) 入侵檢測預警分析
在入侵檢測模型設計之前,討論其預警分析的結果是非常有必要的。根據審計的流量蹤跡入侵檢測的預警分析通常有4種可能的結果。
TP(true positive):攻擊成功并且IDS能夠檢測出來。
TN(true negative):攻擊沒有成功并且IDS沒有報告。
FP(false positive):沒有攻擊但是 IDS給出報告。
FN(false negative):攻擊成功但是IDS沒有檢測出來。
其中,TP和 TN是正確的預警響應,它們有助于提高入侵檢測系統的精確性;而 FP和FN則是影響誤報和漏檢的主要因素,降低入侵檢測的準確性。
3) 入侵檢測系統的準確性
檢索率(recall)是指通過搜索從數據庫中能夠獲取的所有相關文件占總的文件百分比[17]。如果用戶已知數據庫中有1 000個相關文件,而通過搜索只能獲得100個相關文件,這時檢索率就是10%。這里主要是指攻擊成功后能夠正確檢測到的攻擊行為比率。即

精確度(precision)是指獲取的相關文件數占獲取的所有文件數目百分比[17]。假設獲取到100個文件而相關聯的文件僅有20個,那么精確度為20%。這里主要是指已經報告為攻擊行為,而確實屬于攻擊行為的比率。即

基于上面2個參數的討論,給出綜合評價入侵檢測系統識別攻擊行為準確性的公式,即

式(7)計算結果值的高低最終決定了所設計的入侵檢測框架性能的好壞與否。
本文提出的入侵檢測系統模型主要由2大模塊組成,分別是本地入侵檢測模塊和全局入侵檢測模塊。其中,本地入侵檢測位于第一層,由于其能夠收集獲取到網絡局部的一手信息,對任何的可疑活動可快速檢測,而全局入侵檢測過程需要較長時間來完成,這是因為更多全面信息的獲取要通過其他可信節點來提供,時間相對較長。同時,為了提高本地入侵檢測模塊的檢測率及響應速率,即盡可能地在系統前期檢測出入侵行為,使攻擊危害最小化,那么在設計入侵檢測模型時,使其遵守 20:80定律將會大大提高入侵檢測的效率。這里主要是指檢測引擎規則的比例設置基于二八原則的概念,即在本地入侵檢測模塊中將規則的 20%設定為高檢測閾值,一方面它能夠快速地檢測出節點的異常行為活動,另一方面,使本地入侵檢測模塊生成的朋友列表也相對較快。然而,降低檢測閾值的時候檢測率提高,誤報率勢必也會提高,為盡量減小誤報率,在響應模塊進行約定,本地響應模塊只對來自其直接朋友的報警才發出警告,否則進入全局檢測模塊做進一步的檢測。而在全局入侵檢測模塊,設置正常的入侵檢測閾值規則對本地入侵檢測模塊中未檢測到的異常行為進一步過濾、識別,并通過全局朋友機制進行更為全面、嚴格的檢測。
本地入侵檢測模塊和全局入侵檢測模塊又分別由許多個小部件構成,下面將對這2大模塊的設計細節進行詳述。
3.2.1 本地入侵檢測模塊設計
本地入侵檢測模塊由5大部件組成,分別是數據收集模塊、本地檢測引擎模塊、本地入侵響應模塊、本地用戶輪廓數據庫、全局入侵檢測引擎接口模塊,如圖1所示。

圖1 本地入侵檢測模塊
數據收集模塊的功能是收集來自于不同監控數據源的(一般分為基于主機的審計日志和基于網絡的數據報文)與安全相關的數據,并根據檢測引擎的需求格式進行格式轉換等預處理。由于基于主機的數據源不依賴于任何網絡結構,應用在有線網絡中的數據收集技術完全可以用于移動ad hoc網絡。例如,可以使用簡單網絡監控協議SNMP來記錄用戶的行為活動或者使用代理機制收集有用的數據源。但是,由于移動自組網的無中心、自組織特性使有線網絡中基于網絡的數據源收集技術不能直接用于移動ad hoc網絡,根據移動ad hoc網絡的無線通信特性,任意節點可以采用監聽模式捕捉到它周圍鄰居節點的網絡活動,只不過這些數據源是局部的。另外,由于收集到的源數據往往夾雜著噪音等無用信息,應對這些實時數據匯聚精簡,做過濾、降噪處理,同時還要提取出主要特征信息、預處理轉化為檢測引擎的輸入格式。這部分可以采用諸如機器學習算法、神經網絡算法、模糊算法、數據挖掘算法等技術來實現。本文主要研究的是網絡層的路由安全,即考慮的數據源主要包括網絡中的路由活動、拓撲模式及通信的變化情況等。
本地檢測引擎可以根據模塊中已經存在的網絡正常輪廓、規則庫等對數據收集模塊收集處理后的數據源進行匹配,以識別當前網絡是否存在攻擊行為,也可以對節點的活動審計分析,抽取能夠反映攻擊特性的特征值。針對移動ad hoc網絡的特性,模型設計中將誤用檢測和異常檢測相結合并行使用,不但根據誤用檢測技術能有效快速地定位、檢測已知類型的攻擊,提高檢測效率,而且利用異常檢測技術通過分析攻擊所具有的行為特征,訓練和學習形成攻擊模型,能夠最大限度地檢測到未知的網絡入侵行為,降低漏檢率。當2種檢測技術的檢測結果同時為可信節點時(這里假定其值均為0),認為是朋友,將檢測結果存入本地反饋信息表,如表2所示,同時經由本地用戶輪廓數據庫發送到全局檢測引擎做進一步的核查。否則,將異常入侵行為信息提交到本地入侵響應模塊,本地入侵響應模塊針對其攻擊行為做出響應。

表2 本地反饋信息
本地入侵響應模塊的功能是對本地入侵檢測引擎檢測的不可信行為按照前述約定的響應策略在本地網絡內進行廣播,避免攻擊范圍的進一步擴大,使其危害最小化。
本地用戶輪廓數據庫的功能是根據本地反饋信息表來維護可信鄰居列表,即朋友關系列表,不可信節點將被移除網絡。
全局入侵檢測引擎接口模塊的功能是連接本地IDS和全局IDS,將本地入侵檢測產生的朋友關系列表發送到全局入侵檢測模塊對可信節點做進一步嚴格的審查。
3.2.2 全局入侵檢測模塊設計
類似地,全局入侵檢測模塊由4大組件組成,分別是全局數據收集模塊、全局檢測引擎模塊、全局入侵響應模塊、全局用戶輪廓數據庫,如圖2所示。
全局數據收集模塊的功能是接收來自本地入侵檢測模塊匯總的相關數據源,包括本地數據收集模塊收集及處理后的審計數據和本地IDS生成的朋友關系列表。不需要重新執行數據收集、處理工作,降低了系統的復雜性。

圖2 全局入侵檢測模塊
全局檢測引擎模塊的功能和本地檢測引擎類似,不同之處在于此時的檢測基準和閾值設定為入侵行為的正常水平,從而對上述數據源做進一步的檢測審核。除此之外,生成更為精確的全局反饋信息表和最終的直接朋友列表,同時由本地IDS產生的可信鄰居列表根據節點之間的信任關系生成間接朋友列表,通過綜合來自直接朋友和間接朋友提供的信息來加速整個檢測過程。最后由直接朋友列表和間接朋友列表中的節點各自以0.5的概率采用投票的方法加權計算出每個節點的最終信任級別。結合表3中給出的節點初始信任關系,全局檢測模塊最終根據其生成的直接朋友列表和非直接朋友列表產生每個節點的信任級別,如表3所示。

表3 節點的信任等級
全局入侵響應模塊的功能是對全局入侵檢測引擎檢測的不可信行為按照響應策略在全局網絡進行廣播。這些不可信行為一般比較隱蔽,應加強檢測引擎規則的分類和特征值提取技術,避免其造成更多的攻擊。
全局用戶輪廓數據庫的功能是存儲全局檢測引擎生成的節點信任等級表,此表可用于移動 ad hoc網絡的可信路由選擇和任何需要保證機密性的可信環境中。
本文提出的入侵檢測模型的基本流程如圖 3所示。

圖3 入侵檢測流程
1) 數據收集模塊主要獲取基于網絡的數據源,根據安全需求可以在網絡各層,包括數據鏈路層、網絡層、傳輸層等配置不同的監視器,獲取入侵檢測所需的原始數據,對檢測模型進行實時反饋。
2) 數據審計模塊可以采用統計學習、數據挖掘、模糊算法等技術將原始數據抽象為統計變量集,同時預處理轉化為檢測引擎的輸入格式。
3) 本地檢測引擎模塊通過配置不同的檢測技術來實現,本文在檢測引擎模塊使用基于支持向量機SVM的異常檢測算法。將上述生成的審計數據作為輸入來運行SVM算法進行訓練和測試,通過對攻擊特點的分析,從訓練數據集中識別出異常實例,建立一個區分正常數據和異常數據的分類邊界,根據本文檢測目標,選擇相關的網絡統計量作為特征參數,并將其統計值與當前設置的檢測閾值比較,判斷其是否有攻擊行為,并初次檢測可信任節點。
4) 如果第 3)步中檢測引擎未檢測出異常行為,那么認為是可信任的朋友節點,更新朋友關系列表,等待下一步的審核。否則,認為是可疑節點,并根據此節點的直接朋友反饋判斷其是否為真正的惡意節點,如果是,就向本地響應模塊發出入侵報警,進行本地廣播,同時將此節點移除網絡;如果不是,返回到第1)步繼續新一輪的檢測。
5) 全局檢測引擎模塊對本地檢測引擎初次檢測的可信任節點和本地已經處理的審計數據做進一步更為全面、嚴格的檢測,此時需要根據直接朋友節點和間接朋友節點各自的推薦信息來協作來判斷,對惡意節點行為檢測更為精準。尤其是這里的全局朋友機制對本地檢測模塊無法檢測的欺詐攻擊和惡意節點的共謀攻擊可以有效抵御,克服了某些節點的不可信行為。
6) 如果第5)步中判斷有惡意行為,向全局響應模塊發出預警;否則認為是朋友節點,并根據直接朋友列表判斷其是直接朋友還是間接朋友,以此來更新相應的朋友列表。
7) 全局投票模塊通過直接朋友和間接朋友之間的關系對各個節點投票,以此決定出每個節點最終的信任等級。
8) 全局朋友輪廓模塊對所有的可信任節點存儲,并標明其對應的信任等級,此時任何惡意節點或不可信節點將排除在此輪廓外,以便于后續安全路由的選擇等。
最后,特別要注意的是,為了避免共謀節點的聯合誣告攻擊,減少誤報率。對響應模塊做出響應時設立以下規定:即本地或全局響應模塊只對來自其直接信任朋友的報警才發出警告,廣播給網絡中的其他節點。
通過對上述入侵檢測模型各模塊設計及具體檢測流程的分析,可以看出,和目前已有的移動ad hoc網絡入侵檢測系統相比,本系統具有如下的特點。
1) 層次化結構。本系統采用兩層式的入侵檢測模型,通過對位于第一層的局部檢測引擎設置二八準則,使其在系統檢測初期能夠最大化地檢測出惡意攻擊,從而使攻擊危害最小化。對于本地引擎未能檢測出來的可疑行為將進入位于第二層的全局檢測機制做更為全面的檢測,全局入侵檢測機制則通過朋友節點的協作來判定節點的入侵行為。這種層次化結構的入侵檢測系統在整個入侵檢測過程中起到了加速檢測的作用,可以提高檢測速度,降低檢測時間,有效地節省了節點的資源開銷。此外,縮短了惡意節點在網絡中的駐留時間,提高整個網絡的安全性。
2) 朋友節點。全局檢測機制需要其他朋友節點的協作,但是對于移動ad hoc網絡這種特殊的網絡環境,節點除了自身外不會信任其他任何的節點。為了有效解決節點間的信任問題,該模型引入朋友節點的概念,將網絡中的其他節點分為一度朋友節點和二度朋友節點,一度朋友節點即完全可信任節點,二度朋友節點即間接朋友,需要中間的裁判節點對其身份進行確認才能得到信任。這樣,通過節點間的互通合作關系有效地抵御了節點間各持己見引起的決策權問題及網絡中自私節點和共謀欺騙節點的惡意行為,提高了系統檢測的可靠性。
3) 輕量級。本文基于朋友機制設計的層次化入侵檢測系統,和文獻[18]中的入侵檢測模型相比,它不需要簽名管理、信任管理和入侵檢測引擎預定義等復雜技術的支持,通過混合使用支持向量機算法和朋友關聯機制,快速高效地從大量冗余數據中選擇出相關性特征,系統計算資源消耗較低,實時性強,靈活性高,非常適合移動自組織網絡環境。
移動ad hoc網絡路由安全中,最常見的攻擊類型便是黑洞攻擊。下面結合移動ad hoc網絡自身的特點,在OPNET網絡仿真環境下,以廣泛使用的AODV協議為研究實例,在對黑洞攻擊特點進行研究的基礎上,分析討論其攻擊特征,并按照入侵檢測流程對第3節中提出的基于朋友機制的入侵檢測模型進行模擬實現。
黑洞攻擊是一種借由丟棄封包的阻斷服務攻擊,這種攻擊可以是選擇性的或者成批的。通常在路由發現階段,惡意節點在收到源節點發送的RREQ請求分組后,通過偽造一個比目的節點更大的序列號來搶先快速應答,并聲稱其具有到目的節點的最短路徑,將自己推薦給源節點,源節點誤以為路由發現過程完成而忽略其他節點發送的 RREP消息,選擇了來自惡意節點的路由,從而改變正常的路由表。這將導致其他節點發送的數據分組都要經過惡意節點,惡意節點攔截經過自己的所有數據分組,形成了一個吸引數據的“黑洞”。
AODV協議中的黑洞攻擊過程如圖4所示。S想要向D發送數據分組進行通信,即發出RREQ分組進行最新的可用路由發現,惡意節點A接收到請求后,偽造一個比目的節點D的序列號更大的序列號,發送虛假路由信息給S,并稱其有最佳的路由(相比其他節點控制開銷少或經過的跳數少),而實際中此節點可能根本無法到達節點D。源節點選擇圖中經過惡意節點 A的路由并開始數據分組的發送,攻擊節點A通過反復對來自不同源節點的數據信息吸收,輕而易舉地騙得大量的網絡數據信息等,以極低的代價對網絡造成嚴重的威脅。

圖4 黑洞攻擊原理
4.2.1 黑洞攻擊仿真網絡環境
為了有效獲取黑洞攻擊下的關鍵網絡參數,使用 OPNET14.5作為網絡仿真平臺,下面對移動自組網實驗網絡在OPNET環境的輸入輸出參數設定做一些說明。
實驗中的通信信道設置為 ad hoc模式,采用802.11b通信協議,每個節點的傳輸功率設為0.005 W。模擬網絡由21個移動節點組成1 000 m×1 000 m的運動區域,節點采用預設的隨機路點軌跡trajectory-5 (random way point)以(0~20) m/s之間的速率隨機移動,每一次的模擬時間為3 600 s。其中,節點 20作為目的節點,其他節點都向它發送路由請求,仿真環境如圖5所示。
實驗中,應用AODV路由協議,分別對正常情況和存在黑洞攻擊的重要參數進行分析。
第一次仿真時不加入惡意節點,接下來將節點6換成惡意節點實施黑洞攻擊,這樣,通過多次仿真可以觀察到網絡的多種不同特征,由于本文的重點在于入侵檢測系統性能的研究,這里主要對幾個明顯反映黑洞攻擊特點的網絡參數進行了仿真統計,進而可以對有無惡意節點情形下系統的性能做比較。
從圖6和圖7的仿真結果很容易分析出:網絡中存在黑洞攻擊時,雖然目的節點為節點20,然而惡意節點6吸收了大部分的數據流量,導致路由過程中實際的數據流量轉發效率很低,使整個網絡的丟失分組現象非常明顯。
4.2.2 黑洞攻擊特征參數及其門限值的識別
1) 特征參數提取
為了區分節點的正常和入侵行為,進一步識別攻擊,獲取一些具體的特征值是必要的。基于4.2.1節的仿真實驗,黑洞攻擊的典型特征被加以提取,進一步可以驗證黑洞攻擊下本文提出的入侵檢測系統的準確性。將圖6和圖7產生的原始統計數據導出到電子表格中進行特征分析,并對這些特征數據抽取預處理分類,然后在Windows 64 bit平臺中的LIBSVM軟件環境下,對處理后的數據按照黑洞攻擊的以下3種特征:路由流量接收率、路由流量發送率和路由分組丟失率進行訓練和測試。這3種特征參數的具體含義如下。
路由流量接收率(RRTR)

2) 特征參數門限規則約定
通過上面利用 LIBSVM 軟件對提取出的特征參數進行訓練和測試,必須進一步估算和確定這些重要參數的門限值,這樣通過對這些特征參數值的計算,并且和給定的門限值進行比較來判斷各個節點所處的狀態,為后面利用朋友機制檢測提供依據。

圖5 黑洞攻擊仿真網絡場景

圖6 網絡發送的總流量與惡意節點接收的總流量
在門限值識別實驗中,將上述生成的黑洞攻擊特征參數訓練結果輸入到Matlab,根據曲線變化得到各個參數的門限值。如果一個節點的特征參數滿足,那么可以判斷該節點不是朋友節點。
約束條件如下。


圖7 網絡中丟棄的總數據分組與惡意節點丟棄的數據分組
這里強調的是,上述門限值是根據前面設置的仿真參數進一步實驗得到的,不是對所有的移動ad hoc網絡都有效,但在不同的網絡需求中通過類似實驗可以得到不同的門限值。
4.2.3 仿真結果
下面將使用2.1節中介紹的LIBSVM軟件進行仿真。其中,擁有3 568個正常、懷疑和威脅狀態的原始數據樣本集、提取出3種重要的特征參數和約定好的門限值作為入侵檢測框架的輸入,通過改變SVM算法的核函數及同一個核函數中選取不同的懲罰因子C和核參數γ進行具體的實驗。
1) > svm-train ../heart_myscale train.model.text其中,heart_myscale表示輸入的樣本文件,train.model.text表示生成的模型文件,如表4所示。經驗證后,此模型文件可以部署在移動ad hoc網絡節點模型中的網絡IP層。移動ad hoc網絡的節點模型如圖8所示。
2) >svm-predict ../test.text train.model.text output.text
本步驟將根據上一步中生成的模型文件對給出的測試數據樣本進行預測,測試結果用于判斷一個節點是正常節點還是入侵節點,如表5所示。

圖8 移動ad hoc網絡的節點模型
從4.2節對黑洞攻擊的測試數據實驗結果可以看出,本文提出的檢測模型在給定的朋友機制框架下對于不同的核函數系統檢測的準確性差異較大,并且對同一個核函數設定不同的C和γ參數時,檢測結果也會隨之變化。通過對比可以發現:黑洞攻擊下系統檢測的準確性都是在取懲罰因子C=2.0及核參數γ=1.0時的徑向基核函數表現得最好,系統檢測的準確性分別高達98.99%和99.92%,那么完全可以通過在檢測引擎中配置產生的這2種模型文件使本文提出的朋友機制檢測模型具有較高的檢測性能。為了驗證本文提出的入侵檢測系統的有效性,進一步對該模型下的黑洞攻擊的檢測結果和已有模型檢測結果做比較,具體的結果如表6所示[19,20]。

表4 黑洞攻擊訓練模型數據

表5 黑洞攻擊測試數據集
由此可以看出,本節設計的攻擊檢測方案能夠有效地檢測黑洞攻擊。在第3節中提出的基于朋友機制的入侵檢測模型中,可以將黑洞攻擊生成的模型文件配置在入侵檢測引擎模塊,并且通過收集更多的網絡審計數據不斷的更新朋友關系列表,從而保持最新的直接朋友和間接朋友關系,使之相互協作、快速準確地對惡意節點行為做出判斷,提升整個系統檢測的準確性。

表6 黑洞攻擊下的檢測模型性能比較
本文引入朋友機制的概念,提出了一種針對移動ad hoc網絡的輕量級入侵檢測模型,仿真實驗證明,在檢測路由中黑洞攻擊時有著良好的性能,并在有限樣本條件下,和已有入侵模型檢測結果做了比較,檢測準確率最高,進一步驗證了本文所提模型的可行性和有效性。本文只針對網絡路由層面的攻擊進行了仿真實現。然而,要設計一個成熟的能夠檢測任何網絡攻擊的檢測系統,不能只停留于網絡路由層的攻擊,需要擴展到鏈路層、傳輸層、甚至應用層去研究更新的安全威脅和攻擊模型來豐富其規則庫和網絡輪廓,采取漸進的方式不斷地對其完善。
[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.