APP下载

基于Multi-Agent和本体的分布式入侵检测系统研究

2016-03-17郭广丰马占飞

计算机应用与软件 2016年2期
关键词:安全级别知识库本体

郭广丰 马占飞

(内蒙古科技大学包头师范学院 内蒙古 包头 014030)



基于Multi-Agent和本体的分布式入侵检测系统研究

郭广丰马占飞

(内蒙古科技大学包头师范学院内蒙古 包头 014030)

摘要入侵检测系统IDS(Intrusion Detection System)经历了近三十年的发展,虚警率高等问题一直困扰着用户,其原因可以部分归结为知识表示能力不足和IDS缺少协同工作。针对上述问题,融合Agent和本体技术,在此基础上建立相应的入侵检测本体知识库,提出一种基于Multi-Agent和本体的分布式IDS系统。该系统采用以本体为核心的多层次、分布式体系结构,从功能上分为探测器层、协同分析器层、知识管理层,从结构上由知识管理Agent、主机入侵检测Agent、网络入侵检测Agent、日志入侵检测Agent以及其他入侵检测Agent组成。各入侵检测Agent间协作采用合同网模型和熟人模型的协作算法。经过实验分析验证,该系统一方面提高了各检测器的协同工作能力,降低了虚警率,另一方面可以大大减少各检测器的通信量,提高了其协作效率。

关键词入侵检测系统Multi-Agent本体协作算法合同网熟人模型

RESEARCH ON DISTRIBUTED INTRUSION DETECTION SYSTEM BASED ON MULTI-AGENT AND ONTOLOGY

Guo GuangfengMa Zhanfei

(Baotou Teachers College,Inner Mongolia University of Science and Technology,Baotou 014030, Inner Mongolia, China)

AbstractIntrusion detection system (IDS) has been experienced about 30 years,but some problems such as the high false positive rate have always been plaguing its users with the cause being partially attributed to the deficiency of knowledge representation and the IDS lacking collaborated works. In view of above questions,the paper proposes a Multi-Agent and ontology-based distributed IDS by integrating Agent with ontology technology,and on that basis constructing the corresponding knowledge base of intrusion detection ontology. The system adopts multi-level and distributed architecture with the ontology as core,and functionally it can be divided into three levels: probes,collaborative analysers and knowledge management,and structurally it consists of the Agents for knowledge management,host intrusion detection,network intrusion detection,log intrusion detection,and other intrusion detection Agents. The collaboration between Agents uses the collaboration algorithm combining the contract net model and the acquaintance coalition model. It is verified through experimental analysis that on the one hand this system improves the interoperability of each detector and reduces false positives; on the other hand it is able to greatly cut down the traffic of communication between detectors and raises the efficiency of collaboration.

KeywordsIntrusion detection systemMulti-AgentOntologyCollaboration algorithmContract netAcquaintance coalition model

0引言

自从入侵检测的概念在20世纪80年代中期引入以来[1],入侵检测系统IDS经历了近三十年的发展,虚警率高等问题一直困扰着用户。IDS部署后,每天产生大量的报警,其中有许多错误报警,运维人员疲于应付大量无效报警,报警信息严重过载,而对系统构成严重威胁的攻击淹没在大量报警信息中,容易被运维人员忽略。入侵检测系统虚警率高的原因可以部分归结为知识表示能力不足和IDS缺少协同工作[2,3]。

本体是一种知识表示技术,通过对概念的严格定义和概念之间的关系来确定概念之间的精确含义,表示共同认可的、可共享的知识[4]。本体技术近年来得到了长足的发展,在以逻辑描述语言为基础的本体描述语言支持下,本体对特定领域中的概念间相互关系的表示能力得到充分发挥,被应用于很多研究领域[5-7],入侵检测方面的研究人员也开始关注本体。Victor Raskin等人于2001年对本体在信息安全领域的可用性进行了研究,指出了本体可以将入侵事件的所有表象系统化并组织起来,从而可以大量减少所需描述的特征,提高入侵检测系统的效率[8]。Jeffrey Undercoffe等人于2002年对本体在入侵检测中的应用进行研究,但他建立本体时未考虑入侵响应问题,也没有提出相应的入侵检测模型[9]。李万提出了一种扩展的语义Web规则语言XSWRL,提出了一种层次化混合型报警关联知识模型并基于XSWRL做了实现[10]。

