王 群,趙廣松,許 博
(1.浙江樹(shù)人大學(xué)現(xiàn)代教育技術(shù)中心,杭州310015;2.解放軍理工大學(xué)指揮信息系統(tǒng)學(xué)院,南京210007)
基于攻擊特征的DTN黑洞節(jié)點(diǎn)檢測(cè)機(jī)制
王 群1,趙廣松2,許 博2
(1.浙江樹(shù)人大學(xué)現(xiàn)代教育技術(shù)中心,杭州310015;2.解放軍理工大學(xué)指揮信息系統(tǒng)學(xué)院,南京210007)
物聯(lián)網(wǎng)中的時(shí)延容忍網(wǎng)絡(luò)(DTN)采用存儲(chǔ)-搬運(yùn)-轉(zhuǎn)發(fā)的路由方式,節(jié)點(diǎn)之間的合作程度直接影響DTN網(wǎng)絡(luò)的性能,而DTN節(jié)點(diǎn)的惡意行為嚴(yán)重影響了節(jié)點(diǎn)間的配合,其中黑洞攻擊是典型的一種惡意行為。為有效檢測(cè)和遏制節(jié)點(diǎn)的黑洞攻擊,提出一種基于黑洞攻擊特征的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制AFD-Prophet。該檢測(cè)機(jī)制可提取出黑洞攻擊的3個(gè)本質(zhì)性特征:虛假的高轉(zhuǎn)發(fā)能力,消息數(shù)目的不平衡性和高丟包率。在上述特征的基礎(chǔ)上,采用本地投票和節(jié)點(diǎn)間聯(lián)合檢測(cè)方式確定某個(gè)節(jié)點(diǎn)為黑洞節(jié)點(diǎn)的概率。仿真實(shí)驗(yàn)結(jié)果表明,與基于信譽(yù)的檢測(cè)機(jī)制T-Prophet相比,該檢測(cè)機(jī)制在保證不增加遞交時(shí)延的前提下,能有效提高消息的遞交率。
時(shí)延容忍網(wǎng)絡(luò);黑洞節(jié)點(diǎn);攻擊特征;丟包率;遞交率;遞交時(shí)延
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,無(wú)線節(jié)點(diǎn)的數(shù)目和類型越來(lái)越多。由于這些節(jié)點(diǎn)具有一定的移動(dòng)性(車載節(jié)點(diǎn)或手持終端等)和它們的無(wú)線通信范圍有限,這些無(wú)線節(jié)點(diǎn)之間的連接經(jīng)常會(huì)發(fā)生中斷,甚至在某個(gè)時(shí)刻缺乏完整的端到端連接。而時(shí)延容忍網(wǎng)絡(luò)(DelAy tolerAnt network,DTN)[1-2]作為一種新型的網(wǎng)絡(luò)架構(gòu),可以有效地支持這種環(huán)境下的通信。為了有效地克服端到端連接頻繁中斷的問(wèn)題,DTN采用了存儲(chǔ)-搬運(yùn)-轉(zhuǎn)發(fā)的路由方式來(lái)實(shí)現(xiàn)消息的遞交,即DTN節(jié)點(diǎn)充當(dāng)消息的搬運(yùn)者,將消息存儲(chǔ)在自身緩存中,當(dāng)遇到與目的節(jié)點(diǎn)相遇概率更高的節(jié)點(diǎn)時(shí),它便將消息轉(zhuǎn)交給該節(jié)點(diǎn)來(lái)提高該消息被遞交的概率。然后,不斷重復(fù)以上過(guò)程,直到該消息被成功遞交給目的節(jié)點(diǎn)。近幾年來(lái),DTN的路由算法一直是研究的熱點(diǎn),涌現(xiàn)了大量的路由算法,如Epidemic[3],PROPHET[4], Spray and Wait[5]和RAPID[6]等。
自從DTN概念被提出之后,很多基于DTN的物聯(lián)網(wǎng)應(yīng)用也不斷出現(xiàn),例如PeoplesNet[7]和Pocket Switched Network[8]等。特別是隨著各種智能終端(蜂窩手機(jī)、PDA或者便攜機(jī))的出現(xiàn),這些智能終端之間可以利用各自的藍(lán)牙或WIFI等短距離通信接口實(shí)現(xiàn)消息的轉(zhuǎn)發(fā),因此它們構(gòu)成了典型的時(shí)延容忍網(wǎng)絡(luò)。但是在實(shí)際當(dāng)中,由于這些智能終端(DTN節(jié)點(diǎn))通常是由人控制的,并且這些節(jié)點(diǎn)的資源有限(電量、存儲(chǔ)空間等十分有限),它們很可能會(huì)表現(xiàn)出一定的自私性[9]或者惡意性。當(dāng)某個(gè)DTN節(jié)點(diǎn)接收到其他節(jié)點(diǎn)轉(zhuǎn)發(fā)過(guò)來(lái)的消息時(shí),它可能不會(huì)誠(chéng)實(shí)地幫助其他節(jié)點(diǎn)存儲(chǔ)和轉(zhuǎn)發(fā)消息而是簡(jiǎn)單地丟棄了該消息,從而大大降低了消息的遞交率。這種惡意的攻擊行為就被稱作黑洞攻擊;而這種惡意節(jié)點(diǎn)被稱為黑洞節(jié)點(diǎn)。
能否有效地檢測(cè)和隔離這些惡意節(jié)點(diǎn)直接影響著DTN網(wǎng)絡(luò)的性能。雖然在傳統(tǒng)MANET當(dāng)中,針對(duì)黑洞攻擊的檢測(cè)方法很多。但是由于DTN節(jié)點(diǎn)之間的連接頻繁中斷和節(jié)點(diǎn)的高度移動(dòng)性,源節(jié)點(diǎn)無(wú)法及時(shí)接收到目的節(jié)點(diǎn)的反饋。因此,即使消息被中繼節(jié)點(diǎn)惡意丟棄,源節(jié)點(diǎn)也不清楚消息是否已經(jīng)送達(dá)以及消息被哪個(gè)中繼節(jié)點(diǎn)丟棄。這也使得適用于傳統(tǒng)MANET的攻擊檢測(cè)方法無(wú)法應(yīng)用到DTN中。因此,如何有效地檢測(cè)和隔離這些惡意DTN節(jié)點(diǎn)變得更加復(fù)雜。
為了有效檢測(cè)黑洞節(jié)點(diǎn),本文提出的一種基于攻擊特征的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制。該機(jī)制從黑洞攻擊的本質(zhì)特征出發(fā),提煉出了該攻擊存在3個(gè)本質(zhì)性特征:虛假的高轉(zhuǎn)發(fā)能力,消息數(shù)目的不平衡性,高丟包率?;谶@些攻擊特征的統(tǒng)計(jì)信息,節(jié)點(diǎn)采用本地投票和節(jié)點(diǎn)間合作檢測(cè)相結(jié)合的方式來(lái)有效地識(shí)別和隔離黑洞節(jié)點(diǎn)。
在DTN中,黑洞攻擊就是指某些惡意DTN節(jié)點(diǎn)向其他節(jié)點(diǎn)通告虛假的轉(zhuǎn)發(fā)能力,從而吸引其他節(jié)點(diǎn)將消息轉(zhuǎn)發(fā)給它們。但在接收到消息之后,這些惡意節(jié)點(diǎn)卻直接將這些消息丟棄或部分進(jìn)行丟棄。DTN黑洞攻擊的過(guò)程如圖1所示。
圖1 DTN節(jié)點(diǎn)的黑洞攻擊過(guò)程
有效加強(qiáng)DTN節(jié)點(diǎn)間的安全性合作是DTN研究領(lǐng)域的一個(gè)挑戰(zhàn),并且出現(xiàn)了許多相關(guān)工作。對(duì)于DTN來(lái)說(shuō),最主要的一個(gè)威脅就是節(jié)點(diǎn)的黑洞攻擊。為了有效地檢測(cè)和遏制DTN中黑洞節(jié)點(diǎn),當(dāng)前的主要方法可以分為3類:(1)基于信譽(yù)機(jī)制; (2)基于推薦機(jī)制;(3)基于多副本機(jī)制。
2.1 基于信譽(yù)的機(jī)制
在基于信譽(yù)的機(jī)制中,每個(gè)節(jié)點(diǎn)通過(guò)觀察其他節(jié)點(diǎn)的行為,然后給每個(gè)節(jié)點(diǎn)賦予一個(gè)信譽(yù)值來(lái)表示這些節(jié)點(diǎn)各自行為的好壞程度。在消息的分發(fā)過(guò)程中,依據(jù)節(jié)點(diǎn)信譽(yù)值的高低來(lái)選擇轉(zhuǎn)發(fā)節(jié)點(diǎn):信譽(yù)值越低,該節(jié)點(diǎn)被選為轉(zhuǎn)發(fā)節(jié)點(diǎn)的概率也就越低,從而降低將消息轉(zhuǎn)發(fā)給惡意節(jié)點(diǎn)的概率。
文獻(xiàn)[10]提出了基于安全信譽(yù)的動(dòng)態(tài)窗口機(jī)制SRed。它的基本思想就是當(dāng)節(jié)點(diǎn)A想要計(jì)算節(jié)點(diǎn)B的信譽(yù)值時(shí),它會(huì)詢問(wèn)自己的鄰居節(jié)點(diǎn)(節(jié)點(diǎn)B除外)對(duì)B的評(píng)價(jià),然后節(jié)點(diǎn)A將自身對(duì)B的評(píng)價(jià)和其他節(jié)點(diǎn)的評(píng)價(jià)進(jìn)行求和。節(jié)點(diǎn)的信譽(yù)值在所有節(jié)點(diǎn)之間進(jìn)行共享。但是SRed協(xié)議的缺點(diǎn)在于它需要依賴于這樣的假設(shè):每個(gè)節(jié)點(diǎn)由一個(gè)可信硬件。如果缺乏這種硬件,節(jié)點(diǎn)可以向其他節(jié)點(diǎn)發(fā)出虛假的信譽(yù),從而導(dǎo)致該檢測(cè)機(jī)制出現(xiàn)失敗。
文獻(xiàn)[11]提出了基于信譽(yù)的轉(zhuǎn)發(fā)機(jī)制 TProPHET。每個(gè)節(jié)點(diǎn)將消息轉(zhuǎn)發(fā)給具有更高信譽(yù)的節(jié)點(diǎn)。一旦接收到某個(gè)消息后,目的節(jié)點(diǎn)就構(gòu)造一個(gè)反饋消息(包含了所有中繼節(jié)點(diǎn)信息),然后通過(guò)epidemic機(jī)制將反饋消息傳播給發(fā)送節(jié)點(diǎn)。當(dāng)發(fā)送節(jié)點(diǎn)接收到該反饋消息后,發(fā)送節(jié)點(diǎn)更新所有中繼節(jié)點(diǎn)的信譽(yù)。與該思想類似,GiAnlucA[12]使用了目的節(jié)點(diǎn)確認(rèn)、節(jié)點(diǎn)列表和信譽(yù)值老化這3個(gè)基本機(jī)制來(lái)消除黑洞攻擊,并將該機(jī)制應(yīng)用到CAR路由協(xié)議中,取得了比T-ProPHET更好的性能。這2個(gè)檢測(cè)機(jī)制的缺點(diǎn)就是需要依賴于接收端的反饋信息。而這對(duì)于傳輸時(shí)延很大的DTN來(lái)說(shuō),反饋消息很難及時(shí)被源節(jié)點(diǎn)接收到,使得這些檢測(cè)機(jī)制難以及時(shí)對(duì)黑洞攻擊做出反應(yīng)。
2.2 基于推薦的機(jī)制
在基于推薦的機(jī)制中,當(dāng)節(jié)點(diǎn)A想要為B轉(zhuǎn)發(fā)消息時(shí),A會(huì)發(fā)送給B一個(gè)關(guān)于自己的推薦,用來(lái)表明節(jié)點(diǎn)A曾合作進(jìn)行過(guò)報(bào)文轉(zhuǎn)發(fā)。根據(jù)對(duì)節(jié)點(diǎn)A的推薦信息,節(jié)點(diǎn)B決定是否轉(zhuǎn)發(fā)消息給該節(jié)點(diǎn),避免了將消息轉(zhuǎn)發(fā)給黑洞節(jié)點(diǎn)。
文獻(xiàn)[13]使用接觸票(encounter ticket)的概念來(lái)證實(shí)節(jié)點(diǎn)間的接觸。當(dāng)2個(gè)節(jié)點(diǎn)相接觸時(shí),它們產(chǎn)生一個(gè)帶有時(shí)間戳的接觸票。基于一個(gè)共同信任的PKI,這2個(gè)節(jié)點(diǎn)用它們各自的私鑰對(duì)該接觸票進(jìn)行簽名。當(dāng)某個(gè)節(jié)點(diǎn)向其他節(jié)點(diǎn)通告它的歷史接觸信息時(shí),它需要提供相應(yīng)的接觸票信息,從而保證該節(jié)點(diǎn)提供的歷史接觸信息是真實(shí)的,而不是偽造的。文獻(xiàn)[14]提出了基于消息交換記錄的概念來(lái)檢測(cè)黑洞節(jié)點(diǎn)。當(dāng)2個(gè)節(jié)點(diǎn)相接觸時(shí),它們交換各自的歷史記錄(包含了所有的它們?cè)佑|過(guò)的節(jié)點(diǎn))。通過(guò)比較自身的記錄與其他節(jié)點(diǎn)的記錄,從而確定其他節(jié)點(diǎn)是否轉(zhuǎn)發(fā)了所有消息。但是缺點(diǎn)在于這個(gè)機(jī)制需要節(jié)點(diǎn)間交互大量信息,當(dāng)節(jié)點(diǎn)間接觸時(shí)間太短時(shí),該機(jī)制難以有效工作。
隨后,研究者又提出了一種改進(jìn)的機(jī)制,他們使用一個(gè)特殊的擺渡節(jié)點(diǎn)來(lái)進(jìn)行歷史記錄的核對(duì)。通過(guò)讓擺渡節(jié)點(diǎn)周期性地訪問(wèn)所有普通節(jié)點(diǎn)來(lái)獲取它們的歷史記錄。如果某個(gè)節(jié)點(diǎn)的歷史記錄包含了其他節(jié)點(diǎn)的歷史記錄并未包含的消息,那么就說(shuō)明了該節(jié)點(diǎn)并未將該消息遞交給其他節(jié)點(diǎn),擺渡節(jié)點(diǎn)就會(huì)將該節(jié)點(diǎn)識(shí)別為黑洞節(jié)點(diǎn)。雖然該機(jī)制非常有效,但是該機(jī)制引進(jìn)了擺渡節(jié)點(diǎn),存在單點(diǎn)失效問(wèn)題。一旦攻擊者控制了擺渡節(jié)點(diǎn),那么整個(gè)檢測(cè)機(jī)制就失效了。
2.3 基于多副本的機(jī)制
為了盡量降低惡意節(jié)點(diǎn)的黑洞攻擊效果,DTN源節(jié)點(diǎn)通過(guò)復(fù)制機(jī)制發(fā)送多個(gè)報(bào)文副本來(lái)降低黑洞攻擊的效果。即使某幾個(gè)消息副本被惡意節(jié)點(diǎn)丟棄,但仍然會(huì)有某些消息副本會(huì)通過(guò)其他路徑被遞交給目的節(jié)點(diǎn),從而改善網(wǎng)絡(luò)的遞交率。基于這個(gè)思想,文獻(xiàn)[15]提出了一種基于當(dāng)前遞交率的動(dòng)態(tài)復(fù)制機(jī)制,即目的節(jié)點(diǎn)測(cè)量數(shù)據(jù)流的遞交率,然后將測(cè)量結(jié)果回饋給源節(jié)點(diǎn)?;诋?dāng)前的遞交率,源節(jié)點(diǎn)動(dòng)態(tài)調(diào)整報(bào)文的副本數(shù)目。該機(jī)制的主要缺點(diǎn)在于它引進(jìn)了大量的消息副本,對(duì)于資源受限的DTN網(wǎng)絡(luò),很大程度上浪費(fèi)了節(jié)點(diǎn)資源(即節(jié)點(diǎn)的電量和存儲(chǔ)空間)。
基于上述相關(guān)工作的缺陷,本文提出的基于攻擊特征的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制采用節(jié)點(diǎn)之間合作性檢測(cè)手段,因此不存在上述機(jī)制的單點(diǎn)失效問(wèn)題;在基于攻擊特征的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制中,節(jié)點(diǎn)主要通過(guò)與鄰居節(jié)點(diǎn)之間的接觸來(lái)獲取統(tǒng)計(jì)信息,因此并不依賴源和目的節(jié)點(diǎn)之間的回路反饋信息來(lái)進(jìn)行惡意節(jié)點(diǎn)的檢測(cè),提高了檢測(cè)的及時(shí)性。基于攻擊特征的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制的最重要的優(yōu)點(diǎn)在與,它是從黑洞攻擊的本質(zhì)特征出發(fā)來(lái)設(shè)計(jì)檢測(cè)機(jī)制,可以有效地降低檢測(cè)的錯(cuò)誤率。下面詳細(xì)講解基于攻擊特征的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制的設(shè)計(jì)。
3.1 基本檢測(cè)原理
本文考慮在PROPHET路由算法下黑洞攻擊行為的檢測(cè)。對(duì)于其他路由算法來(lái)說(shuō),檢測(cè)原理是類似的。通常來(lái)說(shuō),一個(gè)黑洞節(jié)點(diǎn)A在與其他節(jié)點(diǎn)B交互時(shí),會(huì)表現(xiàn)出下面的攻擊特征:
(1)通告虛假的轉(zhuǎn)發(fā)能力
(2)消息數(shù)目的不平衡性
由于節(jié)點(diǎn)A是BlAckhole節(jié)點(diǎn),它會(huì)故意丟棄掉其他節(jié)點(diǎn)轉(zhuǎn)發(fā)給它的消息。因此,這個(gè)行為就表現(xiàn)為,在A與B交互的過(guò)程中,普通節(jié)點(diǎn)B會(huì)更多地向A轉(zhuǎn)發(fā)消息,而A卻很少轉(zhuǎn)發(fā)消息給B。這就造成了消息數(shù)目的對(duì)稱性,即nB→A/nA→B比值較大,其中nA→B表示A轉(zhuǎn)發(fā)給B的消息數(shù)目(不包含目的地址為B的消息),nB→A表示B轉(zhuǎn)發(fā)給A的消息數(shù)目(不包含目的地址為A的消息)。
但是對(duì)于一個(gè)轉(zhuǎn)發(fā)能力很強(qiáng)的普通節(jié)點(diǎn)來(lái)說(shuō),由于自身的轉(zhuǎn)發(fā)能力很強(qiáng),也會(huì)出現(xiàn)上面2個(gè)現(xiàn)象。即該節(jié)點(diǎn)的轉(zhuǎn)發(fā)能力遠(yuǎn)遠(yuǎn)大于其他節(jié)點(diǎn),而其他節(jié)點(diǎn)更愿意將消息轉(zhuǎn)發(fā)給轉(zhuǎn)發(fā)能力較強(qiáng)的節(jié)點(diǎn)。因此,僅僅依賴上面2個(gè)特征來(lái)檢測(cè)黑洞節(jié)點(diǎn),會(huì)出現(xiàn)很高的假陽(yáng)性,即容易將轉(zhuǎn)發(fā)能力很強(qiáng)的普通節(jié)點(diǎn)誤判為黑洞節(jié)點(diǎn)。因此,本文在上面的2個(gè)檢測(cè)特征基礎(chǔ)之上,增加一個(gè)丟包率的特征。即對(duì)于一個(gè)正常的普通節(jié)點(diǎn)來(lái)說(shuō),它作為轉(zhuǎn)發(fā)節(jié)點(diǎn)接收到的所有消息數(shù)目應(yīng)該與它轉(zhuǎn)發(fā)給其他節(jié)點(diǎn)的所有消息數(shù)目幾乎相等,不會(huì)出現(xiàn)大量丟包的情況,它的丟包率應(yīng)該與網(wǎng)絡(luò)中其他節(jié)點(diǎn)的丟包率接近。但對(duì)于黑洞節(jié)點(diǎn)來(lái)說(shuō),由于它會(huì)惡意丟棄數(shù)據(jù)包,這使得它的丟包率遠(yuǎn)遠(yuǎn)高于其他節(jié)點(diǎn)的丟包率。因此,從丟包率出發(fā),黑洞節(jié)點(diǎn)具有第3個(gè)攻擊特征:較高的丟包率。
(3)高丟包率
節(jié)點(diǎn)A的丟包率可表示為:
本文設(shè)計(jì)的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制可以分為以下4個(gè)步驟,如圖2所示。
圖2 黑洞節(jié)點(diǎn)檢測(cè)步驟
(2)本地檢測(cè):然后節(jié)點(diǎn)B將節(jié)點(diǎn)A的描述信息與它的其他鄰居節(jié)點(diǎn)進(jìn)行對(duì)比,采用投票機(jī)制給出節(jié)點(diǎn)A為黑洞節(jié)點(diǎn)的本地懷疑概率;
(3)合作性檢測(cè):通過(guò)節(jié)點(diǎn)之間相互共享節(jié)點(diǎn)A為黑洞節(jié)點(diǎn)的懷疑概率,節(jié)點(diǎn)B確定節(jié)點(diǎn)A為黑洞節(jié)點(diǎn)的全局懷疑概率;
(4)節(jié)點(diǎn)響應(yīng):基于這個(gè)全局懷疑概率,節(jié)點(diǎn)B做出相應(yīng)的動(dòng)作,即隔離惡意節(jié)點(diǎn)或解除隔離。當(dāng)懷疑概率低于某個(gè)閾值時(shí),節(jié)點(diǎn)B以一定的概率將消息轉(zhuǎn)發(fā)給節(jié)點(diǎn)A;一旦懷疑概率大于某個(gè)閾值時(shí),則節(jié)點(diǎn)B不再與節(jié)點(diǎn)A進(jìn)行交互,從而完全隔離惡意節(jié)點(diǎn)A。
3.2 節(jié)點(diǎn)的本地?cái)?shù)據(jù)維護(hù)
為了有效地收集和統(tǒng)計(jì)鄰居節(jié)點(diǎn)的相關(guān)信息,每個(gè)節(jié)點(diǎn)i需要維護(hù)一張轉(zhuǎn)發(fā)能力表和一張消息轉(zhuǎn)發(fā)數(shù)目表。
在節(jié)點(diǎn)i所維護(hù)的轉(zhuǎn)發(fā)能力表中,每個(gè)表項(xiàng)記錄著它的每個(gè)鄰居節(jié)點(diǎn)所通告的轉(zhuǎn)發(fā)能力,即該鄰居節(jié)點(diǎn)與其他節(jié)點(diǎn)相遇的概率。每當(dāng)節(jié)點(diǎn)i與它的鄰居節(jié)點(diǎn)j相接觸時(shí),節(jié)點(diǎn)i都要更新轉(zhuǎn)發(fā)能力表中對(duì)應(yīng)的表項(xiàng)pjk(k∈N,其中,N為節(jié)點(diǎn)集合)。轉(zhuǎn)發(fā)能力表的格式如表1所示。
表1 轉(zhuǎn)發(fā)能力表
在節(jié)點(diǎn)i所維護(hù)的消息轉(zhuǎn)發(fā)數(shù)目表中,每個(gè)表項(xiàng)為一個(gè)3元組:<j,ni→j,nj→i>,記錄著節(jié)點(diǎn)i與它的某個(gè)鄰居節(jié)點(diǎn)j之間相互轉(zhuǎn)發(fā)消息的總數(shù)目。同樣,每當(dāng)節(jié)點(diǎn)i與它的每個(gè)鄰居節(jié)點(diǎn)j相接觸時(shí),節(jié)點(diǎn)i應(yīng)該對(duì)消息轉(zhuǎn)發(fā)數(shù)目表對(duì)應(yīng)的表項(xiàng)進(jìn)行更新。
3.3 節(jié)點(diǎn)的交互過(guò)程
在本文所設(shè)計(jì)的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制中,每個(gè)節(jié)點(diǎn)i需要被分配一個(gè)公私鑰對(duì)<Si,Gi>,其中,Si為節(jié)點(diǎn)i的私鑰;Gi為節(jié)點(diǎn)i的公鑰;并且每個(gè)節(jié)點(diǎn)都可以獲取到其他所有節(jié)點(diǎn)的公鑰。
當(dāng)2個(gè)節(jié)點(diǎn)A和B相接觸時(shí),這里僅僅描述節(jié)點(diǎn)B的行為,而節(jié)點(diǎn)A具有與B相同的行為。
(1)當(dāng)節(jié)點(diǎn)A和B相接觸時(shí),節(jié)點(diǎn)A向B宣稱自己與其他節(jié)點(diǎn)的接觸概率。然后節(jié)點(diǎn)B根據(jù)PROPHET路由算法,將自身緩存中對(duì)應(yīng)的數(shù)據(jù)包轉(zhuǎn)發(fā)給A(即滿足A與目的節(jié)點(diǎn)i相遇概率pAi大于B與i相遇概率pBi的數(shù)據(jù)包)。
(2)然后節(jié)點(diǎn)B將A所宣稱的它與目的節(jié)點(diǎn)i的接觸概率pAi記錄在它所維護(hù)的轉(zhuǎn)發(fā)能力表中;同時(shí)節(jié)點(diǎn)B也對(duì)它所維護(hù)的消息轉(zhuǎn)發(fā)數(shù)目表中對(duì)應(yīng)的表項(xiàng)進(jìn)行更新,即:<A,nA→B,nB→A>→<A,nA→B+cA→B,nB→A+cB→A>,其中,cB→A為此次接觸過(guò)程中B向A轉(zhuǎn)發(fā)的消息數(shù)目;cA→B為此次接觸過(guò)程中A向B轉(zhuǎn)發(fā)的消息數(shù)目。
3.4 惡意節(jié)點(diǎn)的檢測(cè)過(guò)程
本地檢測(cè):當(dāng)節(jié)點(diǎn)A與B相接觸時(shí),節(jié)點(diǎn)B需要本地檢測(cè)鄰居節(jié)點(diǎn)A是否為黑洞節(jié)點(diǎn)。首先節(jié)點(diǎn)B從節(jié)點(diǎn)A那里獲取到A的所有鄰居節(jié)點(diǎn)對(duì)A的行為描述(節(jié)點(diǎn)A保存著它所有鄰居節(jié)點(diǎn)對(duì)它的行為描述,見(jiàn)第3.3節(jié));然后節(jié)點(diǎn)B將A的行為描述與B的其他鄰居節(jié)點(diǎn)的行為描述進(jìn)行對(duì)比,從而形成投票結(jié)果,最終得出節(jié)點(diǎn)A為黑洞節(jié)點(diǎn)的懷疑程度。
(2)節(jié)點(diǎn)B根據(jù)自己維護(hù)的消息轉(zhuǎn)發(fā)數(shù)目表,可以計(jì)算出它與節(jié)點(diǎn)A之間互換消息的對(duì)稱性:nB→A/nA→B。
合作性檢測(cè):通過(guò)節(jié)點(diǎn)之間的相互接觸和通告,節(jié)點(diǎn)B可以進(jìn)一步獲取到節(jié)點(diǎn)A的鄰居節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)A的本地懷疑概率,然后B可以計(jì)算出對(duì)A的全局懷疑概率:
其中,RBi為節(jié)點(diǎn)B對(duì)i的信任度;hAi為節(jié)點(diǎn)i對(duì)A的本地懷疑概率;Neig(A)為節(jié)點(diǎn)A的鄰居節(jié)點(diǎn)集合。由于本文不考慮惡意節(jié)點(diǎn)的合謀攻擊,節(jié)點(diǎn)B對(duì)節(jié)點(diǎn)i的信任度為1。
節(jié)點(diǎn)響應(yīng):節(jié)點(diǎn)B在獲取到A的全局懷疑概率后,將其與預(yù)定的閾值Threshold進(jìn)行比較。若HAB≥Threshold,那么節(jié)點(diǎn)B不再轉(zhuǎn)發(fā)任何消息給節(jié)點(diǎn)A,從而達(dá)到隔離黑洞節(jié)點(diǎn)的目的;若HAB<Threshold,節(jié)點(diǎn)B將以HAB的概率轉(zhuǎn)發(fā)消息給節(jié)點(diǎn)A,從而降低轉(zhuǎn)發(fā)消息給惡意節(jié)點(diǎn)的概率。
本文將基于攻擊特征的黑洞節(jié)點(diǎn)檢測(cè)機(jī)制與Prophet協(xié)議進(jìn)行結(jié)合,形成了基于攻擊特征檢測(cè)的PROHPET路由協(xié)議AFD-Prophet(Prophet protocol BAsed on AttAck FeAtures Detection)。為了驗(yàn)證AFD-Prophet機(jī)制對(duì)黑洞節(jié)點(diǎn)檢測(cè)和隔離的有效性,本節(jié)將AFD-Prophet協(xié)議與原始的Prophet協(xié)議以及基于信譽(yù)的檢測(cè)機(jī)制T-Prophet進(jìn)行性能對(duì)比。
本文分別采用了基于仿真平臺(tái)的仿真和基于真實(shí)trAce數(shù)據(jù)集仿真這2種方式對(duì)AFD-Prophet機(jī)制的性能進(jìn)行對(duì)比和驗(yàn)證。仿真實(shí)驗(yàn)主要考察了在Prophet、T-Prophet和AFD-Prophet協(xié)議下DTN網(wǎng)絡(luò)的消息遞交率和平均遞交時(shí)延。
4.1 基于ONE的仿真
本文采用赫爾辛基科技大學(xué)開(kāi)發(fā)的離散事件模擬器ONE(Opportunistic Network Environment simulator)[16]作為仿真平臺(tái)。在仿真實(shí)驗(yàn)中,將正常節(jié)點(diǎn)的數(shù)目設(shè)置為20個(gè),然后做2組實(shí)驗(yàn):(1)黑洞節(jié)點(diǎn)的數(shù)目固定為6個(gè),而節(jié)點(diǎn)的活動(dòng)范圍為1 km×1 km,2 km× 2 km和3 km×3 km;(2)保持節(jié)點(diǎn)的活動(dòng)范圍為1 km×1 km不變,而黑洞節(jié)點(diǎn)的數(shù)目分別取2,6,10和14個(gè)。每個(gè)節(jié)點(diǎn)的通信接口的覆蓋范圍為25 m,移動(dòng)速度為[0,5 m/s]。每個(gè)節(jié)點(diǎn)每秒產(chǎn)生一個(gè)消息,并且每個(gè)節(jié)點(diǎn)的緩存可以容納1 000個(gè)消息。檢測(cè)閾值Threshold默認(rèn)值為0.7。仿真場(chǎng)景如圖3所示。
圖3 黑洞節(jié)點(diǎn)檢測(cè)的仿真場(chǎng)景
(1)遞交率
從圖4(a)可以看到,在存在黑洞攻擊情況下,原始的Prophet協(xié)議的遞交率僅為10%~30%,其性能受到了很大影響,說(shuō)明了黑洞攻擊對(duì)DTN網(wǎng)絡(luò)性能的危害很大。
如圖4(a)所示,隨著網(wǎng)絡(luò)覆蓋范圍的增大,消息的遞交率不斷降低。原因在于網(wǎng)絡(luò)范圍的增大使得節(jié)點(diǎn)相互接觸的概率很小。這使得消息難以有效地被遞交給目的節(jié)點(diǎn),因此節(jié)點(diǎn)的緩存很容易溢出。這造成了在各種路由協(xié)議下,消息的遞交率很低。但可以看到,在本文提出的AFD-Prophet下消息的遞交率明顯高于普通的Prophet協(xié)議和T-Prophet協(xié)議,即比普通的Prophet協(xié)議與T-Prophet協(xié)議分別高40%和20%左右。
如圖4(b)所示,隨著黑洞節(jié)點(diǎn)數(shù)目的增加,每個(gè)路由協(xié)議下的消息遞交率都不斷下降,這說(shuō)明了黑洞節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)性能的影響是巨大的。但同樣可以看到,本文提出的AFD-Prophet可以取得最高的遞交率。也表明了本文設(shè)計(jì)的AFD-Prophet可以更好地降低黑洞攻擊的效果。
圖4 黑洞節(jié)點(diǎn)數(shù)和覆蓋范圍對(duì)遞交率的影響
(2)遞交時(shí)延
如圖5(a)所示,隨著網(wǎng)絡(luò)覆蓋范圍的增大,節(jié)點(diǎn)相互接觸的概率很小。這使得消息的遞交時(shí)延也不斷增大。雖然AFD-Prophet和T-Prophet協(xié)議的消息遞交率比原始的Prophet提高很多,但是它們的平均時(shí)延增加了。原因在于,在AFD-Prophet和TProphet協(xié)議下,節(jié)點(diǎn)不再把消息轉(zhuǎn)發(fā)給惡意節(jié)點(diǎn),而只能依靠正常節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),這在很大程度上增大了消息的遞交時(shí)延。同樣隨著黑洞節(jié)點(diǎn)數(shù)目的增加,每個(gè)路由協(xié)議下的平均遞交時(shí)延都不斷增大。惡意節(jié)點(diǎn)數(shù)目的增大,使得正常節(jié)點(diǎn)的密度急劇下降。因此,節(jié)點(diǎn)在轉(zhuǎn)發(fā)消息時(shí),很難找到正常的中繼節(jié)點(diǎn),增大了消息的遞交時(shí)延,如圖5(b)所示。
圖5 黑洞節(jié)點(diǎn)數(shù)和覆蓋范圍對(duì)遞交時(shí)延的影響
可見(jiàn),本文提出的AFD-Prophet協(xié)議的遞交時(shí)延與T-Prophet協(xié)議差別不大。原因在于它們都是通過(guò)降低給惡意節(jié)點(diǎn)轉(zhuǎn)發(fā)消息的概率來(lái)遏制惡意攻擊。這使得很多消息需要經(jīng)過(guò)非最優(yōu)路徑進(jìn)行轉(zhuǎn)發(fā),增加了消息的遞交時(shí)延。
(3)檢測(cè)閾值對(duì)遞交率的影響
當(dāng)節(jié)點(diǎn)B在獲取到A的全局懷疑概率HAB后,將其與預(yù)定的閾值Threshold進(jìn)行比較。若HAB≥Threshold,那么節(jié)點(diǎn)B不再轉(zhuǎn)發(fā)任何消息給節(jié)點(diǎn)A,從而達(dá)到隔離節(jié)點(diǎn)A的目的;若HAB<Threshold,節(jié)點(diǎn)B將以HAB的概率轉(zhuǎn)發(fā)消息給節(jié)點(diǎn)A,從而降低轉(zhuǎn)發(fā)消息給B的概率。因此檢測(cè)閾值Threshold的大小直接影響著檢測(cè)準(zhǔn)確率和網(wǎng)絡(luò)性能。
將黑洞節(jié)點(diǎn)的數(shù)目固定為6個(gè)。Threshold分別取0.5,0.6,0.7和0.8。從圖6(a)和圖6(b)可以看到Threshold越大,消息的遞交率就越小,但遞交時(shí)延卻也變得越大。原因在于閾值過(guò)大,檢測(cè)機(jī)制不容易檢測(cè)出部分惡意節(jié)點(diǎn),而普通節(jié)點(diǎn)會(huì)繼續(xù)將消息轉(zhuǎn)發(fā)給惡意節(jié)點(diǎn),使得這些消息被丟棄而造成了遞交率的下降;但是閾值太小,又容易將很多普通節(jié)點(diǎn)判斷為惡意節(jié)點(diǎn),使得很多普通節(jié)點(diǎn)無(wú)法承擔(dān)消息轉(zhuǎn)發(fā)者的任務(wù),這大大降低了消息被快速遞交的概率,造成了消息的遞交時(shí)延明顯加大。因此,如何確定懷疑閾值是遞交率和遞交時(shí)延之間的權(quán)衡。
圖6 檢測(cè)閾值對(duì)遞交率的影響
4.2 基于真實(shí)TrAce的仿真
采用MIT ReAlity TrAce數(shù)據(jù)集[17],在Matlab平臺(tái)上進(jìn)行基于事件驅(qū)動(dòng)的仿真。在MIT數(shù)據(jù)集中,97個(gè)NokiA 6600手機(jī)終端被分發(fā)給MIT的學(xué)生和教員,數(shù)據(jù)采集時(shí)間長(zhǎng)達(dá)9個(gè)月。每當(dāng)2個(gè)手機(jī)終端發(fā)生接觸時(shí),就會(huì)產(chǎn)生一條接觸記錄。該記錄包含了發(fā)生接觸的2個(gè)節(jié)點(diǎn)標(biāo)識(shí)符、接觸發(fā)生時(shí)間。整個(gè)TrAce包含了40萬(wàn)條記錄,包含了95個(gè)節(jié)點(diǎn)的接觸記錄(去除記錄不完整的節(jié)點(diǎn))。
在仿真過(guò)程中,每個(gè)結(jié)點(diǎn)向網(wǎng)絡(luò)中注入隨機(jī)目的地址的報(bào)文。每個(gè)結(jié)點(diǎn)每隔1天時(shí)間就向網(wǎng)絡(luò)中注入一個(gè)報(bào)文,報(bào)文的長(zhǎng)度均勻分布在區(qū)間[100 KB,200 KB],每個(gè)報(bào)文還附有 TTL值(20天)。每個(gè)結(jié)點(diǎn)的緩存在[2,5]MB區(qū)間均勻分布。隨意指定8個(gè)節(jié)點(diǎn)為黑洞節(jié)點(diǎn)。
(1)遞交率
圖7顯示了不同路由協(xié)議下遞交率的大小??梢钥吹紸FD-Prophet協(xié)議的遞交率都明顯高于原始的Prophet和T-Prophet。但隨著閾值Threshold的提高,AFD-Prophet的遞交率逐漸下降。因?yàn)閷?duì)惡意節(jié)點(diǎn)檢測(cè)標(biāo)準(zhǔn)的放寬,會(huì)導(dǎo)致某些惡意節(jié)點(diǎn)難以被檢測(cè)出來(lái)。這與ONE仿真結(jié)果類似。
圖7 不同路由協(xié)議的遞交率比較
(2)遞交時(shí)延
圖8顯示了不同路由協(xié)議下遞交時(shí)延的大小??梢钥吹紸FD-Prophet協(xié)議的遞交時(shí)延明顯高于原始的 Prophet和 T-Prophet。這是由于在原始的Prophet和T-Prophet下,由于惡意節(jié)點(diǎn)的丟包行為,導(dǎo)致很多數(shù)據(jù)包被丟棄。與到AFD-Prophet協(xié)議相比,它們僅有少量數(shù)據(jù)包被遞交,這造成了被遞交的數(shù)據(jù)包平均遞交時(shí)延不大。但在AFD-Prophet協(xié)議下,它可以避免數(shù)據(jù)包被遞交給惡意節(jié)點(diǎn),更多的數(shù)據(jù)包會(huì)通過(guò)多跳的正常節(jié)點(diǎn)轉(zhuǎn)發(fā),最終到達(dá)目的節(jié)點(diǎn)。通過(guò)多跳正常節(jié)點(diǎn)轉(zhuǎn)發(fā),這使得被遞交的數(shù)據(jù)包平均遞交時(shí)延普遍較大。
同樣,隨著閾值Threshold的提高,AFD-Prophet的遞交時(shí)延也逐漸下降。這是因?yàn)闄z測(cè)閾值的提高相當(dāng)于對(duì)惡意節(jié)點(diǎn)檢測(cè)標(biāo)準(zhǔn)逐漸放寬,這會(huì)導(dǎo)致某些惡意節(jié)點(diǎn)難以被檢測(cè)出來(lái),從而使得大量數(shù)據(jù)包被惡意節(jié)點(diǎn)丟棄。最終導(dǎo)致AFD-Prophet的遞交時(shí)延逐漸下降,與T-Prophet的遞交時(shí)延逐漸靠攏。
圖8 不同路由協(xié)議下的時(shí)延
(3)黑洞節(jié)點(diǎn)的全局懷疑概率隨時(shí)間的變化
本文統(tǒng)計(jì)了4個(gè)黑洞節(jié)點(diǎn)(節(jié)點(diǎn)12,18,24和35)的全局懷疑概率隨著時(shí)間推進(jìn)的變化趨勢(shì)。這里的檢測(cè)閾值為0.6。發(fā)現(xiàn)基本上當(dāng)仿真時(shí)間到達(dá)14天左右時(shí),它們的全局懷疑概率就達(dá)到了0.6,這時(shí)它們就被正常節(jié)點(diǎn)進(jìn)行識(shí)別和隔離。這表明AFD-Prophet機(jī)制檢測(cè)速度足夠快,可以及時(shí)遏制黑洞節(jié)點(diǎn)的惡意行為。全局懷疑概率隨著時(shí)間推進(jìn)的變化趨勢(shì)如圖9所示。
圖9 全局懷疑概率隨著時(shí)間推進(jìn)的變化趨勢(shì)
如何有效加強(qiáng)DTN節(jié)點(diǎn)間的安全性合作是DTN研究領(lǐng)域的一個(gè)挑戰(zhàn),特別是識(shí)別和隔離惡意節(jié)點(diǎn)變得非常麻煩。本文提出了一種在DTN網(wǎng)絡(luò)中基于攻擊特征的黑洞節(jié)點(diǎn)的檢測(cè)和遏制機(jī)制。該機(jī)制從黑洞攻擊的本質(zhì)特征出發(fā),提出該攻擊存在3個(gè)本質(zhì)性特征。并基于這些本質(zhì)特征,對(duì)節(jié)點(diǎn)的相關(guān)信息進(jìn)行統(tǒng)計(jì)分析。節(jié)點(diǎn)采用本地投票和節(jié)點(diǎn)間合作性檢測(cè)相結(jié)合的方式,有效地識(shí)別和隔離黑洞節(jié)點(diǎn),克服了以前檢測(cè)機(jī)制的單點(diǎn)失效問(wèn)題以及需要依賴回路反饋信息的檢測(cè)不及時(shí)等問(wèn)題。通過(guò)仿真實(shí)驗(yàn)表明,本文提出的AFD-Prophet機(jī)制在保證不增加遞交時(shí)延的前提下,提高了消息的遞交率以及檢測(cè)的實(shí)時(shí)性。
[1] Fall K.A Delay-tolerant Network Architecture for Challenged Internets[C]//Proc.of SIGCOMM'03.[S.1.]: IEEE Press,2003:27-34.
[2] 蘇金樹(shù),胡喬林,趙寶康,等.容延容斷網(wǎng)絡(luò)路由技術(shù)[J].軟件學(xué)報(bào),2010,21(1):119-122.
[3] Vahdat A,Becker D.Epidemic Routing for Partially Connected Ad Hoc Networks[R].Durham,USA:Duke University,Technical Report:CS-2000-06,2000.
[4] Lindgren A,Schelen D O.Probabilistic Routing in Intermittently Connected Networks[J].Mobile Computing Communications,2003,7(3):19-20.
[5] Spyropoulos T,Psounis K,Raghavendra C S.Efficient Routing in Intermittently Connected Mobile Networks: the Multiple-copy Case[J].IEEE/ACM Trans.on Network,2008,16(1):77-90.
[6] Balasubramanian A,Levine B N,Venkataramani A.DTN Routing As A Resource Allocation Problem[C]//Proc.of ACM SIGCOMM'07.Kyoto,Japan:ACM Press,2007: 373-384.
[7] Motani M,Srinivasan V,Nuggehalli P.PeopleNet:Engineering A Wireless Virtual Social Network[C]//Proc.of MobiCom'05.[S.1.]:IEEE Press,2005:243-257.
[8] Hui P,Chaintreau A,Scott J,et al.Pocket Switched Networks and Human Mobility in Conference Environments [C]//Proc.of SIGCOMM'05.[S.1.]:IEEE Press,2005: 212-219.
[9] 趙廣松,陳 鳴.自私性機(jī)會(huì)網(wǎng)絡(luò)中激勵(lì)感知的內(nèi)容分發(fā)的研究[J].通信學(xué)報(bào),2013,34(2):73-84.
[10] Xu Z,Jin Y,Shu W,et al.Sred:A Secure Reputation-based Dynamic Window Scheme for Disruption-tolerant Networks [C]//Proc.of MILCOM'09.Boston,USA:[s.n.],2009: 1-7.
[11] Li N,Das S K.A Trust-based Framework for Data Forwarding in Opportunistic Networks[J].Ad Hoc Networks,2013,11(4):1497-1509.
[12] Dini G,Duca a l.Towards Reputation-based Routing Protocol to Contrast Blackholes in A Delay Tolerant Network[EB/OL]//(2012-10-10).http://dx.doi. org/10.1016/j.adhoc.2012.03.003.
[13] Li F,Wu J,Avinash S.Thwarting Blackhole Attacks in Disruption Tolerant Networks Using Encounter Tickets [C]//Proc.of INFOCOM'09.Riode Janeiro,Brazil: [s.n.],2009:2428-2436.
[14] Ren Y,Chuah M C,Yang J,et al.Detecting Blackhole Attacks in Disruption-tolerant Networks Through Packet Exchange Recording[C]//Proc.of WoWMoM'10. Montreal,Canada:[s.n.],2010:1-6.
[15] Chuah M,Yang P.Impact of Selective Dropping Attacks on Network Coding Performance in DTNS and A Potential Mitigation Scheme[C]//Proc.of ICCCN'09. San Francisco,USA:[s.n.],2009:1-6.
[16] Keranen A.Opportunistic Network Environment Simulator[D].Helsinki,Finland:Helsinki University of Technology,2008.
[17] Eagle A,Pentland A,Lazer D.Inferring Social Network Structure Using Mobile Phone Data[C]//Proc.of PNAS'09.[S.1.]:IEEE Press,2009:15274-15278.
編輯 索書(shū)志
Detection Mechanism of Blackhole Nodes Based on Attack Features in DTN
WANG Qun1,ZHAO Guang-song2,XU Bo2
(1.Modern Education Technological Center,Zhejiang Shuren University,Hangzhou 310015,China;
2.College of Command Information Systems,PLA University of Science&Technology,Nanjing 210007,China)
The nodes in the delay tolerant networks rely on the cooperation among nodes to forward the messages to destinations.How to effectively enhance the cooperation among nodes in Delay Tolerant Network(DTN)is a challenge,
and the Blackhole attack is a typical incorporation behavior.In order to detect and restrain the Blackhole attack,a Blackhole nodes detection mechanism based on attack features is proposed,which extracts three essential features of the Blackhole attack:the forged high relay capacity,the imbalance of the number of messages forwarded between nodes and high message loss rate.The mechanism exploits the local vote and the cooperative detection among nodes to determine the probability that a node is a blackhole node.Simulations results show that the blackhole nodes detection mechanism based on attack features named AFD-Prophet can improve the delivery rate while not increasing the delivery delay in comparison with the reputation-based detection protocol T-Prophet.
Delay Tolerant Network(DTN);blackhole node;attack feature;loss rate;delivery rate;delivery delay
1000-3428(2014)09-0159-08
A
TP309
10.3969/j.issn.1000-3428.2014.09.032
國(guó)家自然科學(xué)基金資助項(xiàng)目(61070173,61103225)。
王 群(1981-),男,講師、碩士,主研方向:網(wǎng)絡(luò)測(cè)量與管理,時(shí)延容忍網(wǎng)絡(luò);趙廣松,博士研究生;許 博,講師、博士。
2014-01-03
2014-02-24E-mail:wangqun1981year@126.com