【答案解析】本题考查IDS的基本知识。
入侵检测是一种主动保护自己免受攻击的网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展了系统管理员的安全能力(包括安全审计、监视、攻击识别和响应),提高了信息安全基础结构的完整性。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行检测。
按Webster辞典定义,入侵(Intrusion)是指任何试图危害资源的完整性、可信度和可获取性的动作,入侵检测(Intrusion Detection)是指发现或确定入侵行为存在或出现的动作。也就是发现、跟踪并记录计算机系统或计算机网络中的非授权行为,或发现并调查系统中可能为试图入侵或病毒感染所带来的异常活动。入侵检测作为一门新兴的安全技术,以其对网络系统的实时监测和快速响应的特性,逐渐发展成为保障网络系统安全的关键部件。其基本原理如下图所示。

入侵检测系统(Intrusion Detection Systems, IDS)在国际计算机安全协会(International Computer Security Association, ICSA)的入侵检测系统论坛被定义为:通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象的一种安全技术。在允许各种网络资源以开放方式运作的前提下,入侵检测系统成了确保网络安全的一种新的手段,它通过实时的分析,检查特定的攻击模式、系统配置、系统漏洞、存在缺陷的程序以及系统或用户的行为模式,监控与安全有关的活动。入侵检测系统提供了用于发现入侵攻击与合法用户滥用特权的一种方法,ODS解决安全问题是基于如下假设的:入侵行为和合法行为是可区分的,也就是说可以通过提取行为的模式特征来判断该行为的性质。一个基本的入侵检测系统需要解决两个问题:一是如何区分并可靠地提取描述行为特征的数据;二是如何根据特征数据高效并准确地判定行为的性质。
应用于不同的网络环境和不同的系统安全策略,IDS在具体实现上也有所不同。从系统构成上看,IDS至少包括数据提取、入侵分析、响应处理3大部分,另外还可以结合安全知识库、数据存储等功能模块,提供更为完善的安全检测技术据分析功能。
IDS模块结构如下图所示。

数据提取模块在IDS中居于基础地位,负责提取反映受保护系统运行状态的运行数据,并完成数据的过滤及其他预处理工作,为入侵分析模块和数据存储模块提供原始的安全审计数据,是IDS的数据采集器。
入侵分析模块是IDS的核心模块,包括对原始数据进行同步、整理、组织、分类、特征提取及各种类型的细致分析,提取其中所包含的系统活动特征或模式,用于正常和异常行为的判断。这种行为的鉴别可以实时进行,也可以是事后的分析。
响应处理模块的工作实际上反映了当发现了入侵者的攻击行为之后该怎么办的问题。可选的相应措施包括主动响应和被动响应。前者以自动的或用户设置的方式阻断攻击过程,后者则只对发生的时间进行报告和记录,由安全管理员负责下一步的行动。
IDS具有以下优点:
(1)实时检测网络系统的非法行为。
(2)网络IDS系统不占用系统的任何资源。
(3)网络IDS系统是一个独立的网络设备,可以做到对黑客不透明,因此其自身的安全性很高。
(4)网络IDS系统及时实时监测系统,也是记录审计系统,它可以做到实时保护和事后取证分析。
(5)主机IDS系统运行于保护系统之上,可以直接保护和恢复系统。
(6)通过与防火墙连动,可以更有效地阻止非法入侵和破坏。
IDS可以按照基于数据源、检测方法的分类,根据不同的分类方法,则有不同的IDS。
1.基于数据源的分类
IDS首先需要解决的问题是数据源,或者说是审计事件发生器。IDS根据其检测数据来源分为两类:分别是基于主机(Host-based)的IDS和基于网络(Network-based)的IDS。基于主机的IDS从单个主机上提取系统数据(如审计记录)作为入侵分析的数据源,而基于网络的IDS从网络上提取数据(如网络链路层的数据帧)作为入侵分析的数据源。通常来说基于主机的IDS只能检测单个主机系统,而基于网络的IDS可以对本网段的多个主机系统进行检测,多个分布于不同网段上的基于网络的IDS可以协同工作以提供更强的入侵检测能力。
(1)基于主机的IDS。基于主机的IDS的检测目标是主机系统和系统本地用户,原理是根据主机的审计数据和系统日志发现可疑事件。该系统通常运行在被监测的主机或服务器上,实时检测主机安全性方面诸如操作系统日志文件、审核日志文件、应用程序日志文件等情况,其效果依赖于数据的准确性及安全事件的定义。可见这种类型的IDS是利用主机操作系统及应用程序的审核踪迹作为输入的主要数据源来检测入侵。基于主机的JDS被设计成检测IDS代理所驻留的宿主机,如下图所示,这种IDS可以检测到网络协议栈的高层数据,也可检测到被监视主机上的本地活动,诸如文件修改和用户账户的建立。