Agent具有自主性等特征,Multi-Agent技术为解决入侵检测系统的分布式问题提供了有效的方法[11,12]。鉴于上述研究,本文提出一种基于Multi-Agent和本体的分布式IDS系统,并建立相应的入侵检测本体知识库,在此基础上开发基于本体的入侵检测系统,以解决现有IDS虚警率高及协同工作能力弱等问题。

1本体知识库的构建

本体的引入为网络安全方面的知识表示和知识共享提供了新的研究方法。基于本体的解决问题方法属于知识工程范畴,需要大量领域知识来解决问题。本文在文献[10]的基础上,增加Agent协作本体,从攻击模式、系统脆弱性、IT资产信息、Agent协作四个方面建模,其框架如图1所示。

图1 入侵检测本体框架

入侵检测本体中基本的类有协作信息(Collaboration)、攻击(Attack)、IT资产(Assert)、脆弱性或漏洞(Vulnerabilities)、IT资产系统状态(AssertState)、协作任务(Task)、报警融合及检测Agent (Agent)、主机操作系统(OS)、主机进程(Process)等。其中:

• IT资产有两个子类:网络资产(NetworkAssert)、主机资产(HostAssert);

• IT资产系统状态有两个子类:网络状态(NetworktState)、主机状态(HostState);

• 脆弱性或漏洞有两个子类:网络资产脆弱性(NetworktVulnerabilities)、主机脆弱性(HostVulnerabilities)。

它们之间有如下关系:

• IT资产系统状态是攻击本体的前提条件(preCoditon)或后续状态(consequentState);

• IT资产是攻击本体的攻击对象(attackObject),IT资产系统状态是IT资产的系统状态(isStateOf);

• IT资产有脆弱性或漏洞(hasVulnerability);

• 协作本体(Collaboration)包含一个或多个任务(hasTask),每个任务有参与协作的Agent类型(askAgent)和需要向参与协作Agent查询的某IT资产的各种状态(askState);

• 攻击行为之间存在整体-部分关系(hasPart)、前后关系(preAttack),用于报警信息的融合。

入侵攻击利用系统的脆弱性,采用相应的方法入侵网络设备、主机等IT资产对象,以达到攻击目的。IT资产信息引入知识库,根据其信息可以过滤掉指向无效IP或无效设备的攻击,另外区分不同IT资产对象的安全级别,对安全级别要求高的对象优先检测。引入IT资产系统状态,作为攻击行为的前提条件和后续状态,进一步判定攻击报警是否可信,可大大降低入侵检测的虚警率。Agent协作本体的引入,实现了对协作检测的刻画,可大大提高Agent协作的效率和协作检测的可信度。

2基于Multi-Agent和本体的IDS系统

在构建本体知识库的基础上,本文提出了基于Multi-Agent和本体的IDS系统(MAOIDS),其系统结构如图2所示。

图2 基于Multi-Agent和本体的IDS系统结构

该系统模型采用以本体为核心的多层次、分布式入侵检测结构,其从功能上分为三层,即探测器层、协同分析器层、知识管理层;结构上是由知识管理Agent、主机入侵检测Agent、网络入侵检测Agent、日志入侵检测Agent以及其他入侵检测Agent组成。

2.1功能模块分析

各层的功能如下:

1) 探测器层

该层提供多种类型的探测器,分别从网络、主机及其他设备收集原始数据。

2) 协同分析器层

该层为每一个探测器提供相应的分析器,每个分析器可以根据本体的知识,识别入侵行为,在需要时向其它分析器发送协同分析命令。每个协同检测器与其相应的探测器组成一个入侵检测Agent,如主机探测器与主机协同分析器组成主机入侵检测Agent。每个协同分析器有局部本体知识库,可独立完成检测任务,也可以与其他入侵检测Agent协同工作。入侵检测Agent可根据管理探测器的不同,自动将全局入侵检测本体知识库的相关数据缓存到本地,形成属于自己的局部本体知识库,减少大量的通信负担。

3) 知识管理层

