APP下载

无线传感器网络中基于免疫原理的DoS 攻击检测算法*

2013-04-21

传感器与微系统 2013年1期
关键词:库中网络流量粗糙集

江 超

(吉林师范大学 数学学院,吉林 四平136000)

0 引 言

无线传感器网络(WSNs)传输能力、计算能力、存储能力、感知能力等方面的限制,安全面临着巨大的挑战。拒绝服务(denial-of service,DoS)攻击在 WSNs 中是常见的[1],而且危害巨大。攻击者通过干扰无线信道,大量重放、插入或丢弃报文等手段发起攻击,削弱和消耗传感器节点有限的能量,使网络部分或全部瘫痪。

WSNs 需要具有节能、易扩展、分布式特点的多层安全体系,生物免疫原理为WSNs 安全体系的建立提供了坚实的基础。生物免疫系统是在长期的进化过程中形成的一套严密的、安全高效的、多层次的体系。该体系中不同层次的不同成员严格遵守各自的规则,协同抵御各种抗原的袭击[2],特别符合 WSNs 安全机制的需求。但是,WSNs 与生物系统毕竟还存在着巨大差异,这使得应用医学原理的WSNs 安全机制同样面临一些挑战性问题:机密性保护、入侵的界定、知识存储、多节点协作信息处理技术。传感器网络节点局部协同的工作模式要能够实现对被观测区域内所发生事件进行探测、分类和跟踪,并满足实时性要求,其实现方面还存在着困难。

目前对WSNs 安全机制研究和基于生物免疫原理的网络安全机制的研究还处于初级阶段。文献[3]中提出了一种人工免疫系统(artificial immune system,ARTIS)通用框架,并应用到了计算机安全领域中,对于免疫入侵检测在计算机中的发展起到了重要作用。文献[4]在文献[3,5]的基础上,提出了一种动态克隆选择(dynamic clonal selection,DynamiCS)算法,进一步证明了生物免疫原理在信息学领域的可行性。在文献[6]中,对生物免疫原理进行了更为形式化的描述,给出了一个基于人工免疫机理的动态入侵检测模型,更好地推动了生物免疫原理在信息学领域的应用。上述这些模型的特点主要体现在对人体自然免疫系统的模拟和抗体与抗原集合的动态结构演化上。只是限制在模仿层面上,并不能完全体现人工免疫算法的特点与优势。文献[7,8]中,对生物免疫学原理在信息学中的应用又做了进一步的研究,但仍具有一定的局限性。

1 基于生物免疫原理的无线传感器网络安全算法

根据现阶段无线传感器网络发展现状和安全需求,本文设计了一种基于生物免疫原理的DoS 攻击检测算法--DDMI。

1)DDMI 算法体系结构

DDMI 算法的安全体系结构包含4 个层次,如图1 所示。

图1 WSNs 安全体系结构图Fig 1 Structure diagram of WSNs security system

伪装和防篡改设计:处于安全体系的最外层,节点硬件设计时,通过伪装和防篡改机制,可降低节点暴露与被策反的几率。该层采用成熟的硬件设计方法实现,在此不做深入研究。

全局密钥加密:是安全系统的第二层,加密可以克服WSNs 信息易被窃听的弱点;并可以防止被策反后的节点成为破坏能力更强的内部攻击。该层采用简单的成熟加密算法,在此不做深入研究。

已知入侵识别:是安全体系的第三层,该层模拟生物的先天性免疫系统,主要功能是分析提取已知网络入侵模式,建立网络入侵特征库,检测并确认网络入侵。

未知入侵识别:是安全体系的最内层,该层模拟生物体适应性免疫系统,用于识别和学习新的网络入侵方式。在新的网络攻击方式不断涌现的今天,该层越来越重要。

2)入侵特征库的建立

对于入侵特征库的建立,本文拟采用基于粗糙集的知识获取方法,模型如图2 所示。

由于缺乏传感器网络入侵模式和正常网络行为的统计数据,以及没有传感器网络知识获取研究的先例可借鉴,DDMI 算法确定采用基于实验样本分析的方法,研究传感器网络入侵特征库建立。其中,特征属性包括:节点发送报文的频率、报文的源地址和目的地址、报文长度、不同类型报文在总报文数量中所占的比例等。

图2 入侵特征库知识获取模型Fig 2 Knowledge acquisition model of intrusion characteristic library

