陳趙懿,高秀峰,王 帥,韓月明
(陸軍工程大學(xué)石家莊校區(qū)模擬訓(xùn)練中心,石家莊 050003)
Ad hoc 網(wǎng)絡(luò)具有不依賴固定基礎(chǔ)設(shè)施、節(jié)點(diǎn)資源有限等特點(diǎn),比傳統(tǒng)網(wǎng)絡(luò)更容易遭受各種安全威脅,如竊聽(tīng)、重放、篡改報(bào)文和拒絕服務(wù)等[1]。部署入侵檢測(cè)系統(tǒng),可檢測(cè)和防御部分攻擊,是提高Ad hoc 網(wǎng)絡(luò)安全常用方法。
入侵檢測(cè)系統(tǒng)可按照檢測(cè)位置分為基于主機(jī)的和基于網(wǎng)絡(luò)的檢測(cè),按照檢測(cè)規(guī)則分為異常檢測(cè)和誤用檢測(cè),按照檢測(cè)行為方式分為主動(dòng)檢測(cè)和被動(dòng)檢測(cè),按照體系結(jié)構(gòu)分為集中檢測(cè)和分布式檢測(cè)[2]等。Gao 等人[3]對(duì)常見(jiàn)的Ad hoc 網(wǎng)絡(luò)攻擊的檢測(cè)方法進(jìn)行了綜述,并對(duì)各檢測(cè)方法的優(yōu)缺點(diǎn)、適用條件進(jìn)行了對(duì)比分析。也有學(xué)者根據(jù)Ad hoc不同應(yīng)用場(chǎng)景,提出了一些入侵檢測(cè)框架,有基于加密認(rèn)證的,有基于信譽(yù)管理的,也有基于博弈論檢測(cè)和神經(jīng)網(wǎng)絡(luò)推斷的[4-5],其中有些框架引入了大量的檢測(cè)流量,容易給帶寬受限的Ad hoc 網(wǎng)絡(luò)造成擁塞,如復(fù)雜的馬爾可夫鏈檢測(cè)模型[6]。為提高入侵檢測(cè)率而使檢測(cè)節(jié)點(diǎn)一直處于運(yùn)行狀態(tài),會(huì)消耗節(jié)點(diǎn)寶貴資源與網(wǎng)絡(luò)帶寬[7],采用代理節(jié)點(diǎn)檢測(cè)[8],雖減少了檢測(cè)節(jié)點(diǎn)數(shù)量,但容易出現(xiàn)漏檢情況。
采用分布式入侵檢測(cè)方法,有利于減少網(wǎng)絡(luò)資源的占用和提高檢測(cè)系統(tǒng)的魯棒性[9]。本文提出的入侵檢測(cè)模型主要分為信譽(yù)評(píng)估、貝葉斯博弈檢測(cè)和綜合檢測(cè)3 部分,如圖1 所示。
每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)部署入侵檢測(cè)系統(tǒng)(IDS),它有貝葉斯博弈檢測(cè)和綜合檢測(cè)兩種方式,采用混雜模式監(jiān)聽(tīng)鄰居節(jié)點(diǎn)行為。貝葉斯博弈檢測(cè)為輕量級(jí)檢測(cè),使用一組基于分組發(fā)送率、分組轉(zhuǎn)發(fā)率和重復(fù)分組率等值的簡(jiǎn)單規(guī)則,來(lái)判斷鄰居節(jié)點(diǎn)的惡意行為,獨(dú)立運(yùn)行,資源消耗少,功能相對(duì)簡(jiǎn)單,是入侵檢測(cè)系統(tǒng)的第一道防線。它采用動(dòng)態(tài)監(jiān)視策略,對(duì)高信譽(yù)值的節(jié)點(diǎn)采取低概率監(jiān)視,這樣可以保持高檢測(cè)率的同時(shí)降低節(jié)點(diǎn)資源消耗和減少ID 流量。綜合檢測(cè)為重量級(jí)檢測(cè),綜合利用數(shù)據(jù)統(tǒng)計(jì)、規(guī)則判斷與關(guān)聯(lián)分析等多種手段,能檢測(cè)出貝葉斯博弈檢測(cè)方式無(wú)法檢測(cè)到的一些攻擊,它同時(shí)激活被測(cè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)進(jìn)行共同檢測(cè),收集鄰居節(jié)點(diǎn)檢測(cè)信息,進(jìn)行交叉驗(yàn)證,可降低誤檢率,該檢測(cè)方式具有較高檢測(cè)率和資源消耗。
Ad hoc 網(wǎng)絡(luò)中的惡意節(jié)點(diǎn)可通過(guò)信譽(yù)評(píng)估機(jī)制進(jìn)行判斷,節(jié)點(diǎn)信譽(yù)越高,屬于正常節(jié)點(diǎn)的概率越大。通過(guò)監(jiān)視節(jié)點(diǎn)行為,評(píng)估節(jié)點(diǎn)信譽(yù),從而可判斷節(jié)點(diǎn)性質(zhì)。Quercia[10]提出了一種輕量級(jí)分布式信譽(yù)框架,該框架能夠抵抗Sybil 攻擊,保護(hù)用戶隱私。Ganeriwal[11]提出了基于貝葉斯網(wǎng)絡(luò)的信譽(yù)模型,該模型使用看門狗監(jiān)視鄰居節(jié)點(diǎn)行為,但沒(méi)有與其余節(jié)點(diǎn)共享檢測(cè)信息,容易誤檢。Amira 等人[12]利用矩陣迭代的方法計(jì)算全網(wǎng)節(jié)點(diǎn)信譽(yù),計(jì)算復(fù)雜度較高。本模型采用本地直接信譽(yù)和鄰居節(jié)點(diǎn)間接信譽(yù)相結(jié)合的方式,綜合計(jì)算被測(cè)節(jié)點(diǎn)信譽(yù)。
節(jié)點(diǎn)d 為檢測(cè)者,節(jié)點(diǎn)s 為被檢測(cè)對(duì)象,利用貝葉斯方程更新本地直接信譽(yù),其后驗(yàn)概率方程為:
根據(jù)監(jiān)測(cè)到的s 動(dòng)作和后驗(yàn)概率推斷公式,可求節(jié)點(diǎn)s 的直接信譽(yù)。
為減少無(wú)線信道的噪聲影響,綜合考慮鄰居節(jié)點(diǎn)的間接信譽(yù),可使信譽(yù)評(píng)估更科學(xué)準(zhǔn)確。因大部分ID 信息僅在被測(cè)節(jié)點(diǎn)鄰居區(qū)域最有用[13],所以只需要在被測(cè)節(jié)點(diǎn)鄰居區(qū)域共享檢測(cè)信息,而不傳播到整個(gè)網(wǎng)絡(luò),如圖2 所示。
圖2 信譽(yù)共享
間接信譽(yù)計(jì)算過(guò)程
對(duì)于檢測(cè)節(jié)點(diǎn)d 而言,直接信譽(yù)一般比間接信譽(yù)更重要,提高直接信譽(yù)權(quán)重,也可抵御鄰居節(jié)點(diǎn)的串聯(lián)攻擊[14]。綜合信譽(yù)公式為:
如果信譽(yù)值小于設(shè)定閾值,則認(rèn)為節(jié)點(diǎn)s 不可信任,發(fā)出告警,需采用高檢測(cè)率的綜合檢測(cè);反之,檢測(cè)節(jié)點(diǎn)d 則根據(jù)新的信譽(yù)值,調(diào)整檢測(cè)概率,繼續(xù)進(jìn)行貝葉斯博弈檢測(cè)。
大多數(shù)基于博弈論的入侵檢測(cè)模型,都假設(shè)所有參與者(節(jié)點(diǎn))知道網(wǎng)絡(luò)的完整信息,如節(jié)點(diǎn)類型(正常或惡意)、檢測(cè)率等,但是這種假設(shè)具有局限性,因?yàn)锳d hoc 網(wǎng)絡(luò)中惡意節(jié)點(diǎn)具有隱蔽性,可通過(guò)正常行為偽裝自己。由于節(jié)點(diǎn)性質(zhì)無(wú)法確定,采用貝葉斯博弈論的檢測(cè)方法更符合實(shí)際。Myria 等人提出了分簇結(jié)構(gòu)網(wǎng)絡(luò)的動(dòng)態(tài)貝葉斯檢測(cè)模型,但簇頭容易出現(xiàn)單節(jié)點(diǎn)誤檢情況[15]。
定義重復(fù)貝葉斯博弈檢測(cè)模型(Repeated Bayesian Game,簡(jiǎn)稱RBG)為一個(gè)6 元組:
節(jié)點(diǎn)s 攻擊成功獲利為ga,攻擊成本為ca,合作獲利和成本為gc和cc,合作可提升節(jié)點(diǎn)信譽(yù),惡意節(jié)點(diǎn)可采取先合作增加節(jié)點(diǎn)信譽(yù),而后再發(fā)動(dòng)攻擊的方式。檢測(cè)節(jié)點(diǎn)d 成功檢測(cè)到攻擊獲利為gd,檢測(cè)成本為cd,誤檢損失為gf。攻防雙方效用矩陣如下頁(yè)表1、表2 所示。
檢測(cè)節(jié)點(diǎn)d 檢測(cè)與不檢測(cè)的期望效用為:
被測(cè)節(jié)點(diǎn)s 攻擊與不攻擊的期望收益為:
表1 s 為惡意節(jié)點(diǎn)的效用矩陣
表2 s 為正常節(jié)點(diǎn)的效用矩陣
采用貝葉斯博弈檢測(cè)的方法,通過(guò)監(jiān)測(cè)節(jié)點(diǎn)分組發(fā)送率、分組轉(zhuǎn)發(fā)率和重復(fù)分組率等參數(shù),可初步檢測(cè)Ad hoc 網(wǎng)絡(luò)中的大多數(shù)網(wǎng)絡(luò)攻擊[15],如拒絕服務(wù)攻擊、黑洞攻擊、蟲(chóng)洞攻擊和泛洪攻擊等。
相對(duì)于輕量級(jí)的貝葉斯博弈檢測(cè),綜合檢測(cè)具有較高檢測(cè)率。然而Ad hoc 網(wǎng)絡(luò),由于無(wú)線信道噪聲和節(jié)點(diǎn)移動(dòng)等因素影響,單節(jié)點(diǎn)檢測(cè)的偽告警率有時(shí)較高。采用多節(jié)點(diǎn)檢測(cè)與交叉驗(yàn)證,可降低系統(tǒng)偽告警率,且節(jié)點(diǎn)的惡意行為通常會(huì)被多個(gè)鄰居節(jié)點(diǎn)檢測(cè)到。設(shè)被測(cè)節(jié)點(diǎn)s 有N 個(gè)鄰居節(jié)點(diǎn),單節(jié)點(diǎn)綜合檢測(cè)的告警正確率為pt(1),偽告警率為pf(1)。交叉驗(yàn)證規(guī)則為“至少m 個(gè)鄰居節(jié)點(diǎn)產(chǎn)生告警,則告警事件可信”,該事件發(fā)生概率為pht(m),偽告警概率為phf(m),計(jì)算公式如下。
根據(jù)式(10),當(dāng)一個(gè)節(jié)點(diǎn)產(chǎn)生告警,認(rèn)為s 為惡意節(jié)點(diǎn),此事件可信度較低,因?yàn)閭胃婢瘦^高;而多個(gè)鄰居節(jié)點(diǎn)都告警,一致認(rèn)為s 為惡意節(jié)點(diǎn),則該事件的偽告警率低,可信度高;m 越大,偽告警率越低。根據(jù)式(9),m 越大,則pht(m)越小,系統(tǒng)檢測(cè)到惡意節(jié)點(diǎn)的時(shí)間越長(zhǎng),響應(yīng)越慢。根據(jù)式(9)~式(10),綜合檢測(cè)階段可依據(jù)應(yīng)用場(chǎng)景靈活設(shè)置參數(shù)m,以平衡檢測(cè)響應(yīng)時(shí)間與偽告警率之間關(guān)系。
為驗(yàn)證模型有效性,利用OMNet++軟件進(jìn)行了仿真實(shí)驗(yàn),在一個(gè)矩形平面區(qū)域(3 000 m×600 m)內(nèi)隨機(jī)分布200 個(gè)節(jié)點(diǎn),仿真時(shí)間600 s。節(jié)點(diǎn)能量相同,發(fā)射距離250 m,采用隨機(jī)游走的移動(dòng)模型,速度小于5 m/s,網(wǎng)絡(luò)層路由采用修改的AODV 協(xié)議。選取一定比例(5%~20%)的惡意節(jié)點(diǎn),進(jìn)行丟包攻擊。
被測(cè)節(jié)點(diǎn)s 為正常節(jié)點(diǎn)時(shí),檢測(cè)節(jié)點(diǎn)d 對(duì)s 的初始信譽(yù)為0.5,直接信譽(yù)權(quán)重0.6,根據(jù)式(1)~式(4)得到s 節(jié)點(diǎn)綜合信譽(yù),如圖3 所示,紅色曲線為綜合信譽(yù),它綜合了鄰居節(jié)點(diǎn)的信譽(yù)評(píng)估值,可降低信道噪聲和節(jié)點(diǎn)移動(dòng)帶來(lái)的影響,提高信譽(yù)評(píng)估準(zhǔn)確度和收斂速度。
圖3 被測(cè)節(jié)點(diǎn)信譽(yù)
圖4 最優(yōu)檢測(cè)概率
當(dāng)被測(cè)節(jié)點(diǎn)s 的鄰居節(jié)點(diǎn)數(shù)N=8 時(shí),根據(jù)式(9)~式(10),對(duì)不同的檢測(cè)率、誤檢率和參數(shù)m,同時(shí)告警發(fā)生的概率和交叉驗(yàn)證的偽告警率如圖5所示。多節(jié)點(diǎn)交叉驗(yàn)證,可降低系統(tǒng)偽告警率。
圖5 綜合檢測(cè)
本文入侵檢測(cè)系統(tǒng)的資源開(kāi)銷主要包括節(jié)點(diǎn)存儲(chǔ)開(kāi)銷、能源消耗和網(wǎng)絡(luò)通信開(kāi)銷。存儲(chǔ)開(kāi)銷主要來(lái)自3 個(gè)方面,一是每個(gè)節(jié)點(diǎn)保存最近一個(gè)檢測(cè)時(shí)間段內(nèi)其監(jiān)聽(tīng)到的鄰居節(jié)點(diǎn)的行為(數(shù)據(jù)分組),大小與設(shè)定的檢測(cè)時(shí)間相關(guān);二是每個(gè)節(jié)點(diǎn)需保存并維護(hù)其所有鄰居節(jié)點(diǎn)的信譽(yù)值;三是保存來(lái)自鄰居節(jié)點(diǎn)的間接信譽(yù)與告警信息。一般Ad hoc 網(wǎng)絡(luò)的鄰居節(jié)點(diǎn)數(shù)目不會(huì)太大,節(jié)點(diǎn)信譽(yù)表、間接信譽(yù)和告警信息都較小。節(jié)點(diǎn)檢測(cè)的能量消耗與檢測(cè)時(shí)長(zhǎng)有關(guān),惡意節(jié)點(diǎn)的比例越大,那么基于貝葉斯博弈檢測(cè)的最優(yōu)檢測(cè)概率也就越大,導(dǎo)致檢測(cè)時(shí)長(zhǎng)變長(zhǎng)。檢測(cè)系統(tǒng)的通信開(kāi)銷主要是來(lái)自間接信譽(yù)的查詢與綜合檢測(cè)的交叉驗(yàn)證。
以檢測(cè)時(shí)長(zhǎng)作為資源消耗依據(jù),從資源消耗、檢測(cè)率和誤檢率等多方面,將本文模型與其他文獻(xiàn)進(jìn)行對(duì)比分析,如表3 所示。文獻(xiàn)[7]中所有節(jié)點(diǎn)采用誤用檢測(cè),資源消耗大,誤檢率高;由于節(jié)點(diǎn)移動(dòng)等影響,文獻(xiàn)[8]選擇的檢測(cè)代理節(jié)點(diǎn)可能分布不均衡,導(dǎo)致部分節(jié)點(diǎn)漏檢;文獻(xiàn)[15]網(wǎng)絡(luò)節(jié)點(diǎn)資源消耗不平衡,簇頭節(jié)點(diǎn)性能與故障對(duì)系統(tǒng)整體檢測(cè)影響較大。
表3 模型對(duì)比
本文針對(duì)Ad hoc 網(wǎng)絡(luò)特點(diǎn),提出了基于信譽(yù)評(píng)估的分布式入侵檢測(cè)模型,根據(jù)被測(cè)節(jié)點(diǎn)信譽(yù),動(dòng)態(tài)選擇檢測(cè)方式。鄰居節(jié)點(diǎn)間信譽(yù)共享,提高了信譽(yù)評(píng)估的準(zhǔn)確性,控制了信譽(yù)信息交換范圍,避免全網(wǎng)泛洪,減少了帶寬占用。采用貝葉斯博弈檢測(cè),檢測(cè)節(jié)點(diǎn)不用一直保持監(jiān)聽(tīng)狀態(tài),可以根據(jù)不同信譽(yù)值調(diào)整檢測(cè)概率,在確保檢測(cè)率的前提下減少資源消耗;采用綜合檢測(cè)和交叉驗(yàn)證,可進(jìn)一步提高入侵檢測(cè)系統(tǒng)的檢測(cè)率,并降低誤檢率。