该层一方面维护本体知识库,保持本体知识的一致性;另一方面,检测到攻击时进行报警,并采取相应的响应措施。该层包括知识库更新组件、黑板、报警融合组件和报警控制台,其中知识库更新组件用于管理员维护和更新入侵检测本体知识库;黑板主要用于多个检测器的协作,存放各Agent访问地址、报警消息列表以及协作所需的数据;报警融合组件主要进行报警信息的合并;报警控制台提供与网络管理员的用户接口,在屏幕上输出报警或发送报警邮件等。由知识库更新组件、黑板、报警融合组件和报警控制台组成的知识管理Agent,完成协作数据转发、报警融合、入侵检测本体知识库维护等功能。

2.2组织结构分析

基于Multi-Agent和本体的IDS系统由知识管理Agent和各类入侵检测Agent组成。知识管理Agent充当Agent管理者的角色,维护着全局的入侵检测本体知识库,并提供了与管理员交互的接口。各类入侵检测Agent,启动时在知识管理Agent中注册,并从其下载全局入侵检测本体知识库的相关数据到本地。下载知识库后,各类入侵检测Agent开始独立工作,其探测器或收集器收集原始数据,其分析器根据本地的入侵检测本体知识库识别攻击行为;当遇到复杂的检测任务时,向其他入侵检测Agent发起协作任务,根据一定的协作算法(见2.3节),共同完成检测任务;检测完成后,将确认后的报警信息发送给知识管理Agent。知识管理Agent中的报警融合组件对报警信息再次分析,合并有共同特征的报警,然后通过报警控制台反馈给管理员。

2.3各入侵检测Agent间协作

各入侵检测Agent可独立工作,处理复杂的检测任务需与其它入侵检测Agent协同工作。Agent之间采用FIPA ACL[13]规范进行消息传递,其content字段的内容使用OWL2[14]描述的本体格式填充,实现各Agent间数据及语义信息的交换。本文针对入侵检测系统的特点,提出了合同网模型和熟人模型相结合的协商算法。

2.3.1合同网模型和熟人模型相结合的协商过程

多Agent任务协作需要经历3个阶段:任务分配、问题求解和结果评价。具体协商过程由发起协商的Agent发出任务,其余的Agent进行投标,针对每个任务确定一个中标Agent,由它执行该任务,并把执行结果反馈给发起协商的Agent,发起协商的Agent对执行结果进行评价。协商过程定义为一个四元组:

A:所有IDS中Agent的集合,包含两类角色:招标方是发起协商的Agent,投标方是参与协作的Agent;

T:需要协作完成的任务的集合;

Time:协商发起的时间;

Process:本文约定的协作过程,其过程如图3所示。

1) 招标准备

招标方如果需要协作的任务,需把任务分解为原子任务T={t1,t2,…,tj,…,tn}(即可由一个Agent完成的任务),每个原子任务作为一个招标项目。

2) 发布招标公告

3) 投标

收到招标公告后,参与协作的Agent(记为Am)根据自己的处理能力进行自我评价,如果能力允许向招标方Ap发送投标信息(即投标书)。

4) 评标

招标方Ap收到投标书后,使用中标决策函数给每位投标方打分,选取得分最高的Agent为中标者,向其发送中标公告并签订合同。

5) 任务执行

中标Agent根据合同中约定的内容执行相应的任务。

6) 验收

中标Agent任务执行完后,将结果反馈给招标方Ap,Ap对结果进行评价。

2.3.2熟人集评估

在图3所示的发布招标公告阶段,首先要针对当前任务tj进行熟人集评估。根据评估的情况,确定向哪些Agent发布招标公告。

图3 协作过程的活动图

定义1将Ap委托Am完成任务tj的频繁程度,即亲密度定义为:

(1)

因此,在发布招标公告阶段,引入熟人模型,将大大减少协商时间和信息流量,提高系统效率。

2.3.3投标、中标决策函数

在图3所示的发布招标公告、投标及评标阶段涉及的相关定义及公式如下:

1) 招标书

在发布招标公告阶段中,进行熟人集评估后,招标公告以招标书的形式(见定义2)向其他Agent发布。

定义2招标书的格式如下:

