根据检测原理进行分类
传统的观点根据入侵行为的属性将其分为异常和滥用两种,然后分别对其建立异常检测模型和滥用检测模型。近四五年来又涌现出了一些新的检测方法,它们产生的模型对异常和滥用都适用,如人工免疫方法、遗传算法、数据挖掘等。根据系统所采用的检测模型,将IDS分为三类。
1.异常检测
在异常检测中,观察到的不是已知的入侵行为,而是所研究的通信过程中的异常现象,它通过检测系统的行为或使用情况的变化来完成。在建立该模型之前,首先必须建立统计概率模型,明确所观察对象的正常情况,然后决定在何种程度上将一个行为标为“异常”,并如何做出具体决策。
异常检测只能识别出那些与正常过程有较大偏差的行为,而无法知道具体的入侵情况。由于对各种网络环境的适应性不强,且缺乏精确的判定准则,异常检测经常会出现虚警情况。
异常检测可以通过以下系统实现。
(1)自学习系统
自学习系统通过学习事例构建正常行为模型,又可分为时序和非时序两种。
(2)编程系统
该类系统需要通过编程学习如何检测确定的异常事件,从而让用户知道什么样的异常行为足以破坏系统的安全。编程系统可以再细分为描述统计和缺省否认两种。
异常检测IDS分类如表1所示。
2.滥用检测
在滥用检测中,入侵过程模型及它在被观察系统中留下的踪迹是决策的基础。所以,可事先定义某些特征的行为是非法的,然后将观察对象与之进行比较以做出判别。
滥用检测基于已知的系统缺陷和入侵模式,故又称特征检测。它能够准确地检测到某些特征的攻击,但却过度依赖事先定义好的安全策略,所以无法检测系统未知的攻击行为,从而产生漏警。
滥用检测通过对确知决策规则编程实现,可以分为以下四种:
(1)状态建模:它将入侵行为表示成许多个不同的状态。如果在观察某个可疑行为期间,所有状态都存在,则判定为恶意入侵。状态建模从本质上来讲是时间序列模型,可以再细分为状态转换和Petri网,前者将入侵行为的所有状态形成一个简单的遍历链,后者将所有状态构成一个更广义的树形结构的Petri网。
(2)专家系统:它可以在给定入侵行为描述规则的情况下,对系统的安全状态进行推理。一般情况下,专家系统的检测能力强大,灵活性也很高,但计算成本较高,通常以降低执行速度为代价。
(3)串匹配:它通过对系统之间传输的或系统自身产生的文本进行子串匹配实现。该方法灵活性欠差,但易于理解,目前有很多高效的算法,其执行速度很快。
(4)基于简单规则: 类似于专家系统,但相对简单一些,故执行速度快。
滥用检测IDS分类如表2所示。
3. 混合检测
近几年来,混合检测日益受到人们的重视。这类检测在做出决策之前,既分析系统的正常行为,同时还观察可疑的入侵行为,所以判断更全面、准确、可靠。它通常根据系统的正常数据流背景来检测入侵行为,故而也有人称其为“启发式特征检测”。
Wenke Lee从数据挖掘得到启示,开发出了一个混合检测器RIPPER。它并不为不同的入侵行为分别建立模型,而是首先通过大量的事例学习什么是入侵行为以及什么是系统的正常行为,发现描述系统特征的一致使用模式,然后再形成对异常和滥用都适用的检测模型。
根据系统特征分类
作为一个完整的系统,IDS显然不应该只包括检测器,它的很多系统特征同样值得认真研究。为此,将以下一些重要特征作为分类的考虑因素。
1.检测时间:有些系统以实时或近乎实时的方式检测入侵活动,而另一些系统在处理审计数据时则存在一定的延时。一般的实时系统可以对历史审计数据进行离线操作,系统就能够根据以前保存的数据重建过去发生的重要安全事件。
2.数据处理的粒度:有些系统采用了连续处理的方式,而另一些系统则在特定的时间间隔内对数据进行批处理操作,这就涉及到处理粒度的问题。它跟检测时间有一定关系,但二者并不完全一样,一个系统可能在相当长的时延内进行连续数据处理,也可以实时地处理少量的批处理数据。
3.审计数据来源:主要有两种来源:网络数据和基于主机的安全日志文件。后者包括操作系统的内核日志、应用程序日志、网络设备(如路由器和防火墙)日志等。
4.入侵检测响应方式:分为主动响应和被动响应。被动响应型系统只会发出告警通知,将发生的不正常情况报告给管理员,本身并不试图降低所造成的破坏,更不会主动地对攻击者采取反击行动。主动响应系统可以分为两类:
(1)对被攻击系统实施控制。它通过调整被攻击系统的状态,阻止或减轻攻击影响,例如断开网络连接、增加安全日志、杀死可疑进程等。
(2)对攻击系统实施控制的系统。这种系统多被军方所重视和采用。
目前,主动响应系统还比较少,即使做出主动响应,一般也都是断开可疑攻击的网络连接,或是阻塞可疑的系统调用,若失败,则终止该进程。但由于系统暴露于拒绝服务攻击下,这种防御一般也难以实施。
5.数据收集地点:审计数据源可能来自某单一节点,也可能来自于网络中多个分布式节点。
6.数据处理地点:审计数据可以集中处理,也可以分布处理。
7.安全性:指系统本身的抗攻击能力。
8.互操作性:不同的IDS运行的操作系统平台往往不一样,其数据来源、通信机制、消息格式也不尽相同,一个IDS与其他IDS或其他安全产品之间的互操作性是衡量其先进与否的一个重要标志。
系统特征IDS分类如表3所示。
根据体系结构分类
按照体系结构,IDS可分为集中式、等级式和协作式三种,如表4所示。
1.集中式。这种结构的IDS可能有多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。审计程序把当地收集到的数据踪迹发送给中央服务器进行分析处理。但这种结构的IDS在可伸缩性、可配置性方面存在致命缺陷:第一,随着网络规模的增加,主机审计程序和服务器之间传送的数据量就会骤增,导致网络性能大大降低;第二,系统安全性脆弱,一旦中央服务器出现故障,整个系统就会陷入瘫痪;第三,根据各个主机不同需求配置服务器也非常复杂。
2.等级式。它用来监控大型网络,定义了若干个分等级的监控区,每个IDS负责一个区,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。这种结构仍存两个问题:首先,当网络拓扑结构改变时,区域分析结果的汇总机制也需要做相应的调整;第二,这种结构的IDS最后还是要把各地收集到的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性并没有实质性的改进。
3.协作式。将中央检测服务器的任务分配给多个基于主机的IDS,这些IDS不分等级,各司其职,负责监控当地主机的某些活动。所以,其可伸缩性、安全性都得到了显著的提高,但维护成本却高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等。
发展趋势
一个有趣的现象是: 基于网络的IDS被人们讨论得最多,似乎它应该代表IDS的发展潮流,但实际情况并非如此。部分原因是:① 所监控的网络流量超过100Mbps之后,计算量非常之大,系统的数据处理与分析能力会显著降低,这使得它面临着一个难以逾越的技术门槛;② 只能监控明文格式数据流,无法监控加密数据流,这不能不说是一个硬伤。
通过对上述分类的认真观察,我们发现IDS今后有如下一些发展趋势。
1.检测模型走向自适应。自适应模型结合了自学习系统的优点和特征系统的检测效率,这种混合模型已经被学术界公认为发展热点。
2.体系结构从集中式转向分布式。
3.响应方式由被动转向主动。
4.互操作性亟待提高。目前,IDS的研究基本上还处于各自为政的山大王纷争时代,不同的IDS之间及与其他安全产品之间的互操作性很差。为了推动IDS产品及部件之间的互操作性,DARPA和IETF入侵检测工作组分别制订了CIDF和IDMEF标准,从体系结构、API、通信机制、语言格式等方面规范IDS。
5.安全性需要增强。作为安全防护体系中的重要组成部分,IDS自身的安全性必须得到加强。
IDS目前的发展还处于幼年期,国产IDS产品更是多处于特征检测的初级阶段,在异常检测方面与国外还存在相当大的差距,在混合检测领域更是一片空白。