APP下载

基于多代理技术的入侵检测机制研究

2011-03-14赵自平

网络安全技术与应用 2011年3期
关键词:自体抗原无线

赵自平

湖北工业大学 湖北 430068

0 引言

无线传感器网络是一种特殊的自主无线网络,可广泛地应用于军事、环境、医疗、家庭、工业、交通和环保等领域。与传统无线网络相比,传感器网络具有节点分布稠密、能量有限、节点计算能力和存储空间有限、容易遭受安全攻击等特点。由于其不依赖于固定基础设施,使得防火墙方案无可适从。在加密、认证等技术得到广泛认可之后,入侵检测成为了网络防御的第二道防线。入侵检测技术是为保证系统安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,作为一种主动的入侵防御技术,它能够提供一种动态的监控、预防或抵御系统入侵行为的安全机制。由于无线传感器网络的特殊性,传统网络中的入侵检测技术不能直接用于无线传感器网络中。随着无线传感器网络的应用越来越广泛,基于规则的入侵检测技术无法有效地检测到不断增加的新型攻击,因此无线传感器网络的攻击检测主要采用异常检测技术。Krishnamachari等人利用贝叶斯模型预测入侵发生的位置,但没有对攻击行为实现量化。Su针对分簇式WSN提出一种能量节省的入侵检测方案,却增加了系统的复杂性。本文将人工免疫原理和多代理技术相结合,提出了一种适用于分簇式无线传感器网络的入侵检测机制。在该机制中利用免疫系统的多样性和Agent的轻型特征对无线传感器网络中不断出现的各类新型入侵进行快速检测,在提高系统安全性的同时减少网络能量消耗,尽可能地延长WSN的生命周期。

1 Multi-Agent免疫模型

Multi-Agent系统是管理一定数量和种类的Agent来完成特定目标的系统。每个Agent可以单独存在,也可以存在于一个由很多Agent构成的整体系统中。它们有事先设定好的目标,有固定的活动准则,同时可以了解所处的环境信息,并且能够根据环境信息进行判断、交流、合作、学习并做出决策。Agent的自治性、移动性和智能性使其成为检测入侵的理想载体。免疫系统本身是一个复杂的自治Agent系统,其分布式、自适应、自学习和多样性等优良特征使其在信息安全技术研究中得到广泛关注,并取得了一定成果。基于人工免疫的 Multi-Agent系统所具有的开放性、分布式和多样性等特征与无线传感器网络的拓扑结构动态性、节点易失效及入侵形式广泛等特点不谋而合。

1.1 免疫定义

定义1抗原。定义问题域 X∈ {0,1}l,抗原Ag⊂X,在网络入侵检测系统中,抗原定义为节点对发送给簇头的数据包进行特征提取后得到的长度为l的比特串。它包括自体集合S⊂Ag和非自体集合F⊂Ag两个子集,有S ∪F=Ag 且S∩F=φ。在入侵检测系统中,自体为正常的网络数据,而非自体代表来自网络攻击的数据。免疫系统所面临的主要问题是如何识别自体和非自体,抗原的判断结果对应识别入侵行为问题的解。

定义2抗体。定义抗体Ab⊂X是入侵检测系统中的检测器,系统的识别过程是在抗原和抗体之间发生的。Ab ={< ab, t, d >|a b ∈Ab, t ∈ {1,… ,T },d ∈{0,1,2}},其中,ab为免疫细胞,t为ab的年龄,T为免疫细胞的最大生存周期,d为ab的状态标识。又有 Ab = AbI∪ AbT∪ AbM,其中AbI为未成熟免疫细胞,有 AbI= {i| i ∈ Ab, i, d = 0},表示由基因重组和变异产生的新型检测器;AbT为成熟免疫细胞,有AbT= {t| t ∈ Ab, t, d = 1},表示用于识别未知入侵行为的检测器;AbM为记忆细胞,有 AbM= {m| m ∈ Ab, m, d =2},表示用于识别已知入侵行为的检测器。

定义3亲和力。抗原—抗体的亲和力与它们之间的距离相关,表示抗原与抗体的匹配程度;抗体—抗体的亲和力表示抗体之间的相似程度。本文采用 Hamming距离来定义亲和力。

其中,x、y表示参与计算的抗原或抗体,抗体的坐标用<ab1, ab2,… ,a bl>表示,抗原坐标用 <ag1, ag2,… ,agl>表示。参与计算的两者之间的距离越小,即两者越匹配,则它们的亲和力越大,且0 < A( x, y)≤ 1。抗原—抗体的亲和力用来检测是否有入侵行为发生。假设簇头收到来自某个传感器节点的数据并提取出抗原ag,若∃ab使得 A( a g, a b)>γ(γ为抗原—抗体匹配阈值,又称检测阈值),则表示有入侵行为发生。同时,抗体—抗体的亲和力表示抗体的相似性,用来控制检测器的规模,以适应传感器节点存储空间有限的特点。对于一个未成熟抗体 ab∈AbI,若 ∃a b′ ∈ Ab使得A( ab, ab′)>φ (φ为抗体—抗体匹配阈值),则ab与抗体ab′具有较高的相似性。

