IDS在结构上可划分为数据收集和数据分析两部分。
一、 数据收集机制
数据收集机制在IDS中占据着举足轻重的位置。如果收集的数据时延较大,检测就会失去作用;如果数据不完整,系统的检测能力就会下降;如果由于错误或入侵者的行为致使收集的数据不正确,IDS就会无法检测某些入侵,给用户以安全的假象。
1. 分布式与集中式数据收集机制
分布式数据收集:检测系统收集的数据来自一些固定位置而且与受监视的网元数量无关。
集中式数据收集:检测系统收集的数据来自一些与受监视的网元数量有一定比例关系的位置。
集中式和分布式数据收集方式的区别通常是衡量IDS数据收集能力的标志,它们几乎以相同的比例应用于当前的IDS产品中。据专家预言,分布式数据收集机制在若干年后将会占有优势。
2. 直接监控和间接监控
如果IDS从它所监控的对象处直接获得数据,则称为直接监控;反之,如果IDS依赖一个单独的进程或工具获得数据,则称为间接监控。
就检测入侵行为而言,直接监控要优于间接监控,由于直接监控操作的复杂性,目前的IDS产品中只有不足20%使用了直接监控机制。
3. 基于主机的数据收集和基于网络的数据收集
基于主机的数据收集是从所监控的主机上获取的数据; 基于网络的数据收集是通过被监视网络中的数据流获得数据。
总体而言,基于主机的数据收集要优于基于网络的数据收集。
4. 外部探测器和内部探测器
外部探测器是负责监测主机中某个组件(硬件或软件)的软件。它将向IDS提供所需的数据,这些操作是通过独立于系统的其他代码来实施的。
内部探测器是负责监测主机中某个组件(硬件或软件)的软件。它将向IDS提供所需的数据,这些操作是通过该组件的代码来实施的。
外部探测器和内部探测器在用于数据收集时各有利弊,可以综合使用。
由于内部探测器实现起来的难度较大,所以在现有的IDS产品中,只有很少的一部分采用它。
二、 数据分析机制
根据IDS如何处理数据,可以将IDS分为分布式IDS和集中式IDS。
分布式IDS:在一些与受监视组件相应的位置对数据进行分析的IDS。
集中式IDS:在一些固定且不受监视组件数量限制的位置对数据进行分析的IDS。
请注意这些定义是基于受监视组件的数量而不是主机的数量,所以如果在系统中的不同组件中进行数据分析,除了安装集中式IDS外,有可能在一个主机中安装分布式数据分析的IDS。分布式和集中式IDS都可以使用基于主机、基于网络或两者兼备的数据收集方式。
分布式IDS与集中式IDS的优缺点如左表所示。
特性 集中式 分布式
可靠性 仅需运行较少的组件 需要运行较多的组件
容错 容易使系统从崩溃中恢复,但也容易被故障中断。 由于分布特性,所有数据存储时很难保持一致性和可恢复性。
增加额外的系统开销 仅在分析组件中增加了一些开销,那些被赋予了大量负载的主机应专门用作分析。 由于运行的组件不大,主机上增加的开销很小,但对大部分被监视的主机增加了额外开销。
可扩容性 IDS的组件数量被限定,当被监视主机的数量增加时,需要更多的计算和存储资源处理新增的负载。 分布式系统可以通过增加组件的数量来监视更多的主机,但扩容将会受到新增组件之间需要相互通信的制约。
平缓地降低服务等级 如果有一个分析组件停止了工作,一部分程序和主机就不再被监视,但整个IDS仍在继续工作。 如果有一个分析组件停止了工作,整个IDS就有可能停止工作。
动态地重新配置 使用很少的组件来分析所有的数据,如果重新配置它们需要重新启动IDS。 很容易进行重新配置,不会影响剩余部分的性能。
由于分布式不易实现,目前的IDS产品多是集中式的。
三、 缩短数据收集与数据分析的距离
在实际操作过程中,数据收集和数据分析通常被划分成两个步骤,在不同的时间甚至是不同的地点进行。但这一分离存在着缺点,在实际使用过程中,数据收集与数据分析功能之间应尽量缩短距离。