1.3.2 入侵检测模型研究现状
从丹宁提出通用入侵检测模型至今,入侵检测技术已经经历了30多年的发展历程。随着网络技术与科学技术的迅速发展,各种分析方法(如专家系统、统计分析、数据挖掘、人工智能及机器学习等)被广泛运用于入侵检测的建模研究,其中具有代表性的入侵检测模型有以下几种。
1.3.2.1 基于专家系统的模型
专家系统(Expert System)是最早的误用入侵检测方案之一,基于由专家经验事先定义规则的推理系统,它将策略声明和已知的攻击编码成一个规则集,其中规则具有if-then格式,当规则左边的条件得到满足时就执行右边的动作。专家系统的建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性。专家系统的优点在于把系统的控制推理过程从问题解决的描述中分离出来,用户不需要理解或干预专家系统内部的推理过程,而只需把专家系统看作是一个自治的黑盒子(Black Box)。专家系统应用于入侵检测时,不能检测出未知入侵。
1.3.2.2 基于统计分析的模型
基于统计分析模型是最早的异常入侵检测系统,首先收集大量的训练数据,对训练数据中各个属性的取值范围划分统计度区间,确定统计度量值Q,由Q值计算统计测度S。对数据中的每个元素按时间间隔计算特征属性Si,进而计算出各时间段的用户轮廓Ti2,形成正常行为轮廓库。在检测时,对于采集到的每一网络事件,把其属性值与已有的统计区间相比较,计算各元素对应的Q值,由Q值计算S,再计算T2,把T2与轮廓库中的T2相比较,以确定该事件的性质。其问题在于其不能反映事件在时间顺序上的前后相关性,然而许多预示着入侵行为的系统异常都依赖于事件的发生顺序。
1.3.2.3 基于规则的模型
属于异常入侵检测模型。模型动态建立和维护一个规则库,如树形规则库以及基于时间的规则推理库等,利用规则对事件进行层层判别,与统计异常入侵检测类似。其区别在于:基于规则的入侵检测模型使用一系列的规则(rules)而不是统计出的系统度量(metrics)来表示系统的使用模式。
1.3.2.4 基于数据挖掘的模型
数据挖掘指从大量实体数据中抽取出模型的处理,这些模型经常在数据中发现对其他检测方式来说不是很明显的事实。计算机网络导致大量审计记录和网络连接记录,单独依靠手工方法去发现记录中的异常现象是不现实的,也不容易找出记录间的相互关系。利用数据挖掘技术,建立具有“if…then…”形式的分类规则模型,来检测异常行为和已知的入侵。其缺点在于局限于已知的入侵类型上,不能适应网络升级和未知入侵的有效检测需要。
1.3.2.5 基于代理的检测模型
基于代理的检测模型是在一个主机上执行某种安全监控功能的软件实体,由于代理的检测通常以自治的方式在目标主机上运行,因此本身只受操作系统的控制,不会受到其他进程的影响,这为系统提供了良好的扩展性和发展潜力。基于代理的入侵检测系统的灵活性保证它可以为保障系统的安全提供混合式的架构,综合运用误用入侵检测和异常入侵检测,从而弥补两者各自的缺陷。
1.3.2.6 基于神经网络的模型
基于神经网络的模型通过自主学习算法来发现数据中隐藏的结构,包含两个阶段。第一阶段是构造入侵分析模型的检测器,通过对代表用户行为的历史数据集进行训练,完成网络的构建和组装;第二阶段则是入侵分析模型的实际运作阶段,网络接收输入的事件数据,与参考的历史行为相比较,判断出两者的偏离度。其优点是具备非参量化统计分析,即不使用固定的系统属性集来定义用户行为,属性的选择是不相关的,对所选择的系统度量不做预期统计分布的提前假定;其缺陷在于很难提取相关的入侵特征知识,无法满足安全管理需要。另外,模型训练时在很多情况下不能从训练数据中学习到特定的知识,系统趋向于形成某种不稳定的网络结构。
1.3.2.7 基于免疫原理的入侵检测模型
受入侵检测系统和生物免疫系统之间存在的可类比性的启发,借鉴生物免疫机制如“自我/非自我”(self/nonself)识别机制、抗体的耐受过程等进行入侵检测建模。1994年新墨西哥大学的福莱斯特等率先提出了将生物免疫机制引入计算机系统的安全保护框架中,使用否定选择算法来检测受保护的数据和程序文件的变化,为研究入侵检测系统开辟了崭新的领域,国内外许多学者在这一领域进行了大量卓越的工作。1999年霍夫迈尔等人将免疫的原理和思想推广到网络入侵中去,并进行了深入的理论分析和研究。其优点是系统能检测到未知的入侵行为,具备误用入侵检测和异常入侵检测的能力。其缺点是在很有限的程度上利用了免疫系统的免疫机制、体系结构及从中抽象提取的算法,通常只能保护静态的数据文件和软件,有待于提高到动态环境。
还有许多研究人员对入侵检测模型进行了大量的研究工作,提出并实现了其他一些入侵检测模型和原型系统,不同的建模方法会在不同的方面有所侧重,例如遗传算法模型、机器学习和模式识别模型、互信息和熵模型等,这里不再列举。
评价入侵检测模型的优劣一般从四个方面来考虑,即检测性能、适应性、可扩展性以及健壮性。检测性能是指IDS具有高的检测率和低的误检率即有效性;适应性是指系统能够适应变化的入侵,又能够容忍自身的变化;可扩展性指系统易于融入新的检测模块或易于适应网络环境的变化;健壮性是指系统的部分检测组件发生故障或不起作用时,系统总体检测性能虽然会受到一定程度的影响,但不会导致系统整个崩溃或完全失去检测能力。总的来说,当前的入侵检测模型存在以下几个方面的问题。
(1)检测性能方面。自1987首次向研究界引入基于异常的入侵检测以来,该领域的发展迅速,检测攻击的各种方法和技术大量涌现,但由于入侵者总是想方设法掩盖其攻击的痕迹,并不断地采用各种方法逃避入侵检测系统的检测,如阻止审计记录的产生、篡改日志记录或伪装数据包、持续而缓慢的攻击等,使得入侵检测系统无法得到可靠的数据源。虽然学术界提出了各种异常入侵检测技术,在实验研究报告中取得了在低误报率为1%、高检测率为98%的成果,但在实际运行环境中性能远未达到人们的理想水平,这也是为什么基于异常的入侵检测方法仍不被工业界所采用的原因。而检测新型入侵的能力只能采用异常入侵检测的方法,异常入侵检测的计算代价非常大,检测效率低且引起过多的虚警。因此,提高入侵检测系统对新型攻击的检测率并降低虚警率是当前入侵检测系统面临的最重要的问题。
(2)适应性方面。基于误用入侵检测技术的IDS无法检测将来出现的新型的攻击,并且由于其学习方法的局限性,更新速度慢,因而往往难以适应目前层出不穷的新的攻击方式。基于异常入侵检测技术的IDS虽具备检测新型攻击的能力,但其保护的系统是动态变化的如增加新的用户、新的服务,即建立起的正常行为轮廓不是一成不变的,因此动态变化的网络环境以及层出不穷的攻击方式都对传统的静态的入侵检测系统构成严重的挑战。
(3)可扩展性方面。当前的入侵检测系统往往对检测环境进行预先假设,以至不能根据其应用环境进行灵活的配置。如基于神经网络等方法的检测模型,要么依赖于特定类型的操作系统,要么依赖于特定的网络结构。
(4)健壮性方面。当前的入侵检测系统通常对检测过程的集中控制程度较高或不同检测组件之间的依赖程度较大,导致其某个检测组件突然失效时,常常会引起整个检测系统的功能丧失。