1.2 Multi-Agent结构

图1 节点的入侵检测单元

无线传感器网络内每个传感器节点都配置一个入侵检测单元(IDU),每个IDU由多个Agent构成,如图1所示。在簇的形成阶段,传感器节点利用DU判断簇头是否被入侵,从而决定是否加入该簇。在簇形成以后,由簇头来监视簇内节点的活动。簇头IDU从节点上传的数据来判断入侵,能有效地避免内部叛变。

(1)监视Agent(MonA)

簇头节点上的监视 Agent收集簇内所有节点的通信活动,将收集到的数据进行特征提取后,产生抗原交给上层的检测Agent分析。本文中抗原和抗体的编码方式采用二进制编码,如图2所示。主要考虑从能量、协议、IP地址和端口等内容发现异常,从而判断是否有入侵发生。

图2 抗原的编码形式

(2)检测Agent(DetA)

检测Agent利用免疫原理对抗原进行检测,这是整个入侵检测系统的核心部分。如果发现入侵,则激活上层的响应Agent。检测Agent使用的入侵检测器为所有成熟免疫细胞和记忆细胞的集合,其中记忆细胞利用先验知识能够快速识别入侵,成熟免疫细胞用于检测未知新型入侵。

(3)响应Agent(ResA)

响应Agent负责处理报警信息和接收疫苗,响应Agent根据具体的情况采取相应的响应措施,包括降低相应节点的信任度、切断通信、更新密钥等。簇头的IDU将检测到新型入侵的抗体作为疫苗朝发送给簇内所有传感器节点,减少网络学习的时间。为了降低误报率,每个节点的DU对来自其它节点的疫苗首先要进行自体耐受,只有疫苗不与该节点的任何自体匹配时才能成为该节点的记忆细胞。

(4)管理Agent(ManA)

管理Agent负责刺激应答、更新自体集、管理和控制其他 Agent。簇头与簇内节点之间、簇头与簇头之间以及簇头与Sink节点之间通过各自的管理Agent相互通信,交换检测结果及相关信息。管理Agent再通过接口与 IDU内的其它Agent通信,达到分布式协作检测的目的。

2 IMAIDM检测机制

2.1 抗体的生命周期

为适应无线传感器网络的动态性,IMAIDM的抗体在检测过程中也是动态变化的。如图3所示。

随机生成的二进制串作为未成熟免疫细胞,但其不能与任何自体相匹配。利用否定选择算法对未成熟细胞进行自体耐受,如果在耐受期内没有与任何自体匹配,则成长为成熟免疫细胞,期望能检测未知新型入侵。由于传感器节点存储空间有限,因此有必要对成熟细胞的浓度进行一定的控制,即高相似性的细胞不应太多,对每个新成熟的免疫细胞,按式(1)和式(2)计算它与成熟细胞集中其它抗体的亲和力,并按式(3)计算其浓度。

图3 IMAIDM中的抗体

对于抗体x,若有 AbCh( x)>λ(λ为抗体浓度阈值),则x发生了冗余,无需重复存储。同时,对每个抗体设置一个生命期,在生命期内若匹配可疑抗原,则该细胞被激活,管理Agent向Sink节点及其它簇头节点发起协同检测,如果协同判断的结果为入侵,则成熟细胞成长为记忆细胞。记忆细胞将优先检测所有的抗原,利用先验知识达到快速检测入侵的目的。为解决诸如检测效率随着记忆细胞集的无限增长而降低、记忆细胞达到饱和后新的抗体无法生成,导致无法检测到新的入侵等问题,本文通过 LRU算法来淘汰最近最少使用的记忆细胞,以保证记忆细胞集的容量一定,并有能力动态地加入最新的抗体。淘汰的记忆细胞将重新加入成熟细胞集。针对网络入侵行为的相似性,本文对记忆细胞进行交叉变异生成新的未成熟细胞,减少未成熟细胞产生的盲目性,提高学习效率。同时,我们注意到新增的记忆细胞可以检测最新的入侵,因此本文利用簇头节点之间相互交换最新的记忆细胞,以注射疫苗的方式,迅速提高全网的安全性。

2.2 入侵检测算法

IMAIDM中入侵检测分两个阶段,第一个阶段是在形成簇的时期,第二个阶段则是在簇形成以后。当某一个节点竞争成为簇头,向其它节点发布当选信息时,每个传感器节点内的IDU将被激活,检测该簇头节点的安全性以判断是否加入该簇。

算法l 簇头判定检测算法

MonA:抗原提呈

(1)MonA接收簇头当选信息、密钥验证应答等信息;

(2)将收到的相关信息进行数据融合,提取特征向量组成抗原ag;

(3)将ag上传给本地DetA。

DetA:免疫检测

(1)计算抗原ag与记忆细胞集AbM以及成熟细胞集AbT中的每一个抗体ab的亲和力 A( a g, ab);

(2)若∃ab使得 A( a g, a b)>γ,则判断该簇头节点为入侵,将结果上传给本地ResA;

(3)否则,判断没有发生入侵,接受并加入该簇。

ResA:入侵响应