由于传感器网络负载极度不均衡、结构高度分散,获取实验数据的周期较长,可获得的样本数量有限、不完整、不精确。粗糙集理论在实现这种样本的知识发现和约简方面有天然的优势。因此,本文拟采用基于粗糙集(rough sets)的知识获取方法实现入侵知识的学习。

Pawlak Z 于1982 年提出的粗糙集理论[9]是一种处理不完整性和不确定性的数学工具,能有效地分析和处理不精确、不一致、不完整等各种不完备信息。知识表达是粗糙集理论的关键部分,是要从大量的原始数据信息中分析发现有用的规律信息,即将知识从一种原来的表达形式转换为一种新的目标表达形式(人类或计算机便于处理的形式,如逻辑形式等)。

3)生物免疫原理的学习和记忆

免疫识别过程同时也是一个学习过程,学习的结果使传感器节点的入侵检测能力提高、群体规模扩大,并且最优入侵特征库。免疫学习大致可分为2 种:一种发生在新入侵检测阶段,即免疫系统首次识别一种新的入侵时,其检测时间和消耗能力也相对较长;而当节点重复遇到同一入侵时,由于免疫记忆机制的作用,入侵特征库中已经加入了新入侵特征,免疫系统对该入侵的检测速度大大提高,并且能量消耗大为减少,这个过程是一个增强式学习过程。

2 安全算法的实现

2.1 定 义

信息表知识表达系统M 形式化地表示为四元组M =(U,R,V,f),其中,U={x1,x2,x3,…,xn,n∈N}为样本的集合,即论域,R= C∪D 是属性集合,子集C 和D 分别称为条件属性和决策属性,V 是属性值的集合,f:U·R→V 是一个信息函数,它指定U 中每一个样本x 的属性值。在本文算法中属性规定为R ={节点发送报文的频率,报文的源地址,目的地址,报文长度,不同类型报文在总报文数量中所占的比例}。

对于属性子集B⊆R 和相应决策逻辑语言L,本文作如下定义:

定义1 对于每个属性子集B⊆R,定义一个不可分辨关系IND(B)

显然,IND(B)是一个等价关系(具有对称性、自反性、传递性)。

定义2 决策表在粗糙集中起重要作用,也是一种具有特定功能的信息表,它表示满足某些条件时,决策(行为、操作、控制)应当如何进行。可表示为 S = (U,R,V,f),R =C∪D 是属性集合,子集C 和D 分别称为条件属性和决策属性,D≠Ф。

定义3 给定信息表M,对于每个子集X⊆U 和不可分辨关系B,X 的上近似集和下近似集分别可定义由B 基本集定义如下

B*= ∪{Yi|(Yi∈U| IND(B)∧Yi⊆X)}

B*=∪{Yi|(Yi∈U| IND(B)∧Yi∩X≠Ф)}

定义4 集合BNB(X)= B*(X)B*(X)称为X 的B边界;POSB(X)= B*(X)称为B 正域;NEGB(X)=UB*(X)称为X 的B 负域。对边界域定义之后,可以得到上近似集、下近似集、正域、边界域之间如下关系

定义5 假设集合X 是论域U 上的一个关系知识B 粗糙集,定义其B 精度为

其中,X≠Ф;如果X=Ф,则规定dB(X)=1。

定义6 假定集合X 是论域U 上的一个关于B 粗糙集,定义其B 的粗糙度为

PB(X)=1 - dB(X),

X 的粗糙度与精度刚好相反,表示集合X 的知识的不完全程度。

定义7 新入侵特征xi与入侵特征库中的特征xk之间的相似度为

其中,i,k=1…N,且 i≠k,N 为入侵特征属性数量;j =1…n,n 为特征库中某个特征的属性数量值,aj,bj为 j 维空间的约束条件。当A 大于某个限定值K 时,认为入侵特征与特征库中某特征值相同,确定为入侵。

2.2 算法描述

本文中的算法分为2 个阶段,检测规则形成阶段和入侵特征库更新阶段(学习阶段)。

1)在一个检测周期T 内,收集节点周围监听的数据,提取数据特征,写入信息表M 中。

2)对信息表M 进行属性约简,将收集的数据集进行属性整理,对入侵检测属性进行约简(在M 中删除重复数据和无关数据),删除冗余入侵属性数据。

