- 1 -
中国科技论文在线
基于多代理的智能入侵检测系统模型研究
刘攀,吕锋*
作者简介:刘攀,(1985-),男,硕士研究生,计算机网络
(武汉理工大学信息工程学院,武汉 430070)
摘要:随着各种检测技术的相继提出,如何利用检测技术构建新型入侵检测系统,从而得到
更准确的检测结果将是未来入侵检测的研究方向之一。本文提出了一种智能入侵检测系统模
型,该模型基于多代理的分布式体系结构,集成基于协议分析与特征匹配的误用检测技术和
基于粗糙集与支持向量机优势互补的异常检测技术。相比传统的入侵检测系统提高了系统检
测率,降低了系统误报率和漏报率。
关键词:入侵检测;粗糙集;支持向量机;多代理;分布式
中图分类号:TP393
Research of Intelligent Intrusion Detection System Model
Based on Multi-agent
Lu Pan, Lu Feng
(School of Information Engineering, Wuhan University of Technology, WuHan 430070)
Abstract: As various detection technologies have been proposed. How to build a new intrusion
detection system model based on various detection resources, and get more accurate results will be one
important research direction of the intrusion detection system. The paper propose a model of intelligent
intrusion detection system based on multi-agent distributed architecture, integrate anomaly intrusion
detection based on Pattern Matching and Protocol Analysis with misuse intrusion detection based on
the complementary superiority of Rough Set and Support Vector Machine. Compared with the
traditional intrusion detection technology, the proposed scheme decreased false positive and false
negative rate, and improved detection rate.
Keywords:Intrusion Detection; Rough Set; Support Vector Machine; Multi-Agent; Distribution
0 引言
随着信息技术和 Internet的迅猛发展,网络安全问题变得日益突出。入侵检测作为动态
安全防护体系的核心技术之一,使得网络、系统的安全性得到进一步的提高。入侵检测[1,2]
是监视在网络或系统中所发生事件的过程,通过分析这些事件的入侵迹象,界定企图危害信
息的保密性、完整性、可用性,以及绕过网络或系统安全机制的行为。入侵检测系统(Intrusion
Detection System, IDS)就是按照一定的安全策略建立相应的安全辅助措施,发现入侵行为的
软硬件综合保障系统。按 IDS 数据源的分类方式可将入侵检测系统分为基于主机的入侵检
测系统和基于网络的入侵检测系统。
目前存在的多种入侵检测系统模型采用了不同的检测和分析方法,并且每种方法都有明
显的优缺点,但大多数方法都能以通用的入侵检测模型来描述。关于通用入侵检测模型的研
究,最早是由 [3]于 1987年提出,该模型由主体、对象、审计记录、活动简档、
异常记录和活动规则等六个部分构成。它是基于主机的入侵检测模型,另一种流行的模型是
分布式入侵检测模型。
当前网络攻击技术呈现出多样化、复杂化和大规模高速化的特点,同时分布式攻击正向
智能型分布式攻击方向发展,而传统的入侵检测系统在实时性、有效性、可扩展性等方面又
表现出明显的不足。本文根据上述情况提出一种智能入侵检测系统模型,该模型针对当前高
速复杂的网络环境,动态自适应地选择合适的入侵检测技术,有效地利用各种检测资源,协
- 2 -
中国科技论文在线
调地完成入侵检测任务。
1 系统设计
体系结构
智能型分布式入侵检测系统的体系结构和智能型分布式攻击相似[4],如图 1所示。和攻
击不同的是,这里的层次及各结点不是以传播的方式自动生成的,而是预先定义好的(也有
可能通过移动代理技术生成)。各子结点宿主可能是普通主机,也可能是路由器等网络设备。
从功能上看,各结点可以看作是智能体。各结点之间并不是孤立的,位于同一层上的同
一父结点下的子结点可以直接互相通信。同一层的不同父结点的子结点也可以通过上层的父
结点间接通信,如图 1中双向箭头线段所示。
智能型分布式入侵检测对异常行为的判断采用基于网络和基于主机综合判断的方式。在
结点运行过程中,如果遇到的问题本结点无法独自解决,将和其他结点通过协商共同解决。
如果还不能解决,则将问题向上层反馈,直至主控端手工加以分析后解决。
详细设计
通常,误用检测对智能性的要求较低,能很快处理已知的攻击;异常检测则具有很高的
智能性,但处理速度相对较慢;协议分析可以有效利用网络协议的层次性和相关协议的知识
快速地判断攻击特征的存在[5];同时在大规模分布式入侵检测系统的设计中,应遵循“静态
代理为主,移动代理为辅”的原则[6]。因此,高速复杂网络环境下,对于底层代理(静态代
理)的设计应在保证一定准确度的情况下,尽量提高系统的检测速度,降低系统的复杂度。
依据以上原则,对底层入侵检测系统进行了如下设计,系统框图如图 2所示。
该系统采用分层交互的方式,让底层检测代理尽可能的处理来自主机和网络的大部分入
侵,对于分布式入侵或其他可疑信息交由上层检测代理进行二次分析。分析的依据是基于这
- 3 -
中国科技论文在线
些报警信息或可疑信息在属性特征上的相似性,进行汇总分析。以下是各检测代理的具体设
计方案:
1)、底层主机检测代理的设计采用经典的开放源码的入侵检测系统 Snort。它基于特征
值匹配的方式,运行于受监测的服务器上,通过分析系统日志和监视系统状态,检测基于主
机的入侵并予以响应。这里根据系统需要对 Snort的部分代码和检测规则进行了修改,主要
包括以下两个方面[7]:
对 Snort的源程序(负责向数据库添加记录的程序段)进行部分修改,使得当 Snort发现新
的入侵时,在将报警信息向数据库中进行添加的同时可以通过特定端口通知本地原始报警信
息归一化模块来进行后续处理;
取消 Snort对拒绝服务攻击的检测任务,实现的方法是将 Snort规则库中 中的
规则清空,并将 中的关于部分同检测拒绝服务攻击有关的规则剔除。这样做
的目的是使 Snort系统不再负责对其不胜任的拒绝服务攻击的检测,从而提高检测效率和准
确度。
2)、底层网络检测代理的设计如图 3所示,它采用基于粗糙集理论的检测方法。粗糙集
(Rough Set, RS)[8]是 Pawlak于 1982年提出的一种处理不完备信息的方法,与其他处理不精
确、不完全和不确定问题理论最显著的区别是它无需提供问题所需处理的数据集合之外的任
何先验信息,能在保留关键信息的前提下对数据的属性进行约简并求得知识的最小表达,从
中发现隐含的知识,揭示潜在的规律,同时它在检测速度上相比其他检测技术有明显的优势。
模型首先捕获来自网络的数据,利用协议分析技术对网络数据进行预处理,选择训练样
本,权值离散化,决策表属性约简,产生约简输出规则,从而构造安全系统的规则库,构建
入侵检测器,建立初始的入侵检测模型,并在以后的系统运行中逐步学习、改进,以达到最
好的检测效果。
3)、虽然基于粗糙集理论检测算法可以有效地分析和处理具有不完备、不确定性特征的
信息,并能自动产生检测规则。但粗糙集理论也存在一些不足之处,如不易处理连续数据,
容错能力和泛化能力较弱等。支持向量机(Support Vector Machine, SVM)是适合小样本的机
器学习算法,能够通过凸二次规划求得全局最优解,因而其训练误差相对于其它异常检测方
法小,这已经在实际应用中得到了验证。另外,由于它最小化结构误差,使其具有较好的泛
化能力。因而将粗糙集理论运用于入侵检测,总体性能与 SVM相比,仍存在一定差距[9]。
然而随着网络规模的增大,样本集中的冗余特征也会随之增多,与分类结果无关或关系
不大的特征值会影响分类精度。将粗糙集和 SVM相结合的理论,可约简特征,有效的降低
输入样本的维数,大量减少样本的存储空间,而且能有效地提高分类效率,缩短 SVM的训
- 4 -
中国科技论文在线
练时间和检测时间[10]。由此理论设计的二次分析模型如图 4所示。
模型首先从原始报警信息归一化模块获取检测数据,并从中提取特征信息,由数据预处
理对数据进行补齐、去冗余、归一化、离散化处理后送粗糙集工具进行特征约简,根据粗糙
集约简后得到的多个特征子空间分别输入 SVM,生成多个 SVM 分类器,最后利用组合多
学习器理论具有算法稳定、对参数设定要求较低的优点,对多个 SVM分类器进行组合,以
改善 SVM求解最优参数困难以及在实现多分类时性能不稳定的问题。
在多分类问题上,由于网络入侵检测所处理的数据由多类攻击数据和正常数据构成,而
SVM 本质是用来对两类问题进行分类以及回归分析。根据目前 SVM 用于解决多分类问题
的研究方法,系统采用组合多个两分类 SVM 的方法。组合多个 SVM 的方法有一对一法和
一对多法,由于一对一法计算复杂性较高,因而在检测时,我们采用了组合多个两分类 SVM
的一对多法来实现攻击的多分类,即对于 n类问题构造 n个两类 SVM分类器。
在组合多学习器构造方面[11,12],Bagging和 Boosting 是两种经典的方法。Bagging通过
自助法完成数据采样并训练分类器,多个分类器的组合采用多数投票的方式实现,可用于分
类和回归;Boosting是一大类算法的总称,最突出的是 Adaboost 算法,最早由 Schapire 提
出,Freund对其进行了改进,Boosting方法是每次迭代增加一个分类器,后续的分类器用前
面认为比较“难分”的数据来进行训练。
差异度是组合分类器的一个重要的因素,Adaboost 的成功归功于它的差异度的构造能
力,但使分类器专注于难分的样本而忽略了其余的样本有时会导致 Adaboost 的不精确;而
Bagging 的稳定性能却比 Adaboost 的高,它几乎总能提高整体的分类效果。因此系统采用
Bagging方法来构造组合分类器。
2 关键算法
目前正在研究中的检测算法有:计算机免疫技术、数据挖掘技术、神经网络技术、机器
学习算法和遗传算法等。基于粗糙集理论的入侵检测算法作为一种较新的机器学习方法,在
处理模糊性与不确定性的知识、消除冗余信息、发现样本集中数据属性之间的关系上具有突
出的优势,为完成特征属性选择和提高检测速度提供了新的途径。
基于粗糙集入侵检测算法思想描述如下[8],检测算法可分为两个阶段进行,检测规则生
成和检测模型的学习:
Input:系统采集到的用户使用数据和行为数据集 }|{ actdatauserdatassS ii U∈= ,粗
糙集中的属性集表示为 A
Output:数据和行为的检测规则 }|{ ii CWrR ≥= ,然后加入到安全规则库
}{ BaseIDRkK i −∈=
- 5 -
中国科技论文在线
STEP1: 收集入侵数据集 S,进行数据预处理,删去重复和多余的属性 0a ,补齐决策表
ST。
STEP2: 从 1到 n,对于任意属性 Aa∈ ,根据属性值,从小到大排序,根据属性权值的
最大值和最小值,预先给定参数 k,得到断点集 .,,1),( kiiCon L=
STEP3: 利用权值离散化属性构建决策表 ST,以经过约简的属性集合为条件属性,所有
安全规则作为决策属性集。
STEP4: 进行属性约简,从 1到 n对于属性集合 A中的各个属性 ia 进行属性约简检测。
STEP5: 化简和分析决策表,剔除多余和不合理的规则 0r ,使得 0rRR −= 产生安全检
测规则集合 }|{ ii CWrR ≥=
STEP6: 将化简得到的安全检测规则交给安全检测器进行数据测试和分析, 合理则
RKK += 。
STEP7: 选取合适的训练样本进行多次训练, 完善安全检测模型并更新检测器, 直到满
足一定的误报率和漏报率。
3 性能分析
从目前入侵检测发展的情况以及现有的体系结构和技术条件来看,可以从误报率和漏报
率、系统结构的合理性、实时监控性、系统自身的安全性等方面对系统进行评估。系统检测
流程如图 5所示,图 5中的协议分析是按协议特征匹配方式实现预处理,即符合规则的所有
模式都能通过该模块,而不符合协议规则的网络数据就会被丢弃,这样可以减少一部分工作
量,同时也能使系统检测率更准确,减少误报率和漏报率。
检测代理的协同与单独使用某一代理相比,能够有效地提高整个系统的入侵检测率,降
低误报率,提高告警信息的可信度,增强被保护系统的安全性。简单证明如下:
假设有两个检测代理 A和 B,检测率分别为 PdA和 PdB。协同工作时的检测率为 Pd,对
应的误报率依次为 PfA、PfB和 Pf。则通过检测能力互补,可以得到:
)1()1()1)(1(1 dBdAdBdAdBdAdBdAd PPPPPPPPP −+=−+=−−−= (1)
由上式可知,若 PdA<1、PdB<1时,必有:Pd >PdA,Pd >PdB
同时对于一个正常行为,只有两个检测代理都认为是入侵时才会出现误报,所以针对检
测误报率有:
fBffAffBfAf PPPPPP ≤≤×= ,P,且有 (2)
因此,从另一方面也说明基于协议分析的特征匹配比单独使用特征匹配时的检测率要
高,同样的 RS_SVM检测算法比 RS检测算法的检测率要高。
下面对系统的误报率和漏报率进行分析[13]。为了方便描述,作如下定义:设待检测数
- 6 -
中国科技论文在线
据的所有数据包为集合 U,其个数为 u。其中合法行为集合设为 J,其数据包个数记作 j
(0<j<u);入侵行为集合设为 I,其数据包个数记作 i (0<i<u)。误用检测入侵行为集设为M,
其数据包个数记为 m(0<m<u)。系统漏报率和误报率分别用 Puk和 Pwk表示,其中 k表示使用
的方案。
STEP1: 首先仅对单独使用异常检测技术的 IDS作分析。假定 RS和 RS_SVM异常检测
率相同,并设异常入侵行为集合为 A,剩下的行为集合记为 B,其个数记作 b。
定义 Ai=A∩I, 表示被 IDS检测到的真正的入侵行为集合(入侵且异常),其个数记作 ai;
定义 Aj=A∩J, 表示被 IDS认为是入侵的合法行为集合(非入侵且异常),其个数记作 aj;
定义 Bi=B∩I, 表示 IDS未检测到的真正入侵行为集合(入侵且非异常),其个数记作 bi;
定义 Bj=B∩J, 表示被 IDS认为是合法的行为集合(非入侵且非异常),其个数记作 bj。
所以 Bi为漏报的入侵行为集合,Aj为误报的入侵行为集合。
漏报率: ubP iu /1 = (3)
误报率: uaP jw /1 = (4)
STEP2: 然后对误用和异常两种检测技术并列使用的 IDS作分析,如图 6所示,该模型
记作 PIDS。设 PIDS检测到的入侵行为的集合记作 Ib ( Ib = M∪A),其个数为 ib。
定义 Ia=M∩Bi,表示被异常检测漏掉,而被误用检测系统检测到的真正入侵行为的集
合,其个数为 ia。
由该定义可知: aib ibi −= (5)
漏报率: uiPuiP aubu // 12 −== (6)
误报率: 12 ww PP = (7)
STEP3: 最后对本文提出的系统误报率和漏报率作分析。系统检测流程如图 5所示,这
里的协议分析和 RS异常检测系统共同构建一个正常模型,符合该正常模型的规则即为合法
行为,与文献[13]类似,相当于建立了一个合法模式库,所不同的是这里运用粗糙集理论可
以加快模式库的建立,降低模型的建立时间,从而保证了系统的实时性。
系统在漏报率方面,与 PIDS相同。所以有漏报率:
23 uu PP = (8)
在误报率方面,首先定义该合法模式集为 N, 'N =N∩Aj,表示与合法模式库中的合法
模式相匹配,但被异常检测系统误认为是入侵的合法行为集合,其个数为 n'。所以有误报率:
unPunaP wjw //)(
'
1
'
3 −=−= (9)
综上所述,有如下关系:
漏报率: 123 uuu PPP <= (10)
误报率: 213 www PPP =< (11)
由式(10),式(11)可知,方法 3 与前面两种方法相比,漏报率和误报率都有所减少;同
- 7 -
中国科技论文在线
时与文献[13]所提出的系统相比,除了利用粗糙集理论加快模型的建立外,混合运用了粗糙
集和 SVM理论,与单独使用某一异常检测方法相比,降低了系统误报率,提高了可信度,
同时也一定程度上使系统具有自学习和自适应能力,符合智能入侵检测的要求。
在系统体系结构方面,本文针对智能分布式攻击的特性进行结构设计,使系统能有效检
测当前智能分布式攻击。在系统实时性方面,除了使用有效的检测算法外,同时还应加入移
动代理,利用移动代理的移动性、自治性等特性能有效减轻网络负载,克服网络延迟,使网
络系统具有可扩展性、鲁棒性、容错性以及能运行在异构网络环境中。但移动代理自身的安
全有待进一步研究。
4 结束语
本文从智能分布式攻击着手,深入研究智能型分布式攻击的特点,提出一种智能分布式
入侵检测系统模型。该模型采用分层交互的思想,首先利用底层检测代理对来自网络和主机
的大部分数据进行处理,尽量使问题在底层解决;对于下层未能检测的可疑信息交由上层模
块进行二次分析,进一步保证了入侵检测的精度。在检测技术上混合使用协议特征匹配技术、
基于粗糙集的入侵检测技术、基于粗糙集和支持向量机优势互补的入侵检测技术,使系统具
有一定的自适应和自学习能力。但在如何保证入侵检测系统自身的安全性方面还有待研究。
[参考文献] (References)
[1] 杨宏宇,朱丹,谢丰等.入侵异常检测研究综述[J].电子科技大学学报.2009, 38(5):587-596.
[2] Bace R, Mell P. Intrusion detection systems [M].USA: NIST Special Publication on Intrusion Detection
Systems, 2000.
[3] . An Intrusion Detection Model [J].IEEE Transactions on Software Engineering, 1987, SE-13: 222,
232.
[4] 杨义先,钮心忻.入侵检测理论与技术[M].北京:高等教育出版社, 2006.
[5] Xiaohong Qu, Zhijie Liu, Xiaoyao on Distributed Intrusion Detection System Based on Protocol
Analysis [J].IEEE, 2009: 421 - 424.
[6] 褚永刚, 魏战松, 杨义先等.代理技术在大规模分布式入侵检测系统的应用研究[J].计算机工程与应
用.2004, 40(6):150-151,161.
[7] 王勇.基于 snort的分布式入侵检测系统的设计与实现[D].厦门:厦门大学,2009: 22-25.
[8] 赵曦滨, 井然哲, 顾明.基于粗糙集的自适应入侵检测算法[J].清华大学学报(自然科学版).2008, 48(7):
1165-1168.
[9] 段丹青.入侵检测算法及关键技术研究[D].长沙:中南大学信息科学与工程学院,2007:57-68.
[10] Rung-Ching Chen, Kai-Fan Cheng, Ying-Hao Chen et al. Using Rough Set and Support Vector Machine for
Network Intrusion Detection System: First Asian Conference on Intelligent Information and Database Systems,
2009[C]. USA, IEEE Computer Society, 2009: 465-470.
[11] Ethem Alpaydin.机器学习导论[M].范明等译.北京:机械工业出版社,2009:230-241.
[12] 周志华,陈世福.神经网络集成[J].计算机学报.2002, 25(1):1-8.
[13] 田俊峰,张喆,赵卫东.基于误用和异常技术相结合的入侵检测系统的设计与研究[J].电子与信息学
报.2006, 28(11):2162-2166.