入侵检测系统的原理与应用

入侵检测是一种主动保护自己免受攻击的网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展了系统管理员的安全能力(包括安全审计、监视、攻击识别和响应),提高了信息安全基础结构的完整性。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行检测。

 

1、入侵检测的原理

 

入侵检测(Intrusion Detection)是指发现或确定入侵行为存在或出现的动作,也就是发现、跟踪并记录计算机系统或计算机网络中的非授权行为,或发现并调查系统中可能为视图入侵或病毒感染所带来的异常活动。入侵检测作为一门新兴的安全技术,以其对网络系统的实时监测和快速响应的特性,逐渐发展成为保障网络系统安全的关键部件。其基本原理如下图所示:

 

c9dcf1c252c540a0b78836b823956eee.png 

 

 

入侵检测系统(Intrusion Detection Systems,IDS)在ICSA(国际计算机安全协会)的入侵检测系统论坛被定义为:通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象的一种安全技术。

在允许各种网络资源以开放方式运作的前提下,入侵检测系统成了确保网络安全的一种新的手段,它通过实时的分析,检查特定的攻击模式、系统配置、系统漏洞、存在缺陷的程序以及系统或用户的行为模式,监控与安全有关的活动。入侵检测系统提供了用于发现入侵攻击与合法用户滥用特权的一种方法,IDS解决安全问题是基于如下假设的:入侵行为和合法行为是可区分的,也就是说可以通过提取行为的模式特征来判断该行为的性质。一个基本的入侵检测系统需要解决两个问题:一是如何区分并可靠地提取描述行为特征的数据;二是如何根据特征数据,高效并准确地判定行为的性质。

 

2、IDS的功能

 

应用于不同的网络环境和不同的系统安全策略,IDS在具体实现上也有所不同。从系统构成上看,IDS至少包括数据提取、入侵分析、响应处理三大部分,另外还可以结合安全知识库、数据存储等功能模块,提供更为完善的安全检测技术和分析功能。

 

IDS模块结构如下图所示:

 

c7215d3cc9704076b492271e86f26e55.png

 

 

数据提取模块在IDS中居于基础地位,负责提取反映受保护系统运行状态的运行数据,并完成数据的过滤及其他预处理工作,为入侵分析模块和数据存储模块提供原始的安全审计数据,是IDS的数据采集器。

 

入侵分析模块是IDS的核心模块,包括对原始数据进行同步、整理、组织、分类、特征提取以及各种类型的细致分析,提取其中所包含的系统活动特征或模式,用于正常和异常行为的判断。这种行为的鉴别可以实时进行,也可以是事后的分析。

 

响应处理模块的工作实际上反映了当发现了入侵者的攻击行为之后,该怎么办的问题。可选的相应措施包括主动响应和被动响应。前者以自动的或用户设置的方式阻断攻击过程;后者则只对发生的时间进行报告和记录,由安全管理员负责下一步的行动。

 

IDS具有以下优点:

 

(1)实时检测网络系统的非法行为。

 

(2)网络IDS系统不占用系统的任何资源。

 

(3)网络IDS系统是一个独立的网络设备,可以做到对黑客不透明,因此其自身的安全性很高。

 

(4)网络IDS系统既是实时检测系统,也是记录审计系统,可以做到实时保护和事后取证分析。

 

(5)主机IDS系统运行于保护系统之上,可以直接保护和恢复系统。

 

(6)通过与防火墙的连动,可以更有效地阻止非法入侵和破坏。

 

3、IDS分类

 

IDS经常从基于数据源和基于检测方法去分类。

 

3.1 基于数据源的分类

 

IDS首先需要解决的问题是数据源,或者说是审计事件发生器。IDS根据其检测数据来源分为两类,分别是基于主机(Host-based)的IDS和基于网络(Network-based)的IDS。基于主机的IDS从单个主机上提取数据作为入侵分析的数据源,而基于网络的IDS从网络上提取数据作为入侵分析的数据源。通常来说基于主机的IDS只能检测单个主机系统,而基于网络的IDS可以对本网段的多个主机系统进行检测,多个分布于不同网段上的基于网络的IDS可以协同工作以提供更强的入侵检测能力。

 