Ann(tj)=。其中tj表示某一任务,Ann(tj)表示为任务tj编制的标书。Ap表示发起协商的Agent;Des表示对该任务的本体描述;TA表示完成该任务所需能力集合,表示为TA={TA1,TA2,…,TAn};TO表示该任务中涉及的IT资产对象的集合,表示为TO={TO1,TO2,…,TOm};MT表示允许中标Agent执行该任务最长时间;α表示该任务重要程度(优先级系数),α∈[0,1],用以区分不同IT资产对象的安全级别,对涉及到安全级别高的IT资产的任务优先执行。

2) 投标决策

在投标阶段,参与协作的Am收到招标书后,首先要进行自我评价,根据自己的能力,选择一部分协作任务投标。Am可能收到多个招标信息后,将任务按其优先级α从大到小组成一个队列,依次估算每个任务的执行时间ET(tj)和预估tj执行时负载系数β,并判断TA(tj)≦TA(Ao)ANDTO(tj)≦TO(Am)ANDET(tj) ≤MTANDβ≤E(最大负载系数)条件是否为真。如果条件成立发送投标书,发送后更新β,任务tj出队列。当β>E时,本轮投标决策结束。

3) 投标书

在投标阶段,进行投标决策后,参与协作的Am向发起协商的Ap发送投标书(见定义3)。

定义3投标书的格式如下:

Bid(tj)=。Am表示有能力完成任务tj的协作Agent,ET(tj)表示估算的任务tj的执行时间。

4) 中标决策函数

在评标阶段阶段,发起协商Ap收到投标书后,使用中标决策函数给每份投标书打分:

(2)

其中,APrice(Am,tj)表示对Am完成任务tj的评分值,K1和K2分别为执行效率评分和历史业绩评定的权重,ETm(tj) 表示投标书中Am承诺的任务tj的执行时间,MT(tj)表示招标书中任务tj的最大执行时间,P(Am)表示Am已完成任务的结果综合评分。

3模型验证及实验数据分析

以“Code Red II”网络蠕虫病虫的入侵检测为例,在网络安全实验室机房进行了如下测试。

假设“Code Red II”蠕虫病毒在服务器网段爆发,该网络中部署了1个知识管理Agent、5个网络入侵检测Agent,并在15台服务器上安装了主机入侵检测Agent组件,组成了基于Multi-Agent和本体的IDS系统(MAOIDS)。在进行实验验证时,将MAOIDS与Snort系统进行了比较和分析。

针对“Code Red II”网络蠕虫病毒传播特征[15],建立了用OWL2描述的小规模本体知识库,在入侵检测本体框架的基础上,增加RedCode2Attack类和Rule类,并根据“Code Red II”的特征,构建了网络检测器规则。

Declaration(Class(:Redcode2Attack))

SubClassOf(:Redcode2Attack:Attacks)

Declaration(NamedIndividual(:ruleRedCode2))

ClassAssertion(:DetectRule:ruleRedCode2)

ClassAssertion(:Redcode2Attack:ruleRedCode2)

DataPropertyAssertion(:rulestring:ruleRedCode2 "alert tcp any any ->$HOME_NET 80 (flags:PA; content:”/default.ida”; nocase; )"^^xsd:string)

在此基础上,声明2个IT资产系统状态,其中hostState1用来表示主机有IIS进程,hostState2用来表示主机有IIS RedCode2漏洞。

Declaration(NamedIndividual(:hostState1))

ClassAssertion(:HostState:hostState1)

ObjectPropertyAssertion(:attributeObject:hostState1:IISProcess)

DataPropertyAssertion(:attributeName:hostState1 "hasProcess"^^xsd:string)

Declaration(NamedIndividual(:hostState2))

ClassAssertion(:HostState:hostState2)

ObjectPropertyAssertion(:attributeObject:hostState2:IISVulnerability)

DataPropertyAssertion(:attributeName:hostState2 "hasVulnerablility"^^xsd:string)

用于推理的Swrl[16]规则如下:

HostAssert(?y),Redcode2Attack(?x),hasState(?y,hostState1),hasState(?y,hostState2),destinationIP(?x,?a),ip(?y,?b),equal(?a,?b) -> attackConfirmState(?x," true"^^string)

