摘 要: 基于貝葉斯博弈理論并結合自私節點激勵機制構建了一個入侵檢測模型,并運用這一理論制定了一種改進的安全路由協議,證明了該模型中存在貝葉斯納什均衡。仿真實驗表明,該模型能夠有效地抑制節點的自私行為并提高網絡的服務質量。
關鍵詞: 貝葉斯博弈;激勵機制;無線傳感器網絡;入侵檢測
一個WSN網絡包含成百上千個低能量低消耗節點,這些節點通過無線的方式進行通信[1]。在很多情況下,安全問題對于WSN來說是極其重要的。有許多適用于Ad Hoc網絡的IDS的系統模型[2-3],但是都不適用于WSN,因為這些節點在內存、處理器和電池電量方面有著更加嚴格的限制。同樣的原因,加密機制也不適合在WSN中使用,因為計算消耗大,這些節點時間和能量都不夠充足。另外,要保障無線通信信道安全也很困難。
本文提出了一個基于貝葉斯博弈的安全策略,在監視設備和傳感器節點之間實施協作,可以防御主動DOS攻擊[4],惡意節點一經發現,就會從網絡中隔離,并且入侵檢測系統會對博弈過程的每個階段實施監控,根據路由節點的信譽值提供安全路由。
入侵檢測系統負責監視節點。IDS是一個軟件或硬件系統,對網絡中的事件進行自動檢測,分析其安全特征[5]。簡單的安全算法(例如加密)不能滿足必要的安全需求。加密算法只能防御來自外部節點的攻擊,但是不能防御內部的惡意節點。
1 改進的LEACH協議
LEACH協議是WSN中極其重要的基于簇的路由協議,通過在不同的時間段讓每個節點都有機會成為簇頭節點來最小化能量的消耗。簇頭節點(CHs)需要對數據進行數據融合,并負責把數據傳遞給基站(BS)。LEACH協議在能量消耗方面比其他路由協議都要好,能夠將系統壽命提高一個數量級[6]。
本文提出一種基于貝葉斯博弈理論的安全路由協議,結合自私節點激勵機制[7],使入侵檢測系統取得更好的檢測效果,這種協議稱之為“S-LEACH”,在基站上的入侵檢測系統稱為“全局IDS”,其他的入侵檢測系統在簇頭節點上,稱為“本地IDS”。整個過程分為設置和持續兩個階段。在設置階段,選出簇頭節點(CHs)。某一節點以一定的規則被選為簇頭節點,對其他的節點廣播這個消息。這個過程中,簇頭節點使用CSMA MAC協議,用相同的廣播能量發送這個消息。其他節點就可以根據接收到的廣播信號的強度確定它們屬于哪一個簇,然后再發送一個消息給首選的簇頭節點。第二個階段,簇頭節點安排時間段給簇中的節點,就可以在不同時間段發送數據給這些節點(基于TDMA的方法)。節點只能在分派的傳送時間段內發送數據。如果一個節點被認為是自私節點,本地IDS就不會分派任何時間給自私節點。這個階段與LEACH協議相同。
假設節點總是有數據要傳送,本地IDS就會尋找在數據包傳送過程中的不合作的節點(自私節點),并記錄這個節點的ID。在每一個階段結束時,節點的信譽值都會被傳送到全局IDS。全局IDS負責核查所有節點的信譽值,并將那些信譽值低于閾值的節點的ID廣播到整個網絡。而本地IDS不會分派任何時間段給自私節點,從而減少系統資源的浪費。
如果節點是靜止不動的,就沒有必要用到全局IDS,本地IDS可以監視節點并計算隸屬于它們簇中每個節點的信譽值,以表格的形式存儲。
2 IDS與WSN之間的貝葉斯博弈
在這里提出一個貝葉斯博弈模型,有2個參與者,一個是位于簇頭節點中的IDS(本地IDS),用j表示;另一個是簇中的某一個節點,用i表示。參與者i有兩種類型:正常節點?茲i=0;自私節點?茲i=1。節點類型是私有信息,參與者j不知道參與者i是自私節點還是正常節點。節點有兩種純策略:合作與不合作。合作意味著要優先轉發數據包。參與者j只有一種類型,正常的IDS的?茲j=0。它也有兩種純策略:報警和不報警。報警是指發現一個節點是自私的,并相應降低該節點的信譽值;不報警就是認為該節點是正常節點。
為了加強節點間的協作,本文提出信譽值(reputation)的概念,用R來表示。IDS也有信任度,當它發現惡意節點時,R+1;當節點優先轉發數據包時,節點的信譽值R+1,否則R-1。
IDS捕獲一個節點的成本等于它在此過程中消耗的能量,用Cc來表示。自私節點不會有任何的成本,因為不轉發數據包也不會消耗任何額外的能量。當自私節點沒有傳遞數據而且也沒有被IDS捕捉時,自私節點就會有收益,用G來表示。
表1、表2是博弈收益表。α表示IDS正確檢測出自私節點的概率,β表示IDS發出錯誤警報概率,α,β∈[0,1]。
在表1中,組合策略(不合作,報警),節點的信譽值會降低,減少的值就是被發現是自私節點的次數,而IDS的信譽值會增加,增加的值是它正確檢測的次數;組合策略(不合作,不報警),參與者i獲得了收益,同時也增加了信譽值,增加的值是未被IDS檢測出的次數,與此同時,參與者j會因為錯誤的檢測而減少信譽值。另外兩種組合策略,當參與者i合作時,它的收益就等于信譽值,也就是它表現正常的次數。如果參與者j什么都不做,就不會有能量消耗,也不會得到信譽值的增加,否則就會既損失成本又得到了錯誤的檢測結果。收益矩陣對正常節點也是一樣的道理。
3 貝葉斯納什均衡[8]
首先假設節點有一個先驗概率,參與者i是自私節點的概率為p。在博弈理論[9-10]中通常都會假設參與者是理性的,并且都想最大化它們的收益。所以參與者i始終不想合作,不想因為轉發數據而有能量的消耗,同時也不想被IDS捕獲。另一個方面,IDS想發現自私節點,不想因為錯誤的檢測而浪費能量。
4 仿真實驗及結果
這里用網絡模擬軟件NS2來對算法進行仿真。節點分布在1 000 m×1 000 m的區域范圍內,仿真時間為1 200 s,假設在實驗一開始所有節點都有相同的能量。
圖1顯示的是未轉發的數據包的數量與自私節點占總節點數的百分比之間的關系。在無防御的網絡中,數據包丟失的數量比有博弈理論的防御系統多很多。在該系統中,節點通過信譽值的激勵作用來選擇合作策略;如果不合作,節點就會被檢測系統從網絡中隔離。
圖2顯示的是當自私節點占總節點的40%時,網絡的吞吐量與時間的關系。在前400 s,IDS發現了一些自私節點,但是因為惡意行為的次數還沒有超過預先設定的閾值,所以IDS沒有采取任何行動,使得LEACH與S-LEACH的表現大致相同,但是隨著時間的推移,自私節點被隔離,這時整個網絡的吞吐量就不斷增大。
圖3顯示的是自私節點所占比例與時間的關系。在實驗一開始,自私節點占總節點的60%,正常節點占40%,隨著時間的變化,自私節點的比例越來越小,因為IDS會不斷地捕獲自私節點,并將它們從網絡中隔離。
圖4顯示了丟包率與節點數目之間的關系。在所有節點中,始終保持有50%的自私節點。當節點數不是很多時,在LEACH實驗中丟棄的數據包要比S-LEACH實驗中的多很多,這是因為簇頭節點能夠在分配給各個成員節點的時間段中,檢測出節點的類型。
本文提出了一個入侵檢測系統與傳感器節點之間的貝葉斯博弈防御模型,并證明了在該模型中存在兩個貝葉斯納什均衡。下一步的研究工作,要將該模型改為動態的貝葉斯博弈模型,IDS不是根據節點的類型來修改先驗概率,而是可以動態更新先驗概率。
參考文獻
[1] 陳林星.無線傳感器網絡技術與應用[M].北京:電子工業出版社,2009.
[2] DONADIO P, CIMMINO A, VENTRE G. Enhanced intrusion detection systems in Ad Hoc Networks using a grid based agnostic middleware[C].In proceedings of the ACM,2008.
[3] KACHIRSKI O, GUHA R. Intrusion detection using mobile agents in wirelless Ad Hoc networks[C]. In Proc. of the IEEE Workshop on Knowledge on Media Networking,2006.
[4] STRIKOS A A. A full approach for intrusion detection in wireless sensor networks[J]. Computer Networks,2007.
[5] 陳海光.無線傳感器網絡中若干安全問題研究[D].上海:復旦大學,2008.
[6] HEINZELMAN W R,CHANDRAKASAN A,BALAKRISHNAN H. Energy-efficient communication protocol for wireless sensor networks[C]. In the Proc.of the Hawaii Int’l. Conf. on System Sciences, Hawaii, Jan. 2000.
[7] HABIB A,CHUANG J.Service different-iated peer selection: an incentive mechanism for Peer-to-Peer media streaming[C]. In Proc.of the IEEE Transactions on Multimedia,2004.
[8] 姚國慶.博弈論[M].北京:高等教育出版社,2007.
[9] 曹暉,王青青,馬義忠,等.基于靜態貝葉斯博弈的攻擊預測模型[J].計算機應用研究,2007,24(10):122-124.
[10] 張輝,許峰.WSN中基于權值的Leach協議的研究與改進[J].微計算機信息,2010(22):199-201.