王玉亮,溫衛(wèi)敏,趙生慧
近年來(lái),無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,簡(jiǎn)稱WSNs)在環(huán)境監(jiān)測(cè)、交通管制、軍事科技、城市安防等領(lǐng)域得到了廣泛的應(yīng)用,但由于WSNs自身因素的限制,如節(jié)點(diǎn)能量少、運(yùn)算能力弱、物理安全性低、存儲(chǔ)空間有限等特點(diǎn),其運(yùn)行的安全問題已成為應(yīng)用發(fā)展的挑戰(zhàn)[1-2]。入侵檢測(cè)系統(tǒng)(Intrusion Detection System,簡(jiǎn)稱IDS)是保障WSNs安全運(yùn)行的一種主動(dòng)防御技術(shù),其通過主動(dòng)監(jiān)聽、分析目標(biāo)節(jié)點(diǎn),對(duì)可疑的網(wǎng)內(nèi)攻擊做出積極響應(yīng),達(dá)到主動(dòng)入侵檢測(cè)效果。
人工免疫系統(tǒng)(Artificial Immune System,AIS)是對(duì)生物免疫系統(tǒng)的模擬,具有自我學(xué)習(xí)、識(shí)別、記憶、調(diào)節(jié)、適應(yīng)能力,可有效鑒別自我成分和非我成分[3-6],與 WSNs入侵檢測(cè)的要求有較高的相似性,借助AIS原理,可提高WSNs入侵檢測(cè)精度和效率,且降低誤檢率,延長(zhǎng)WSNs節(jié)點(diǎn)生命周期。
目前,基于AIS的WSNs入侵檢測(cè)技術(shù)的研究尚屬于初級(jí)階段。Doumit[7]等人首次將入侵檢測(cè)技術(shù)應(yīng)用在 WSNs中;Su[8]等人提出了基于簇類的輕量型入侵檢測(cè)方案,實(shí)現(xiàn)了簇內(nèi)有效地入侵檢測(cè);劉萌、Hilaire等[9-10]提出了基于免疫原理和Agent技術(shù)的分簇式WSNs入侵檢測(cè)機(jī)制,算法中增加了簇內(nèi)節(jié)點(diǎn)的協(xié)作檢測(cè)機(jī)制;江超[11]提出了基于生物免疫原理的無(wú)線傳感器網(wǎng)絡(luò)的安全算法,算法中利用粗糙集判斷和決策建立比較特征庫(kù);嚴(yán)宣輝等[12]將疫苗提取和接種算法應(yīng)用在檢測(cè)器生成中。上述各種模型或算法大都能在一定程度上實(shí)現(xiàn)WSNs入侵檢測(cè),且體現(xiàn)算法的功能和特點(diǎn),但具有一定的局限性,如部分算法或系統(tǒng),在考慮提高檢測(cè)精度的同時(shí),卻增加了節(jié)點(diǎn)算法的復(fù)雜度,節(jié)點(diǎn)的能耗較大等。
針對(duì)WSNs自身特點(diǎn)和安全問題,在現(xiàn)有算法或系統(tǒng)的基礎(chǔ)上,提出基于免疫原理的簇內(nèi)任務(wù)分解的WSNs輕量級(jí)入侵檢測(cè)機(jī)制,建立簇內(nèi)節(jié)點(diǎn)和簇頭節(jié)點(diǎn)協(xié)同檢測(cè)的雙層檢測(cè)模式。在簇頭節(jié)點(diǎn)利用粗糙集屬性約簡(jiǎn),建立入侵檢測(cè)特征庫(kù),并將新的特征庫(kù)更新簇內(nèi)節(jié)點(diǎn)記憶免疫細(xì)胞集合,簇內(nèi)節(jié)點(diǎn)根據(jù)免疫遺傳否定選擇建立成熟免疫細(xì)胞集合,加速了簇內(nèi)檢測(cè)器的生成,提高了檢測(cè)速度,節(jié)約了節(jié)點(diǎn)能量,降低了誤檢率和漏檢率。
根據(jù)WSNs分簇式網(wǎng)絡(luò)結(jié)構(gòu)特點(diǎn),建立了簇內(nèi)任務(wù)分解相互協(xié)調(diào)的入侵檢測(cè)安全機(jī)制。如圖1所示,分簇式WSNs網(wǎng)絡(luò)模型分為三個(gè)層次,第一層為簇內(nèi)節(jié)點(diǎn)CP(Cluster-Points),每個(gè)簇內(nèi)節(jié)點(diǎn)嵌入IDS單元,負(fù)責(zé)監(jiān)聽、分析、交換收集的信息數(shù)據(jù);并將監(jiān)測(cè)信息匯報(bào)給簇頭節(jié)點(diǎn),等待做進(jìn)一步的檢測(cè);第二層簇頭節(jié)點(diǎn)CH(Cluster-Head),負(fù)責(zé)接收簇內(nèi)節(jié)點(diǎn)發(fā)送的數(shù)據(jù),建立和更新入侵檢測(cè)庫(kù),對(duì)簇內(nèi)節(jié)點(diǎn)數(shù)據(jù)做進(jìn)一步的檢測(cè),并更新簇內(nèi)節(jié)點(diǎn)的IDS檢測(cè)庫(kù),建立簇頭之間的聯(lián)系;第三層為基站BS,負(fù)責(zé)完成簇頭的選擇、數(shù)據(jù)的接收、分析、整理、融合等,保障數(shù)據(jù)的安全、有效傳輸。
將數(shù)據(jù)的安全檢測(cè)任務(wù)分層分解,每層檢測(cè)模塊各自完成自己的檢測(cè)任務(wù),并告知簇中各節(jié)點(diǎn),完成傳輸數(shù)據(jù)的協(xié)同檢測(cè),從WSNs節(jié)點(diǎn)的能量消耗角度來(lái)說(shuō),任務(wù)分解將有效地降低了網(wǎng)內(nèi)節(jié)點(diǎn)運(yùn)算的復(fù)雜度,延長(zhǎng)了節(jié)點(diǎn)的壽命,提高整個(gè)網(wǎng)絡(luò)的性能,協(xié)同雙層檢測(cè)將提高入侵檢測(cè)的精度,減少誤報(bào)率,減少檢測(cè)帶來(lái)的傳輸時(shí)間的延誤。
圖1 WSNs任務(wù)分析的分簇式入侵檢測(cè)模型
定義1 問題域 QD。QD={0,1}L,抗原 Ag定義為WSNs節(jié)點(diǎn)間相互通信的二進(jìn)制字符串,Ag?QD,包括自我成分集合Sf和非我成分集合NoSf,滿足Sf∪NoSf=QD,且Sf∩NoSf=Φ,在IDS中,Sf為正常的傳輸數(shù)據(jù),NoSf為非正常(被入侵的)傳輸數(shù)據(jù),AIS要解決如何識(shí)別Sf和NoSf的問題,分辨出入侵成分。
定義2 免疫細(xì)胞集合Cells。Cells={<d,Ab,t>|0≤d≤2,Ab∈Cells,1≤t≤Age},d在定義中為抗體的狀態(tài)標(biāo)識(shí),當(dāng)d=0時(shí)表示為未成熟細(xì)胞集合CellsI,用于初始抗原的檢測(cè);當(dāng)d=1時(shí)表示為成熟細(xì)胞集合CellsT,用于檢測(cè)未知入侵行為;當(dāng)d=2時(shí)表示記憶細(xì)胞集合CellsM,用于檢測(cè)已知的入侵行為,且CellsI∪CellsT∪CellsM=Cells;Ab表示免疫細(xì)胞體,t為細(xì)胞體生命周期,當(dāng)細(xì)胞體t>Agemax時(shí),Ab將被淘汰。
定義3 親和力函數(shù)F(kx,ky)。F(kx,ky)函數(shù)可表示抗原Ag和抗體Ab的親和力匹配度,也可表示抗體Ab與抗體Ab的相似度。
函數(shù)中kx、ky表示Ag及Ab的坐標(biāo),Dg(kx,ky)表示比較對(duì)象之間的距離,對(duì)于不同編碼,Dg(kx,ky)可采用不同的表示方法,本方案考慮節(jié)點(diǎn)能量的消耗,意在降低算法的復(fù)雜度,采用海明距離計(jì)算Dg(kx,ky)。0<F(kx,ky)≤1,其值越大表明親和力越強(qiáng),與Dg(kx,ky)成反比,當(dāng)F(Ag,Ab)大于設(shè)定的匹配閥值時(shí),則響應(yīng)入侵;同理,當(dāng)F(Abi,Abj)大于設(shè)定匹配的相似度閥值時(shí),則淘汰Ab。
定義4 信息表知識(shí)表達(dá)系統(tǒng)MGS。MGS=(U,R,V,f)[13-14],其中 U 為論域,存放樣本,R為屬性集合,包含條件屬性子集C和決策屬性子集D,V表示屬性值的集合,滿足信息函數(shù)f:U×R→V。
定義5 知識(shí)約簡(jiǎn)。通過約簡(jiǎn)可以將簡(jiǎn)化決策屬性集合D對(duì)條件屬性集合C的依賴:
若K(C-{p},D)=K(C,D),其中p∈C,則表明p在相當(dāng)于D是冗余的,若C中任意屬性對(duì)于D都是不可缺少的,則C與D正交,?Cα所有屬性,若α∈C,K(α,D)=K(C,D),且α與D正交,則α是C的約簡(jiǎn)。
如圖2所示,在任務(wù)分解的分簇式 WSNs框架下,建立基于免疫原理的入侵檢測(cè)機(jī)制AIDSM。AIDSM入侵檢測(cè)分為兩個(gè)檢測(cè)部分,第一部分是在簇內(nèi)節(jié)點(diǎn)的基于免疫遺傳的入侵檢測(cè)算法;第二部分在簇頭基于免疫的粗糙集約簡(jiǎn)入侵檢測(cè)算法,兩部分在分別完成相應(yīng)入侵檢測(cè)任務(wù)基礎(chǔ)上,協(xié)同檢測(cè),簇頭節(jié)點(diǎn)通過約簡(jiǎn)屬性建立入侵特征庫(kù),實(shí)時(shí)更新簇內(nèi)節(jié)點(diǎn)抗體細(xì)胞集合,減少樣本訓(xùn)練時(shí)間,加速了記憶細(xì)胞集合的生成,提高已知檢測(cè)的精度。
在簇內(nèi)節(jié)點(diǎn)檢測(cè)機(jī)制中,節(jié)點(diǎn)通過主動(dòng)監(jiān)聽信息,獲得抗原,進(jìn)入記憶細(xì)胞檢測(cè)器,利用記憶細(xì)胞集合CellsM,檢測(cè)抗原的已知入侵行為,識(shí)別Sf和NoSf成分,若匹配成功的抗原將激活入侵響應(yīng),淘汰已知抗原NoSf,未被匹配Sf成分的將進(jìn)入成熟入侵檢測(cè)器,利用成熟細(xì)胞集合CellsT進(jìn)行匹配檢測(cè),CellsT可通過免疫遺傳,不斷進(jìn)化和淘汰,生成未成熟細(xì)胞CellsI,CellsI為CellsT不斷更新抗體元。CellsM根據(jù)簇頭更新的入侵檢測(cè)特征庫(kù),建立新的已知入侵抗體元,提高了免疫細(xì)胞的學(xué)習(xí)速度,加速生成有效檢測(cè)器。CellsT利用Ab與Ab的親和力表示的相似度,淘汰相似度高的CellsM冗余記憶細(xì)胞,從而控制CellsM檢測(cè)器規(guī)模。
簇頭節(jié)點(diǎn)在一個(gè)檢測(cè)周期內(nèi),根據(jù)監(jiān)聽簇內(nèi)節(jié)點(diǎn)數(shù)據(jù),提出數(shù)據(jù)特征,建立 MGS信息表,對(duì)MGS信息表進(jìn)行屬性約簡(jiǎn),刪除冗余屬性信息,建立入侵檢測(cè)特征庫(kù),在檢測(cè)的下一個(gè)周期,依據(jù)生成的新的入侵檢測(cè)特征庫(kù)檢測(cè)通過免疫自我學(xué)習(xí),建立已知特征庫(kù),對(duì)接收的數(shù)據(jù)進(jìn)行入侵檢測(cè),若匹配,則響應(yīng)入侵,隔離入侵節(jié)點(diǎn),否則,將進(jìn)入下一個(gè)入侵檢測(cè)周期。
AIDSM機(jī)制建立簇內(nèi)節(jié)點(diǎn)和簇頭節(jié)點(diǎn)相互協(xié)作的檢測(cè)模式,簇頭節(jié)點(diǎn)可為簇內(nèi)節(jié)點(diǎn)在每一個(gè)檢測(cè)周期提供最新的入侵檢測(cè)特征庫(kù),更新簇內(nèi)CellsM;簇頭接收簇內(nèi)節(jié)點(diǎn)入侵檢測(cè)后提供了優(yōu)化的數(shù)據(jù),做進(jìn)一步的入侵檢測(cè)。建立了雙層的入侵檢測(cè)機(jī)制,減少重復(fù)檢測(cè)的可能性,節(jié)約節(jié)點(diǎn)能量。
圖2 基于免疫原理的入侵檢測(cè)機(jī)制
(1)對(duì)簇內(nèi)CP監(jiān)聽到的數(shù)據(jù)包進(jìn)行特征向量提取,組建抗原Ag;
(2)在第一個(gè)檢測(cè)周期開始時(shí),記憶細(xì)胞檢測(cè)器中CellsM初始為CellsM(0),
(3)For?Ab∈CellsM,計(jì)算抗原 Ag與抗體Ab的親和力F(Ag,Ab),
(4)若F(Ag,Ab)>檢測(cè)閥值(實(shí)驗(yàn)證明,檢測(cè)閥值取為0.4,將獲得較低的誤檢率[15]),則轉(zhuǎn)入(8);
(5)Ag不能匹配的,進(jìn)入成熟細(xì)胞檢測(cè)器,F(xiàn)or?Ab?CellsT,轉(zhuǎn)入(4);
(6)若屬于自我成分Sf,則進(jìn)入未成熟細(xì)胞檢測(cè)器,CellsI將通過自我學(xué)習(xí)、進(jìn)化,轉(zhuǎn)入簇頭協(xié)同檢測(cè);
(7)本周期內(nèi),CellsM將通過免疫遺傳算法,進(jìn)化為CellsT,為協(xié)同計(jì)算,CellsT將通過計(jì)算抗體與抗體的親和力F(Ab,Ab),判斷CellsT中Ab相似度,淘汰Agemax的Ab,并將優(yōu)化的Ab集合,更新CellsM;
(8)判斷Ag為非成分NoSf,激活入侵響應(yīng)模塊,淘汰Ag,當(dāng)前算法結(jié)束;
(9)下一個(gè)檢測(cè)周期的開始,CellsM獲得了簇頭更新的入侵檢測(cè)特征庫(kù),補(bǔ)充或更新CellsM,組成形成的CellsM(1),轉(zhuǎn)入(3)。
(1)在開始的第一個(gè)入侵檢測(cè)周期內(nèi),簇頭接收到簇內(nèi)節(jié)點(diǎn)數(shù)據(jù)包,提取數(shù)據(jù)包的數(shù)據(jù)特征,記錄到MGS信息表中;
(2)對(duì)MGS進(jìn)行初步的屬性約簡(jiǎn),建立屬性特征信息表;
(3)與已知入侵特征庫(kù)進(jìn)行匹配,匹配成功的將淘汰,建立隔離區(qū),否則轉(zhuǎn)入(4);
(4)For?α∈C,滿足 K(α,D)=K(C,D),且α與D正交,刪除冗余屬性信息;
(5)將檢測(cè)結(jié)果寫入入侵檢測(cè)特征庫(kù):
For i=0to countAg-1//逐一將滿足條件的Ag寫入入侵檢測(cè)特征庫(kù)
if(CH-Check(Agi)= =true and CHCheck(Agi)==NewAg)//判斷是否為新的入侵特征
CH-Write(Agi)//寫入入侵檢測(cè)特征庫(kù)
count=count+1//特征總數(shù)加1
end if
Next i//進(jìn)入下一個(gè)判斷
(6)更新簇內(nèi)節(jié)點(diǎn)Cellsm,同時(shí),通過免疫學(xué)習(xí)、進(jìn)化及淘汰過程,生成新的記憶入侵特征庫(kù),進(jìn)入第二個(gè)檢測(cè)周期,轉(zhuǎn)入(3)。
在100m*100m正方形區(qū)域中隨機(jī)布置120個(gè)仿真節(jié)點(diǎn),組成10個(gè)簇,每個(gè)簇有一個(gè)簇頭節(jié)點(diǎn),假設(shè)所有的傳感器節(jié)點(diǎn)都處于靜態(tài),能量為2.5J,基站能量足夠大,本實(shí)驗(yàn)不考慮基站能量的消耗,實(shí)驗(yàn)環(huán)境具體參數(shù)如表1:
表1 實(shí)驗(yàn)環(huán)境參數(shù)
檢測(cè)率反應(yīng)了入侵檢測(cè)機(jī)制對(duì)自我成分和非我成分識(shí)別的能力。在分簇式WSNs結(jié)構(gòu)下,利用簇頭和簇內(nèi)節(jié)點(diǎn)的雙層檢測(cè),提高了檢測(cè)率,從圖3仿真結(jié)果所示,在檢測(cè)周期內(nèi),采用AIDSM機(jī)制,入侵檢測(cè)可以達(dá)到100%檢測(cè)率,先對(duì)不采用AIDSM機(jī)制的檢測(cè)提前達(dá)到了較高的檢測(cè)率。AIDSM機(jī)制在檢測(cè)開始,檢測(cè)率較低,這時(shí)記憶細(xì)胞集合CellsM處于初始狀態(tài),沒有有效的抗體元,在經(jīng)過一個(gè)檢測(cè)周期后,簇頭節(jié)點(diǎn)建立了入侵檢測(cè)特征庫(kù),并更新CellsM,CellsM通過免疫遺傳否定選擇,進(jìn)化、演變?yōu)槌墒旒?xì)胞集合CellsT,快速豐富了抗體集合,從而提高了檢測(cè)率,通過多個(gè)檢測(cè)周期的優(yōu)化和約簡(jiǎn),檢測(cè)庫(kù)已具備了100%的檢測(cè)能力。
圖3 入侵檢測(cè)檢測(cè)率比較
圖4仿真結(jié)果表明:隨著入侵檢測(cè)周期的輪增,即使入侵次數(shù)增加,系統(tǒng)的能耗卻處于下降趨勢(shì),這與系統(tǒng)的AIDSM機(jī)制有密切的關(guān)系。在檢測(cè)周期的開始,系統(tǒng)的記憶細(xì)胞集合CellsM和成熟細(xì)胞集合CellsM都比較少,且處于檢測(cè)忙碌狀態(tài),另外,系統(tǒng)免疫學(xué)習(xí)、免疫遺傳和檢測(cè)特征庫(kù)提取約簡(jiǎn)要處理大量的數(shù)據(jù),建立檢測(cè)特征庫(kù),都需要耗能,但隨著檢測(cè)周期的推進(jìn),CellsM和CellsM都具備了較多的抗體元素,學(xué)習(xí)、變異和檢測(cè)的工作量逐漸降低,系統(tǒng)的能耗也降低。系統(tǒng)能耗的高低與系統(tǒng)參與檢測(cè)的節(jié)點(diǎn)數(shù)成正比,圖4中節(jié)點(diǎn)個(gè)數(shù)n選擇了30、70、120分別實(shí)驗(yàn)。但總的來(lái)說(shuō),系統(tǒng)檢測(cè)時(shí)各節(jié)點(diǎn)基本維持較低的能耗水平。
圖4 節(jié)點(diǎn)能耗與入侵檢測(cè)次數(shù)的關(guān)系
檢測(cè)率高低不能保障檢測(cè)中有誤檢,檢測(cè)過程中可能將自我成分Sf識(shí)別為非我成分NoSf,還有可能出現(xiàn)漏檢。從仿真的結(jié)果可知,在采用AIDSM機(jī)制也存在誤檢率,但有效降低了誤檢率。圖5所示,采用AIDSM機(jī)制,系統(tǒng)隨著檢測(cè)時(shí)間的增加,誤檢率也在增加,但控制在10%以內(nèi),這與檢測(cè)器和入侵特征庫(kù)的不斷成熟有關(guān),系統(tǒng)的CellsM通過遺傳、變異、進(jìn)化擴(kuò)大了成熟檢測(cè)器的檢測(cè)范圍,可能將自我成分Sf誤認(rèn)為非我成分NoSf。
圖5 入侵誤檢率比較
在WSNs分簇式網(wǎng)絡(luò)架構(gòu)下,提出基于免疫原理的簇內(nèi)任務(wù)分解的WSNs輕量級(jí)入侵檢測(cè)機(jī)制AIDSM,建立簇內(nèi)和簇頭的雙層相互協(xié)作的入侵檢測(cè)模型。在檢測(cè)周期內(nèi),簇內(nèi)節(jié)點(diǎn)采用免疫遺傳否定選擇建立成熟免疫細(xì)胞集合,加速了簇內(nèi)抗體檢測(cè)器的生成;簇頭對(duì)收到的數(shù)據(jù)包做進(jìn)一步的入侵檢測(cè),采用粗糙集屬性約簡(jiǎn),建立入侵檢測(cè)特征庫(kù),并將及時(shí)更新簇內(nèi)節(jié)點(diǎn)記憶免疫細(xì)胞集合,提高檢測(cè)準(zhǔn)確性。經(jīng)實(shí)驗(yàn)證明,本機(jī)制有利于提高檢測(cè)率,節(jié)約了節(jié)點(diǎn)能量,降低了誤檢率和漏檢率。
[1]Akyildiz I F,Su W,Sankarasu bramaniam Y,and Cayirci E.Wireless Sensor Networks:a Survey[J].Computer Networks,Elsevier Science,2002,38(4):393-442.
[2]Perrig A.Security in wireless sensor networks[J].Communications of the ACM,2004,47(6):53-57.
[3]De Castro L N,Timmis J I.Artificial Immune Systems as a Novel Soft Computing Paradigm[J].Soft Computing Journal,2003,7(8):526-544.
[4]Forrest S,Perelson A S,Allen L,et al.Self-Nonself Discrimination in a Computer[C]∥Proc of IEEE Symp on Research in Security and Privacy,1994:202-212.
[5]劉 寧,趙建華.應(yīng)用免疫原理的無(wú)線傳感器網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(15):80-82.
[6]嚴(yán)宣輝.免疫入侵檢測(cè)模型中抗體/抗原編碼的一種改進(jìn)[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(31):151-153.
[7]Doumit S S,Agrawal D P.Self-organized criticality and stochastic learning based intrusion detection system for wireless sensor networks[C]//Military Communications Conference,2003.MILCOM'03.2003IEEE.IEEE,2003,1:609-614.
[8]Su W T,Chang K M,Kuo Y H.eHIP:An energy-efficient hybrid intrusion prohibition system for cluster-based wireless sensor networks[J].Computer Networks,2007,51(4):1151-1168.
[9]劉 萌,姜 梅.基于移動(dòng)代理和人工免疫的入侵檢測(cè)模型[J].青島理工大學(xué)學(xué)報(bào),2008,29(2):86-90.
[10]Hilaire V,Koukam A,Rodriguez S.An adaptative agent architecture for holonic multi-agent systems[J].ACM Transactions on Autonomous and Adaptive Systems(TAAS),2008,3(1):2-4.
[11]江 超.無(wú)線傳感器網(wǎng)絡(luò)中基于免疫原理的DoS攻擊檢測(cè)算法[J].傳感器與微系統(tǒng),2013,32(1):141-144,152.
[12]嚴(yán)宣輝.應(yīng)用疫苗接種策略的免疫入侵檢測(cè)模型[J].電子學(xué)報(bào),2009,37(4):780-785.
[13]Pawlak Z.Rough set approach to knowledge-based decision support[J].European journal of operational research,1997,99(1):48-57.
[14]Pawlak Z.Rough sets[J].International Journal of Computer &Information Sciences,1982,11(5):341-356.
[15]張 楠,張建華,陳建英.WSN中基于免疫 Multi-Agent的入侵檢測(cè)機(jī)制[J].計(jì)算機(jī)工程與科學(xué),2010,32(5):10-14.