入侵检测系统的技术与应用
发布时间:2006-10-14 4:13:28   收集提供:gaoqian
李宝健 杨俊 张雨田 罗守山


  摘 要 随着计算机网络技术的发展,网络安全也变得越来越重要。入侵检测技术是实现网络安全的一个重要的手段,也是目前的一个研究热点。本文对入侵检测系统的发展历史和入侵检测技术做了一个简要的介绍。

  关键词 网络安全 入侵检测

1 引言

  在信息化社会中,计算机通信网络在政治、军事、金融、商业、交通、电信、文教等方面的作用日益增大。社会对计算机网络的依赖也日益增强。随着计算机技术、数字通信技术、网络技术的发展,世界已经进入了数字化、信息化的时代。计算机网络已由单个的局域网发展到目前的跨区域的、国际性的计算机网络。随着网络的开放性、共享性及互联性的扩大,特别是Internet的出现,网络的重要性和对社会的影响也越来越大。随着网络上各种新业务的兴起,比如电子商务、电子现金、数字货币、网络银行等兴起,以及各种专用网的建设,使网络安全问题显得越来越重要。

  对于企业内部网来说,入侵的来源可能是多种多样的,比如说,它可能是企业内部心怀不满的员工、网络黑客,甚至是竞争对手。攻击者可能窃听网络上的信息,窃取用户的口令、数据库的信息,还可以篡改数据库的内容,伪造用户身份,否认自己的签名。更为严重的是攻击者可以删除数据库的内容,摧毁网络的节点,释放计算机病毒,直到整个企业网络陷入瘫痪。因此,能否成功阻止网络黑客的入侵、保证计算机和网络系统的安全和正常运行便成为网络管理员所面临的一个重要问题。

  入侵检测技术是近20年来出现的一种主动保护自己免受黑客攻击的新型网络安全技术。什么是入侵检测呢?简单地说,从系统运行过程中产生的或系统所处理的各种数据中查找出威胁系统安全的因素,并对威胁做出相应的处理,就是入侵检测。相应的软件或硬件称为入侵检测系统。入侵检测被认为是防火墙之后的第二道安全闸门,它在不影响网络性能的情况下对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。

2 入侵检测系统的发展历史

  入侵检测的研究最早可追溯到James P. Anderson在1980年的工作。在这一年的4月,他为美国空军做了一份题为“计算机安全威胁监控与监视”( Computer Security Threat Monitoring and Sur- veillance ) 的技术报告,这份报告被公认为是入侵检测的开山之作。在报告中,他首次提出了入侵检测的概念,将入侵尝试 ( intrusion attempt ) 或威胁 ( th-

reat ) 定义为:潜在的有预谋未经授权访问信息、操作信息、致使系统不可靠或无法使用的企图。在报告中,Anderson还提出审计跟踪可应用于监视入侵活动的思想。但由于当时所有已有的系统安全程序都着重于拒绝未经认证主体对重要数据的访问,这一设想的重要性当时并未被理解。

  1986年,为检测用户对数据库异常访问,W. T.Tener在IBM主机上用COBOL开发的Discovery系统,成为最早的基于主机的IDS雏形之一。

  1987年,乔治敦大学的Dorothy E. Denning提出了一个实时的入侵检测系统抽象模型——IDES(Intrusion Detection Expert System,入侵检测专家系统),首次将入侵检测的概念作为一种计算机系统安全防御问题的措施提出。与传统加密和访问控制的常用方法相比,IDS是全新的计算机安全措施。她提出的模型由六个部分组成:主体、对象、审计记录、轮廓特征、异常记录、活动规则。它独立于特定的系统平台、应用环境、系统弱点以及入侵类型,为构建入侵检测系统提供了一个通用的框架。

  1988年的Morris Internet蠕虫事件使得Internet近5天无法使用,该事件促进了人们投入更多的精力于IDS的研究。

  1990年是入侵检测系统发展史上的一个分水岭。这一年,加州大学戴维斯分校的L. T. Heberlein等人提出了一个新的概念:基于网络的入侵检测——NSM(Network Security Monitor),NSM与此前的IDS系统最大的不同在于它并不检查主机系统的审计记录,它可以通过在局域网上主动地监视网络信息流量来追踪可疑的行为。这是第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机。从此之后,入侵检测系统发展史翻开了新的一页,入侵检测系统中的两个重要研究方向开始形成:基于网络的IDS和基于主机的IDS。同时,在1988年莫里斯蠕虫事件发生之后,网络安全引起了军方、学术界和企业的高度重视。美国空军、国家安全局和能源部共同资助空军密码支持中心、劳伦斯利弗摩尔国家实验室、加州大学戴维斯分校、Haystack实验室,开展对分布式入侵检测系统(DIDS)的研究,将基于主机和基于网络的检测方法集成到一起。DIDS是分布式入侵检测系统历史上的一个里程碑式的产品,它的检测模型采用了分层结构。

  1991年,NADIR(Network Anomaly Detection and Intrusion Reporter)与DIDS(Distribute Intrusion Detection System)提出了收集和合并处理来自多个主机的审计信息以检测一系列主机的协同攻击。

  1994年,Mark Crosbie和Gene Spafford建议使用自治代理(autonomous agents)以便提高IDS的可伸缩性、可维护性、效率和容错性,该理念非常符合正在进行的计算机科学其他领域 (如软件代理,software agent)的研究。

  1995年开发了IDES完善后的版本——NIDES(Next-Generation Intrusion Detection System)可以检测多个主机上的入侵。

  另一条致力于解决当代绝大多数入侵检测系统伸缩性不足的途径于1996年提出,这就是GrIDS(Graph-based Intrusion Detection System)的设计和实现,该系统使得对大规模自动或协同攻击的检测更为便利,这些攻击有时甚至可能跨过多个管理领域。

  近些年来,入侵检测的主要创新包括:Forrest等将免疫原理运用到分布式入侵检测领域。1998年Ross Anderson和 Abida Khattak将信息检索技术引进到入侵检测。

  2000年2月,对Yahoo!、Amazon、CNN等大型网站的DDOS(分布式拒绝服务)攻击引发了对IDS系统的新一轮研究热潮。

