無線傳感器網(wǎng)絡安全問題要實現(xiàn)的目標是保持網(wǎng)內通信的認證性、保密性以及數(shù)據(jù)的完整性。無線傳感器網(wǎng)絡的各種不同類型的攻擊集中利用有限的網(wǎng)絡資源削弱以上三種參數(shù)中的一種,攻擊者通過被動竊聽的手段竊取網(wǎng)絡內的通信,因此,節(jié)點感知的任何敏感信息將會被監(jiān)聽方獲取。惡意節(jié)點往往通過向網(wǎng)內注入虛假數(shù)據(jù)包,使其他節(jié)點誤以為是真實的信息。被捕獲節(jié)點接收到網(wǎng)內數(shù)據(jù)包后,往往采取選擇性轉發(fā)攻擊(selective forwarding attacks)手段,丟棄該數(shù)據(jù)包,而不是沿著數(shù)據(jù)包的實際路徑進行轉發(fā)。這種攻擊手段往往也會削弱正常數(shù)據(jù)包的網(wǎng)絡資源。攻擊者也可能會篡改正常數(shù)據(jù)包的內容,從而破壞網(wǎng)絡的認證性和數(shù)據(jù)的完整性。
大多數(shù)安全算法都運用了加密技術,先將數(shù)據(jù)進行編碼,然后基站以及節(jié)點對數(shù)據(jù)進行解碼。加密技術充分考慮到了網(wǎng)絡內通信的認證性、安全性以及數(shù)據(jù)完整性。然而,如果攻擊者也擁有正常節(jié)點使用的加密密鑰,那么當一個或多個節(jié)點被捕獲時,安全算法的效率往往會降低。因此,如果沒有采取其他的安全措施,惡意節(jié)點將不能從正常節(jié)點中被鑒別出。各種類型的網(wǎng)絡攻擊利用網(wǎng)絡的漏洞或缺陷對網(wǎng)絡發(fā)起攻擊,入侵檢測系統(tǒng)的主要作用就是對網(wǎng)絡攻擊進行檢測,無線傳感器網(wǎng)絡安全引入入侵檢測系統(tǒng)的目的就在于此。
入侵檢測技術可分為特征檢測(misuse detection) 和異常檢測(anomaly detection) 兩種。特征檢測通過一個已知的入侵用戶圖來標記入侵,其優(yōu)點是能準確和有效地檢測出已知的入侵,缺點是不能檢測新出現(xiàn)的攻擊。異常檢測通過監(jiān)測明顯異于正常行為的活動來預測入侵。其主要優(yōu)點是不需要入侵檢測的前期知識,而且可以檢測到新的入侵;最主要的缺點是它不能描述入侵的形式并且可能出現(xiàn)很高的差錯率。概念上,一個入侵檢測模型主要包括兩個單元:一是特征(屬性),用于描述典型活動的特性,例如“錯誤錄入的嘗試次數(shù)”,“命令訪問的平均頻率”;二是模型算法,也就是使用特征進行入檢檢測和抑制入侵的算法。
傳感器節(jié)點往往部署在開放的環(huán)境中,容易受到物理攻擊。一旦獲取了節(jié)點的密鑰信息,攻擊者完全可以偽裝成這些節(jié)點,向網(wǎng)絡任意注入錯誤的信息。如果節(jié)點被捕獲,那么該節(jié)點內的所有信息將會泄露。利用被捕獲節(jié)點,攻擊者在網(wǎng)絡內發(fā)起內部攻擊?;镜募用馨踩珯C制,比如認證和完整性保護等,都不能有效防范這些偽裝攻擊。如何解決這個問題,大多數(shù)技術對被捕獲節(jié)點散布的錯誤信息集中采取的手段是檢測和容忍,但是并不能夠準確查明錯誤信息的源頭和發(fā)起者。
目前仍然缺乏準確識別被捕獲節(jié)點,并將它們永遠排除在傳感器網(wǎng)絡之外的有效技術。針對被捕獲節(jié)點的處理技術,集中體現(xiàn)在以下幾種。
1. 基于報警的異常檢測
這種檢測依賴于特定應用的檢測機制,使傳感器節(jié)點能夠監(jiān)視附近節(jié)點的行為。一旦檢測到異常行為,節(jié)點會向基站或其他節(jié)點發(fā)出警報,并由它們來對哪些節(jié)點被捕獲做進一步判斷。這類方式稱為基于報警型,傳感器網(wǎng)絡的路由選擇和定位中就會用到這類典型的方式。
節(jié)點通過警報能夠查明被捕獲節(jié)點,但是如何利用這些警報信息也是一大難題。發(fā)出的警報是否可信有時也難以判斷,因為這些警報有可能是被捕獲節(jié)點以誤導基站為目的而發(fā)出的錯誤警報。被捕獲節(jié)點可能會進一步形成一個局部的整體,共同密謀以提升在網(wǎng)絡內的影響力。另外,這種基于報警型的方式針對的是某些特定的應用場合,難以延伸到其他領域。
識別被捕獲節(jié)點與可診斷系統(tǒng)中的故障診斷有著某種相似性。實際上,在這些系統(tǒng)中,總是假定故障是永遠存在的,這就意味著一個故障節(jié)點在測試中總會失效,因而會被鑒別為無故障節(jié)點。有些研究者把故障假定的條件進一步放寬,即故障的存在由永久性變成間斷性,實際上這種改變是假定故障節(jié)點以某種概率不能通過測試。這樣的假設在傳感器網(wǎng)絡不能成立,因為被捕獲節(jié)點的行為有更大的隨意性。
例如,被捕獲節(jié)點有可能發(fā)布正確的感知數(shù)據(jù),同時也發(fā)出錯誤的警報,這樣的惡意行為并不能夠被正常節(jié)點觀測到。因此,不能把可自診斷系統(tǒng)所采用的技術直接應用到傳感器網(wǎng)絡的被捕獲節(jié)點的識別上。
2. 基于定位的異常檢測
許多無線傳感器網(wǎng)絡采用GPS系統(tǒng)來收集傳感器節(jié)點的位置信息。在大型傳感器網(wǎng)絡中,如果每個節(jié)點都配備GPS系統(tǒng),那么網(wǎng)絡運行成本相當昂貴。因此,在實際應用中只給時間信標節(jié)點配備GPS 接收器,以降低網(wǎng)絡運行成本。這些信標節(jié)點知道自身的位置,其他傳感器節(jié)點根據(jù)信標節(jié)點的位置信息來獲取在網(wǎng)絡的位置信息。
文中闡述了一種檢測惡意信標節(jié)點的方式。如果一個信標節(jié)點被捕獲,那么它將不可避免地要發(fā)送具有錯誤位置信息的信標信號。這是因為,惡意信標節(jié)點發(fā)送的位置信息和信標信號一定是被篡改的。網(wǎng)絡中的信標節(jié)點具有節(jié)點ID號以及密鑰,從而能夠與網(wǎng)絡內的其他信標節(jié)點(表面看起來仍然是非信標節(jié)點)進行通信。惡意信標節(jié)點發(fā)送的預估位置信息不是以信標信號為依據(jù),所以這些信息與真實值相比是不同的。一旦有效信標節(jié)點從惡意信標節(jié)點獲取信標信號,那么該被捕獲節(jié)點將會被檢測出。由于被捕獲信標節(jié)點難以獲取相鄰節(jié)點間每次通信的循環(huán)時間,因此,如果惡意節(jié)點采取基于本地信標信號的重放攻擊(replayed attacks),那么它就會比較容易被發(fā)現(xiàn)。
3. 基于網(wǎng)絡/ 鄰居節(jié)點穩(wěn)定性的異常檢測
文獻闡述了一種基于傳感器節(jié)點特性(比如固定的相鄰節(jié)點信息)的入侵檢測系統(tǒng)。實驗中網(wǎng)絡間的通信采用多對一的方式,也就是說,節(jié)點將沿著相對固定的路徑向某個固定節(jié)點發(fā)送信息。因此,整個網(wǎng)絡運行期間并不需要節(jié)點用來識別相鄰節(jié)點的HELLO 洪泛數(shù)據(jù)包。網(wǎng)絡部署后,假設:①不會增加新節(jié)點,且節(jié)點是固定的;②節(jié)點的發(fā)送功率不會改變;③網(wǎng)絡內的每個節(jié)點能夠識別它的相鄰節(jié)點;④每個節(jié)點使用相同的硬件以及運行相同的算法,節(jié)點上運行的時鐘與其他節(jié)點不同步。
根據(jù)以上設定的穩(wěn)定網(wǎng)絡,節(jié)點知道能夠從相鄰節(jié)點獲得的信息。為了進一步運用這個概念,需要選擇兩個傳感器網(wǎng)絡的運行參數(shù),用來存儲相鄰節(jié)點的信息。選取的參數(shù)是:
?、贁?shù)據(jù)包到達率,即單位時間內到達的數(shù)據(jù)包;②平均接收功率,單位為dBm.算法定義了一個用來存儲預定數(shù)量數(shù)據(jù)包的緩沖區(qū)。這些數(shù)據(jù)包用來計算數(shù)據(jù)包到達率以及后續(xù)數(shù)據(jù)包的接收功率這兩個指標的可接受值的范圍。如果這兩個參數(shù)的值不在持續(xù)更新的范圍之內,那么就認定網(wǎng)絡發(fā)生了入侵。入侵檢測系統(tǒng)依靠這些節(jié)點來通知其相鄰節(jié)點,網(wǎng)絡可能存在入侵者。如果某節(jié)點從其固定數(shù)量的相鄰節(jié)點處獲取入侵者信息,那么該節(jié)點將把這個可疑節(jié)點標注為被捕獲節(jié)點。
4. 基于軟件的面向嵌入式硬件的認證
檢測被捕獲節(jié)點的另一種不同方法是根據(jù)代碼認證,來驗證運行于傳感器節(jié)點的實際程序代碼。還有一種基于硬件的認證方法,這種硬件內含一個安全的協(xié)處理器,用來檢測相關嵌入式設備存儲器的內容。介紹了一種基于軟件的認證技術(SoftWare-based ATTestation technique,SWATT),它是通過軟件方式獨立運行代碼認證算法來實現(xiàn)的。
這些技術都是通過某種方式,在外部驗證運行于嵌入式設備的代碼的正確性,檢驗器的可信度是實現(xiàn)目標的關鍵因素。
惡意節(jié)點至少有一行代碼與運行于正常節(jié)點的預期代碼不同。
檢驗器有未被捕獲傳感器節(jié)點存儲器內容的副本。檢驗器向節(jié)點發(fā)送某種特定信息,作為偽隨機數(shù)生成器的輸入,來創(chuàng)建隨機存儲器地址。給設備的每個存儲器地址執(zhí)行“ 校驗和”
檢驗。校驗器在本地運行相同的校驗步驟,計算預期的校驗和值,再將這個預期值與節(jié)點返回的值進行比較。
由于被捕獲節(jié)點存儲器的內容被改變,所以它必須確定由偽隨機數(shù)生成器創(chuàng)建的每個存儲器地址是否已經(jīng)發(fā)生改變。
SWATT 技術目前已在無線傳感器網(wǎng)絡中使用,不過執(zhí)行檢測和運行驗證步驟均需額外時間。作者在基于AVR studio V4.0的仿真器上進行了實驗,結果表明,計算校驗和的時間差異變得更加突出,這是因為被訪問的存儲器地址的數(shù)量在增加。
文中也對網(wǎng)絡做了相同的假設,確定節(jié)點是否為被捕獲節(jié)點的過程發(fā)生了變化?;颈患俣槭苄欧?,它在鑒定被捕獲節(jié)點時起著很大作用?;菊J為存在潛在的被捕獲節(jié)點,采用代碼認證方法來確認可能的威脅。SWATT 技術的思想是,一旦節(jié)點被捕獲,那么它必將執(zhí)行與正常節(jié)點不同的行為,這種思想在算法設計中是一種重要的概念。
無線傳感器網(wǎng)絡中,任何兩個節(jié)點之間均可能發(fā)生交互。
如果某個節(jié)點提供的信息是錯誤的,或提供的服務不完備,那么其他的一些節(jié)點有可能檢測到,并發(fā)出相應的負反饋。實際上,傳感器節(jié)點之間的交互,受制于傳感器網(wǎng)絡的部署。對于某個節(jié)點來說,能夠檢測到它提供的信息或服務的,只是一組固定的節(jié)點。因此,對于被捕獲節(jié)點來說,容易形成一個局部的整體。
一般來說,大多數(shù)分布式系統(tǒng)由自主實體所構成,往往最大化地追求自身效率,需要建立激勵機制來鼓勵實體發(fā)布(至少不阻止)其他實體的反饋信息。傳感器網(wǎng)絡本質上是一種分布式系統(tǒng),由自主性節(jié)點構成,傳感器節(jié)點之間通過相互協(xié)作來共同完成一個任務。因此,有可能設計出鑒別機制,實現(xiàn)既定目標的全局最優(yōu)化。例如,為了應對錯誤的警報,可以根據(jù)警報的發(fā)起者和針對的目標來確定被捕獲節(jié)點,只要有助于提高整個系統(tǒng)的安全性。
實際上,傳感器網(wǎng)絡獨特的特性既帶來了挑戰(zhàn),也帶來了機遇,如何利用這些特性是精確識別被捕獲節(jié)點的關鍵所在。
(轉載)