(1)若收到ResA上传的入侵信息,将该簇头的入侵标签Ttag++,并上传给本地ManA;

(2)若收到ManA发送的联合入侵信息,则将该簇头的入侵标签Itag++;

(3)若入侵标签Itag>τ(τ为联合阈值),则将该簇头标记为入侵;

(4)切断与入侵节点的通信,不选择该节点作为簇头。

ManA:协同检测

(1)收到本地ResA发送的入侵信息,将该消息联合发送给其它邻居节点;

(2)收到邻居节点发送的联合入侵消息,将该消息传给本地ResA。第一阶段的检测是分布式联合检测,当邻居中有τ个节点认为该簇头不安全时,传感器节点将拒绝加入该簇。其中联合阈值τ可根据安全性要求进行设置。当簇头选择完成以后进入第二阶段,被选为簇头的节点负责整个簇内的入侵检测任务。在第二阶段中,仅簇头节点的IDU处于激活状态,监视簇内其它节点发送来的数据,并检测是否有入侵发生。簇内的普通节点除管理Agent外,其它Agent均处于休眠状态,达到节能的目的。

算法2 簇内入侵检测算法

MonA:抗原提呈

(1)簇头IDU的MonA接收簇内每个节点发送来的数据包,并提取特征向量组成抗原ag;

(2)将抗原ag上传给本地DetA。

DetA:免疫检测

(1)For ab∈AbM,计算抗原—抗体的亲和力A( ag,ab)。若∃ab使得 A( a g, a b)>γ,则转(4);

(2)For ab∈AbT,计算抗原—抗体的亲和力 A( a g, a b)。若∃ab使得 A( a g, a b)>γ,则转(5);

(3)判断没有发生入侵,接受该数据包,转(7);

(4)判断有入侵发生,并将入侵信息上传给本地ResA,转(7);

(5)将入侵信息上传给本地ManA,请求协同刺激;

(6)根据ManA发回的协同刺激,若协同判定为入侵,则匹配该抗原的成熟细胞成长为记忆细胞,转(4);否则匹配该抗原的成熟细胞死亡,转(3)。

(7)检测结束。ResA:入侵响应

(1)若收到ResA上传的入侵信息,丢弃该数据包,并标记该节点,切断与该节点的通信,将入侵消息上传给ManA。

(2)若收到ManA发送的疫苗信息,则对疫苗进行自体耐受,耐受成功以后加入A%。

ManA:协同检测

(1)收到本地DetA发送的协同请求,将入侵消息发送给Sink节点,并将Sink节点返回的协同判定发送给DetA。

(2)收到本地ResA发送的入侵信息,将相关抗体作为疫苗发送给其它簇头节点和本簇内的所有节点。

(3)收到邻居簇头节点发送的疫苗,将该疫苗传给本地ResA。

(4)收到Sink节点发送的网络变更消息,更新自体集,并将消息发送给簇内所有节点。在第二阶段,簇内节点将数据发送到簇头,由簇头节点负责全簇的安全。同时,簇头节点之间进行疫苗交换,以加快全网的学习效率。当有未知情况发生时,由Sink节点来判定是入侵行为,还是网络的合法变更。在这一阶段,簇内节点的IDU功能仅仅是更新自体集和接受疫苗,而不再对簇头节点进行监视和检测,以减少能量的消耗。对于这一阶段簇头节点叛变的问题,可以通过限制簇头的任期来进行一定的控制。

3 结束语

IMAIDM采用多代理技术,传感器节点和簇头在不同的时期承担不同的检测任务,融合本地检测和联合检测于一体,能有效降低网络的能耗。每个节点中的Agents基于人工免疫的基本原理,利用免疫系统的多样性和自适应性来加强对未知新型入侵的检测。同时,各Agent之间通过疫苗注射来加快入侵检测的速度,从而迅速提高了全网的安全性并延长了网络的生存周期。IMADM符合无线传感器网络的动态特点,可成为无线传感器网络中继加密、认证等安全措施之后的又一安全保障措施。

[1]孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社.2005.

[2]Denning DE An Intrusion Detection Model [J].IEEE Tram Off Software Engineering.1987.

[3]杨黎斌,慕德俊,蔡晓妍.基于核聚类的无线传感器网络异常检测方案[J].传感技术学报.2009.

[4]王骐,王殊,盂中楼.无线传感器网络中一种基于接收功率异常的入侵检测算法[J].计算机科学.2009.

[5]Krishnamachari B,Lyengar S.Distributed Bayesian Algorithms for Dault-Tolerantevent Region Detection in Wireless Sensor Networks[J].IEEE Trans on Computer.2004.

猜你喜欢

自体抗原无线
自体血清在干眼症治疗中的应用进展
《无线互联科技》征稿词(2021)
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
脂肪推土机 Bulldozer “自体脂肪填充”大揭秘!
梅毒螺旋体TpN17抗原的表达及纯化
自体脂肪颗粒移植治疗面部凹陷的临床观察
结核分枝杆菌抗原Lppx和MT0322人T细胞抗原表位的多态性研究
APOBEC-3F和APOBEC-3G与乙肝核心抗原的相互作用研究