王玉亮,温卫敏,赵生慧
近年来,无线传感器网络(Wireless Sensor Networks,简称WSNs)在环境监测、交通管制、军事科技、城市安防等领域得到了广泛的应用,但由于WSNs自身因素的限制,如节点能量少、运算能力弱、物理安全性低、存储空间有限等特点,其运行的安全问题已成为应用发展的挑战[1-2]。入侵检测系统(Intrusion Detection System,简称IDS)是保障WSNs安全运行的一种主动防御技术,其通过主动监听、分析目标节点,对可疑的网内攻击做出积极响应,达到主动入侵检测效果。
人工免疫系统(Artificial Immune System,AIS)是对生物免疫系统的模拟,具有自我学习、识别、记忆、调节、适应能力,可有效鉴别自我成分和非我成分[3-6],与 WSNs入侵检测的要求有较高的相似性,借助AIS原理,可提高WSNs入侵检测精度和效率,且降低误检率,延长WSNs节点生命周期。
目前,基于AIS的WSNs入侵检测技术的研究尚属于初级阶段。Doumit[7]等人首次将入侵检测技术应用在 WSNs中;Su[8]等人提出了基于簇类的轻量型入侵检测方案,实现了簇内有效地入侵检测;刘萌、Hilaire等[9-10]提出了基于免疫原理和Agent技术的分簇式WSNs入侵检测机制,算法中增加了簇内节点的协作检测机制;江超[11]提出了基于生物免疫原理的无线传感器网络的安全算法,算法中利用粗糙集判断和决策建立比较特征库;严宣辉等[12]将疫苗提取和接种算法应用在检测器生成中。上述各种模型或算法大都能在一定程度上实现WSNs入侵检测,且体现算法的功能和特点,但具有一定的局限性,如部分算法或系统,在考虑提高检测精度的同时,却增加了节点算法的复杂度,节点的能耗较大等。
针对WSNs自身特点和安全问题,在现有算法或系统的基础上,提出基于免疫原理的簇内任务分解的WSNs轻量级入侵检测机制,建立簇内节点和簇头节点协同检测的双层检测模式。在簇头节点利用粗糙集属性约简,建立入侵检测特征库,并将新的特征库更新簇内节点记忆免疫细胞集合,簇内节点根据免疫遗传否定选择建立成熟免疫细胞集合,加速了簇内检测器的生成,提高了检测速度,节约了节点能量,降低了误检率和漏检率。
根据WSNs分簇式网络结构特点,建立了簇内任务分解相互协调的入侵检测安全机制。如图1所示,分簇式WSNs网络模型分为三个层次,第一层为簇内节点CP(Cluster-Points),每个簇内节点嵌入IDS单元,负责监听、分析、交换收集的信息数据;并将监测信息汇报给簇头节点,等待做进一步的检测;第二层簇头节点CH(Cluster-Head),负责接收簇内节点发送的数据,建立和更新入侵检测库,对簇内节点数据做进一步的检测,并更新簇内节点的IDS检测库,建立簇头之间的联系;第三层为基站BS,负责完成簇头的选择、数据的接收、分析、整理、融合等,保障数据的安全、有效传输。
将数据的安全检测任务分层分解,每层检测模块各自完成自己的检测任务,并告知簇中各节点,完成传输数据的协同检测,从WSNs节点的能量消耗角度来说,任务分解将有效地降低了网内节点运算的复杂度,延长了节点的寿命,提高整个网络的性能,协同双层检测将提高入侵检测的精度,减少误报率,减少检测带来的传输时间的延误。
图1 WSNs任务分析的分簇式入侵检测模型
定义1 问题域 QD。QD={0,1}L,抗原 Ag定义为WSNs节点间相互通信的二进制字符串,Ag⊂QD,包括自我成分集合Sf和非我成分集合NoSf,满足Sf∪NoSf=QD,且Sf∩NoSf=Φ,在IDS中,Sf为正常的传输数据,NoSf为非正常(被入侵的)传输数据,AIS要解决如何识别Sf和NoSf的问题,分辨出入侵成分。
定义2 免疫细胞集合Cells。Cells={<d,Ab,t>|0≤d≤2,Ab∈Cells,1≤t≤Age},d在定义中为抗体的状态标识,当d=0时表示为未成熟细胞集合CellsI,用于初始抗原的检测;当d=1时表示为成熟细胞集合CellsT,用于检测未知入侵行为;当d=2时表示记忆细胞集合CellsM,用于检测已知的入侵行为,且CellsI∪CellsT∪CellsM=Cells;Ab表示免疫细胞体,t为细胞体生命周期,当细胞体t>Agemax时,Ab将被淘汰。
定义3 亲和力函数F(kx,ky)。F(kx,ky)函数可表示抗原Ag和抗体Ab的亲和力匹配度,也可表示抗体Ab与抗体Ab的相似度。
函数中kx、ky表示Ag及Ab的坐标,Dg(kx,ky)表示比较对象之间的距离,对于不同编码,Dg(kx,ky)可采用不同的表示方法,本方案考虑节点能量的消耗,意在降低算法的复杂度,采用海明距离计算Dg(kx,ky)。0<F(kx,ky)≤1,其值越大表明亲和力越强,与Dg(kx,ky)成反比,当F(Ag,Ab)大于设定的匹配阀值时,则响应入侵;同理,当F(Abi,Abj)大于设定匹配的相似度阀值时,则淘汰Ab。
定义4 信息表知识表达系统MGS。MGS=(U,R,V,f)[13-14],其中 U 为论域,存放样本,R为属性集合,包含条件属性子集C和决策属性子集D,V表示属性值的集合,满足信息函数f:U×R→V。
定义5 知识约简。通过约简可以将简化决策属性集合D对条件属性集合C的依赖:
若K(C-{p},D)=K(C,D),其中p∈C,则表明p在相当于D是冗余的,若C中任意属性对于D都是不可缺少的,则C与D正交,∃Cα所有属性,若α∈C,K(α,D)=K(C,D),且α与D正交,则α是C的约简。
如图2所示,在任务分解的分簇式 WSNs框架下,建立基于免疫原理的入侵检测机制AIDSM。AIDSM入侵检测分为两个检测部分,第一部分是在簇内节点的基于免疫遗传的入侵检测算法;第二部分在簇头基于免疫的粗糙集约简入侵检测算法,两部分在分别完成相应入侵检测任务基础上,协同检测,簇头节点通过约简属性建立入侵特征库,实时更新簇内节点抗体细胞集合,减少样本训练时间,加速了记忆细胞集合的生成,提高已知检测的精度。
在簇内节点检测机制中,节点通过主动监听信息,获得抗原,进入记忆细胞检测器,利用记忆细胞集合CellsM,检测抗原的已知入侵行为,识别Sf和NoSf成分,若匹配成功的抗原将激活入侵响应,淘汰已知抗原NoSf,未被匹配Sf成分的将进入成熟入侵检测器,利用成熟细胞集合CellsT进行匹配检测,CellsT可通过免疫遗传,不断进化和淘汰,生成未成熟细胞CellsI,CellsI为CellsT不断更新抗体元。CellsM根据簇头更新的入侵检测特征库,建立新的已知入侵抗体元,提高了免疫细胞的学习速度,加速生成有效检测器。CellsT利用Ab与Ab的亲和力表示的相似度,淘汰相似度高的CellsM冗余记忆细胞,从而控制CellsM检测器规模。
簇头节点在一个检测周期内,根据监听簇内节点数据,提出数据特征,建立 MGS信息表,对MGS信息表进行属性约简,删除冗余属性信息,建立入侵检测特征库,在检测的下一个周期,依据生成的新的入侵检测特征库检测通过免疫自我学习,建立已知特征库,对接收的数据进行入侵检测,若匹配,则响应入侵,隔离入侵节点,否则,将进入下一个入侵检测周期。
AIDSM机制建立簇内节点和簇头节点相互协作的检测模式,簇头节点可为簇内节点在每一个检测周期提供最新的入侵检测特征库,更新簇内CellsM;簇头接收簇内节点入侵检测后提供了优化的数据,做进一步的入侵检测。建立了双层的入侵检测机制,减少重复检测的可能性,节约节点能量。
图2 基于免疫原理的入侵检测机制
(1)对簇内CP监听到的数据包进行特征向量提取,组建抗原Ag;
(2)在第一个检测周期开始时,记忆细胞检测器中CellsM初始为CellsM(0),
(3)For∃Ab∈CellsM,计算抗原 Ag与抗体Ab的亲和力F(Ag,Ab),
(4)若F(Ag,Ab)>检测阀值(实验证明,检测阀值取为0.4,将获得较低的误检率[15]),则转入(8);
(5)Ag不能匹配的,进入成熟细胞检测器,For∃Ab⊂CellsT,转入(4);
(6)若属于自我成分Sf,则进入未成熟细胞检测器,CellsI将通过自我学习、进化,转入簇头协同检测;
(7)本周期内,CellsM将通过免疫遗传算法,进化为CellsT,为协同计算,CellsT将通过计算抗体与抗体的亲和力F(Ab,Ab),判断CellsT中Ab相似度,淘汰Agemax的Ab,并将优化的Ab集合,更新CellsM;
(8)判断Ag为非成分NoSf,激活入侵响应模块,淘汰Ag,当前算法结束;
(9)下一个检测周期的开始,CellsM获得了簇头更新的入侵检测特征库,补充或更新CellsM,组成形成的CellsM(1),转入(3)。
(1)在开始的第一个入侵检测周期内,簇头接收到簇内节点数据包,提取数据包的数据特征,记录到MGS信息表中;
(2)对MGS进行初步的属性约简,建立属性特征信息表;
(3)与已知入侵特征库进行匹配,匹配成功的将淘汰,建立隔离区,否则转入(4);
(4)For∃α∈C,满足 K(α,D)=K(C,D),且α与D正交,删除冗余属性信息;
(5)将检测结果写入入侵检测特征库:
For i=0to countAg-1//逐一将满足条件的Ag写入入侵检测特征库
if(CH-Check(Agi)= =true and CHCheck(Agi)==NewAg)//判断是否为新的入侵特征
CH-Write(Agi)//写入入侵检测特征库
count=count+1//特征总数加1
end if
Next i//进入下一个判断
(6)更新簇内节点Cellsm,同时,通过免疫学习、进化及淘汰过程,生成新的记忆入侵特征库,进入第二个检测周期,转入(3)。
在100m*100m正方形区域中随机布置120个仿真节点,组成10个簇,每个簇有一个簇头节点,假设所有的传感器节点都处于静态,能量为2.5J,基站能量足够大,本实验不考虑基站能量的消耗,实验环境具体参数如表1:
表1 实验环境参数
检测率反应了入侵检测机制对自我成分和非我成分识别的能力。在分簇式WSNs结构下,利用簇头和簇内节点的双层检测,提高了检测率,从图3仿真结果所示,在检测周期内,采用AIDSM机制,入侵检测可以达到100%检测率,先对不采用AIDSM机制的检测提前达到了较高的检测率。AIDSM机制在检测开始,检测率较低,这时记忆细胞集合CellsM处于初始状态,没有有效的抗体元,在经过一个检测周期后,簇头节点建立了入侵检测特征库,并更新CellsM,CellsM通过免疫遗传否定选择,进化、演变为成熟细胞集合CellsT,快速丰富了抗体集合,从而提高了检测率,通过多个检测周期的优化和约简,检测库已具备了100%的检测能力。
图3 入侵检测检测率比较
图4仿真结果表明:随着入侵检测周期的轮增,即使入侵次数增加,系统的能耗却处于下降趋势,这与系统的AIDSM机制有密切的关系。在检测周期的开始,系统的记忆细胞集合CellsM和成熟细胞集合CellsM都比较少,且处于检测忙碌状态,另外,系统免疫学习、免疫遗传和检测特征库提取约简要处理大量的数据,建立检测特征库,都需要耗能,但随着检测周期的推进,CellsM和CellsM都具备了较多的抗体元素,学习、变异和检测的工作量逐渐降低,系统的能耗也降低。系统能耗的高低与系统参与检测的节点数成正比,图4中节点个数n选择了30、70、120分别实验。但总的来说,系统检测时各节点基本维持较低的能耗水平。
图4 节点能耗与入侵检测次数的关系
检测率高低不能保障检测中有误检,检测过程中可能将自我成分Sf识别为非我成分NoSf,还有可能出现漏检。从仿真的结果可知,在采用AIDSM机制也存在误检率,但有效降低了误检率。图5所示,采用AIDSM机制,系统随着检测时间的增加,误检率也在增加,但控制在10%以内,这与检测器和入侵特征库的不断成熟有关,系统的CellsM通过遗传、变异、进化扩大了成熟检测器的检测范围,可能将自我成分Sf误认为非我成分NoSf。
图5 入侵误检率比较
在WSNs分簇式网络架构下,提出基于免疫原理的簇内任务分解的WSNs轻量级入侵检测机制AIDSM,建立簇内和簇头的双层相互协作的入侵检测模型。在检测周期内,簇内节点采用免疫遗传否定选择建立成熟免疫细胞集合,加速了簇内抗体检测器的生成;簇头对收到的数据包做进一步的入侵检测,采用粗糙集属性约简,建立入侵检测特征库,并将及时更新簇内节点记忆免疫细胞集合,提高检测准确性。经实验证明,本机制有利于提高检测率,节约了节点能量,降低了误检率和漏检率。
[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]刘 宁,赵建华.应用免疫原理的无线传感器网络入侵检测系统[J].计算机工程与应用,2011,47(15):80-82.
[6]严宣辉.免疫入侵检测模型中抗体/抗原编码的一种改进[J].计算机工程与应用,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]刘 萌,姜 梅.基于移动代理和人工免疫的入侵检测模型[J].青岛理工大学学报,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]江 超.无线传感器网络中基于免疫原理的DoS攻击检测算法[J].传感器与微系统,2013,32(1):141-144,152.
[12]严宣辉.应用疫苗接种策略的免疫入侵检测模型[J].电子学报,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的入侵检测机制[J].计算机工程与科学,2010,32(5):10-14.