摘 要: 針對移動Ad Hoc網(wǎng)絡(luò)反應(yīng)式路由的洪泛攻擊,,分析了現(xiàn)有的抵御洪泛攻擊的FAP方案的安全漏洞,,提出了一種簡單易行的CSR方案,并與FAP方案進行了對比,。
關(guān)鍵詞: 移動Ad Hoc網(wǎng)絡(luò) 反應(yīng)式路由? 洪泛攻擊? FAP方案
?
移動Ad Hoc網(wǎng)絡(luò)是一種新型的移動多跳無線網(wǎng)絡(luò),,它不依賴于任何固定的基礎(chǔ)設(shè)施和管理中心,而是通過傳輸范圍有限的移動節(jié)點間的相互協(xié)作和自我組織來保持網(wǎng)絡(luò)連接并實現(xiàn)數(shù)據(jù)的傳遞,。Ad Hoc網(wǎng)絡(luò)中路由的特殊性使其成為Ad Hoc網(wǎng)絡(luò)中的重要問題,,一直是該領(lǐng)域的研究熱點。目前,,較為成熟且已在Ad Hoc網(wǎng)絡(luò)中廣為使用的路由協(xié)議" title="路由協(xié)議">路由協(xié)議有優(yōu)化鏈路" title="鏈路">鏈路狀態(tài)路由算法OLSR(Optimized Link State Routing Protocol),、動態(tài)源路由DSR(Dynamic Source Routing)、按需距離矢量路由AODV (Ad Hoc On-Demand Distance Vector Routing)等,。同時,,隨著各類攻擊的出現(xiàn),基于安全的Ad Hoc路由協(xié)議也相繼產(chǎn)生[1~4],。
洪泛攻擊是新近提出的一種針對Ad Hoc網(wǎng)絡(luò)中反應(yīng)式路由的攻擊類型,,分為RREQ報文和數(shù)據(jù)報文攻擊兩種。它通過在網(wǎng)絡(luò)中引發(fā)拒絕服務(wù),,能夠?qū)ΜF(xiàn)有的所有反應(yīng)式路由進行攻擊,。Ping Yi等人首次提出了這種攻擊的模型[5],同時給出了抵御這種攻擊的洪泛攻擊預(yù)防FAP(Flooding Attack Prevention)方案,。
針對FAP方案的不足,,本文提出了通信狀態(tài)記錄CSR(Communication Status Record)方案。該方案中各節(jié)點通過實時記錄與其相關(guān)聯(lián)的節(jié)點及鏈路的狀態(tài),,從而可以有效地辨別非法節(jié)點,,避免為非法節(jié)點轉(zhuǎn)發(fā)報文,達到抵御洪泛攻擊的效果,。
1 背景知識
1.1 反應(yīng)式路由簡介
反應(yīng)式路由協(xié)議又稱為按需路由協(xié)議,,是一種當需要發(fā)送數(shù)據(jù)時才查找路由的路由算法。在這種路由協(xié)議中,,節(jié)點不需要維護及時,、準確的路由信息,當需要向目的節(jié)點發(fā)送報文時,,源節(jié)點才在網(wǎng)絡(luò)中發(fā)起路由查找過程,,找到相應(yīng)的路由。常用的反應(yīng)式路由協(xié)議有DSR,、AODV等,。與先驗式路由協(xié)議相比,,反應(yīng)式路由協(xié)議的開銷較小,應(yīng)用更廣泛,。
?
以AODV路由協(xié)議為例,,RREQ報文的傳播路徑如圖1所示。圖中當節(jié)點A要發(fā)起與節(jié)點B的通信時,,A先在網(wǎng)絡(luò)中洪泛路由請求RREQ(Route Request)尋路報文,。實箭頭方向為RREQ洪泛的方向,,目的節(jié)點收到RREQ報文后,,不再轉(zhuǎn)發(fā)。
中間節(jié)點接收RREQ報文后進行轉(zhuǎn)發(fā),,同時在自身的路由表" title="路由表">路由表中增加一個表項,,用來記錄從本節(jié)點到源節(jié)點的反向路徑。反向路徑示意圖如圖2所示,。虛箭頭方向為各節(jié)點建立的朝源節(jié)點的反向鏈路,。
目的節(jié)點接收到RREQ報文后,不再轉(zhuǎn)發(fā)該RREQ報文,,并回送路由應(yīng)答RREP(Route Reply)報文,。RREP報文沿RREQ報文到達的反方向,依次到達轉(zhuǎn)發(fā)RREQ報文的各中間節(jié)點,,中間節(jié)點沿自身路由表中保存的反向路徑,,向源節(jié)點轉(zhuǎn)發(fā)RREP報文。數(shù)據(jù)報文傳輸路徑如圖3所示,。實箭頭方向為目的節(jié)點發(fā)送RREP的鏈路,,源節(jié)點沿虛箭頭方向向目的節(jié)點發(fā)送數(shù)據(jù)包。在此后的通信中,,源節(jié)點沿RREP報文的反方向向目的節(jié)點發(fā)送數(shù)據(jù)報文,。
鏈路不通的消息由路由錯誤RRER(Route Error)傳播。
每個RREQ 報文在網(wǎng)絡(luò)中存活的時間由報文中的TTL值控制,,RREQ報文每次經(jīng)過一個節(jié)點,,其TTL值減少1,TTL值為0的RREQ報文視為失效報文并被丟棄,。
每個路由都采用序號標記,,以此來指示路由的新舊。
1.2 洪泛攻擊對反應(yīng)式路由的影響
洪泛攻擊分為RREQ報文洪泛攻擊和數(shù)據(jù)報文洪泛攻擊,。
在RREQ報文洪泛攻擊中,,入侵節(jié)點選擇大量不在此網(wǎng)絡(luò)中的IP地址作為目的地址,連續(xù)發(fā)送大量的TTL值極大的RREQ報文,。因目的地址不在本地網(wǎng)絡(luò),,沒有節(jié)點能夠發(fā)送RREP報文響應(yīng),,這些RREQ報文就會在整個網(wǎng)絡(luò)中循環(huán)傳播。一方面,,網(wǎng)絡(luò)中到處充斥的RREQ報文會占用網(wǎng)絡(luò)通信帶寬,,阻礙正常通信;另一方面,,各節(jié)點的反向路由表很快就會被耗盡,,無法為正常的通信提供服務(wù)。
在數(shù)據(jù)報文洪泛攻擊中,,入侵節(jié)點首先和網(wǎng)絡(luò)中的所有節(jié)點建立通信鏈路,,然后沿所建的路徑給所有節(jié)點發(fā)送大量的無用報文。這些泛濫的數(shù)據(jù)報文將會堵塞網(wǎng)絡(luò),,耗盡網(wǎng)絡(luò)中節(jié)點間的通信帶寬,。目的節(jié)點將會忙于接收入侵節(jié)點的無用報文而無法正常工作。
移動Ad Hoc網(wǎng)絡(luò)中的節(jié)點資源極其有限,,這兩種攻擊方式都旨在占用網(wǎng)絡(luò)中的通信帶寬,,消耗網(wǎng)絡(luò)中節(jié)點的大量資源,使合法節(jié)點之間無法正常通信,。特別當入侵節(jié)點聯(lián)合使用RREQ洪泛攻擊和報文洪泛攻擊時,,很快就會置網(wǎng)絡(luò)于癱瘓狀態(tài)。
2 FAP方案
2.1 FAP方案的原理
文獻[5]中采用鄰居抑制的方法來抵御RREQ報文洪泛攻擊,。網(wǎng)絡(luò)中的節(jié)點為其所轉(zhuǎn)發(fā)的每個RREQ報文附加一個優(yōu)先級,。每個RREQ報文的優(yōu)先級與發(fā)送它的節(jié)點發(fā)送的RREQ報文的頻度成反比。
當某節(jié)點的RREQ報文隊列中有很多RREQ報文要轉(zhuǎn)發(fā)時,,它轉(zhuǎn)發(fā)這些RREQ報文的順序由它們的優(yōu)先級來決定,,優(yōu)先級高的先被轉(zhuǎn)發(fā)。同時,,如果某個節(jié)點發(fā)送的RREQ報文過多,,以至于超過特定的門限時,其鄰居節(jié)點就會拒絕為它轉(zhuǎn)發(fā)RREQ報文,,從而達到防范RREQ報文洪泛的目的,。
FAP方案中采用Path Cutoff(切斷路徑)的方法來抵御數(shù)據(jù)報文洪泛攻擊。目的節(jié)點發(fā)現(xiàn)對方是入侵節(jié)點后,,發(fā)送RRER報文,,指明入侵節(jié)點的IP地址不可達,以此切斷正在通信的鏈路,,阻止入侵節(jié)點繼續(xù)發(fā)送無用報文,。另外,當入侵節(jié)點再發(fā)RREQ報文企圖與其他節(jié)點建立連接時,,因為所有節(jié)點已接收到了RRER報文,,所以不會有節(jié)點向入侵節(jié)點發(fā)送RREP報文回應(yīng),,從而使入侵節(jié)點無法與合法節(jié)點建立通信鏈路,實施數(shù)據(jù)報文洪泛攻擊,。
2.2 FAP方案的分析
(1)比較各個RREQ報文優(yōu)先級決定轉(zhuǎn)發(fā)順序的策略只在網(wǎng)絡(luò)通信量大時有效,。優(yōu)先級是由各節(jié)點發(fā)送RREQ報文的頻度決定的,而計算頻度的過程較為復(fù)雜,,加重了各節(jié)點的負擔,,不適合Ad Hoc網(wǎng)絡(luò)中節(jié)點資源極其有限的特點。
(2)FAP方案中對數(shù)據(jù)報文攻擊采取了發(fā)現(xiàn)攻擊后再進行防御的被動方式,。如果多個入侵節(jié)點同時與網(wǎng)絡(luò)中的多" title="的多">的多個節(jié)點建立了連接,,則會發(fā)送大量的無用報文,實施該策略的代價是很大的,,并且可能無法阻止產(chǎn)生的惡劣后果,。
(3)如果網(wǎng)絡(luò)中有兩個或兩個以上的入侵節(jié)點,則任意兩個入侵節(jié)點之間建立鏈路,,發(fā)送大量的無用報文,占用網(wǎng)絡(luò)資源,,由于合法節(jié)點不能判知洪泛攻擊的存在,,所以FAP方案無法對此進行防御。
3 CSR方案
本文主要關(guān)注節(jié)點間的雙向通信模式,。假設(shè)每個節(jié)點都有一個MAC到IP地址的惟一映射,。源節(jié)點與目的節(jié)點之間使用安全認證" title="安全認證">安全認證機制,比如它們可以通過交換密鑰或初始化時發(fā)放證書等方法驗證雙方的合法性,,確保只有合法的通信節(jié)點才能通過安全通信認證,。但是中間節(jié)點不必參與這一通信建立的安全認證過程。
3.1 CSR方案的實現(xiàn)
在FAP方案的基礎(chǔ)上,,本文提出CSR方案,,在每個合法節(jié)點上建立一張CSR表,CSR表結(jié)構(gòu)如圖4所示,。記錄節(jié)點轉(zhuǎn)發(fā)的RREQ報文并保存當前建立連接的合法通信路由,。
3.2 RREQ數(shù)目表項的維護
當節(jié)點A向節(jié)點B發(fā)送報文時,先洪泛RREQ報文,。每個收到RREQ報文的節(jié)點在自身的CSR中加一個表項,,把其中的源地址、目的地址置為報文中相應(yīng)的項,,同時把新增表項的RREQ數(shù)目一項置為1,。以后每收到一條從A到B的,且序號相同的RREQ報文,,就把RREQ值加1,。網(wǎng)絡(luò)中的所有節(jié)點對收到的RREQ報文進行類似的統(tǒng)計,。例如節(jié)點A發(fā)出的RREQ報文經(jīng)由節(jié)點T和Q到達B,節(jié)點T和Q分別在各自的CSR中增加表項如圖5所示,。
?
3.3 合法性標記表項的維護
目的節(jié)點B收到來自A的RREQ報文(可能多個)后,,按最先到達或路徑最短等原則,選擇一條路由(如A-T-Q-B),,在自身的CSR中加入相應(yīng)的表項,。之后發(fā)送RREP報文,報文里包含源地址A,,目的地址B和序列號s,,并按照B-Q-T-A的路徑回送給A。在RREP到達Q和T時,,Q和T驗證B的合法性,。若為合法節(jié)點,它們分別把自身CSR中相應(yīng)項的合法性標記置為1,;若為非法節(jié)點,,則丟棄該RREP報文。例如,,收到B的RREP報文后,,Q和T修改其上的CSR中相應(yīng)的表項如圖6所示,B 上的該表項同此項,。
節(jié)點在設(shè)某一表項(如從A到B,,序列號為S)的合法標記為1時,首先檢測CSR表,,找到所有從A到B的表項,,把它們的序列號與S進行比較,如果存在序列號大于S的表項,,且其合法標記為1,,則CSR把序列號為S的這一項刪除。如果其他從A到B的表項的序列號都小于S,,則CSR把這一項的合法標記置為1,,并把從A到B,序列號小于S的表項都刪除,。
3.4 CSR表項的刪除
當兩個合法節(jié)點之間的通信完成以后,,由源節(jié)點發(fā)送RANC(Rout Anouncement)通知報文,告訴鏈路中用到的中間節(jié)點,。中間節(jié)點收到RANC報文后,,自動把CSR中相應(yīng)的表項刪除。
如果節(jié)點A和B的通信未結(jié)束就中斷原有鏈路,,則采用新鏈路進行通信,。由于源節(jié)點不發(fā)送RANC報文,,原先鏈路的中間節(jié)點在新鏈路中若未被采用,其保留的節(jié)點A與B之間通信的表項就無法更新及刪除,。但是由于存在3.3節(jié)中的檢測機制,,在A和B之間建立新鏈路的過程中,由于新發(fā)送的RREQ的序列號是最近的,,所以A與B之間原有的,、不再使用的鏈路就會被自動刪除,不會占用CSR表的資源,。
4 CSR方案分析
4.1 CSR抵御洪泛攻擊的原理
現(xiàn)在假設(shè)某節(jié)點的CSR中有n個表項,,其源地址、目的地址和RREQ值分別為Si,、Di,、RVQi,0≤i
另外,,當有報文到某合法節(jié)點要求進行轉(zhuǎn)發(fā)時,,該合法節(jié)點首先查詢自身的CSR,看表中是否有關(guān)于該報文里所涉及的源地址和目的地址的通信條目,,如果有就查看其所對應(yīng)的合法性標記,。若合法性標記為1,判定該通路為合法鏈路,,對數(shù)據(jù)報文進行轉(zhuǎn)發(fā),,否則丟棄。
由于入侵節(jié)點不能通過安全認證,,無法與合法節(jié)點建立路由,。其鄰居節(jié)點的CSR中沒有入侵節(jié)點對應(yīng)的路由表項,所以不會為其轉(zhuǎn)發(fā)報文,,從而達到了抵御數(shù)據(jù)報文洪泛攻擊的目的,。
4.2 CSR方案的正確性分析
(1)各節(jié)點利用CSR表中的RREQ數(shù)目表項來記錄相鄰節(jié)點發(fā)送的RREQ報文數(shù),,采用定期統(tǒng)計CSR表中每個節(jié)點的RREQ數(shù)目值的方式可以有效及時地判定是否有節(jié)點發(fā)起RREQ報文攻擊。
(2)CSR方案通過各節(jié)點實時登記正在通信的合法鏈路的方式,,從根源上杜絕了合法節(jié)點為入侵節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)報文的可能,。
4.3 CSR方案與FAP方案的對比
(1)CSR方案解決了FAP方案無法解決的多個入侵節(jié)點配合攻擊的問題。
(2)CSR方案的算法簡單,,其動態(tài)建立和動態(tài)刪除機制不會給移動Ad Hoc網(wǎng)絡(luò)中的節(jié)點引入太大的工作量,。
(3)CSR方案計算簡單有效,用于通信量較均衡的,、安全系數(shù)不高的網(wǎng)絡(luò),,如對于多臺移動主機臨時組建的會議局域網(wǎng),有更高的有效性和準確度,。
本文針對用于反應(yīng)式路由中的洪泛攻擊,,提出了一種簡單的CSR方案。該方案以很小的代價就能有效地抵御這種攻擊,,克服了FAP方案的漏洞,,且計算量小,用于通信量較均衡,、安全系數(shù)不高的局域網(wǎng)時,,有較大的優(yōu)勢。
參考文獻
1 Hu Y C,,Johnson D B,,Perring A.Secure efficient distance vector routing in mobile wireless Ad Hoc networks.In:Fourth IEEE workshop on mobile computing systems and applica-tions,2002
2 Papadimitratos P,,Haas Z J.Secure routing for mobile Ad Hoc networks.In:SCS communication networks and distributed systems modeling and simulation conference,,2002
3 Perring A,Szewczyk R,,Wen V et.al.Security protocols for sense network.In:Seventh annual ACM international confer-ence on mobile computing and networks,,2001
4 Zapata M G,Asokan N.Securing Ad Hoc routing protocols.In:Proceedings of the ACM workshop on wireless security,, 2002
5 Yi P,,Dai Z L,Zhong Y P et al.Resisting flooding attacks in Ad Hoc networks.In:Proceedings of international confer-ence on information technology:coding and computing,,2005