3 入侵检测技术

  随着入侵检测技术的发展,到目前为止出现了很多入侵检测系统,不同的入侵检测系统具有不同的特征。根据不同的分类标准,入侵检测系统可分为不同的类别。对于入侵检测系统,要考虑的因素(分类依据)主要有:信息源、入侵、事件生成、事件处理、检测方法等。下面就不同的分类依据及分类结果分别加以介绍。

3.1 根据原始数据的来源

  入侵检测系统要对其所监控的网络或主机的当前状态做出判断,并不是凭空臆测,它需要以原始数据中包含的信息为基础,做出判断。按照原始数据的来源,可以将入侵检测系统分为基于主机的入侵检测系统、基于网络的入侵检测系统和基于应用的入侵检测系统。

  1. 基于主机的入侵检测系统

  主要用于保护运行关键应用的服务器。它通过监视与分析主机的审计记录和日志文件来检测入侵。日志中包含发生在系统上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。通常,基于主机的IDS可监测系统、事件和Windows NT下的安全记录以及UNIX环境下的系统记录,从中发现可疑行为。当有文件发生变化时,IDS将新的记录条目与攻击标记相比较,看它们是否匹配。如果匹配,系统就会向管理员报警并向别的目标报告,以采取措施。对关键系统文件和可执行文件的入侵检测的一个常用方法,是通过定期检查校验和来进行的,以便发现意外的变化。反应的快慢与轮询间隔的频率有直接的关系。此外,许多IDS还监听主机端口的活动,并在特定端口被访问时向管理员报警。

  比如,上文提到的IDES就属于这一类。它是一个独立于系统、应用环境、系统弱点和入侵类型的实时入侵检测专家系统。该系统可以看作是一个基于规则的模式匹配系统。审记记录一旦产生,就与相应的描述模型进行比较,与描述模型中的特定信息进行比较,确定用什么规则来更新描述模型,检测异常活动和报告检测异常结果。规则和描述模型结构是独立于系统的。

  IDES独立于系统的特点使其拥有较强的可移植性。但是,如果对目标系统的弱点有充分的了解,就有利于建立更有效的入侵检测系统。IDES对入侵的反应仅是向系统安全管理员发出警告,反应能力有限。

  尽管基于主机的入侵检查系统不如基于网络的入侵检查系统快捷,但它确实具有基于网络的系统无法比拟的优点。这些优点包括:

  · 能确定攻击是否成功。主机是攻击的目的所在,所以基于主机的IDS使用含有已发生的事件信息,可以比基于网络的IDS更加准确地判断攻击是否成功。就这一方面而言,基于主机的IDS与基于网络的IDS互相补充,网络部分尽早提供针对攻击的警告,而主机部分则可确定攻击是否成功。

  · 监控粒度更细。基于主机的IDS,监控的目标明确,视野集中,它可以检测一些基于网络的IDS不能检测的攻击。它可以很容易地监控系统的一些活动,如对敏感文件、目录、程序或端口的存取。例如,基于主机的IDS可以监督所有用户登录及退出登录的情况,以及每位用户在连接到网络以后的行为。它还可监视通常只有管理员才能实施的非正常行为。针对系统的一些活动,有时并不通过网络传输数据,有时虽然通过网络传输数据但所传输的数据并不能提供足够多的信息,从而使得基于网络的系统检测不到这些行为,或者检测到这个程度非常困难。

  · 配置灵活。每一个主机有其自己的基于主机的IDS,用户可根据自己的实际情况对其进行配置。

  · 可用于加密的以及交换的环境。加密和交换设备加大了基于网络IDS收集信息的难度,但由于基于主机的IDS安装在要监控的主机上,根本不会受这些因素的影响。

  · 对网络流量不敏感。基于主机的IDS一般不会因为网络流量的增加而丢掉对网络行为的监视。

  · 不需要额外的硬件。

  基于主机的入侵检测系统的主要缺点是:它会占用主机的资源,在服务器上产生额外的负载;缺乏平台支持,可移植性差,因而应用范围受到严重限制。

  在网络环境中,某些活动对于单个主机来说可能构不成入侵,但是对于整个网络是入侵活动。例如“旋转门柄”攻击,入侵者企图登录到网络主机,他对每台主机只试用一次用户ID和口令,并不穷尽搜索,如果不成功,便转向其他主机。这种攻击方式,各主机上的入侵检测系统显然无法检测到,这就需要建立面向网络的入侵检测系统。

  2. 基于网络的入侵检测系统

  主要用于实时监控网络关键路径的信息,它侦听网络上的所有分组来采集数据,分析可疑现象。基于网络的入侵检测系统使用原始网络包作为数据源。基于网络的IDS通常利用一个运行在混杂模式下网络的适配器来实时监视并分析通过网络的所有通信业务,当然也可能采用其他特殊硬件获得原始网络包。

  基于网络的IDS有许多仅靠基于主机的入侵检测法无法提供的功能。实际上,许多客户在最初使用IDS时,都配置了基于网络的入侵检测。基于网络的检测有以下优点:

  · 监测速度快。基于网络的监测器通常能在微秒或秒级发现问题。而大多数基于主机的产品则要依靠对最近几分钟内审计记录的分析。

  · 隐蔽性好。一个网络上的监测器不像一个主机那样显眼和易被存取,因而也不那么容易遭受攻击。基于网络的监视器不运行其他的应用程序,不提供网络服务,可以不响应其他计算机,因此可以做得比较安全。

  · 视野更宽。可以检测一些主机检测不到的攻击,如泪滴(tear drop)攻击,基于网络的SYN洪水等。还可以检测不成功的攻击和恶意企图。

  · 较少的监测器。由于使用一个监测器就可以保护一个共享的网段,所以你不需要很多的监测器。相反地,如果基于主机,则在每个主机上都需要一个代理,这样的话,花费昂贵,而且难于管理。但是,如果在一个交换环境下,就需要特殊的配置。

  · 攻击者不易转移证据。基于网络的IDS使用正在发生的网络通信进行实时攻击的检测。所以攻击者无法转移证据。被捕获的数据不仅包括攻击的方法,而且还包括可识别黑客身份和对其进行起诉的信息。许多黑客都熟知审计记录,他们知道如何操纵这些文件掩盖他们的作案痕迹,如何阻止需要这些信息的基于主机的系统去检测入侵。

  · 操作系统无关性。基于网络的IDS作为安全监测资源,与主机的操作系统无关。与之相比,基于主机的系统必须在特定的、没有遭到破坏的操作系统中才能正常工作,生成有用的结果。

  · 可以配置在专门的机器上,不会占用被保护的设备上的任何资源。

   基于网络的入侵检测系统的主要缺点是:只能监视本网段的活动,精确度不高;在交换环境下难以配置;防入侵欺骗的能力较差;难以定位入侵者。

  3. 基于应用(application)的入侵检测系统

  基于应用的入侵检测系统可以说是基于主机的入侵检测系统的一个特殊子集,也可以说是基于主机入侵检测系统实现的进一步的细化,所以其特性、优缺点与基于主机的IDS基本相同。主要特征是使用监控传感器在应用层收集信息。由于这种技术可以更准确地监控用户某一应用的行为,所以这种技术在日益流行的电子商务中也越来越受到注意。它监控在某个软件应用程序中发生的活动,信息来源主要是应用程序的日志。它监控的内容更为具体,相应的监控的对象更为狭窄。

  这三种入侵检测系统具有互补性,基于网络的入侵检测能够客观地反映网络活动,特别是能够监视到系统审计的盲区;而基于主机的和基于应用的入侵检测能够更加精确地监视系统中的各种活动。实际系统大多是这三种系统的混合体。

