王靜 楊海迎 王振寰
云南師范大學信息學院 云南 650092
無線傳感器網絡(Wireless Sensor Networks, WSN)是一種由大量微小的集成(包括傳感器、數據處理單元和短距離無線通信模塊)的節點組成的以數據為中心的無線組織網絡。它是一種全新的信息獲取和處理技術,能夠協作的實時監測、感知和采集網絡分布區域內的各種環境或檢測對象的信息。與傳統網絡相比,WSN大規模、隨機布設、多跳通信方式、自組織和協同工作等特點使得它在軍事、工業、家居、環境等諸多領域都有著廣闊的應用前景。隨著對 WSN的深入研究和廣泛應用,其安全性已受到了研究人員的普遍重視。
由于WSN節點間通過多跳轉發機制進行數據通信,所有節點都處于平等地位,每個節點兼備路由器和主機兩種功能,不但執行自己的應用任務,還要參與路由的發現、維護,以及網絡的組織構建。因此,路由安全已成為無線傳感器網絡安全研究的熱點之一。
WSN中,大量的節點密集地分布在一個區域里,數據通過多跳廣播的方式進行傳輸,由于傳感器網絡的動態性,沒有固定基礎結構,每一個節點都是潛在的路由節點,沒有受到保護的路由信息很容易遭受多種形式的攻擊。根據惡意節點對路由的破壞性,可以將它對路由的攻擊分為主動式攻擊和被動式攻擊。在被動是攻擊中,惡意節點只是通過偵聽網絡獲取通信中的機密信息,并不破壞網絡正常運行和路由協議的執行,這種攻擊破壞性較小。而主動式攻擊是主動改變通信數據,增加網絡的負擔,破壞網絡操作或使某些節點不能有效的使用網絡中的服務,這種攻擊危害較大。傳感器網絡中的路由攻擊主要有以下幾種。
通過欺騙、篡改和重發路由信息,攻擊者可以創建路由環,吸引或者拒絕網絡信息流通量,延長或者縮短路由路徑,形成虛假錯誤信息,以分割網絡,增加端到端的時延。
在污水坑攻擊中,攻擊者發送虛假路由通告,表示通過部分俘虜節點的路徑是一條高效路由路徑,這樣,攻擊者周圍的每個鄰居節點很可能樂意把數據包交給攻擊者轉發,并且還向各自的鄰居節點傳播這個頗具吸引力的路由消息,使得俘虜節點成為網絡中的一個污水坑。攻擊者的目標是吸引幾乎所有的數據流通過俘虜節點轉發,這樣,攻擊者可以偽造數據包源地址和目的地址,以任意合法節點的名義發送虛假信息,重定向網絡數據流,同時也易于實現選擇轉發攻擊。
在 Sybil攻擊中,攻擊者對網絡中的其他節點以多個身份出現。這使攻擊者具有更高的概率被其他節點選作下一跳目標,并能結合其他的攻擊方法破壞網絡。這種攻擊方式降低了諸如分布式存儲路由、分散路由和多路徑路由等具有容錯功能的路由方案的容錯效果,攻擊還給基于位置信息的路由協議造成了很大的威脅。位置感知路由協議通常需要節點與其鄰近節點交換坐標信息,從而有效地發送標有指定地址的數據包。一般情況,節點僅從與其相鄰的節點接收惟一的一組坐標值,但是使用 Sybil攻擊的攻擊者可以“同時擁有多個位置的坐標”。事實上,這種攻擊對基于投票的網絡數據融合策略的危害也很大。

