|
入侵检测系统(Intrusion Detection System, IDS)可以弥补防火墙的不足,为网络安全提供实时的入侵检测及采取相应的防护手段,如记录证据、跟踪入侵、恢复或断开网络连接等。
|
|
|
|
入侵行为主要是指对系统资源的非授权使用,可以造成系统数据的丢失和破坏、系统拒绝服务等危害。对于入侵检测而言的网络攻击可以分为以下4类。
|
|
|
(1)检查单IP包(包括TCP、UDP)首部即可发觉的攻击,如winnuke、ping of death、land.c、部分OS detection、source routing等。
|
|
|
(2)检查单IP包,并同时要检查数据段信息才能发觉的攻击,如利用CGI漏洞、缓存溢出攻击等。
|
|
|
(3)通过检测发生频率才能发觉的攻击,如端口扫描、SYN Flood、smurf攻击等。
|
|
|
(4)利用分片进行的攻击,如teadrop、nestea、jolt等。
|
|
|
进行入侵检测的软件与硬件的组合就是入侵检测系统。入侵检测系统的原理模型如下图所示。入侵检测通过对计算机网络或计算机系统中的若干关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。
|
|
|
|
|
|
入侵检测系统执行的主要任务包括监视、分析用户及系统活动;审计系统构造的弱点;识别、反映已知进攻的活动模式,向相关人士报警;统计分析异常行为模式;评估重要系统和数据文件的完整性;审计、跟踪管理操作系统,识别用户违反安全策略的行为。
|
|
|
|
入侵检测一般分为3个步骤,依次为信息收集、数据分析、响应(被动响应和主动响应)。
|
|
|
信息收集的内容包括系统、网络、数据及用户活动的状态和行为。入侵检测利用的信息一般来自系统日志、目录以及文件中的异常改变、程序执行中的异常行为及物理形式的入侵信息4个方面。
|
|
|
数据分析是入侵检测的核心。它首先构建分析器,把收集到的信息经过预处理,建立一个行为分析引擎或模型,然后向模型中植入时间数据,在知识库中保存植入数据的模型。数据分析一般通过模式匹配、统计分析和完整性分析3种手段进行。
|
|
|
入侵检测系统在发现入侵后会及时做出响应,包括切断网络连接、记录事件和报警等。响应一般分为主动响应(阻止攻击或影响进而改变攻击的进程)和被动响应(报告和记录所检测出的问题)两种类型。
|
|
|
|
可以采用概率统计方法、专家系统、神经网络、模式匹配、行为分析等来实现入侵检测系统的检测机制,以分析事件的审计记录,识别特定的模式,生成检测报告和最终的分析结果。
|
|
|
|
(1)异常发现技术。异常发现技术假定所有入侵行为都是与正常行为不同的。它的原理是,假设可以建立系统正常行为的轨迹,所有与正常轨迹不同的系统状态则视为可疑企图。异常阈值与特征的选择是其成败的关键。其局限在于:并非所有的入侵都表现为异常,而且系统的轨迹难以计算和更新。
|
|
|
(2)模式发现技术。模式发现技术是假定所有入侵行为和手段(及其变种)都能够表达为一种模式或特征,所有已知的入侵方法都可以用匹配的方法发现。模式发现技术的关键是如何表达入侵的模式,以正确区分真正的入侵与正常行为。模式发现的优点是误报少;局限是只能发现已知的攻击,对未知的攻击无能为力。
|
|
|
|
通常,入侵检测系统按其输入数据的来源分为以下3类。
|
|
|
(1)基于主机的入侵检测系统。其输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵。
|
|
|
(2)基于网络的入侵检测系统。其输入数据来源于网络的信息流,能够检测该网段上发生的网络入侵。
|
|
|
(3)分布式入侵检测系统。能够同时分析来自主机系统审计日志和网络数据流的入侵检测系统,系统由多个部件组成,采用分布式结构。
|
|
|
另外,入侵检测系统还有其他一些分类方法。如根据布控物理位置可分为基于网络边界(防火墙、路由器)的监控系统、基于网络的流量监控系统以及基于主机的审计追踪监控系统;根据建模方法可分为基于异常检测的系统、基于行为检测的系统和基于分布式免疫的系统;根据时间分析可分为实时入侵检测系统和离线入侵检测系统。
|
|
|
|
|
(1)静态配置方法。静态配置方法通过检查系统的当前配置,诸如系统文件的内容或者系统表,来检查系统是否已经或者可能会遭到破坏。静态是指检查系统的静态特征(系统配置信息),而不是系统中的活动。所以,采用静态配置分析方法需要尽可能了解系统的缺陷,否则入侵者只需要简单地利用那些系统中未知的安全缺陷就可以避开检测系统。
|
|
|
(2)异常性检测方法。异常性检测技术是一种在不需要操作系统及其防范安全性缺陷专门知识的情况下,就可以检测入侵者的方法,同时它也是检测冒充合法用户的入侵者的有效方法。但是,在许多环境中,为用户建立正常行为模式的特征轮廓,以及确定用户活动的异常性报警的阈值都是比较困难的事,所以仅使用异常性检测技术不可能检测出所有的入侵行为。
|
|
|
(3)基于行为的检测方法。通过检测用户行为中那些与已知入侵行为模式类似的行为,以及那些利用系统的缺陷或间接违背系统安全规则的行为,来判断系统中的入侵活动。
|
|
|
入侵检测方法虽然能够在某些方面取得好的效果,但总体看来各有不足,因而越来越多的入侵检测系统都同时采用几种方法,以互补不足,共同完成检测任务。
|
|
|
|
目前,CIDF(通用入侵检测架构组织)和IETF都试图对入侵检测系统进行标准化。CIDF阐述了一个入侵检测系统的通用模型,将入侵检测系统分为以下4个组件。
|
|
|
(1)事件产生器。CIDF将入侵检测系统需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息。事件产生器是从整个计算环境中获得事件,并向系统的其他部分提供此事件。
|
|
|
(2)事件分析器。事件分析器分析得到的数据,并产生分析结果。
|
|
|
(3)响应单元。响应单元则是对分析结果做出反应的功能单元,它可以做出切断连接、改变文件属性等强烈反应,也可以是简单的报警。
|
|
|
(4)事件数据库。事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。
|
|
|
在这个模型中,前三者以程序的形式出现,而最后一个常是文件或数据流。入侵检测系统的几个组件常位于不同的主机上。一般会有3台机器,分别运行事件产生器、事件分析器和响应单元。
|
|
|
|
IETF的Internet草案工作组(IDWG)专门负责定义入侵检测系统组件之间,以及不同厂商的入侵检测系统之间的通信格式,目前只有相关的草案(Draft),还未形成正式的RFC文档。IDWG文档有以下4类。
|
|
|
(1)入侵警报协议(IAP)。该协议是用于交换入侵警报信息、运行于TCP之上的应用层协议。
|
|
|
(2)入侵检测交换协议(IDXP)。这个应用层协议是在入侵检测实体间交换数据,提供入侵检测报文交换格式(IDMEF)报文、无结构的文本和二进制数据的交换。
|
|
|
(3)IDMEF。IDMEF是数据存放格式隧道(Tunnel)文件,允许块可扩展交换协议(Beep)对等体能作为一个应用层代理,用户通过防火墙得到服务。
|
|
|
(4)IAP。IAP是最早设计的通信协议,它将被IDXP替换,IDXP建立在Beep基础之上,Tunnel文件配合IDXP使用。
|
|
|
|
IDS不同于防火墙的是,它是一个监听设备,没有挂接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。在这里,"所关注流量"指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。在如今的网络拓扑中,已经很难找到以前的Hub式的共享介质冲突域的网络,绝大部分的网络区域都已经全面升级到交换式的网络结构。因此,IDS在交换式网络中的位置一般选择在:尽可能靠近攻击源和受保护资源。这些位置通常是:服务器区域的交换机,Internet接入路由器之后的第一台交换机,重点保护网段的局域网交换机等。两者的不同点如下表所示。
|
|
|
|
|