IDS
基本定义当越来越多的公司将其核心业务向互联网转移的时候,网络安全作为一个无法回避的问题摆在人们面前。公司一般采用防火墙作为安全的第一道防线。而随着攻击者技能的日趋成熟,攻击工具与手法的日趋复杂多样,单纯的防火墙策略已经无法满足对安全高度敏感的部门的需要,网络的防卫必须采用一种纵深的、多样的手段。与此同时,目前的网络环境也变得越来越复杂,各式各样的复杂的设备,需要不断升级、补漏的系统使得网络管理员的工作不断加重,不经意的疏忽便有可能造成重大的安全隐患。在这种情况下,入侵检测系统IDS(Intrusion Detection System)就成了构建网络安全体系中不可或缺的组成部分。
IDS是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”。专业上讲就是依照一定的安全策略,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。
做一个形象的比喻:假如防火墙是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统。一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告。
IDS的起源1、1980年,James P. Anderson的《计算机安全威胁监控与监视》(《Computer Security Threat Monitoring and Surveillance》)
第一次详细阐述了入侵检测的概念;提出计算机系统威胁分类;提出了利用审计跟踪数据监视入侵活动的思想;此报告被公认为是入侵检测的开山之作。
2、1984年到1986年,乔治敦大学的Dorothy Denning和 SRI/CSL的Peter Neumann研究出了一个实时入侵检测系统模型--IDES(入侵检测专家系统)
3、1990年,加州大学戴维斯分校的L. T. Heberlein等人开发出了NSM(Network Security Monitor)
该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机
入侵检测系统发展史翻开了新的一页,两大阵营正式形成:基于网络的IDS和基于主机的IDS
4、1988年之后,美国开展对分布式入侵检测系统(DIDS)的研究,将基于主机和基于网络的检测方法集成到一起。DIDS是分布式入侵检测系统历史上的一个里程碑式的产品。
5、从20世纪90年代到现在,入侵检测系统的研发呈现出百家争鸣的繁荣局面,并在智能化和分布式两个方向取得了长足的进展。
入侵检测的原理入侵检测可分为实时入侵检测和事后入侵检测两种。
实时入侵检测在网络连接过程中进行,系统根据用户的历史行为模型、存储在计算机中的专家知识以及神经网络模型对用户当前的操作进行判断,一旦发现入侵迹象立即断开入侵者与主机的连接,并收集证据和实施数据恢复。这个检测过程是不断循环进行的。而事后入侵检测则是由具有网络安全专业知识的网络管理人员来进行的,他们根据计算机系统对用户操作所做的历史审计记录判断用户是否具有入侵行为,如果有就断开连接,并记录入侵证据和进行数据恢复。事后入侵检测是管理员定期或不定期进行的,不具有实时性,因此防御入侵的能力不如实时入侵检测系统。
入侵检测的通信协议
IDS系统组件之间需要通信,不同的厂商的IDS系统之间也需要通信。因此,定义统一的协议,使各部分能够根据协议所制订的标准进行沟通是很有必要的。IETF 目前有一个专门的小组 IDWG(IntrusionDetection WorkingGroup)负责定义这种通信格式,称作Intrusion Detection ExchangeFormat。目前只有相关的草案,并未形成正式的RFC文档。尽管如此,草案为IDS各部分之间甚至不同IDS系统之间的通信提供层协议,其设计多其他功能(如可从任意端发起连接,结合了加密、身份验证等)。
CIDF模型
(CIDF)阐述了一个入侵检测系统(I DS)的通用模型。它将一个入侵检测系统分为以下组件:
事件产生器(Event generators)
事件分析器(Event analyzers)
响应单元(Response units )
事件数据库(Event databases )
CIDF将IDS需要分析的数据统称为事件(event),它可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息。
入侵检测的分类按入侵检测的手段、IDS的入侵检测模型可分为基于网络和基于主机两种。
1)基于主机模型:
也称基于系统的模型,它是通过分析系统的审计数据来发现可疑的活动,如内存和文件的变化等。其输入数据主要来源于系统的审计日志,一般只能检测该主机上发生的入侵。
这种模型有以下优点:
一是性能价格比高:在主机数量较少的情况下,这种方法的性能价格比可能更高。
二是更加细致:这种方法可以很容易地监测一些活动,如对敏感文件、目录、程序或端口的存取,而这些活动很难在基于协议的线索中发现。
三是视野集中:一旦入侵者得到了一个主机用户名和口令,基于主机的代理是最有可能区分正常的活动和非法的活动的。
四是易于用户剪裁:每一个主机有其自己的代理,当然用户剪裁更方便了。
五是较少的主机:基于主机的方法有时不需要增加专门的硬件平台。
六是对网络流量不敏感:用代理的方式一般不会因为网络流量的增加而丢掉对网络行为的监视。
2)基于网络的模型:
即通过连接在网络上的站点捕获网上的包,并分析其是否具有已知的攻击模式,以此来判别是否为入侵者。当该模型发现某些可疑的现象时也一样会产生告警,并会向一个中心管理站点发出“告警”信号。
基于网络的检测有以下优点:
一是侦测速度快:基于网络的监测器通常能在微秒或秒级发现问题。而大多数基于主机的产品则要依靠对最近几分钟内审计记录的 分析。
二是隐蔽性好:一个网络上的监测器不像一个主机那样显眼和易被存取,因而也不那么容易遭受攻击。由于不是主机,因此一个基于网络的监视器不用去响应ping,不允许别人存取其本地存储器,不能让别人运行程序,而且不让多个用户使用它。
三是视野更宽:基于网络的方法甚至可以作用在网络的边缘上,即攻击者还没能接入网络时就被制止。
四是较少的监测器:由于使用一个监测器就可以保护一个共享的网段,所以你不需要很多的监测器。相反地,如果基于主机,则在每个主机上都需要一个代理,这样的话,花费昂贵,而且难于管理。但是,如果在一个交换环境下,每个主机就得配一个监测器,因为每个主机都在自己的网段上。
五是占资源少:在被保护的设备上不用占用任何资源。
这两种模型具有互补性,基于网络的模型能够客观地反映网络活动,特别是能够监视到主机系统审计的盲区;而基于主机的模型能够更加精确地监视主机中的各种活动。基于网络的模型受交换网的限制,只能监控同一监控点的主机,而基于主机模型装有IDS的监控主机可以对同一监控点内的所有主机进行监控。
(2)按入侵检测的技术基础可分为两类:一种基于标志的入侵检测(signature-based),另一种是基于异常情况的入侵检测(anomaly-based)。
对于基于标识的检测技术来说,首先要定义违背安全策略的事件的特征,如网络数据包的某些头信息。检测主要判别这类特征是否在所收集到的数据中出现,这有些类似杀毒软件的工作原理。
而基于异常的检测技术则是先定义一组系统“正常”情况的数值,如CPU利用率、内存利用率、文件校验和等(这类数据可以人为定义,也可以通过观察系统、并用统计的办法得出),然后将系统运行时的数值与所定义的“正常”情况比较,得出是否有被攻击的迹象。这种检测方式的核心在于如何精确定义所谓的“正常”情况。
往往两种检测方法所得出的结论会有非常大的差异。基于异常的检测技术的核心是维护一个知识库。对于已知的攻击,它可以详细、准确的报告出攻击类型,但是对未知攻击却效果有限,而且知识库必须不断更新。基于异常的检测技术则无法准确判别出攻击的手法,但它可以(至少在理论上可以)判别更广范、甚至未发觉的攻击。如果条件允许,两者结合的检测会达到更好的效果。
(3) 按输入入侵检测系统的数据的来源来分,可以分为三类:
1) 基于主机的入侵检测系统:其输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵;
2) 基于网络的入侵检测系统:其输入数据来源于网络的信息流,能够检测该网段上发生的网络入侵;
3) 采用上述两种数据来源的分布式入侵检测系统:它能够同时分析来源于系统的审计日志和来源于网络的信息流,这种系统一般由多个部件组成。
(4)按入侵检测所采用的技术方法又可将其细分为下面四种方法:
一是基于用户行为概率统计模型的入侵检测方法:
这种入侵检测方法是在对用户历史行为建模或在早期的证据或模型的基础上,实时检测用户对系统的使用情况,根据系统内部保存的用户行为概率统计模型进行检测,当发现有可疑的用户行为发生时,立即保持跟踪并监测、记录该用户的行为。系统要根据每个用户以前的历史行为,生成每个用户的历史行为记录库,当用户改变他们的行为习惯时,这种异常就会被检测出来。
二是基于神经网络的入侵检测方法:
这种方法是利用神经网络技术来进行入侵检测。这种方法对用户行为具有学习和自适应功能,能够根据实际检测到的信息有效地加以处理并做出是否有入侵行为的判断。但该方法还不成熟,目前还没有出现较为完善的产品。
三是基于专家系统的入侵检测技术:
该技术根据安全专家对可疑行为的分析经验来形成一套推理规则,然后在此基础上建立相应的专家系统,由此专家系统自动进行对所涉及的入侵行为进行分析。该系统可以随着经验的积累而不断自我学习,并进行规则的扩充和修正。
四是基于模型推理的入侵检测技术:
该技术根据入侵者在进行入侵时所执行的某些行为程序的特征,建立一种入侵行为模型,根据这种行为模型所代表的入侵行为特征来判断用户执行的操作是否是属于入侵行为。当然这种方法也是建立在对当前已知的入侵行为程序的基础之上的,对未知的入侵方法所执行的行为程序的模型识别需要进一步的学习和扩展。
以上几种方法每一种都不能保证能准确地检测出变化多端的入侵行为。因此在网络安全防护中要充分衡量各种方法的利弊,综合运用这些方法才能有效地检测出入侵者的非法行为。
入侵检测的技术途径(1)入侵检测的第一步:信息收集
收集的内容包括系统、网络、数据及用户活动的状态和行为。收集信息需要在计算机网络系统中不同的关键点来进行,这样一方面可以尽可能扩大检测范围,另一方面从几个信源来的信息的不一致性是可疑行为或入侵的最好标识,因为有时候从一个信源来的信息有可能看不出疑点。
入侵检测利用的信息一般来自以下四个方面:
1)系统日志
黑客经常在系统日志中留下他们的踪迹,因此,充分利用系统日志是检测入侵的必要条件。日志文件中记录了各种行为类型,每种类型又包含不同的信息,很显然地,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件等等。
2)目录以及文件中的异常改变
网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。
3)程序执行中的异常行为
网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特定目的的应用,例如数据库服务器。每个在系统上执行的程序由一到多个进程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程出现了不期望的行为可能表明黑客正在入侵你的系统。黑客可能会将程序或服务的运行分解,从而导致运行失败,或者是以非用户或非管理员意图的方式操作。
4)物理形式的入侵信息
这包括两个方面的内容,一是未授权的对网络硬件连接;二是对物理资源的未授权访问。
(2)入侵检测的第二步:数据分析
一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。
1)模式匹配
模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测以前从未出现过的黑客攻击手段。
2)统计分析
统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值如果超过了正常值范围,就认为有入侵发生。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,这在前面入侵检测的分类中已经提到。下面只对统计分析的模型做以介绍。
入侵检测5种统计模型为:
操作模型:该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,举例来说,在短时间内多次失败的登录很有可能是尝试口令攻击;
方差:计算参数的方差并设定其置信区间,当测量值超过置信区间的范围时表明有可能是异常;
多元模型:即操作模型的扩展,它通过同时分析多个参数实现检测;
马尔柯夫过程模型:即将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,如果在状态矩阵中该转移的概率较小则该可能是异常事件;
时间序列分析:即将事件计数与资源耗用根据时间排成序列,如果一个新事件在该时间发生的概率较低,则该事件可能是入侵。
统计方法的最大优点是它可以“学习”用户的使用习惯,从而具有较高检出率与可用性。但是它的“学习”能力有时也会给入侵者以机会,因为入侵者可以通过逐步“训练”使入侵事件符合正常操作的统计规律,从而透过入侵检测系统。
3)完整性分析
完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,它在发现被修改成类似特洛伊木马的应用程序方面特别有效。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是有入侵行为导致了文件或其他对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。
测试评估IDS性能的标准
根据Porras等的研究,给出了评价IDS性能的三个因素:
·准确性(Accuracy):指IDS从各种行为中正确地识别入侵的能力,当一个IDS的检测不准确时,就有可能把系统中的合法活动当作入侵行为并标识为异常(虚警现象)。
·处理性能(Performance):指一个IDS处理数据源数据的速度。显然,当IDS的处理性能较差时,它就不可能实现实时的IDS,并有可能成为整个系统的瓶颈,进而严重影响整个系统的性能。
·完备性(Completeness):指IDS能够检测出所有攻击行为的能力。如果存在一个攻击行为,无法被IDS检测出来,那么该JDS就不具有检测完备性。也就是说,它把对系统的入侵活动当作正常行为(漏报现象)。由于在一般情况下,攻击类型、攻击手段的变化很快,我们很难得到关于攻击行为的所有知识,所以关于IDS的检测完备性的评估相对比较困难。
在此基础上,Debar等又增加了两个性能评价测度:
·容错性(Fault Tolerance):由于IDS是检测入侵的重要手段/所以它也就成为很多入侵者攻击的首选目标。IDS自身必须能够抵御对它自身的攻击,特别是拒绝服务(Denial-of-Service)攻击。由于大多数的IDS是运行在极易遭受攻击的操作系统和硬件平台上,这就使得系统的容错性变得特别重要,在测试评估IDS时必须考虑这一点。
·及时性(Timeliness):及时性要求IDS必须尽快地分析数据并把分析结果传播出去,以使系统安全管理者能够在入侵攻击尚未造成更大危害以前做出反应,阻止入侵者进一步的破坏活动,和上面的处理性能因素相比,及时性的要求更高。它不仅要求IDS的处理速度要尽可能地快,而且要求传播、反应检测结果信息的时间尽可能少。
IDS测试评估的方法步骤
[4]前面已经讨论了IDS测试评估的性能指标,具体测试主要就是围绕这些指标来进行。大部分的测试过程都遵循下面的基本测试步骤:
·创建、选择一些测试工具或测试脚本。这些脚本和工具主要用来生成模拟的正常行为及入侵,也就是模拟IDS运行的实际环境。
·确定计算环境所要求的条件,比如背景计算机活动的级别。
·配置运行IDS。
·运行测试工具或测试脚本。
·分析IDS的检测结果。
美国加州大学的Nicholas J.Puketza等人把测试分为三类,分别与前面的性能指标相对应,即入侵识别测试(也可以说是IDS有效性测试)。资源消耗测试、强度测试。入侵识别测试测量IDS区分正常行为和入侵的能力,主要衡量的指标是检测率和虚警率。资源消耗测试(Resource Usage Tests)测量IDS占用系统资源的状况,考虑的主要因素是硬盘占用空间、内存消耗等。强度测试主要检测IDS在强负荷运行状况下检测效果是否受影响,主要包括大负载、高密度数据流量情况下对检测效果的检测。
测试评估IDS的性能指标
[4]在分析IDS的性能时,主要考虑检测系统的有效性、效率和可用性。有效性研究检测机制的检测精确度和系统检测结果的可信度,它是开发设计和应用IDS的前提和目的,是测试评估IDS的主要指标,效率则从检测机制的处理数据的速度以及经济性的角度来考虑,也就是侧重检测机制性能价格比的改进。可用性主要包括系统的可扩展性、用户界面的可用性,部署配置方便程度等方面。有效性是开发设计和应用IDS的前提和目的,因此也是测试评估IDS的主要指标,但效率和可用性对IDS的性能也起很重要的作用。效率和可用性渗透于系统设计的各个方面之中。
1、检测率、虚警率及检测可信度
检测率是指被监控系统在受到入侵攻击时,检测系统能够正确报警的概率。虚警率是指检测系统在检测时出现虚警的概率。检测可信度也就是检测系统检测结果的可信程度,这是测试评估IDS的最重要的指标。
实际的IDS的实现总是在检测率和虚警率之间徘徊,检测率高了,虚警率就会提高;同样虚警率降低了,检测率也就会降低。一般地,IDS产品会在两者中取一个折衷,并且能够进行调整,以适应不同的网络环境。美国的林肯实验室用接收器特性(ROC,Receiver Operating Characteristic)曲线来描述IDS的性能。该曲线准确刻画了IDS的检测率与虚警率之间的变化关系。ROC广泛用于输入不确定的系统的评估。根据一个IDS在不同的条件(在允许范围内变化的阈值,例如异常检测系统的报警门限等参数)下的虚警率和检测率,分别把虚警率和检测率作为横坐标和纵坐标,就可做出对应于该IDS的ROC曲线。ROC曲线与IDS的检测门限具有对应的关系。
在测试评估IDS的具体实施过程中,除了要IDS的检测率和虚警率之外,往往还会单独考虑与这两个指标密切相关的一些因素,比如能检测的入侵特征数量、IP碎片重组能力、TCP流重组能力。显然,能检测的入侵特征数量越多,检测率也就越高。此外,由于攻击者为了加大检测的难度甚至绕过IDS的检测,常常会发送一些特别设计的分组。为了提高IDS的检测率降低IDS的虚警率,IDS常常需要采取一些相应的措施,比如IP碎片能力、TCP流重组。因为分析单个的数据分组会导致许多误报和漏报,所以IP碎片的重组可以提高检测的精确度。IP碎片重组的评测标准有三个性能参数:能重组的最大IP分片数;能同时重组的IP分组数;能进行重组的最大IP数据分组的长度,TCP流重组是为了对完整的网络对话进行分析,它是网络IDS对应用层进行分析的基础。如检查邮件内容。附件,检查FTP传输的数据,禁止访问有害网站,判断非法HTTP请求等。这两个能力都会直接影响IDS的检测可信度。
2、 IDS本身的抗攻击能力
和其他系统一样,IDS本身也往往存在安全漏洞。若对IDS攻击成功,则直接导致其报警失灵,入侵者在其后所作的行为将无法被记录。因此IDS首先必须保证自己的安全性。IDS本身的抗攻击能力也就是IDS的可靠性,用于衡量IDS对那些经过特别设计直接以IDS为攻击目标的攻击的抵抗能力。它主要体现在两个方面:一是程序本身在各种网络环境下能够正常工作;二是程序各个模块之间的通信能够不被破坏,不可仿冒。此外要特别考虑抵御拒绝服务攻击的能力。如果IDS本身不能正常运行,也就失去了它的保护意义。而如果系统各模块间的通信遭到破坏,那系统的报警之类的检测结果也就值得怀疑,应该有一个良好的通信机制保证模块间通信的安全并能在出问题时能够迅速恢复。
3、其他性能指标
延迟时间。检测延迟指的是在攻击发生至IDS检测到入侵之间的延迟时间。延迟时间的长短直接关系着入侵攻击破坏的程度。
资源的占用情况。即系统在达到某种检测有效性时对资源的需求情况。通常,在同等检测有效性的前提下,对资源的要求越低,IDS的性能越好,检测入侵的能力也就越强。
负荷能力。IDS有其设计的负荷能力,在超出负荷能力的情况下,性能会出现不同程度的下降。比如,在正常情况下IDS可检测到某攻击但在负荷大的情况下可能就检测不出该攻击。考察检测系统的负荷能力就是观察不同大小的网络流量、不同强度的CPU内存等系统资源的使用对IDS的关键指标(比如检测率、虚警率)的影响。
日志、报善、报告以及响应能力。日志能力是指检测系统保存日志的能力、按照特定要求选取日志内容的能力。
主要的IDS厂商与产品1.IDS的评估标准
在介绍主要的入侵检测产品之前,先给你介绍关于入侵检测系统的评估标准。
目前市场上有许多入侵检测系统,这些产品在不同方面都有各自的特色。如何去评价这些产品,尚无形成规定的评估标准。
一般可以从以下几个侵检测系统:方面去评价一个入侵检测系统:
(1) 能保证自身的安全
和其他系统一样,入侵检测系统本身也往往存在安全漏洞。如果查询bugtraq的邮件列表,诸如AxentNetProwler,NFR,ISSRealsecure等知名产品都有漏洞被发觉出来。若对入侵检测系统攻击成功,则直接导致其报警失灵,入侵者在其后所作的行为将无法被记录。因此入侵检测系统首先必须保证自己的安全性。
(2) 运行与维护系统的开销
较少的资源消耗,不影响受保护主机或网络的正常运行。
(3)入侵检测系统报警准确率
误报和漏报的情况尽量少。
(4)网络入侵检测系统负载能力以及可支持的网络类型
根据网络入侵检测系统所布署的网络环境不同要求也不同。如果在512K或2M专线上布署网络入侵检测系统,则不需要高速的入侵检测引擎,而在负荷较高的环境中,性能是一个非常重要的指标。网络入侵检测系统是非常消耗资源的,但很少有厂商公布自己的pps (packet persecond)参数。
(5)是否支持IP碎片重组
由于 IP碎片攻击是攻击者常用的方法,而在入侵检测中分析单个的数据包会导致许多误报和漏报,因此是否支持IP碎片的重组对于整个入侵检测系统检测的精确度有直接影响。IP碎片重组的评测标准有三个性能参数:能重组的最大IP分片数;能同时重组的IP包数;能进行重组的最大IP数据包的长度。
(6)是否支持TCP流重组
TCP 流重组是为了对完整的网络对话进行分析,它是网络入侵检测系统对应用层进行分析的基础。如检查邮件内容、附件,检查FTP传输的数据,禁止访问有害网站、判断非法HTTP请求等。
2. 入侵检测的产品
国外一些研究机构已经开发出了应用于不同操作系统的几种典型的入侵检测系统(IDS),它们通常采用静态异常模型和规则的误用模型来检测侵入,这些IDS的检测基本是基于服务器或基于网络的。下面对一些国外、及国内公司的产品进行介绍:
主要的 IDS 生产商与产品有:国外 Cisco 公司的 NetRanger;Internet SecuritySystem公司的RealSecure;国内的有紫光网络的UnisIDS;重庆爱思软件技术有限公司的ODD_NIDS;上海金诺网络安全技术发展股份有限公司的KIDS。下面就分别进行介绍。
(1)Cisco公司的NetRanger
NetRanger产品分为两部分:监测网络包和发告警的传感器,以及接收并分析告警和启动对策的控制器。NetRanger以其高性能而闻名,而且它还非常易于组合。控制器程序可以综合多站点的信息并监视散布在整个企业网上的攻击。NetRanger的最大的特点在于其是针对企业而设计的。
NetRanger在全球广域网上运行很成功。例如,它有一个路径备份(Path-doubling)功能。如果一条路径断掉了,信息可以从备份路径上传过来。它还可以做到从一个点上监测全网或把监测权转给第三方。
NetRanger的另一个强项是其在检测问题时不仅观察单个包的内容,而且还根据上下文进行综合判断,即从多个包中得到线索。这是很重要的一点,因为入侵者可能以字符模式存取一个端口,然后在每个包中只放一个字符。如果一个监测器只观察单个包,它就永远不会发现完整的信息。可以说NetRanger是目前市场上基于网络的入侵检测软件中经受实践考验最多的产品之一。
但是,对于某些用户来讲,NetRanger 的强项也可能正好是其不足。它被设计为集成在 OpenView 或NetView下在网络运行中心(NOC)使用,并且在配置该系统时需要对UNIX有详细的了解。另外,NetRanger相对较昂贵,这对于一般的局域网来讲未必很适合。
Network Associates公司的CyberCop NetWorkAssociates从Cisco那里取得授权,将NetRanger的引擎和攻击模式数据库用在CyberCop中,然后CyberCop被设计成一个网络应用程序,该程序在20分钟内就可以安装完毕。它预设了6种通常的配置模式,分别适用于WindowsNT和UNIX的混合子网、UNIX子网、NT子网、远程访问、前沿网和骨干网。不过与NetRanger相比,CyberCop缺乏一些企业应用的特征,如路径备份功能等。
IDS的作用做一个形象的比喻:假如防火墙是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统。一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告。
不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。在这里,"所关注流量"指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。在如今的网络拓扑中,已经很难找到以前的HUB式的共享介质冲突域的网络,绝大部分的网络区域都已经全面升级到交换式的网络结构。因此,IDS在交换式网络中的位置一般选择在:
(1)尽可能靠近攻击源
(2)尽可能靠近受保护资源
这些位置通常是:•服务器区域的交换机上•Internet接入路由器之后的第一台交换机上•重点保护网段的局域网交换机上防火墙和IDS可以分开操作,IDS是个监控系统,可以自行选择合适的,或是符合需求的,比如发现规则或监控不完善,可以更改设置及规则,或是重新设置;
在实际的使用中,大多数的入侵检测的接入方式都是采用pass-by方式来侦听网络上的数据流,所以这就限制了IDS本身的阻断功能,IDS只有靠发阻断数据包来阻断当前行为,并且IDS的阻断范围也很小,只能阻断建立在TCP基础之上的一些行为,如Telnet、FTP、HTTP等,而对于一些建立在UDP基础之上就无能为力了。因为防火墙的策略都是事先设置好的,无法动态设置策略,缺少针对攻击的必要的灵活性,不能更好的保护网络的安全,所以IDS与防火墙联动的目的就是更有效地阻断所发生的攻击事件,从而使网络隐患降至较低限度。[3]
IDS技术自身安全是网络 安全系统的一个重要特性,如果没有完善的自身防护体系作为保障,即使拥有再强大的功能也无法实现。如同其他信息安全产品一样,IDS自防护问题一直都是IDS研发与实际应用中的一个热点问题。
IDS体系结构目前IDS自防护体系的建立仅仅把IDS作为一般的信息系统考虑,而在实际的网络安全防御系统中,IDS是一类工作在敌对网络环境下具有指挥控制特点的防御系统。IDS自防护除了考虑作为一般信息防御系统的自防护外,还必须考虑在攻防对抗环境下的IDS的生存问题。
IDS的体系
IDS是一类在网络攻防对抗环境中实现网络入侵检测、预警、评估与响应的指挥控制系统,其体系结构如图1所示。
IDS从网络或主机获取信息,然后依据现有知识对获取信息进行检测、识别、评估并依据检测结果做出相应告警与响应。信息的获取、判断、响应是一个循环过程,这与对抗中广泛应用的OODA环(观察、适应、决策、行动)相一致。
IDS的特点不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。在这里,"所关注流量"指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。在如今的网络拓扑中,已经很难找到以前的HUB式的共享介质冲突域的网络,绝大部分的网络区域都已经全面升级到交换式的网络结构。因此,IDS在交换式网络中的位置一般选择在:
(1)尽可能靠近攻击源
(2)尽可能靠近受保护资源
这些位置通常是:
·服务器区域的交换机上
·Internet接入路由器之后的第一台交换机上
·重点保护网段的局域网交换机上
防火墙和IDS可以分开操作,IDS是个监控系统,可以自行选择合适的,或是符合需求的,比如发现规则或监控不完善,可以更改设置及规则,或是重新设置!
早期的IDS仅仅是一个监听系统,在这里,可以把监听理解成窃听的意思。基于目前局网的工作方式,IDS可以将用户对位于与IDS同一交换机/HuB的服务器的访问、操作全部记录下来以供分析使用,跟常用的windows操作系统的事件查看器类似。再后来,由于IDS的记录太多了,所以新一代的IDS提供了将记录的数据进行分析,仅仅列出有危险的一部分记录,这一点上跟目前windows所用的策略审核上很象;目前新一代的IDS,更是增加了分析应用层数据的功能,使得其能力大大增加;而更新一代的IDS,就颇有“路见不平,拔刀相助”的味道了,配合上防火墙进行联动,将IDS分析出有敌意的地址阻止其访问。
就如理论与实际的区别一样,IDS虽然具有上面所说的众多特性,但在实际的使用中,目前大多数的入侵检测的接入方式都是采用pass-by方式来侦听网络上的数据流,所以这就限制了IDS本身的阻断功能,IDS只有靠发阻断数据包来阻断当前行为,并且IDS的阻断范围也很小,只能阻断建立在TCP基础之上的一些行为,如Telnet、FTP、HTTP等,而对于一些建立在UDP基础之上就无能为力了。因为防火墙的策略都是事先设置好的,无法动态设置策略,缺少针对攻击的必要的灵活性,不能更好的保护网络的安全,所以IDS与防火墙联动的目的就是更有效地阻断所发生的攻击事件,从而使网络隐患降至较低限度。
具体形式具体的技术形式如下所述:
1).模式匹配
模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化)。一般来讲,一种进攻模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。
2).统计分析
分析方法首先给信息对象(如用户、连接、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常偏差之外时,就认为有入侵发生。例如,统计分析可能标识一个不正常行为,因为它发现一个在晚八点至早六点不登录的帐户却在凌晨两点试图登录。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。
3).完整性分析
完整性分析主要关注某个文件或对象是否被更改,包括文件和目录的内容及属性,它在发现被更改的、被特络伊化的应用程序方面特别有效。完整性分析利用强有力的加密机制,称为消息摘要函数(例如MD5),能识别及其微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。这种方式主要应用于基于主机的入侵检测系统(HIDS)。
4.实时记录、报警或有限度反击
IDS根本的任务是要对入侵行为做出适当的反应,这些反应包括详细日志记录、实时报警和有限度的反击攻击源。
实现方式国际顶尖的入侵检测系统IDS主要以模式发现技术为主,并结合异常发现技术。IDS一般从实现方式上分为两种:基于主机的IDS和基于网络的IDS。一个完备的入侵检测系统IDS一定是基于主机和基于网络两种方式兼备的分布式系统。另外,能够识别的入侵手段的数量多少,最新入侵手段的更新是否及时也是评价入侵检测系统的关键指标。从具体工作方式上看,绝大多数入侵检测系统都采取两种不同的方式来进行入侵检测:基于网络和基于主机的。不管使用哪一种工作方式,都用不同的方式使用了上述两种分析技术,都需要查找攻击签名(Attack Signature)。所谓攻击签名,就是用一种特定的方式来表示已知的攻击方式。
基于网络的IDS
基于网络的IDS使用原始的网络分组数据包作为进行攻击分析的数据源,一般利用一个网络适配器来实时监视和分析所有通过网络进行传输的通信。一旦检测到攻击,IDS应答模块通过通知、报警以及中断连接等方式来对攻击作出反应。基于网络的入侵检测系统的主要优点有:
(1)成本低。
(2)攻击者转移证据很困难。
(3)实时检测和应答一旦发生恶意访问或攻击,基于网络的IDS检测可以随时发现它们,因此能够更快地作出反应。从而将入侵活动对系统的破坏减到最低。
(4)能够检测未成功的攻击企图。
(5)操作系统独立。基于网络的IDS并不依赖主机的操作系统作为检测资源。而基于主机的系统需要特定的操作系统才能发挥作用。
基于主机的IDS
基于主机的IDS一般监视Windows NT上的系统、事件、安全日志以及UNIX环境中的syslog文件。一旦发现这些文件发生任何变化,IDS将比较新的日志记录与攻击签名以发现它们是否匹配。如果匹配的话,检测系统就向管理员发出入侵报警并且发出采取相应的行动。
基于主机的IDS的主要优势有:
(1)非常适用于加密和交换环境。
(2)近实时的检测和应答。
(3)不需要额外的硬件。
发展趋势基于网络和基于主机的IDS都有各自的优势,两者相互补充。这两种方式都能发现对方无法检测到的一些入侵行为。从某个重要服务器的键盘发出的攻击并不经过网络,因此就无法通过基于网络的IDS检测到,只能通过使用基于主机的IDS来检测。基于网络的IDS通过检查所有的包首标(header)来进行检测,而基于主机的IDS并不查看包首标。许多基于IP的拒绝服务攻击和碎片攻击,只能通过查看它们通过网络传输时的包首标才能识别。基于网络的IDS可以研究负载的内容,查找特定攻击中使用的命令或语法,这类攻击可以被实时检查包序列的IDS迅速识别。而基于主机的系统无法看到负载,因此也无法识别嵌入式的负载攻击。联合使用基于主机和基于网络这两种方式能够达到更好的检测效果。比如基于主机的IDS使用系统日志作为检测依据,因此它们在确定攻击是否已经取得成功时与基于网络的检测系统相比具有更大的准确性。在这方面,基于主机的IDS对基于网络的IDS是一个很好的补充,人们完全可以使用基于网络的IDS提供早期报警,而使用基于主机的IDS来验证攻击是否取得成功。
在下一代的入侵检测系统中,将把现在的基于网络和基于主机这两种检测技术很好地集成起来,提供集成化的攻击签名、检测、报告和事件关联功能。相信未来的集成化的入侵检测产品不仅功能更加强大,而且部署和使用上也更加灵活方便。
游戏机IDSIDS IQUE double screen 的缩写,中文名称是神游双屏多媒体互动系统,是NDS(一款日本任天堂公司的掌上游戏机)的大陆官方名称
酒店多媒体信息智能发布系统
IDS(AMTT innFOR IDS)是安美集团研发的酒店多媒体智能信息发布系统,基于innFOR Anymode技术标准,针对酒店等高端用户需求定制开发。拥有强大的任务管理功能,支持最丰富的信息显示内容。其信息发布管理的流程能与酒店业务流程相匹配,并可以进行多种订制设置。
AMTT innFOR IDS的技术优势主要体现在四个方面:全新高性能Linux陷入式技术平台,稳定可靠、胜任各种复杂的应用需求;通用显示引擎驱动技术,实现高分辨率,支持各种显示平台;多级动态存储技术,实现集中存储管理,确保安全性和保密性;低功耗高可靠性结构设计,经过第三方严格SOA测试,产品无故障运行达10万小时。
IDS规则的建立
IDS要有效地捕捉入侵行为,必须拥有一个强大的入侵特征数据库,这就如同公安部门必须拥有健全的罪犯信息库一样。但是,IDS一般所带的特征数据库都比较死板,遇到“变脸”的入侵行为往往相逢不相识。
一、特征(signature)的基本概念
IDS中的特征就是指用于判别通讯信息种类的样板数据,通常分为多种,以下是一些典型
情况及识别方法:
来自保留IP地址的连接企图:可通过检查IP报头(IP header)的来源地址轻易地识别。
带有非法TCP 标志联合物的数据包:可通过对比TCP报头中的标志集与已知正确和错误标记联合物的不同点来识别。
含有特殊病毒信息的Email:可通过对比每封Email的主题信息和病态Email的主题信息来识别,或者,通过搜索特定名字的附近来识别。
查询负载中的DNS缓冲区溢出企图:可通过解析DNS域及检查每个域的长度来识别利用DNS 域的缓冲区溢出企图。还有另外一个识别方法是:在负载中搜索“壳代码利用”(exploit shellcode)的序列代码组合。
通过对POP3服务器发出上千次同一命令而导致的DoS攻击:通过跟踪记录某个命令连续发出的次数,看看是否超过了预设上限,而发出报警信息。
未登录情况下使用文件和目录命令对FTP服务器的文件访问攻击:通过创建具备状态跟踪的特征样板以监视成功登录的FTP对话、发现未经验证却发命令的入侵企图。
从以上分类可以看出特征的涵盖范围很广,有简单的报头域数值、有高度复杂的连接状态跟踪、有扩展的协议分析。一叶即可知秋,本文将从最简单的特征入手,详细讨论其功能及开发、定制方法。
另外请注意:不同的IDS产品具有的特征功能也有所差异。例如:有些网络IDS系统只允许很少地定制存在的特征数据或者编写需要的特征数据,另外一些则允许在很宽的范围内定制或编写特征数据,甚至可以是任意一个特征;一些IDS系统只能检查确定的报头或负载数值,另外一些则可以获取任何信息包的任何位置的数据。
二、特征有什么作用?
这似乎是一个答案很明显的问题:特征是检测数据包中的可疑内容是否真正“不可就要”的样板,也就是“坏分子克隆”。IDS系统本身就带有这个重要的部分,为什么还需要定制或编写特征呢?是这样:也许你经常看到一些熟悉的通讯信息流在网络上游荡,由于IDS系统的特征数据库过期或者这些通讯信息本身就不是攻击或探测数据,IDS系统并没有对它们进行关注,而这时你的好奇心升起,想在这些可疑数据再次经由时发出报警,想捕捉它们、仔细看看它们到底来自何方、有何贵干,因此,唯一的办法就是对现有特征数据库进行一些定制配置或者编写新的特征数据了。
特征的定制或编写程度可粗可细,完全取决于实际需求。或者是只判断是否发生了异常行为而不确定具体是什么攻击名号,从而节省资源和时间;或者是判断出具体的攻击手段或漏洞利用方式,从而获取更多的信息。我感觉,前者适用于领导同志,后者需要具体做事者使用,宏观加微观,敌人别想遛进来!
三、首席特征代表:报头值(Header Values)
报头值的结构比较简单,而且可以很清楚地识别出异常报头信息,因此,特征数据的首席候选人就是它。一个经典的例子是:明显违背RFC793中规定的TCP标准、设置了SYN和FIN标记的TCP数据包。这种数据包被许多入侵软件采用,向防火墙、路由器以及IDS系统发起攻击。异常报头值的来源有以下几种:
因为大多数操作系统和应用软件都是在假定RFC被严格遵守的情况下编写的,没有添加针对异常数据的错误处理程序,所以许多包含报头值的漏洞利用都会故意违反RFC的标准定义,明目张胆地揭发被攻击对象的偷工减料行为。
许多包含错误代码的不完善软件也会产生违反RFC定义的报头值数据。
并非所有的操作系统和应用程序都能全面拥护RFC定义,至少会存在一个方面与RFC不协调。
随着时间推移,执行新功能的协议可能不被包含于现有RFC中。
由于以上几种情况,严格基于RFC的IDS特征数据就有可能产生漏报或误报效果。对此,RFC也随着新出现的违反信息而不断进行着更新,也有必要定期地回顾或更新存在的特征数据定义。
非法报头值是特征数据的一个非常基础的部分,合法但可疑的报头值也同等重要。例如 ,如果存在到端口31337或27374的可疑连接,就可报警说可能有特洛伊木马在活动;再附加上其他更详细地探测信息,就能够进一步地判断是真马还是假马。
四、确定特征“候选人”
为了更好地理解如何开发基于报头值的特殊数据,下面通过分析一个实例的整个过程进行详细阐述。
Synscan是一个流行的用于扫描和探测系统的工具,由于它的代码被用于创建蠕虫Ramen的开始片断而在2001年早期大出风头。Synscan的执行行为很具典型性,它发出的信息包具有多种可分辨的特性,包括:
不同的来源IP地址信息
TCP来源端口21,目标端口21
服务类型0
IP鉴定号码39426(IP identification number)
设置SYN和FIN标志位
不同的序列号集合(sequence numbers set)
不同的确认号码集合(acknowledgment numbers set)
TCP窗口尺寸1028
下面对以上这些数据进行筛选,看看哪个比较合适做特征数据。要寻找的是非法、异常或可疑数据,大多数情况下,这都反映出攻击者利用的漏洞或者他们使用的特殊技术。以下是特征数据的候选对象:
只具有SYN和FIN标志集的数据包,这是公认的恶意行为迹象。没有设置ACK标志,但却具有不同确认号码数值的数据包,而正常情况应该是0。 来源端口和目标端口都被设置为21的数据包,经常与FTP服务器关联。这种端口相同的情况一般被称为“反身”(reflexive),除了个别时候如进行一些特别NetBIOS通讯外,正常情况下不应该出现这种现象。“反身”端口本身并不违反TCP标准,但大多数情况下它们并非预期数值。例如在一个正常的FTP对话中,目标端口一般是21,而来源端口通常都高于1023。
TCP窗口尺寸为1028,IP鉴定号码在所有数据包中为39426。根据IP RFC的定义,这2类数值应在数据包间有所不同,因此,如果持续不变,就表明可疑。
五、公布最佳特征“得主”
从以上4个候选对象中,可以单独选出一项作为基于报头的特征数据,也可以选出多项组合作为特征据。
选择一项数据作为特征有很大的局限性。例如一个简单的特征可以是只具有SYN和FIN标志的数据包,虽然这可以很好地提示可能有一个可疑的行为发生,但却不能给出为什么会发生的更多信息。SYN和FIN通常联合在一起攻击防护墙和其他设备,只要有它们出现,就预示着扫描正在发生、信息正在收集、攻击将要开始。但仅仅这些而已,需要的是更多的细节资料。
选择以上4项数据联合作为特征也不现实,因为这显得有些太特殊了。尽管能够精确地提供行为信息,但是比仅仅使用一个数据作为特征而言,会显得远远缺乏效率。实际上,特征定义永远要在效率和精确度间取得折中。大多数情况下,简单特征比复杂特征更倾向于误报(false positives),因为前者很普遍;复杂特征比简单特征更倾向于漏报( false negatives),因为前者太过全面,攻击软件的某个特征会随着时间的推进而变化 。
多也不行,少亦不可,完全应由实际情况决定。例如,想判断攻击可能采用的工具是什么,那么除了SYN和FIN标志以外,还需要什么其他属性?“反身”端口虽然可疑,但是许多工具都使用到它,而且一些正常通讯也有此现象,因此不适宜选为特征。TCP窗口尺寸1028尽管有一点可疑,但也会自然的发生。IP鉴定号码39426也一样。没有ACK标志的ACK数值很明显是非法的,因此非常适于选为特征数据。当然,根据环境的不同,及时地调整或组合特征数据,才是达到最优效果的不二法门。
接下来创建一个特征,用于寻找并确定synscan发出的每个TCP信息包中的以下属性:
只设置了SYN和FIN标志
IP鉴定号码为39426
TCP窗口尺寸为1028
第一个项目太普遍,第二个和第三个项目联合出现在同一数据包的情况不很多,因此将这三个项目组合起来就可以定义一个详细的特征了。再加上其他的synscan属性不会显著地提高特征的精确度,只能增加资源的耗费。到此,判别synscan软件的特征如此就创建完毕了。
六、拓宽特征的“社会关系”,创建识别更多异常通讯的特征
以上创建的特征可以满足对标准synscan软件的探测了。但synscan可能存在多种“变脸”,而其它工具也可能是“变化多端”的,这样,上述建立的特征必然不能将它们一一识别。这时就需要结合使用特殊特征和通用特征,才能创建一个更好、更全面的解决方案。如果一个入侵检测特征既能揭示已知“坏蛋”,还能预测“潜在的罪犯”,那么它的魅力将大大提高。
首先看一个“变脸”synscan所发出的数据信息特征:
只设置了SYN标志,这纯属正常的TCP数据包“长相”。
TCP窗口尺寸总是40而不是1028。40是初始SYN信息包中一个罕见的小窗口尺寸,比正常的数值1028少见得多。
“反身”端口数值为53而不是21。老版本的BIND使用“反身”端口用于特殊操作,新版本BIND则不再使用它,因此,经常看到这个信息会让大家睁大怀疑的眼睛。
以上3种数据与标准synscan产生的数据有很多相似出,因此可以初步推断产生它的工具或者是synscan的不同版本,或者是其他基于synscan代码的工具。显然,前面定义的特征已经不能将这个“变脸”识别出来,因为3个特征子项已经面目全非。这时,可以采取三种方法:
再单独创建一个匹配这些内容的特殊特征。
调整探测目标,只关注普通的异常行为,而不是特殊的异常行为,创建识别普通异常行为的通用特征。
1和2都创建,既全面撒网,也重点垂钓,真实的罪犯必抓,可疑的分子也别跑。
通用特征可以创建如下:
没有设置确认标志,但是确认数值却非0的TCP数据包。
只设置了SYN和FIN标志的TCP数据包。
初始TCP窗口尺寸低于一定数值的TCP数据包。
使用以上的通用特征,上面提到过的两种异常数据包都可以有效地识别出来。
当然,如果需要更加详细地探测,再在这些通用特征的基础上添加一些个性数据就可以创建出一个特殊特征来。还是那个观点,创建什么样的特征、创建哪些特征,取决于实际需求,实践是检测创建何种特征的唯一标准吗!
七、报头值关键元素小结,信息包种类检查分析
从上面讨论的例子中,可用于创建IDS特征的多种报头值信息。通常,最有可能用于生成报头相关特征的元素为以下几种:
IP地址,特别保留地址、非路由地址、广播地址。
不应被使用的端口号,特别是众所周知的协议端口号和木马端口号。
异常信息包片断。
特殊TCP标志组合值。
不应该经常出现的ICMP字节或代码。
知道了如何使用基于报头的特征数据,接下来要确定的是检查何种信息包。确定的标准依然是根据实际需求而定。因为ICMP和UDP信息包是无状态的,所以大多数情况下,需要对它们的每一个“属下”都进行检查。而TCP信息包是有连接状态的,因此有时候可以只检查连接中的第一个信息包。例如,象IP地址和端口这样的特征将在连接的所有数据包 中保持不变,只对它们检查一次就可放心。其他特征如TCP标志会在对话过程的不同数据包中有所不同,如果要查找特殊的标志组合值,就需要对每一个数据包进行检查。检查 的数量越多,消耗的资源和时间也就越多。
另外:关注TCP、UDP或者ICMP的报头信息要比关注DNS报头信息更方便 。因为TCP、UDP以及ICMP都属于IP协议,它们的报头信息和载荷信息都位于IP数据包的p ayload部分,比如要获取TCP报头数值,首先解析IP报头,然后就可以判断出这个载荷的 “父亲”是TCP。而象DNS这样的协议,它又包含在UDP和TCP数据包的载荷中,如果要获 取DNS的信息,就必须深入2层才能看到真面目。而且,解析此类协议还需要更多更复杂的编程代码,完全不如TCP等简单。实际上,这个解析操作也正是区分不同协议的关键所 在,评价IDS系统的好坏也体现在是否能够很好地分析更多的协议。[2]
IDS趋势从现实来看,市场上所大行其道的ids产品价格从数十万到数百万不等,这种相对昂贵的奶酪被广为诟病,所导致的结果就是:一般中小企业并不具备实施ids产品的能力,它们的精力会放在路由器、防火墙以及3层以上交换机的加固上;大中型企业虽然很多已经上了ids产品,但ids天然的缺陷导致其似乎无所作为。但还不能就此喜新厌旧,因为ids是必需的一个过程,具有ids功能的ips很可能在几年后彻底取代单一性ids的市场主导地位,从被动应战到主动防御是大势所趋。