在蟲洞攻擊中,如圖所示,通常需要兩個惡意節點相互串通,合謀進行攻擊。一般情況下,一個惡意節點位于基站附近,另一個惡意節點離基站較遠。這樣,兩個節點間可以通過攻擊者隧道傳輸消息。在一個端節點所在的網絡近域中收到的消息通過隧道傳輸后,及時地在另一端節點所在的網絡近域里被重放。因此,一個在多跳以外的惡意節點可以假冒成為其他節點的一兩跳距離鄰居。值得注意的是,無需任何加密密鑰信息即可發起這種攻擊。
蟲洞攻擊可導致污水坑攻擊:一個遠離基站的惡意節點,由于存在一條通往基站附近的隧道,因此可聲稱自己就在基站附近,可以和基站建立低時延高帶寬的鏈路,以重定向或控制網絡數據流,發起污水坑攻擊。另外,蟲洞攻擊可以使兩個遠離的節點相信他們自己是通信鄰居,這樣可能會嚴重擾亂通信。
Hello泛洪攻擊是一種新型的針對傳感器網絡的攻擊方法。在許多協議中,節點需要通過廣播Hello報文來聲明自己是其他節點的鄰居節點,而收到該Hello報文的節點則會假定自身處在發送者正常無線傳輸范圍內,但當一個較強的惡意節點以大功率廣播Hello包時,距離較遠的合法節點也會收到此包,這些節點會認為這個惡意節點是他們的鄰居。在以后的路由中,這些節點很可能會使用這條到惡意節點的路徑,而向惡意節點發送數據包。事實上,由于這些節點離惡意節點距離較遠,以普通的發射功率傳輸的數據包根本到不了目的地。這將使得網絡處于混亂狀態,導致網絡不能正常運行。
一些傳感器網絡路由算法依賴于潛在的或者明確的鏈路層確認。在 ACK欺騙中,攻擊者可借助鏈路層確認包欺騙鄰居節點。發起這種攻擊的目的包括:使發送者相信一個弱鏈路是健壯的,或者是相信一個原本已經失效死掉的節點還活著可用。因為沿著弱連接或者失效鏈接發送的包會發生丟失,這樣攻擊者可以強化發送者沿著這些鏈路傳輸數據包,從而發起DoS攻擊。
與有線網絡甚至和Ad hoc網絡相比,傳感器網絡中網絡流模型種類很少,通常包括:從基站到節點傳輸的命令流;從節點到基站的數據流;以及一些和簇頭節點選舉或數據融合相關的局部通信。攻擊者通過偵聽通信,可以發起流量分析攻擊,試圖從諸如數據包頭、數據流模式、路由協商信息等方面發現那些為網絡提供關鍵服務的節點(諸如簇頭節點,密鑰管理節點、甚至基站或靠近基站的節點等)位置,然后重點發動其他攻擊,謀求更大攻擊利益。
受攻擊者控制的惡意節點收到數據包后,可以再簡單的丟掉部分數據包后再做轉發,必然這樣導致數據包不能正確到達目的地,成功擾亂正常的網絡功能。由于正常節點也可能時不時因某種原因如擁塞或沖突出現丟包現象,因此惡意節點的異常行為很難被區分處理。不難想象,當攻擊者確定自身就在數據流傳輸路徑中時,攻擊是最有效的。攻擊者對感興趣的數據流實施阻塞也可達到同樣的攻擊目的。
為了保證無線傳感器網絡在存在惡意節點的情況下,從源端到目的端的路由發現功能正常,所有的無線傳感器網絡路由安全協議必須滿足以下的條件:路由發現過程中,孤立未授權節點;敵人不能獲得網絡的拓撲結構;對攻擊者發起的造成路由環的路由欺騙免疫;識別偽造的路由消息;未授權接點不能更改路由信息。為了提供無線傳感器網絡路由安全,需要解決以下的問題:為無線傳感器網絡提供低計算和通信開銷的認證機制;安全路由發現;路由維護;隔離錯誤通信鏈路;預防路由錯誤;預防泛洪攻擊等。
對路由面臨的攻擊和威脅,采用有效的密鑰管理技術,對節點間的通信實施加密,以增大路由的安全性。Newsome J 等人就應用對稱密鑰管理技術,提出了針對 Sybil 攻擊的防御方案。該方案首先對Sybil 攻擊進行定義和分類,把攻擊類型分為直接通信和非直接通信、虛構認證和偷竊認證、模仿和非模仿等;針對攻擊目標又分為分布式存儲、路由、數據融合、投票、公正資源分配、誤行為檢測等。然后在每個節點與一個可信賴的基站之間建立惟一的對稱密鑰,兩個節點之間使用一個像Needham - Schroeder 樣的協議進行身份認證并且建立一個共享密鑰,相鄰節點使用產生的共享密鑰對它們之間的連接實現加密。雖然一個入侵者仍能利用一個Wormhole 在兩個節點間建立一個虛假的連接使它們確信它們是鄰居,但是入侵者將不能竊聽或修改在它們之間的任何將來的連接信息。
此安全方案設計方便,針對性強,但是安全措施僅采用對稱密鑰,整個網絡易受到攻擊;另外把安全性作為主要設計目標,而忽略了能耗問題。
理想狀態下,如果我們知道遭受到某種確定的攻擊,正確的對策或許有用。然而,由于噪聲和動態環境的影響,在傳感器網絡中,攻擊和錯誤很難被檢測,并正確區分。同時,由于網絡冗余特點,只要錯誤或攻擊源被檢測出來,遭受攻擊的傳感器網絡仍然可以繼續發揮其功能。因此,為在安全路由設計中降低節點安全操作能源損耗,提高網絡生命周期,發展能夠容忍攻擊的路由協議,提高其抗攻擊彈性非常必要。
(1)SPINS(Security Privacy In Sensor Network)協議
該協議旨在解決具有有限資源的無線傳感器網絡的安全通信問題。基本思路是先廣播一個通過對稱密鑰K生成的數據包,在一個確定的時間后發送方公布該密鑰,接收方負責緩存這個數據包直到相應的密鑰被公開,這使得在密鑰被公布之前,沒有人能夠得到認證密鑰的任何消息,也就沒有辦法在廣播數據包正確認證之前偽造出正確的廣播數據包;在密鑰公開后,接收方能夠認證該數據包。即通過延遲對稱密鑰的公開來取得與非對稱密鑰近似的效果。它引入了SNEP 和μTESLA兩個安全構件。SNEP協議通過在通信雙方采用兩個同步的計數器,并運用于加密和消息認證碼(MAC,Message Authentication Code)計算中,從而獲得了數據機密性(滿足語義安全、數據認證、完整性、弱新鮮性及重放保護功能,并具有低通信開銷(每個報文僅增加 8 Byte)。協議還通過發送者在請求報文中向接收者發送一個不重復隨機數,并在接收者應答報文中的MAC計算中納入該隨機數,而實現了強新鮮性,可用于時間同步。可驗證廣播的實現需要非對稱機制,否則,惡意節點就可以隨意更改收到的消息。
(2)INSENS協議
INSENS是一個面向無線傳感器網絡的安全的入侵容忍路由協議。協議的設計思想主要有3點: 第一,在確定路由路徑的時候,盡量繞過惡意節點,限制惡意節點的作用范圍。第二,由于傳感器節點的資源有限,而Sink的資源相對要豐富一些。所以盡量將計算、通信和存儲方面的工作交給Sink來做,以減輕傳感器節點的負擔。第三,采用“雙路徑”的路由方法,即使在一條路由路徑被攻擊后還可以通過另外的路由路徑進行通信。INSENS包含路由建立和數據轉發兩個階段。路由建立主要是確定網絡拓撲結構,選擇合適的路由路徑,數據轉發則是處理節點和Sink之間的數據傳輸。它借鑒了 SPINS協議某些思想。例如,利用類似 SNEP的密碼MAC來驗證控制數據包的真實性和完整性,密碼MAC是驗證發送到基站的拓撲信息完整性的關鍵。它還利用μTESLA中單向散列函數鏈所實現的單向認證機制來認證基站發出的所有信息,這是限制各種拒絕服務攻擊的關鍵。另外,該協議還通過每個節點只與基站共享一個密鑰、丟棄重復報文、速率控制以及構建多路徑路由等的方法,限制了洪泛攻擊,并使得惡意節點所能造成的破壞被限制在局部范圍,而不會導致整個網絡的失效。除了通過采用對稱密鑰密碼系統和單向散列函數這些低復雜度安全機制外,該協議還將諸如路由表計算等復雜性工作從傳感節點轉移到資源相對豐富的基站進行,以解決節點資源約束問題。盡管INSENS協議將破壞限制在入侵者周圍及其下游區域,但是,當一個內部攻擊者處在基站附近時,造成的破壞范圍仍會很大。
上述這些安全路由協議一般采用加密和認證、多路徑路由、身份認證、雙向連接認證和認證廣播等機制來有效抵御虛假路由信息、Sybil攻擊和Hello泛洪攻擊但這些措施只有在路由協議設計完成以前加人到協議中,才可能對攻擊的抵御起到一定的作用,并且當發生內部攻擊時,這些方案將起不到應有的作用,另外由于傳感節點的物理安全得不到保障,路由協議容易遭到捕獲攻擊,單個節點的泄密甚至可能接管整個網絡或阻礙全網的通信。入侵檢測可以提供第二道防線來進行內部節點攻擊的防御,這一方面的研究目前還不多見。
綜上所述,無論是采用加密機制、增加安全機制的安全路由協議,還是提供入侵檢測的安全防御方案,都要在復雜性、能量損耗和安全性等方面加以平衡,才能適合各種無線傳感器網絡的應用需求。
由于無線傳感器網絡自身的一些特點,為其安全路由的設計和實現帶來了很多新的挑戰。目前,無線傳感器網絡路由安全中還有一些尚未解決的問題:
抗流量分析攻擊越來越重要,應該得到廣泛的關注。重新設計傳感器網絡結構,以減少可被分析的脆弱性很重要。否則,特別是在敵對環境中部署和運行傳感器網絡將非常困難。
路由協議應具有容錯性。由于WSNs節點容易發生故障或受到攻擊,因此應盡量利用節點易獲得的網絡信息計算路由,以確保在路由出現故障或受到攻擊時仍然能安全及時的將數據傳送到目的地,保證數據傳輸的可靠性。如何利用大量低成本節點的集合來提供更為安全可靠的網絡將是傳感器網絡安全研究的一個重要方向。入侵檢測技術在傳感器網絡安全中的應用,對防御內部節點的攻擊,顯得十分重要。
[1]李曉維,徐勇軍,任豐原等.無線傳感器網絡技術.北京理工大學出版社.
[2]范新運,王福豹,任豐原.無線傳感器網絡的路由協議[J].計算機測量與控制.2005.
[3]宋建華,馬傳香,何曉冰.無線傳感器網絡的路由攻擊與防范[J].湖北大學學報.2007.
[4]付志威,葉曉慧,張海波.無線傳感器網絡安全威脅及對策[J].網絡安全.2008.
[5]鄭弋暉.無線傳感器網絡的安全研究[J].計算機安全技術.2008.
[6]覃伯平,周賢偉,楊軍,宋存義.無線傳感器網絡的安全路由技術研究[J].傳感技術學報.2006.
[7]張志,鄭艷.無線傳感器網絡路由安全問題研究[J].軟件導刊.2008.
[8]Adrian Perrig, Robert Szewczyk, Victor Wen, David Culler, J.D. Tygar. SPINS: Security Protocols for Sensor Networks.Mobile Computing and Networking.2001.
[9]Karlof C,Wagner D.Secure Routing in Wireless Sensor Networks:Attacks and Countermeasures.Elseviers’AdHoc Networks Journal.2003.[10]Newsome J, Shi E, Song D, et al. The Sybil Attack in Sensor Networks: Analysis & Defenses. In: Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks (IPSN’04).April.2004.