分布式入侵检测系统的模型设计
2009-03-25冯安
冯 安
【摘 要】首先提出了一个旨在提高分布式入侵检测系统的扩充性和适应性的设计模型,然后分析本模型的特点,最后对模型的3个组成部分给出详细的描述。
【关键词】分布式入侵检测系统 设计模型 扩充性
一、分布式入侵检测系统的基本结构
尽管一个大型分布式入侵检测系统非常复杂,涉及各种算法和结构设计,但是如果仔细分析各种现存的入侵检测系统的结构模型,可以抽象出下面一个简单的基本模型。这个基本模型描述了入侵检测系统的基本轮廓和功能。该模型基本结构主要由3部分构成:探测部分、分析部分和响应部分。
探测部分相当于一个传感器,它的数据源是操作系统产生的审计文件或者是直接来自网络的网络流量。分析部分利用探测部分提供的信息,探测攻击。探测攻击时,使用的探测模型是异常探测和攻击探测。响应部分采取相应的措施对攻击源进行处理,这里通常使用的技术是防火墙技术。
二、系统设计模型
这个模型主要是入侵检测系统基本结构的具体化。主体框架仍然由3部分构成:探测代理、系统控制决策中心、控制策略执行代理。但是这3部分并不对应于基本结构中的3部分,因为这里探测代理和系统控制的分析功能。代理和系统控制决策中心采用标准的通信接口与系统控制决策中心通信,因此,它们的设计为系统的分布式部署和系统的扩充性实现做了充分的考虑,同时使得各个代理的功能更加单一。功能的单一性带来的好处是使得对某一种入侵行为的检测趋于专业化。
三、模型的特点
1.分布性
从分布式入侵检测系统的定义可知,只要系统的分析数据部分在系统的部署上是分布的,入侵检测系统就可以认为是分布式系统。本系统负责入侵行为检测的代理是分布部署的,故整个系统具有分布性。
2.标准性
标准性从本系统的角度讲,体现在2个部分上:代理的构成和通信协议。每个代理都按照4个层次进行设计。从上到下,分别是通信接口、报告产生器、分析模块和采集模块。通信协议采用一套严格定义的通信规则和数据格式,同时将系统所必需的通信行为进行了规范的定义。
3.可扩充性
本系统的各个部分采取标准化设计,这样系统各个部分的升级和新的代理部分的加入都变得相当简单。代理和系统控制决策中心有着标准的协商协议,代理可以进行动态注册。
4.良好的系统降级性
当系统某一个代理出现问题,不能完成自己的检测任务时,网络的检测工作会受到有限的影响,但整个系统的检测功能不会有明显的下降。
5.载荷最小性
系统的每个组成部分功能都是单一的,而且相互之间相对独立,部署的时候可以几个部署到一台主机上。代理和控制决策中心之间利用标准协议通信,通信量较小;同时在传递数据时,代理只传输控制中心请求的数据,所以数据的传输量不大。
四、模型组成部分的功能描述
1.探测代理
探测代理主要的功能是从网络捕获原始数据,然后利用一定的探测模型对数据进行分析,将感兴趣的数据按照一定的格式存入数据存储设备中。与系统控制中心通信协商,将系统控制决策中心请求的数据按照一定的传输格式传送出去。
要完成上面的功能,探测代理需要4个层次的模块共同协作才能完成。这4个模块根据数据传输的顺序分别为:采集模块、分析模块、报告产生器、通信接口。
采集模块直接从网络上捕获原始数据。为了使得代理能够对多个操作系统提供支持,这里的捕获过程使用一个通用的数据包捕获库(libpcap库),这个库使用BSD的bpf思想。采集模块向分析模块提供格式化的数据包信息。
当分析模块收到格式化的数据包信息后,启动相应的入侵检测模型过程,对数据进行处理。这里的入侵检测模型有2种:一种是异常检测模型,另一种是入侵检测模型。
对于异常检测模型,入侵检测过程会根据代理功能的不同,进行不同级别的检查。我们的模型会进行2个级别的检查。一个是基于包头的检查,即对链路层包头、IP层包头、TCP层包头进行检查分析,将异常存入数据存储设备。另外一个级别的检查是基于报文内容的检查,入侵检测过程将异常信息进行记录。这2个级别的探测分别被称为系统级探测和应用级探测。
对于入侵检测模型,入侵检测过程将格式化的信息与已知的攻击模型的特征进行比对。如果格式化信息与攻击模式的特征完全一样,则可以认定是一种攻击,将这种攻击的信息一方面进行存储,一方面向系统控制决策中心进行报告,请求控制决策中心对攻击进行处理。
报告产生器,是根据系统控制决策中心的请求,从数据存储设备中提取请求信息。这些信息构成一张异常或者攻击视图,它是存储信息的子集合。
2.系统控制决策中心
系统控制决策中心接收用户请求,产生数据请求,然后将数据请求发送给特定的入侵检测代理,等待接收响应信息,最后将响应信息加工成用户视图。如果用户认定某些行为属于攻击行为,就向探测策略执行代理发出请求,阻止或者限制攻击行为的进一步发展。
用户接口,给用户提供操作界面。用户通过这个界面完成系统控制和数据请求功能。用户接口将用户请求翻译成系统请求,然后交给下层模块进行处理。
控制和管理,依据系统请求的类别,构造协议数据传输单元,然后递交给下层协议通信接口,请求发送。
协议通信接口,识别代理发出的协议数据,对协议数据进行处理;同时将系统控制决策中心的用户意图发送给各个代理,完成管理和控制功能。
3.探测策略执行代理
探测策略执行代理的主要功能是根据系统控制决策中心的要求对攻击者的攻击行为进行控制,这里控制包括监控、限制访问权限、取消访问权限等。探测策略执行代理主要由2部分构成:通信接口和控制执行,但是还有一个小的配置模块辅助它们完成各自的功能。
配置模块帮助代理建立一个与控制系统无关的控制接口。因为目前最常用的网络控制系统是防火墙系统,大部分的防火墙系统都给出系统的命令接口。基于这一点,我们在设计通用控制接口时,自己定义一组功能完备的控制功能集合,然后建立一种从代理系统功能集合向具体防火墙系统命令集合的映射。
探测策略执行代理的通信接口,和前面几个部分的通信模块的功能是一样的。控制执行,是这种代理的核心部分。它根据通信接口送来的协议数据,分析系统控制和决策中心的意图。然后根据代理配置时建立起来的控制系统映射关系,构造与具体控制系统相关的控制规则。