3)检测网络运行有无异常,如果正常,进入下一个检测周期T+1,转到步骤(1);如果异常,用经过属性约简后的信息表构建决策表,导出规则属性。对照特征库中数据,查找异常特征是否存在,如果存在,将按已设置方法隔离、消除入侵节点;否则,进入步骤(4)。

4)对异常特征进行分类,使集合R 逐渐清晰,并判断BNB(X)是否为空集或小于阈值 To,如果为否,则令X =BNB(X),重复步骤(4)。其中,To=PB(X)。

5)将分类后的异常特征通知Agent,Agent 根据异常特征确定异常节点,并定位入侵节点,用广播方式通知簇内的节点,簇内节点接到通知后,将不再与入侵节点进行通信,达到消除入侵节点的作用。

6)将异常特征写入特征库。

If(check(xi)= =true and check(xi)= =new)

Then write(xi);k=k+1;

Else if(check(xi)= =false or not new)

Then i=i+1;

End if;

等待进入下一检测周期,转到步骤(1)。

3 仿真与性能分析

3.1 仿真环境

本文在仿真软件NS2 环境中,200 m ×200 m 的区域内布置了1000 个节点和20 个基站。每个节点的原始能量为2.5 J,采样周期为100 s,基站为携带较多能量的节点,可暂不考虑能量问题,而只考虑普通节点的能量消耗。入侵节点25 个,在每个检测周期呈现不同状态(睡眠、等待、激活等)。

3.2 流量分析

DoS 攻击是以消耗网络能量、迫使网络瘫痪为目标的,网络流量明显增加是其主要特征之一。图3 为WSNs 在理想状态(无DoS 攻击)下,网络流量情况。图4 是 DDMI 算法中,根据网络运行情况,判断出的网络流量。从图3 与图4 比较可以看出:网络流量趋势大致相同,在误差允许的前提下,可以认为二者是相同的,也就是说DDMI 算法中判断所得网络流量可以近似代替理想状态下WSNs 的网络流量。这样,在WSNs 正常运行状态(可能有DoS 攻击)下,受到攻击时,网络流量会与DDMI 算法中的判断的网络流量产生明显不同的趋势,即初步断定网络受到攻击。

3.3 能量消耗

图3 WSNs 流量图Fig 3 Flow diagram of WSNs

图4 DDMI 算法中判断网络流量图Fig 4 Diagram of networks flow judged by DDMI algorithm

图5 为节点平均能耗与入侵次数关系图。由图中曲线可以看出:在网络没有受到入侵时,节点平均能耗仅为维持网络运行的能耗值。当发生网络入侵时,在前10 次之内,平均能耗迅速增加,在入侵达到10 次以上时,能耗相对平稳,而且保持在一个相对较低的水平。这一现象与生物免疫学原理中的记忆和自学习能力相吻合,也就是当网络刚刚发生入侵时,特征库内还没有入侵节点的特征,簇内节点如没识别入侵,需要消耗较多能量进行入侵识别、检测、写入特征库等工作后才能完成识别入侵的任务;当发生几次入侵后,特征库中已经记录了发生过的入侵节点特征,同种入侵再次发生时,就会变成已知入侵,节点只需要对照特征库中入侵节点的特征,就可以采取相应防御手段,隔离并消除入侵,所以,当大多数入侵都变为已知入侵时,能量消耗变得相对平稳,基本处于未发生入侵之前的状态。

图5 节点能量随入侵发生次数关系图Fig 5 Diagram of relation between node energy and intrusion numbers

从图5 中,还可以发现在未使用DDMI 方法之前,节点能量随着网络入侵发生的次数不断减少,直至能量完全消耗。说明不使用DDMI 算法,网络不具有的记忆和自学习能力,每次入侵都需要进行同样的检测,并采取相应的方法隔离入侵节点,这样,每次入侵检测都需要消耗一定量的能量,最终由于不断发生DoS 攻击使得能量耗尽,网络瘫痪。使用DDMI 算法,使得网络具有自学习和识别功能,相同性质的网络入侵,无需检测就可以对照入侵特性库判断,并采取相应方法,大大减轻了相同入侵对网络能量的损耗。

3.4 检测入侵能力分析