3.1.1 基于主机的IDS

 

基于主机IDS的检测目标是主机系统和系统本地用户,原理是根据主机的审计数据和系统日志发现可疑事件。该徐彤通常运行在被监测的主机或服务器上,实时奸恶主机安全性方面诸如操作系统日志文件、审核日志文件、应用程序日志文件等的情况,其效果依赖于数据的准确性以及安全事件的定义。课件这种类型的IDS是利用主机操作系统及应用程序的审核踪迹作为输入的主要数据源来检测入侵。基于主机的IDS被设计成检测IDS代理所驻留的宿主机,如下图所示,这种IDS可以检测到网络协议栈的高层数据,也可以检测到被监视主机上的本地活动,如文件修改和用户账户的建立。

 

d56e7c3fa14e486c84baf12bab77740d.png

 

 

在上图的C/S通信模式下,客户机对服务器上的访问活动将被服务器日志所记载,IDS代理检测这些记录用户活动信息的日志文件,将它们与事先知道的用户正常行为模式进行匹配。

 

基于主机的IDS有两种主要应用类型:基于应用和基于操作系统。

 

(1)基于应用的IDS从应用层服务中收集数据。例如,数据库管理软件、web服务程序或防火墙等产生的日志服务等,数据源包括了应用时间日志和其他存储于应用程序内部的数据信息。这种方式可以更好地获取系统上的用户活动,但也存在应用层的脆弱性会破坏监视和检测的弱点。

 

(2)基于操作系统的IDS搜索在特定系统上的活动消息,这些信息可以是操作系统产生的审计踪迹,也可以是系统日志等。这种方式可以监控对系统访问的主体和对象,并且可以将可疑的活动映射到特定的用户ID上。同样操作系统的脆弱性也会破坏IDS监视与入侵分析的完整性,同时基于操作系统的IDS必须建立在特定的操作系统上,这样就增加了开销。

 

基于主机的IDS具有检测效率高、分析代价小、分析速度快的优点,能够迅速并准确地定位入侵者,并可以结合操作系统和应用程序的行为特征对入侵进行进一步分析、响应。其不足之处在于:首先一定程度上依赖系统的可靠性;同时主机日志能够提供的信息是有限的,日志系统对网络层的入侵行为无能为力。

 

3.1.2 基于网络的IDS

 

基于网络的IDS搜集来自网络层的信息,监视网络数据流。通常来说,网咯适配器可以工作在两种不同的模式:正常模式和混杂模式。处于正常模式时,网络适配器只能接收到共享网络中发向本机的数据包,丢弃其他目标主机的数据包;处于混杂模式时,网络适配器可以接收所有在网络中传输的数据包,并交给操作系统或应用程序进行分析,这种机制为进行网络数据流的监视和入侵检测提供了必要的数据来源。

 

从下图可以看出,基于网络的IDS位于客户端与服务器的通信链路中央,可以访问到通信链路的所有层次,因此这种IDS可以监视和检测网络层的攻击。

 

b373c2af9ec84af68cbe85c62b330f6a.png

 

从理论上来说,网络监视可以获得所有的网络信息数据,在没有特定的审计或日志机制的情况下,也可以获得数据;只要时间允许,可以在庞大的数据堆中提取和分析需要的数据;可以对一个子网进行检测,一个监视模块可以监视同一网段的多台主机的网络行为;可以通过增加代理来监视网路,不会影响现存的数据源,不改变系统和网络的工作模式,也不影响主机性能和网络性能;处于被动接受方式,很难被入侵者发现,隐藏性好;可以从底层开始分析,对基于协议攻击的入侵手段有较强的分析能力。

基于网络的IDS主要问题是监视数据量过于庞大并且它不能结合操作系统特征来对网络行为进行准确地判断;如果网络数据被加密,IDS就不能扫描协议或内容。

3.2 基于检测方法的分类

从监测方法可以将IDS分为异常检测和误用检测两种类型。

3.2.1 异常检测(Anomaly Detection)

