一、概述入侵检测(Intrusiondetection)入侵检测是通过在计算机网络或计算机系统中的若干关键点收集信息,通过对这些信息的分析来发现网络或系统中是否有违反安全策略的行为和被攻击的迹象的一种机制。入侵检测系统(IntrusionDetectionSystem)进行入侵检测的软件与硬件的组合,它使用入侵检测技术对网络与其上的系统进行监视,并根据监视结果进行不同的安全动作,最大限度地降低可能的入侵危害。入侵检测系统的预警功能目前大部分网络攻击在攻击前有资料搜集的过程例如,基于特定系统的漏洞攻击,在攻击之前需要进行端口扫描,以确认系统的类型以及漏洞相关的端口是否开启。此外某些攻击在初期就可以表现出较为明显的特征例如,假冒有效用户登录,在攻击初期的登录尝试具有明显的特征。对于这些攻击,入侵检测系统可以在攻击的前期准备时期或是在攻击刚刚开始的时候进行确认并发出警报同时入侵检测系统可以对报警的信息进行记录,为以后的一系列实际行动提供证据支持。IDS的特点IDS是一种积极主动的防护工具,是对防火墙的合理补充,能帮助系统对付网络攻击,扩展系统管理员的安全管理能力和范围一般情况下,防火墙为网络安全提供了第一道防线,IDS作为防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护,减少网络受到各种可能攻击的损害。IDS不仅能监测外来的入侵者,同时也能监测内部人员的入侵行为,这也弥补了防火墙在这方面的不足。入侵检测一般采用旁路侦听的机制,因此不会产生对网络带宽的大量占用,系统的使用对网内外的用户来说是透明的,不会有任何的影响。入侵检测的部署方式和位置旁路侦听IDS的功能IDS通常具有以下功能:1、监视用户和系统的运行状况,查找非法用户和合法用户的越权操作;2、对系统的弱点进行审计;3、对异常行为模式进行统计分析;4、评估重要系统和数据文件的完整性;5、对操作系统进行跟踪审计管理,并识别用户违反安全策略的行为。IDS常用的评价指标1、漏报率指攻击事件没有被IDS检测到的概率。与其相对的是检出率。2、误报率指把正常事件识别为攻击并报警的概率。注意:误报率与检出率成正比关系。二、入侵检测的基本原理入侵检测与其他检测技术的原理相同,即从收集到的一组数据中,检测出符合某一特点的数据。由于入侵者在攻击时通常会留下痕迹,这些痕迹与系统正常运行时产生的数据混合在一起,入侵检测的任务就是要从这样的混合数据中找出是否有入侵的痕迹,如果有入侵的痕迹就产生报警信号。IDS的工作过程一个IDS的工作过程包括4个阶段:数据收集、数据处理、数据分析和报警响应。数据收集数据处理数据分析报警响应原始数据包或日志规则库入侵检测系统IDS的工作过程(续)1、数据收集数据收集是入侵检测的基础,可以通过不同的途径收集数据。目前常见的数据来源包括主机日志、网络数据包、应用程序日志和防火墙日志等。2、数据处理数据收集过程产生的原始数据量一般很庞大,并且存在噪声。数据处理的功能就是从原始数据中去除冗余和噪声,并且进行格式化和标准化处理,以利于今后的数据分析。IDS的工作过程(续)3、数据分析对经过处理的数据采用智能化的方法进行分析,检查数据是正常的还是存在入侵。4、报警响应当经过数据分析发现入侵时,采用各种措施对网络进行防护、保留入侵证据并通知系统管理员。常用的措施包括切断网络连接、记录系统日志、给系统管理员发送电子邮件等。IDS的基本结构入侵检测系统的通用模型是CIDF:CIDF—CommonIntrusionDetectionFrameworkCIDF将入侵检测系统需要分析的数据统称为事件(event)事件可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息。CIDF的体系结构输出:反应或事件输出:高级中断事件输出:事件的存储信息输出:原始或低级事件输入:原始事件源事件产生器响应单元事件数据库事件分析器CIDF包含的组件1、事件产生器事件产生器采集和监视被保护系统的数据,这些数据可以是网络的数据包,也可以是从系统日志等其他途径搜集到的信息。事件产生器可以把数据进行保存,一般是保存到数据库中。2、事件分析器事件分析器的功能主要分为两个方面:1)用于分析事件产生器搜集到的数据,区分数据的正确性,发现非法的或者具有潜在危险的、异常的数据现象,通知响应单元做出入侵防范;2)对数据库保存的数据做定期的统计分析,发现某段时期内的异常表现,进而对该时期内的异常数据进行详细分析。CIDF包含的组件(续)3、响应单元响应单元是协同事件分析器工作的重要组成部分,一旦事件分析器发现具有入侵企图的异常数据,响应单元就要发挥作用,对具有入侵企图的攻击施以拦截、阻断、反追踪等手段,保护被保护系统免受攻击和破坏。4、事件数据库事件数据库记录事件分析单元提供的分析结果,同时记录下所有来自于事件产生器的事件,用来进行以后的分析与检查。三、入侵检测系统的分类入侵检测系统的分类标准有多种,最常用的是根据入侵检测系统的输入数据来源,将其分为:基于主机(Host-Based)的入侵检测系统(HIDS)基于网络(Network-Based)的入侵检测系统(NIDS)HIDS(基于主机)NDIS(基于网络)数据源系统日志或应用程序日志原始的网络数据包能否确定攻击是否成功(到达目标)能不能能否检测网络上攻击不能能加密网络环境支持不支持实时性一般好是否需要额外硬件不需要需要监视特定的系统行为(如特定的文件操作或账户操作)容易较难通用性差(依赖具体系统或应用程序的日志格式)好(网络协议是标准的)对目标系统的资源消耗大(需要在目标系统所在主机上采集日志)无(旁路获取网络报文)攻击者转移(或删除)证据容易较难3.1基于主机的入侵检测系统HIDS通常以系统日志、应用程序日志等审计记录文件作为数据源通过比较这些审计记录文件的记录与攻击签名(AttackSignature,指用一种特定的方式来表示已知的攻击模式)是否匹配以发现是否存在攻击行为。如果匹配,检测系统就向管理员发出入侵报警并采取相应行动。由于审计数据是收集系统用户行为信息的主要方法,因而必须保证系统的审计数据不被修改但是,当系统遭到攻击时,这些数据很可能被有经验的黑客修改,因此,这就要求HIDS必须满足一个实时性条件:即检测系统必须在攻击者完全控制系统并更改审计数据之前完成对审计数据的分析,产生报警并采取相应的措施。例:Windows7系统日志例:Windows7审核策略例:IIS系统日志IIS日志文件默认位置为%systemroot%/system32/logfilesHIDS的优点1、能够确定攻击是否成功由于HIDS使用包含有确实已经发生的事件信息的日志文件作为数据源,因而比NIDS更能准确地判断出攻击是否成功。2、非常适合于加密和交换环境由于NIDS是以网络数据包作为数据源,因而对于加密环境来讲,它是无能为力的;但对于HIDS不存在该问题,因为所有的加密数据在到达主机之前必须被解密,这样才能被操作系统解析;另外对于交换网络来讲,NIDS在获取网络流量上,面临着很大的挑战,但对于HIDS就没有这方面的限制。HIDS的优点(续)3、接近实时的检测和响应HIDS不能提供真正的实时响应,但是由于现有的HIDS大多采取的是在日志文件形成的同时获取审计数据信息,因而就为接近实时的检测和响应提供了可能。4、不需要额外的硬件HIDS是驻留在现有的网络基础设施之上的,包括文件服务器、Web服务器和其他的共享资源等,这样就减少了HIDS的实施成本。HIDS的优点(续)5、可监视特定的系统行为HIDS可以:1)监视用户和文件的访问活动,如文件访问、文件权限的改变、试图建立新的可执行文件和试图访问特权服务等;2)监视通常只有管理员才能实施的行为,如用户账号的添加、删除、更改的情况;3)跟踪影响系统日志记录的策略变化;4)监视关键系统文件和可执行文件的更改。NIDS很难做到这些。HIDS的不足HIDS的不足之处主要是依赖于审计数据或系统日志的准确性、完整性以及对安全事件的定义,如果攻击者能逃避审计,则HIDS就无法对攻击者的行为做出反应。此外在网络环境下,单纯依靠主机审计信息进行入侵检测难以完全满足网络安全的需求,主要表现在:1、主机的审计信息容易受到攻击,入侵者可通过使用某些系统特权来逃避审计;2、无法通过分析主机审计信息来检测网络攻击;3、HIDS的运行会影响主机的性能;4、HIDS只能对主机上的特定应用程序执行的日志进行检测,所能检测到的攻击类型是有限的。3.2基于网络的入侵检测系统NIDS以原始的网络数据包作为数据源,它是利用网络适配器来实时地监视并分析通过网络进行传输的所有通信业务的。一旦检测到攻击,NIDS的响应模块通过通知、报警及中断连接等方式对攻击行为作出反应。NIDS的优点1、实时监测和应答NIDS可以随时发现恶意的访问或攻击,能更快的做出反应。实时性使得系统可以根据预先设置的规则迅速采取相应的行动,从而将入侵行为对系统的破坏降到最低。2、能够检测到未成功的攻击企图有些攻击行为旨在攻击防火墙后面的资源,利用放置在防火墙外的NIDS就可以检测到这种企图;而HIDS并不能发现未能到达受防火墙保护的主机的攻击企图,而这些攻击企图信息对于评估和改进系统的安全策略是十分重要的。NIDS的优点(续)3、操作系统无关性NIDS并不依赖主机的操作系统作为检测资源;而HIDS需要依赖特定的操作系统才能发挥作用。4、较低的成本NIDS允许部署在一个或多个关键访问点来检查所有经过的网络通信,因此并不需要在各个主机上都安装,这样就大大减少了安全和管理的复杂性,所需的成本费用也就相对较低。5、攻击者转移证据更困难NIDS使用正在发生的网络通信进行实时攻击的检测,因此攻击者无法转移证据,被检测系统捕获到的数据不仅包括攻击方法,而且包括对识别和指控攻击者十分有用的信息。NIDS的不足当然,NIDS同样存在一些不足,主要表现在:1、只能监视通过本网段的网络报文,并且精确度较差;2、在交换网络环境中难于配置;3、防欺骗能力比较差,对于加密环境通常是无能为力。3.3分布式入侵检测系统HIDS和NIDS都有各自的优势,而在某些方面又是很好的互补,如果将两者结合,就会得到一种优化的入侵检测系统。通常这样的系统是分布式结构,它能同时分析来自主机系统的审计数据和来自网络的数据通信流量信息。分布式的IDS是一种相对完善的体系结构,为日益复杂的网络环境下的安全策略的实现提供了最佳解决方案。一种分布式IDS(DIDS)架构网络网络四、入侵检测的数据分析技术数据分析是入侵检测系统的核心,它是关系到能否检查出入侵行为的关键。入侵检测系统所采用的数据分析技术包括1、异常检测(AnomalyDetection)技术2、误用检测(MisuseDetection)技术异常检测误用检测别名基于行为的检测基于知识的检测直接或间接检测间接直接检测原理1)首先建立系统或用户的“正常”行为轮廓;2)通过比较当前系统或用户的行为是否偏离了正常的行为轮廓来判断是否发生了入侵行为。1)首先将已知的攻击方法用攻击签名表示;2)根据已经定义好的攻击签名,通过判断这些攻击签名是否出现来判断是否发生了入侵行为。误报率高低对未知入侵行为的检测能力好无要求的计算能力高低对内部用户入侵行为的检测能力好差4.1异常检测异常检测也被称为基于行为的(Behavior-Based)检测其基本原理是假定所有的入侵行为都是异常的,即入侵行为是异常行为的子集。在首先建立了系统或用户的“正常”行为轮廓后,通过比较当前的系统或用户的行为是否偏离了正常的行为特征轮廓来判断是否发生了入侵行为。由于这种技术不是依赖于某个具体行为是否出现来进行检测的,因此是一种间接的检测方法。异常检测面临的关键