HostAssert(?y),Redcode2Attack(?x),attackConfirmState(?x," true"^^string),destinationIP(?x,?a),ip(?y,?b),equal(?a,?b) -> attackObject(?x,?y)

检测过程如下(以扫描192.168.1.1为例):

网络入侵检测Agent发现“Code Red II”蠕虫病毒扫描了IP地址为192.168.1.1的这台主机并触发了相应的告警信息。首先查询本地本体库,判断主机上是否运行有Microsoft IIS服务进程和有无IIS缓冲区溢出漏洞,网络入侵检测Agent发起协作,此任务的熟人集为空,先向知识管理Agent发送招标书,再由知识管理Agent向所有检测Agent转发此招标书;所有检测Agent收到此招标书后,判断是否有能力处理此任务;其中有一个主机监测器部署在192.168.1.1的这台主机上,向网络监测器Agent发送投标书,网络入侵检测Agent收到投标书后,综合评定,确定该主机入侵检测Agent为中标者。该主机入侵检测Agent根据谓词hasProcess(IISProcess)判断主机上是否运行有Microsoft IIS服务进,直接将结果反馈给网络入侵检测Agent;如果谓词返回True,则根据谓词hasVulnerablility(IISRedCodeVulnerability)判断是否存在IIS缓冲区溢出漏洞,将结果返回给网络入侵检测Agent。网络入侵检测Agent对此任务作出评价,将此主机监测入侵检测Agent作为网络入侵检测Agent熟人集中的一员,将其访问地址保存到本地;并根据任务结果,如果确认发生攻击,将攻击信息发送给知识管理Agent,知识管理Agent根据融合规则,如果满足融合条件,将报警消息融合并发送给网络管理员。如果再发生上述入侵事件,网络入侵检测Agent根据之前保存的访问地址,直接向部署在192.168.1.1的主机入侵检测Agent发送招标书。

在实验1中,模拟了在不同网络流量情况下, MAOIDS原型系统和Snort入侵检测系统的报警情况。攻击源主机在不同网络流量情况下,在产生的背景流量中,随机混入1500个“Code Red II”蠕虫病毒攻击包。在这1500个数据包中,其中有500个攻击的目的主机无漏洞,属于无效攻击。其余的1000个有效攻击数据包均匀地发送给三类主机:A类主机,安全级别最高,优先级系数为0.8~1;B类主机,安全级别次之,优先级系数为0.5~0.8;C类主机,安全级别最低,优先级系数在0.5以下。实验结果如图4和图5所示。

图4 两种IDS系统的实验结果

图5 MAOIDS系统三类不同优先级主机的报警对比图

从实验1的结果看,本文提出的分布式入侵检测系统MAOIDS能滤除虚警数据,降低虚警率。如图4所示,当网络流量小于40 Mbps时,系统工作稳定;当网络流量激增到50 Mbps时,上述两个IDS由于其检测分析速度明显延迟于网络流速,漏报了小部分攻击事件。而本文提出的MAOIDS,需要多个Agent协作完成部分检测任务,其检测分析速度下降稍明显一些。

从实验1的结果看,本文提出的分布式入侵检测系统MAOIDS能区分不同安全级别的主机,能优先对高安全级别的主机的攻击进行检测。如图5所示,当网络流量小于40 Mbps时,漏报率都比较低;当网络流量激增到50 Mbps时,其检测分析速度明显延迟于网络流速,在这种情况下,可明显看出MAOIDS优先对高安全级别的A类主机的攻击进行检测。

实验2中,有5个网络入侵检测Agent和15个主机入侵检测Agent参与完成协同检测任务,每次实验持续5分钟,5分钟内每分钟发起固定次数的协同检测任务,统计5分钟内各Agent间平均交互的次数。亲密度下限ER设为0.3,固定次数从5次一直递增到30次,共进行了26次实验。实验结果如图6所示。

图6 两种协作算法的实验结果

从实验2的结果看,经典的合同网算法[17]的协商通信代价远远高于本文提出的熟人模型和合同网模型的协作算法。本文的算法与经典的合同网算法相比,Agent间的平均交互次数降低了34.5%。