3.2 根据检测原理进行分类

  传统的观点根据入侵行为的属性将其分为异常和误用两种,然后分别对其建立异常检测模型和误用检测模型。异常入侵检测是指能够根据异常行为和使用计算机资源的情况检测出来的入侵。异常入侵检测试图用定量的方式描述可以接受的行为特征,以区分非正常的、潜在的入侵行为。Anderson做了如何通过识别“异常”行为来检测入侵的早期工作。他提出了一个威胁模型,将威胁分为外部闯入、内部渗透和不当行为三种类型,并使用这种分类方法开发了一个安全监视系统,可检测用户的异常行为。外部闯入是指用户虽然授权,但对授权数据和资源的使用不合法或滥用授权。误用入侵检测是指利用已知系统和应用软件的弱点攻击模式来检测入侵。与异常入侵检测不同,误用入侵检测能直接检测不利的或不可接受的行为,而异常入侵检测是检查出与正常行为相违背的行为。综上,可根据系统所采用的检测模型,将入侵检测分为两类:异常检测和误用检测。

  1. 异常检测

  在异常检测中,观察到的不是已知的入侵行为,而是所研究的通信过程中的异常现象,它通过检测系统的行为或使用情况的变化来完成。在建立该模型之前,首先必须建立统计概率模型,明确所观察对象的正常情况,然后决定在何种程度上将一个行为标为“异常”,并如何做出具体决策。

  2. 误用检测

  在误用检测中,入侵过程模型及它在被观察系统中留下的踪迹是决策的基础。所以,可事先定义某些特征的行为是非法的,然后将观察对象与之进行比较以做出判别。误用检测基于已知的系统缺陷和入侵模式,故又称特征检测。它能够准确地检测到某些特征的攻击,但却过度依赖事先定义好的安全策略,所以无法检测系统未知的攻击行为,从而产生漏警。