以WSNs 中常见的8 种资源消耗型DoS 攻击(拥塞攻击、泛洪攻击等)方式为例,通过仿真对本文提出的DDMI算法检测能力进行比较,如图6 所示。其余6 种DoS 攻击为服务程序漏洞型,只需在发送源地址和目的地址的同时,加发TCP SYN 包,就可以使该服务完全停止。而且,已有较成熟的路由协议,本文不再讨论。

从图6 可以看出:随着检测周期不断进行,检测率不断增加,最后达到(接近)100%,这说明,DDMI 算法可以检测出WSNs 中全部DoS 攻击。曲线是逐渐达到最大值的,这是本文算法具有学习能力的一种体现,因为随着时间推移,每检测出一种新攻击,就加入到入侵特征库中,这样,当全部DoS 攻击都被加入到入侵特征库时,网络就可以完全识别全部DoS 攻击,使检测率达到100%。

图6 相似度A 取不同值时检测率比较Fig 6 Detecting rate contrast while A value of similarity is different

从图6 中还可以看出:3 条曲线并不完全相同,这是由入侵特征xi与入侵特征库中的特征xk之间的相似度A 决定的。当A 值较大时,说明入侵特征与入侵特征库中的特征属性值相似度高,容易判断入侵的种类(通过与入侵特征库中特征值对照),也容易采取相关措施隔离、消除入侵;反之,A 值较小时,入侵特征与入侵特征库中特征属性值相似度低,不易辨别入侵种类,甚至可能将其当成库中没有入侵进行处理,极大地浪费了时间和通信资源。选取合适的A 值会使网络达到良好的运行状态。

3.5 错检率分析

从图7 可以看出:错检率随阈值To的增加而增加。阈值To表示粗糙集的粗糙程度,也就是说将收集到的信息处理和分析得精确度、完整性、一致性越高,错检率就越低,也就是越容易检测入侵。

图7 阙值To 对错检率的影响Fig 7 Effect of threshold To on false detecting rate

4 结 论

本文在对WSNs 中DoS 攻击进行分析的基础上,结合生物免疫原理,提出基于生物免疫原理的DoS 攻击检测算法。采用粗糙集很好地解决了WSNs 信息的不完整性和不确定性。仿真结果表明:在使用了本文提出的DDMI 算法后,对于DoS 入侵攻击的检测率可以达到100%。入侵特征库和自学习能力的引入也使得入侵检测高效和节能。

降低粗糙程度可以使错检率降低,使入侵检测更准确,但在WSNs 中,能量、计算能力及内存都是有限的,如何在减少能量消耗的情况下,降低粗糙程度,保证检测率更高,将是今后需要继续研究的课题。

[1] Raymond D R,Midkiff S F.Denial-of-service in wireless sensor networks:Attacks and defenses[J].IEEE Pervasive Computing,2008,7(1):74 -81.

[2] Hofmeyr S.An immunological model of distributed detection and its application to computer security[D].Albuquerque:University of New Mexico,1999.

[3] Hofmeyr S,Forrest S.Architecture for an artificial immune system[J].Evolutionary Computation,2000,8(4):443 -473.

[4] Kim J,Bentley P.Towards an artificial immune system for network intrusion detection:An investigation of dynamic clonal selection[C]∥Proceedings of the 2002 Congress on Evolutionary Computation,CEC’02,Washington DC,USA,IEEE Computer Society,2002:1015 - 1020.

[5] 李 涛.计算机免疫学[M].北京:电子工业出版社,2004.

[6] 李 涛.Idid:一种基于免疫的动态入侵检测模型[J].科学通报,2005,50(17):1912 -1919.

[7] 公茂果,郝 琳,焦李成,等.基于人工免疫系统的数据简化[J].软件学报,2009,20(4):804 -814.

[8] 严宣辉.应用疫苗接种策略的免疫入侵检测模型[J].电子学报,2009,37(4):780 -785.

[9] Pawalk Z.Rough sets-Theoretical aspects of reasoning about data[M].Dordrecht:Kluwer Academic Publishesr,1991.

猜你喜欢

库中网络流量粗糙集
基于多元高斯分布的网络流量异常识别方法
街头的人
基于Pawlak粗糙集模型的集合运算关系
基于神经网络的P2P流量识别方法
基于二进制链表的粗糙集属性约简
AVB网络流量整形帧模型端到端延迟计算
从今天开始
智能盘库在自动化立体库中的探索和应用
多粒化粗糙集性质的几个充分条件
双论域粗糙集在故障诊断中的应用