一種無線Mesh網絡惡意節點檢測方法與流程
2023-11-08 05:38:07 1

本發明涉及網絡信息安全技術領域,特別涉及一種無線mesh網絡惡意節點檢測方法。
背景技術:
無線mesh網絡(wirelessmeshnetwork,wmn)是一種自組織和自配置多跳網絡,作為internet的擴展和延伸,由於其具有自組織、自配置、靈活性等特點,在家庭、企業和公共場所等諸多領域都具有廣闊的應用前景。無線mesh網絡既不同於完全移動的adhoc網絡和無線傳感器網絡,也不同於基礎結構式的無線區域網,而是基礎結構網絡與adhoc網絡的結合體;無線mesh網絡使用無線連結建立回程網絡,與傳統的有線網絡相比,具有經濟性、靈活性、可快速部署等優點。
隨著網絡的發展,無線mesh網絡被廣泛應用,其安全問題日益突出;由於無線mesh網絡中的每個網絡節點均可發送和接收數據,並可以與一個或多個對等網絡節點直接通信,故極易受到內部惡意節點攻擊;一旦網絡中的某個節點被控制,那麼控制者便可通過該節點進行內部攻擊(如:節點訪問控制、惡意流量攻擊),造成整個網絡癱瘓。控制者也可以利用對等網絡節點間的信任發送虛假路由信息,改變網絡拓撲或將正常節點變成惡意節點;因此,如何有效識別無線mesh網絡中的惡意節點已經成為目前的研究熱點。
技術實現要素:
本發明的目的是提供一種無線mesh網絡惡意節點檢測方法。
為此,本發明技術方案如下:
一種無線mesh網絡惡意節點檢測方法,無線mesh網絡包括主伺服器及多個由mesh路由器形成的網絡節點,其中一部分網絡節點作為源節點,接受來自無線訪問接入點、基站以及無線傳感器網絡匯聚節點等的消息,其餘網絡節點周期性轉發源節點消息,所述的無線mesh網絡惡意節點檢測方法包括按順序進行的下列步驟:
1)設置路由協議s1階段:在此階段,將無線mesh網絡中每個網絡節點的通訊協議均設定為batman協議,然後進入s2階段;
2)建立解析模塊的s2階段:在此階段,在每一個網絡節點上植入一個ids實例bro,並在ids實例bro的基礎上建立源節點解析模塊,源節點解析模塊包括三層:最底層的捕獲函數層,用於捕獲源節點信息;第二層的事件引擎層,用來根據網絡節點埠號發送源節點信息到解析器層;第三層的解析器層,解析器層包括惡意丟包檢測模塊和虛假信息檢測模快,用來處理第二層發送的數據,然後進入s3階段;
3)捕獲源節點消息的s3階段:在此階段,在每一個網絡節點的接口處調用源節點解析模塊的捕獲函數層,捕獲源節點消息,然後進入s4階段;
4)對源節點消息進行解析的s4階段:在此階段,源節點解析模塊的事件引擎層將捕獲函數層捕獲的源節點消息分別發送到解析器層的惡意丟包檢測模快和虛假信息檢測模快,然後進入s5階段;
5)進行惡意丟包檢測和虛假信息檢測的s5階段:在此階段,惡意丟包檢測模塊和虛假信息檢測模快分別對源節點信息進行解析,獲取相應的路由參數並進行源節點丟包檢測和虛假信息檢測,計算源節點信息的虛假率和丟包率,然後進入s6階段;
6)惡意節點判定的s6階段:在此階段,將步驟5)中計算得到的源節點信息虛假率和丟包率發送到主伺服器,並與由主伺服器利用非線性回歸方法得到的虛假率和丟包率的閾值進行比較,判斷向當前節點發送源節點消息的待檢測節點是否為惡意節點,然後進入s7階段;
7)投票決策的s7階段:在此階段,主伺服器統計步驟6)中待檢測節點的所有相鄰節點對該待檢測節點的判定結果,並計算該待檢測節點的置信值,若該待檢測節點的置信值大於0.5,則該待檢測節點為正常節點;若該待檢測節點的置信值小於0.5,則該待檢測節點為惡意節點;若該待檢測節點的置信值等於0.5,則等待下一次判定。
所述的步驟5)中計算源節點信息虛假率的方法包括按順序進行的下列步驟:
ⅰ)初始化設置當前網絡節點收到的源節點信息數量tfpogm和虛假源節點信息數量fpogm均為0;;
ⅱ)在當前網絡節點收到具有序列號sn的源節點信息時,將源節點信息數量tfpogm加1;
ⅲ)判定源節點信息是否合法,若當前網絡節點接收的源節點信息的序列號sn位於當前網絡節點最新收到的幀序號lfr和最大可接受幀序號laf之間,表明該源節點信息的序列號sn在接收窗口內,該源節點信息合法;否則,表明該源節點信息是虛假的,將虛假源節點信息數量fpogm加1;
ⅳ)最後,統計固定時間內當前網絡節點收到的源節點信息數量tfpogm和虛假源節點信息數量fpogm,並計算當前網絡節點接收到的源節點信息虛假率。
所述的步驟5)中進行源節點信息丟包檢測的方法為判斷源節點信息的序列號sn與接收該源節點信息的網絡節點計數表的差值是否大於1,若判斷結果為「是」,則表明發送該源節點信息的網絡節點出現了丟包行為,否則,發送該源節點信息的網絡節點未出現丟包行為。
所述的步驟5)中丟包率為接收到的源節點信息序列號sn與接受該源節點信息計數表的差值與接收到的源節點信息序列號sn的比值。
所述的步驟7)中待檢測節點置信值am的計算方法為:
其中,dim為第i個網絡節點對待檢測節點m的檢測結果,ai為第i個網絡節點的置信值。
與現有技術相比,該無線mesh網絡惡意節點檢測方法在進行惡意網絡節點判定時,所有待判定網絡節點的相鄰節點均參與投票,保證了惡意網絡節點判定的客觀性,與此同時,無線mesh網絡的主伺服器利用非線性回歸方法得到的虛假率和丟包率的閾值進行實時更新,有利於降低無線mesh網絡中惡意節點的誤報率。
附圖說明
圖1為無線mesh網絡的結構示意圖。
圖2為無線mesh網絡惡意節點檢測方法的流程圖。
圖3為採用不同惡意節點檢測方法的惡意節點檢測率仿真圖。
圖4為採用不同惡意節點檢測方法的惡意節點誤報率仿真圖。
具體實施方式
下面結合附圖及具體實施例對本發明做進一步的說明,但下述實施例絕非對本發明有任何限制。
如圖1-4所示,無線mesh網絡包括主伺服器及多個由mesh路由器形成的網絡節點,其中一部分網絡節點作為源節點,接受來自無線訪問接入點、基站以及無線傳感器網絡匯聚節點等的消息,其餘網絡節點周期性轉發源節點消息,該無線mesh網絡惡意節點檢測方法包括按順序進行的下列步驟:
1)設置路由協議s1階段:在此階段,將無線mesh網絡中每個網絡節點的通訊協議均設定為batman協議,然後進入s2階段;
2)建立解析模塊的s2階段:在此階段,在每一個網絡節點上植入一個ids實例bro,並在ids實例bro的基礎上建立源節點解析模塊,源節點解析模塊包括三層:最底層的捕獲函數層,用於捕獲源節點信息;第二層的事件引擎層,用來根據網絡節點埠號發送源節點信息到解析器層;第三層的解析器層,解析器層包括惡意丟包檢測模塊和虛假信息檢測模快,用來處理第二層發送的數據,然後進入s3階段;
3)捕獲源節點消息的s3階段:在此階段,在每一個網絡節點的接口處調用源節點解析模塊的捕獲函數層,捕獲源節點消息,然後進入s4階段;
4)對源節點消息進行解析的s4階段:在此階段,源節點解析模塊的事件引擎層將捕獲函數層捕獲的源節點消息分別發送到解析器層的惡意丟包檢測模快和虛假信息檢測模快,然後進入s5階段;
5)進行惡意丟包檢測和虛假信息檢測的s5階段:在此階段,惡意丟包檢測模塊和虛假信息檢測模快分別對源節點信息進行解析,獲取相應的路由參數並進行源節點丟包檢測和虛假信息檢測,並計算源節點信息的虛假率和丟包率,然後進入s6階段;
6)惡意節點判定的s6階段:在此階段,將步驟5)中計算得到的源節點信息虛假率和丟包率發送到主伺服器,並與由主伺服器利用非線性回歸方法得到的虛假率和丟包率的閾值進行比較,判斷向當前節點發送源節點消息的待檢測節點是否為惡意節點,然後進入s7階段;
7)投票決策的s7階段:在此階段,主伺服器統計步驟6)中待檢測節點的所有相鄰節點對該待檢測節點的判定結果,並計算該待檢測節點的置信值,若該待檢測節點的置信值大於0.5,則該待檢測節點為正常節點;若該待檢測節點的置信值小於0.5,則該待檢測節點為惡意節點;若該待檢測節點的置信值等於0.5,則等待下一次判定。
所述的步驟5)中計算源節點信息虛假率的方法包括按順序進行的下列步驟:
ⅰ)初始化設置當前網絡節點收到的源節點信息數量tfpogm和虛假源節點信息數量fpogm均為0;
ⅱ)在當前網絡節點收到具有序列號sn的源節點信息時,將源節點信息數量tfpogm加1;
ⅲ)判定源節點信息是否合法,若當前網絡節點接收的源節點信息的序列號sn位於當前網絡節點最新收到的幀序號lfr和最大可接受幀序號laf之間,表明該源節點信息的序列號sn在接收窗口內,該源節點信息合法;否則,表明該源節點信息是虛假的,將虛假源節點信息數量fpogm加1;
ⅳ)最後,統計固定時間內當前網絡節點收到的源節點信息數量tfpogm和虛假源節點信息數量fpogm,並計算當前網絡節點接收到的源節點信息虛假率。
所述的步驟5)中進行源節點信息丟包檢測的方法為判斷源節點信息的序列號sn與接收該源節點信息的網絡節點計數表的差值是否大於1,若判斷結果為「是」,則表明發送該源節點信息的網絡節點出現了丟包行為,否則,發送該源節點信息的網絡節點未出現丟包行為。
所述的步驟5)中丟包率為接收到的源節點信息序列號sn和接受該源節點信息計數表的差值與接收到的源節點信息序列號sn的比值。
所述的步驟7)中待檢測節點置信值am的計算方法為:
其中,dim為第i個網絡節點對待檢測節點m的檢測結果,ai為第i個網絡節點的置信值。
本發明提供的無線mesh網絡惡意節點檢測方法的實施例如下:
首先,將無線mesh網絡中每個網絡節點的通訊協議均設定為batman協議,無線mesh網絡中的網絡節點之間依據此協議進行通訊並周期性地發送源節點信息;
其次,在無線mesh網絡中每一個網絡節點上均植入一個ids實例bro,並在ids實例bro的基礎上建立源節點解析模塊,源節點解析模塊包括三層:最底層的libpcap捕獲函數層,用於捕獲源節點信息;第二層的事件引擎層,用來根據網絡節點埠號發送源節點信息到解析器層;第三層的解析器層,解析器層包括惡意丟包檢測模塊和虛假信息檢測模快,用來處理第二層發送的數據;
接著,在每一個網絡節點的接口處調用源節點解析模塊的捕獲函數層,捕獲源節點消息;
緊接著,源節點解析模塊的事件引擎層將捕獲函數層捕獲的源節點消息分別同時發送到解析器層的惡意丟包檢測模快和虛假信息檢測模快;
然後,惡意丟包檢測模塊和虛假信息檢測模快分別對源節點信息進行解析,獲取相應的路由參數並進行源節點丟包檢測和虛假信息檢測,並計算源節點信息的虛假率和丟包率;
計算源節點信息虛假率的方法包括下列步驟:
ⅰ)初始化設置當前網絡節點收到的源節點信息數量tfpogm和虛假源節點信息數量fpogm均為0;;
ⅱ)當前網絡節點收到具有序列號sn的源節點信息時,源節點信息數量tfpogm加1;
ⅲ)判定源節點信息是否合法,若當前網絡節點接收的源節點信息的序列號sn位於當前網絡節點最新收到的幀序號lfr和最大可接受幀序號laf之間,表明該源節點信息的序列號sn在接收窗口內,該源節點信息合法;否則,表明該源節點信息是虛假的,將虛假源節點信息數量fpogm加1;
ⅳ)最後,統計固定時間內當前網絡節點收到的源節點信息數量tfpogm和虛假源節點信息數量fpogm,並計算當前網絡節點接收到的源節點信息虛假率。
源節點信息丟包檢測的方法為:判斷源節點信息的序列號sn與接收該源節點信息的網絡節點計數表的差值是否大於1,若判斷結果為「是」,則表明發送該源節點的網絡節點出現了丟包行為,否則,發送該源節點的網絡節點未出現丟包行為;其中,丟包率為接收到的源節點信息序列號sn和接受該源節點信息計數表的差值與接收到的源節點信息序列號sn的比值。
再次,將計算得到的源節點信息虛假率和丟包率發送到主伺服器,並與由主伺服器利用非線性回歸方法得到的虛假率和丟包率的閾值進行比較,判斷向當前節點發送源節點消息的待檢測節點是否為可疑節點;
無線mesh網絡中的主伺服器利用非線性回歸方法計算虛假率和丟包率閾值的方法為:
選擇待檢測節點在不同的時刻發送的源節點消息對應的虛假率數據,設為(t1,x1),(t2,x2),…,(tn,xn),其中t=(t1,t2,...tn)和x=(x1,x2,...xn)表示產生數據的時間和相應的時間該待檢測節點發送源節點消息的虛假率數值,用上述n組數據構造函數x(t),在滿足逼近誤差很小的條件下,可將函數x(t)表示為:
在公式(1)中,根據實際無線mesh網絡選取合適的總數m(m≤n)和基函數hj(t);此處,選擇的基函數hj(t)=tj-1,則公式(1)可表示為:
x(t)=λ1+λ2t+λ3t2+…+λmtm-1(2)
通過求解係數向量λ=(λ1,λ2,λ3……λm)t,得到函數x(t)對應的實際值x的估計值,即虛假率閾值th;
待檢測節點的丟包率閾值的求解方法與虛假率閾值的求解方法完全相同。
假設節點在t1~t4時刻採集的丟包率表示為(t1,rd1),(t2,rd2),(t3,rd3),(t4,rd4),使用三次多項式th(t)=λ1+λ2t+λ3t2+λ4t3對這4組數據擬合,採樣周期ti的基函數矩陣n為:
其中,基函數矩陣n的每項nij=hj(ti),待檢測節點丟包率預測函數的4維向量th=(th(t1)th(t2),th(t3),th(t4))t可表示為:
在t1~t4時刻待檢測節點實際的丟包率向量d=(rd1,rd2,rd3,rd4)t,則逼近誤差向量δ可表示為:
δ=nλ-rd(5)
使用最小二乘法使逼近誤差向量δ的範數最小,可以得到:
對公式(6)求||δ||2的微分,令結果為0,即:
即:
(nλ-rd)tn=0(8)
nt(nλ-rd)=0(9)
ntnλ=ntrd(10)
基函數hj(t)=tj-1,所以基函數矩陣n為滿秩矩陣,得到ntn正定,所以ntn的逆矩陣存在,則得到優化回歸係數λ:
λ=(ntn)-1ntrd(11)
將優化回歸係數λ代入公式(2),求得丟包率閾值;
假設網絡中某一網絡節點m收到相鄰網絡節點n連續發送的源節點信息,且經過源節點信息解析模塊的處理得到相鄰網絡節點n的虛假率,將得到的網絡節點n的源節點虛假率rn和虛假率閾值thr比較,判定網絡節點n是否是可疑節點,同時網絡節點m將對網絡節點n的檢測結果dn向周圍相鄰網絡節點發送,並通過周圍網絡節點傳送至主伺服器;
當rn>thr時,dn=0,網絡節點n為惡意節點;
當rn0.5時,說明半數以上的網絡節點判定網絡節點m是正常節點,則判定網絡節點m是正常節點;
當am<0.5時,說明半數以上的網絡節點判定網絡節點m是可疑節點,則判定網絡節點m是惡意節點;
當am=0.5時,則等待下一次投票。
圖3與圖4分別為在相同仿真環境下採用加載網絡特徵聚類方法(npcs-cdm)、跨層監聽方法(rsnd)和本發明採用的檢測方法(mndb)進行惡意節點檢測時的檢測率仿真圖和惡意節點誤報率仿真圖;通過圖3可知,隨著惡意節點比例的上升,本發明採用的檢測方法mndb能維持較高的惡意節點檢測率,與npcs-cdm檢測方法和rsnd檢測方法相比,檢測率提高了11%以上;通過圖4可知,隨著惡意節點數的增加,本發明採用的檢測方法mndb仍保持較低的誤報率,說明該方法受惡意節點數量的影響不大,降低了誤報率。