3.3 根据体系结构分类

  按照体系结构,IDS可分为集中式、等级式和协作式三种。

  1. 集中式

  这种结构的IDS可能有多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。审计程序把当地收集到的数据踪迹发送给中央服务器进行分析处理。但这种结构的IDS在可伸缩性、可配置性方面存在致命缺陷。随着网络规模的增加,主机审计程序和服务器之间传送的数据量就会骤增,导致网络性能大大降低。并且,一旦中央服务器出现故障,整个系统就会陷入瘫痪。根据各个主机的不同需求配置服务器也非常复杂。

  2. 等级式

  在这种IDS中,定义了若干个分等级的监控区域,每个IDS负责一个区域,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。这种结构也存在一些问题:首先,当网络拓扑结构改变时,区域分析结果的汇总机制也需要做相应的调整;第二,这种结构的IDS最后还是要把各地收集到的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性并没有实质性的改进。

  3. 协作式

  将中央检测服务器的任务分配给多个基于主机的IDS,这些IDS不分等级,各司其职,负责监控当地主机的某些活动。所以,其可伸缩性、安全性都得到了显著的提高,但维护成本却高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等。

4 结束语

  入侵检测系统是保障计算机系统安全的一种手段。在20余年的时间中,入侵检测系统的检测对象已经从主机的审计数据扩展到广域网的分布式信息,以期实现对整个计算机系统全面的安全保护。

(参考文献略)

  李宝健,男,43 岁,讲师,首钢工学院数学教研室教师,研究方向为信息安全、纠错编码。

  杨 俊,男,38岁,副教授,北京邮电大学计算机学院教师,研究方向为网络安全。

  张雨田,男,39岁,讲师,北京邮电大学理学院教师,研究方向为信息安全。

  罗守山,男,40岁,博士,教授,研究方向为信息安全、纠错编码。

摘自《中国数据通信》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50