在图的C/S通信模式下,客户机对服务器上的访问活动将被服务器日志所记载。IDS代理检测这些记录用户活动信息的日志文件,将它们与事先知道的用户正常行为模式进行匹配。基于主机的IDS有两种主要应用类型:基于应用和基于操作系统。
基于应用的IDS从应用层服务中收集数据。例如数据库管理软件、Web服务程序或防火墙等产生的日志服务等。数据源包括了应用时间日志和其他存储于应用程序内部的数据信息。这种方式可以更好地获取在系统上用户活动(如可以利用特定应用的特点来监视用户活动),但也存在应用层的脆弱性会破坏监视和检测的弱点。
基于操作系统的IDS收集在特定系统上的活动信息,这些信息可以是操作系统产生的审计踪迹、系统日志、其他操作系统进程产生的日志及那些在标准操作系统的审计和日志中没有反映的系统对象的有关内容。这种方式可以监控对系统访问的主体和对象,并且可以将可疑的活动映射到特定的用户ID上。同样操作系统的脆弱性也会破坏IDS监视与入侵分析的完整性,同时,基于操作系统的IDS必须建立在特定的操作系统平台上,这就增加了开销。
基于主机的IDS具有检测效率高、分析代价小、分析速度快的特点,能够迅速并准确地定位入侵者,并可以结合操作系统和应用程序的行为特征对入侵进行进一步分析、响应。例如,一旦检测到有入侵活动,可以立即使该用户账号失效,中断该用户的进程。基于主机的IDS尤其对于独立的服务器及应用,构造简单,易于理解。也只有这种检测方式才能检测出通过控制台的入侵活动。目前大多是基于主机日志分析的IDS。基于主机的IDS也有其不足之处:首先,它在一定程度上依赖于系统的可靠性,它要求系统本身应该具备基本的安全功能并具有合理的设置,然后,才能提取入侵信息;即使进行了正确的设置,对操作系统熟悉的攻击者仍然有可能在入侵行为完成后及时地将系统日志抹去,而不被发觉;同时,主机日志能够提供的信息是有限的,有的入侵手段和途径不会在日志中有所反映,日志系统对网络层的入侵行为无能为力,例如,利用网络协议栈的漏洞进行的攻击、通过ping命令发送大数据包、造成系统协议栈溢出而死机、利用ARP欺骗来伪装成其他主机进行通信等,这些手段都不会被高层的日志记录下来。
(2)基于网络的IDS。基于网络的IDS收集来自网络层的信息,监视网络数据流。通常来说,网络适配器可以工作在两种不同的模式:正常模式和混杂模式。处于正常模式时,网络适配器只能接收到共享网络中发向本机的数据包,丢弃其他目标主机的数据包;处于混杂模式时,网络适配器可以接收所有在网络中传输的数据包,并交给操作系统或应用程序进行分析。这种机制为进行网络数据流的监视和入侵检测提供了必要的数据来源。网络IDS目前应用比较广泛,包括商业化的IDS产品,如ISS公司的RealSecure、CA公司的Etrust及开源系统Snort等。
从下图可以看出,基于网络IDS位于客户端与服务端的通信链路中央,它可以访问到通信链路的所有层次。因此,这种IDS可以监视和检测网络层的攻击(如SYN洪流攻击)。