总体来看,在完备的本体知识库支持下,本文提出的分布入侵检测系统MAOIDS可有效减少误报,即使在网络流量较大的情况下,可保证对高安全级别的IT资产的攻击优先检测。采用结合熟人模型和合同网模型的协作算法,随着Agent间协作的频度增加,与经典的合同网算法相比,Agent间交互次数将明显减少。

4结语

基于Multi-Agent和本体的IDS,采用结合熟人模型和合同网模型的协作算法,一方面提高了各检测器的协同工作能力,降低虚警率,即使在网络流量较大的情况下,可保证对高安全级别的IT资产的攻击优先检测;另一方面可以大大减少各检测器的通信量,提高协作效率。但是由于本体知识库的规模所限,测试只是局部的,今后还需要进一步完善。

参考文献

[1] Denning DE. An intrusion detection model [J]. IEEE Transactions on Software Engineering,1987,13(2):222-232.

[2] Abdoli F,Kahani M. Advances in Computer and Information Sciences and Engineering [M]. Berlin: Springer,2008.

[3] Abdoli F,Kahani M. Computer Conference: CSICC 2009[C]//Proceedings of 14th International Computer Conference,Tehran,October 20-21,2009, New York: IEEE,c2009.

[4] Gruber T. A Translation Approach to Portable Ontology Specifications [J]. Knowledge Acquisition,1993,5(2):199-220.

[5] 王向辉,冯志勇. 语义Web服务自动组合定义、方法及验证调查[J] . 计算机工程,2014,31(5):1292-1301.

[6] 王能干,王坚,凌卫青. 基于本体的突发事件应急服务模型研究[J]. 计算机与现代化,2014,29(1):194-200.

[7] 王前,冯亚军,杨兆民,等. 基于本体的网络攻击模型及其应用[J]. 计算机科学,2010,37(6):114-117.

[8] Raskin V,Hempelmann C F,Triezenberg K E,et al. the New Security Paradigms Workshop: NSPW 2001[C]//Proceedings of the 2001 workshop on New security paradigms,New Mexico,September 11-13 ,2001,New York: ACM,c2001.

[9] Undercoffer J,Joshi A,Pinkston J. Recent Advances in Intrusion Detection[C]//RAID 2003: proceedings of 6th International Symposium,Pittsburgh,September 8-10,2003. Berlin: Springer,2003.

[10] 李万. 基于本体的入侵报警关联[D]. 北京:北京交通大学,2010.

[11] 张然,刘洋,尹毅锋,等.基于Multi-Agent的入侵检测动态协同机制研究[J]. 微电子学与计算机,2013,30 (8):57-62.

[12] 马鑫,梁艳春,田野,等.基于免疫机理与合同网协议的多Agent入侵检测系统[J]. 吉林大学学报:工学版,2011,41(1):176-181.

[13] FIPA. ACL Message Structure Specification [EB/OL]. (2012-12-3).http://www.fipa.org/specs/fipa00061/SC00061G.html.

[14] W3C. OWL 2 Web Ontology Language Document Overview (Second Edition) [EB/OL]. (2012-12-11) http://www.w3.org/TR/owl2-overview/.

[15] Steve Friedl. Analysis of the new "Code Red II" Variant [EB/OL]. (2011-8-22) http://www.unixwiz.net/techtips/CodeRedII.html.

[16] W3C. SWRL [EB/OL]. (2014-5-21) http://www.w3.org/Submission/2004/.SUBM-SWRL-20040521/.

[17] Smith,Reid G. The contract net protocol: High level communication and control in a distributed problem solver [J]. Computers,1980,29(12):1104-1113.

中图分类号TP393.08

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.02.032

收稿日期:2014-10-08。国家自然科学基金项目(61163025);内蒙古高等学校科学技术研究项目(NJZY12200)。郭广丰,讲师,主研领域:计算机网络应用技术,信息安全。马占飞,教授。

猜你喜欢

安全级别知识库本体
基于Packet tracer防火墙的基本配置仿真实验的设计与实现
眼睛是“本体”
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
基于本体的机械产品工艺知识表示
高速公路信息系统维护知识库的建立和应用
基于Drupal发布学者知识库关联数据的研究
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
数据库加密技术及其应用研究
专题
Care about the virtue moral education