根据使用者的行为或资源使用状况的正常程度来判断是否入侵,而不依赖于具体行为是否出现来检测。异常检测与系统相对无关,通用性较强,甚至可以检测出以前未出现过的攻击方法。由于不可能对整个系统内的所有用户行为进行全面的描述,而且每个用户的行为是经常改变的,所以它的主要缺陷在于误检率很高,尤其在用户数据众多,或工作方式经常改变的环境中。另外由于行为模式的统计数据不断 更新,入侵者如果知道某系统处在检测器的监视下时,他们可以通过恶意的训练方式,促使检测系统缓慢得更改统计数据,以至于最初认为是异常的行为,经过一段时间的训练后被认为是正常的。这是目前异常检测所面临的一大难题。

3.2.2 误用检测(Misuse Detection)

根据已定义好的入侵模式,通过判断在实际的安全审计数据中是否出现这些入侵模式来完成检测功能。大部分的入侵行为都是利用了一直的系统脆弱性,因此通过分析入侵过程的特征、条件、顺序以及事件间的关系,可以具体描述入侵行为的迹象。误用检测有时也被称为特性分析或基于知识的检测。这种方法由于依据具体特征库进行判断,所以检测准确度很高,并且因为检测结果有明确的参照,也为管理员及时做出相应措施提供了方便。误用检测的缺陷在于检测范围受已有知识的局限,无法检测未知的攻击类型。另外检测系统对目标系统的依赖性太强,不但系统移植性不好,维护工作量大,而且将具体入侵手段抽象成知识也是比较困难的,对于某些内部的入侵行为,如合法用户的泄密等,由于这些入侵行为并没有利用系统的脆弱性,因此误用检测也是无能为力的。

4、入侵检测的主要方法

入侵检测的主要方法有静态配置分析、异常性检测方法、基于行为的检测方法。

4.1 静态配置分析

静态检测分析通过检查系统的当前系统配置,如系统文件的内容或系统表,来检测系统是否已经或可能会遭到破坏。静态是指检查系统的静态特征(系统配置信息),而不是系统中的活动。

采用静态分析方法主要有以下几个方面的原因:入侵者对系统攻击时可能会留下痕迹,这可通过检查系统的状态检测出来;系统管理员以及用户在建立系统时难免会出现一些错误或遗漏一些系统的安全性措施;另外系统在遭到攻击后,入侵者可能会在系统中安装一些安全性后门以方便对系统进行进一步的攻击。

所以静态配置分析方法需要尽可能了解系统的缺陷,否则入侵者只需要简单地利用那些系统中位置的安全缺陷就可以避开检测系统。

4.2 异常性检测方法

异常性检测技术使一种不需要操作系统及其防范安全性缺陷专门知识的情况下,就可以检测入侵者的方法,同时它也是检测冒充合法用户的入侵者的有效方法。但是在许多环境中,为用户建立正常行为模式的特征轮廓及对用户活动的异常性进行报警的门限值的确定都是比较困难的事,所以仅使用异常性检测技术不可能检测出所有的入侵行为。

目前这类IDS多采用统计,或者基于规则描述的方法,建立系统主体的行为特征轮廓:

(1)统计特征轮廓由主体特征变量的频度、均值以及偏差等统计量来描述。

(2)基于规则描述的特征轮廓,由一组用于描述主体每个特征的合法取值范围与其他特征的取值之间关系的规则组成。该方案还可以采用从大型数据库中提取规则的数据挖掘技术。

(3)神经网络方法具有自学习、自适应能力,可以通过自学习提取正常的用户或系统活动的特征模式,避开选择统计特征这一难题。

4.3 基于行为的检测方法

通过检测用户行为中那些与已知入侵行为模式类似的行为、那些利用系统中缺陷或间接违背系统安全规则的行为,来判断系统中的入侵活动。

目前基于行为的IDS只是在表示入侵模式的方式以及在系统的审计中检查入侵签名的机制上有所区别,主要可以分为基于专家系统、基于状态迁移分析和基于模式匹配等几类。这些方法的局限性在于:只是根据已有的入侵序列和系统缺陷模式来检测系统中的可疑行为,而不能检测新的入侵攻击行为以及未知的、潜在的系统缺陷。

入侵检测方法虽然能够在某些方面取得好的效果,但总体来看各有不足,因而越来越多的IDS都同时采用几种方法,以互补不足,共同完成检测任务。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值