《网络安全技术》课件第7章_第1页
《网络安全技术》课件第7章_第2页
《网络安全技术》课件第7章_第3页
《网络安全技术》课件第7章_第4页
《网络安全技术》课件第7章_第5页
已阅读5页,还剩165页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章入侵检测技术7.1入侵检测概述

7.2入侵检测系统的设计

7.3入侵检测系统的弱点与局限

7.4几种典型的入侵检测系统

7.5入侵检测系统的评价及其发展方向

习题

7.1入侵检测概述

7.1.1入侵检测系统简介入侵检测(IntrusionDetection),顾名思义是对入侵行为的发觉。它在计算机网络或计算机系统中的若干关键点收集信息,通过对这些信息的分析来发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统(IntrusionDetectionSystem,IDS)。与其他安全产品不同的是,入侵检测系统需要更多的功能,它必须能将得到的数据进行分析,并得出有用的结果。

入侵检测系统主要通过监控网络,系统的状态、行为和系统的使用情况来检测系统用户的越权使用以及系统外部的入侵者利用系统的安全缺陷对系统进行入侵的企图。和传统的预防性安全机制相比,入侵检测是一种事后处理方案,具有智能监控、实时探测、动态响应、易于配置等特点。由于入侵检测所需要的分析数据源仅是记录系统活动轨迹的审计数据,因此它几乎适用于所有的系统。入侵检测技术的引入使得网络、系统的安全性得到了进一步的提高。入侵检测作为传统计算机安全机制的补充,它的开发与应用扩大了网络和系统安全的保护纵深,成为目前动态安全工具主要研究和开发的方向。随着系统漏洞的不断发现和攻击的不断发生,入侵检测系统在整个安全系统中的地位不断提高,所发挥的作用也越来越大。无论是从事网络安全研究的学者,还是从事入侵检测产品开发的企业,都越来越重视入侵检测技术。可以预见,在今后几年内对入侵检测系统的研究还将会不断升温。

入侵检测技术历经20多年的发展,在很多方面都比较成熟,但由于新情况、新需求的不断出现,入侵检测技术还有待人们不断研究,不断推进。现在入侵检测系统主要有两类:一类是基于主机的入侵检测系统,主要用于保护某一台主机的资源不被破坏;另一类是基于网络的入侵检测系统,主要用于保护整个网络不被破坏。入侵检测的方法可以分为两类:一类是误用检测,对不正常的行为建模,将符合特征库中描述的行为视为攻击;另一类是异常检测,对系统正常的行为建模,将特征库中没有描述的行为破坏疑为攻击。

入侵检测系统的组成主要有采集模块、分析模块和管理模块。采集模块主要用来搜集数据,供入侵检测系统进行分析;分析模块用于完成对数据的解析,给出怀疑值或作出判断;管理模块的主要功能是作出决策和响应。为了更好地完成入侵检测系统的功能,系统一般还有数据预处理模块、通信模块、响应模块和数据存储模块等。

入侵检测系统的应用范围在不断扩大,开始主要是保护某一台主机,后来发展到保护一定规模的网络,现在人们正在研究可用于大规模网络的入侵检测系统。网络规模的扩大,使得在单位时间内要处理的数据量增大,因此对入侵检测系统的数据处理速度提出了更高的要求,对原有的一些成熟技术提出了挑战。为了完成入侵检测的功能,现在的入侵检测系统多采用健在式体系结构,使用代理和移动代理技术。对于健在式大规模入侵检测系统的研究是当前入侵检测系统的研究热点。

7.1.2入侵检测系统的作用与任务一个安全系统至少应该满足用户系统机密性、完整性及可用性的要求。但是,随着网络连接的迅速扩展,特别是Internet大范围的开放以及金融领域网络的接入,越来越多的系统遭到入侵攻击的威胁,这些威胁大多是通过挖掘操作系统和应用服务程序的弱点或者缺陷来实现的。目前,对付破坏系统企图的理想方法是建立一个完全安全系统。但这样不仅要求有的用户能识别和认证自己,还要求用户采用各种各样的加密技术和访问控制策略来保护数据。从实际上看,这一点是很难做到的,原因如下所述。

(1)要将已安装的带安全缺陷的系统转换成安全系统是不现实的,即使真正付诸于实践,也需要相当长的时间。

(2)加密技术方法本身存在一定问题,如密钥的生成、传输、分配和保存以及加密算法的安全性等。

(3)访问控制和保护模型本身也存在一定的问题。

(4)静态安全控制措施不足以保护安全对象的属性。通常,安全访问控制等级与用户的使用效率成反比。在一个系统中,保证安全特性的静态方法可能会过于简单、不充分,或者是系统过度地限制用户。例如,静态安全措施未必能阻止由于违背安全策略造成对数据文件的浏览;强制访问控制仅允许用户访问具有合适通道的数据,造成了系统使用的不便。因此,一种动态的安全措施(如行为跟踪)对检测或尽可能地阻止入侵是必要的。

(5)安全系统易受内部用户滥用特权的攻击。一些安全技术(如防火墙)能够防止一些外部攻击,对来自于内部的攻击就无能为力了。

(6)在实践中,建设完全安全系统根本是不可能的。现在的操作系统和应用程序中不可能没有缺陷。在软件工程中存在着软件测试不充足、软件生命周期缩短等问题。由于市场竞争激烈,因此软件生命周期正不断地缩短,常常导致软件设计或测试不充分。并且,有些软件的规模越来越大,复杂度越来越高,运行中用户的操作行为、软件安装平台、软件与软件之间交互的不可控性都可能带来问题。虽然软件商经常会针对某些具体缺陷发布一些补修软件,但也只能将系统的安全状态持续一段时间。此外,设计和实现一个整体安全系统也是相当困难的。

基于上述几类问题的解决难度,一个实用的方法是建立易实现的安全系统,同时按照一定的安全策略建立相应的安全辅助系统,IDS就是这样一类系统。现在,安全软件的开发方式基本上就是按照这个思路进行的。就目前系统的安全状况而言,系统仍存在被攻击的可能性。如果系统遭到攻击,则只要尽可能地检测到,甚至是实时地检测到,然后采取适当的处理措施,就可以避免造成更大的损失。

防范网络攻击最常用的方法是使用防火墙。很多人认为只要安装一个防火墙就可保障网络安全,实际上这是一个误解,仅仅使用防火墙保障网络安全是远远不够的。首先,防火墙本身会有各种漏洞和后门,有可能被外部黑客攻破;其次,防火墙不能阻止内部攻击,对内部入侵者来说毫无作用;再者,由于性能的限制,防火墙通常不能提供实时的入侵检测能力;最后,有些外部访问可以绕过防火墙,例如,内部用户通过调制解调器拨号上网就把内部网络连到了外部网络,而这一连接并没有通过防火墙,防火墙对此没有任何监控能力。

因此,仅仅依赖防火墙系统并不能保证足够的安全,而入侵检测系统可以弥补防火墙的不足,为网络提供实时的入侵检测并采取相应的防护手段,如记录证据、跟踪入侵者和灾难恢复、发出警报,甚至终止进程、断开网络连接等等。入侵检测系统可以看做是防火墙之后的第二道安全闸,是防火墙的重要补充,它在不影响性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时检测。

入侵检测系统一般不采取预防的措施来防止入侵事件的发生。入侵检测作为安全技术,其主要目的在于:第一,识别入侵者;第二,识别入侵行为;第三,检测和监视已成功的安全突破;第四,对于入侵及时提供重要信息,阻止事件的发生和事态的扩大。从这个角度来看安全问题,入侵检测对于建立一个安全系统来说是非常必要的,它可弥补传统安全保护措施的不足。

7.1.3入侵检测的发展史入侵检测的研究最早可追溯到JamesP.Anderson在1980年的工作。1980年4月,他为美国空军做了一份题为《计算机安全威胁监控与监视》(ComputerSecurityThreatMonitoringandSurveillance)的技术报告,这份报告被公认为是入侵检测的开山之作。在报告中,他首次提出了入侵检测的概念,将入侵尝试(IntrusionAttempt)或威胁(Threat)定义为:潜在地、有预谋地、未经授权地访问信息、操作信息,致使系统不可靠或无法使用的企图。在报告中,Anderson还提出审计跟踪可应用于监视入侵活动的思想,但当时所有的已有系统安全程序都着重于拒绝未经认证主体对重要数据的访问,这一设想的重要性并未被理解。

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

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

1988年11月2日,一种病毒通过网络袭击了全美互联网络,不到两天便有六千多台联网的计算机被感染。这种病毒进入系统后,在各种各样的文件核心部分繁殖,它所到之处,都毫不客气地自行复制数百次。这种复制虽然不起直接的破坏作用,但由于病毒程序本身是种废物,而它又能非常迅速地扩散,使得受感染的系统负载变得越来越大,以致不可承受。不到10小时,该病毒便传遍了全美国,大约造成了六千多台电脑关机,整个网络瘫痪24小时,直接经济损失达9600万美元。这便是康奈尔大学23岁的研究生罗伯特·莫里斯(RobertMorris)研制的著名病毒——“蠕虫病毒”。莫里斯因此被判刑3年以及10000美元的罚款和400小时的无偿公益劳动。

该事件使得对计算机安全的需要迫在眉睫,从而导致了许多IDS的开发研制。早期的IDS都是基于主机的系统,即通过监视与分析主机的审计记录检测入侵。在1987年,TeresaLunt等进一步改进了Denning提出的入侵检测模型,并创建了IDES,他提出了与系统无关的实时检测思想。该系统用于检测单一主机的入侵尝试,包括一个异常检测器和一个专家系统,分别用于异常模型建立的统计和基于规则的特征分析检测。另外,在1988年,为了协助美国空军安全员检测,误用空军基地使用的Unisys大型主机开发了Haystack系统;同时,几乎出于相同的原因,出现了为美国国家计算机安全中心Multics主机开发的MIDAS(MulticsIntrusionDetectionandAlertingSystem)。1989年,LosAlamos美国国家实验室开发了W&S(WisdomandSense)系统,PlanningRe_search公司开发了ISOA(InformationSecurityOfficers'Assistant)。

1990年是入侵检测系统发展史上的一个分水岭。这一年,加州大学戴维斯分校的L.T.Heberlein等人提出了一个新的概念——基于网络的入侵检测(NetworkSecurityMonitor,NSM),NSM与此前的IDS最大的不同在于它并不检查主机系统的审计记录,它可以通过在局域网上主动地监视网络信息流量来追踪可疑的行为。这是第一次直接将网络流作为审计数据来源,因此可以在不将审计数据转换成统一格式的情况下监控异种主机。从此,入侵检测系统的发展史翻开了新的一页,开始形成两个重要的研究方向:基于网络的IDS和基于主机的IDS。

1988年“莫里斯蠕虫事件”发生之后,网络安全引起了军方、学术界和企业界的高度重视。美国空军、国家安全局和能源部共同资助空军密码支持中心、劳伦斯利弗摩尔国家实验室、加州大学戴维斯分校、Haystack实验室,开展对分布式入侵检测系统(DistributedIntrusionDetectionSystem,DIDS)的研究,将基于主机和基于网络的方法集成到一起。DIDS是分布式入侵检测系统历史上的一个里程碑式的产品,它的检测模型采用了分层结构。

1991年,NADIR(NetworkAnomalyDetectionandIntrusionReporter,网络异常检测与入侵报告)与DIDS提出了收集和合并处理来自多个主机的审计信息以检测一系列主机的协同攻击。

1994年,MarkCrosbie和GeneSpafford建议这个使用自治代理(AutonomousAgents)以便提高IDS的可伸缩性、可维护性、效率和容错性,这个理念非常符合正在进行的计算机科学其他领域(如软件代理(SoftwareAgent))的研究。

1995年开发了IDES完善后的版本——下一代入侵检测专家系统(Next-GenerationIntrusionDetectionExpertSystem,NIDES),它可以检测多个主机上的入侵。另一条致力于解决当代绝大多数入侵检测系统伸缩性不足问题的途径于1996年提出,这就是基于图的入侵检测系统(Graph-basedIntrusionDetectionSystem,GrIDS)的设计和实现,该系统使得对大规模自动或协同攻击的检测更为便利,这些攻击有时甚至可能跨过多个管理领域。

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

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

7.1.4入侵检测系统的分类

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

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

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

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

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

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

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

(5)对网络流量不敏感,基于主机的IDS一般不会因为网络流量的增加而放弃对网络行为的监视。

(6)不需要额外的硬件。基于主机的入侵检测系统的主要缺点是:占用主机的资源,在服务器上产生额外的负载;没有平台支持,可移植性差,因而应用范围受到了严重限制。在网络环境中,有些活动对于单个主机来说可能不构成入侵,但是对于整个网络来说是入侵活动。例如“旋转门柄”攻击,入侵者企图登录到网络主机,他对每台主机只试用一次用户ID和口令,并无穷尽搜索,如果不成功,便转向其他主机。对于这种攻击方式,各主机上的入侵检测系统显然无法检测到,这就需要建立面向网络的入侵检测系统。

2)基于网络的入侵检测系统基于网络的入侵检测系统主要用于实时监测网络关键路径的信息,侦听网络上的所有分组来采集数据,分析可疑现象。基于网络的入侵检测系统使用原始网络包作为数据源。它通常利用一个运行在混杂模式下的网络适配器来实时监视并分析通过网络的所有通信业务,当然也可能采用其他特殊硬件获得原始网络包。它的攻击识别模块通常使用4种常用技术来识别攻击标志:●模式、表达式或字节匹配;●频率或穿越阈值;●次要事件的相关性;●

统计学意义上的非常规现象检测。

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

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

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

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

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

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

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

(7)可以配置在专门的机器上,不会占用被保护的设备上的任何资源。基于网络的入侵检测系统的主要缺点是:只能监视本网段的活动,精确度不高;在交换环境下难以配置;防入侵欺骗的能力较差;难以定位入侵者。

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

2.根据检测原理(分析方法)分类传统的观点是根据入侵行为的属性将其分为异常和误用两种,然后分别对其建立异常检测模型和误用检测模型。异常入侵检测是指能够根据异常行为和使用计算机资源的情况检测出入侵的方法。它试图用定量的方式描述可以接受的行为特征,以区分非正常的、潜在的入侵行为。

Anderson做了如何通过识别“异常”行为来检测入侵的早期工作。他提出了一个威胁模型,将威胁分为外部闯入、内部渗透和不当行为3种类型,并使用这种分类方法开发了一个安全监视系统,可用于检测用户的异常行为。外部闯入是指用户虽然授权,但对授权数据和资源的使用不合法或滥用授权。误用入侵检测是指利用已知系统和应用软件的弱点攻击模式来检测入侵的方法。与异常入侵检测不同,误用入侵检测能直接检测不利的或不可接受的行为,而异常入侵检测是指检测出与正常行为相违背的行为。综上,可根据系统所采用的检测模型将入侵检测分为两种:异常检测和误用检测。

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

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

3.根据体系结构(控制策略)分类按照体系结构,IDS可分为集中式、等级式和协作式3种。

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

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

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

4.根据系统其他一些特征分类作为一个完整的系统,入侵检测系统的很多系统特征同样值得认真研究。为此,将以下一些重要特征作为分类的考虑因素。

1)系统设计目标不同的IDS有不同的设计目标。有的只提供记账功能,其他功能由系统操作人员完成;有的只提供响应功能,根据所作出的判断自动采取相应的措施。

2)事件生成/收集的方式根据入侵检测系统收集事件信息的方式,可将其分为基于事件的IDS和基于轮询的IDS两类。基于事件的方式称为被动映射,检测器持续监控事件流,事件的发生会激活信息的收集;基于轮询的方式也称为主动映射,检测器主动查看各监控对象,收集所需信息,进而判断一些条件是否成立。

3)检测时间(同步技术)根据系统监控到事件和对事件进行分析处理之间的时间间隔,可将其分为实时的IDS和有时延的IDS两类。一些系统以实时或近乎实时的方式持续监控从信息源检测来的信息,这些系统称为实时连续型IDS;而另一些系统在收集到信息之后要隔一定的时间才对其进行处理,这些系统称为间隔批任务处理型IDS。

4)入侵检测响应方式入侵检测响应方式分为主动响应和被动响应两种。被动响应系统只会发出告警通知,将发生的不正常情况报告给管理员,本身并不试图降低所造成的破坏,更不会主动对攻击者采取反击行动。主动响应系统可以分为两类:对被攻击系统实施控制的系统和对攻击系统实施控制的系统。对攻击系统实施控制比较困难,主动响应主要是对被攻击系统实施控制。通过调整攻击系统的状态,阻止或减轻攻击影响,如断开网络连接、增加安全日志、杀死可疑进程等。

5)数据处理地点审计数据可以集中处理,也可以分布处理。这些不同的分类方法使我们可以从不同的角度了解、认识入侵检测系统,或者是认识入侵检测系统具有的不同功能。但就实际的入侵检测系统而言,基于实用性的考虑,常常要综合采用多种技术,使其具有多种功能,因此很难将一个实际的入侵检测系统归于某一类。它们通常是这些类别的混合体。某个类别只是反映了这些系统的一个侧面。入侵检测系统的分类(部分)可以用图7.1形象地表示。

图7.1入侵检测系统的分类

7.1.5入侵检测系统的功能与基本构成

1.入侵检测系统的功能

1)监控、分析用户和系统活动这是入侵检测系统能够完成入侵检测任务的前提条件。入侵检测系统可通过获取进出某台主机的数据或整个网络的数据,或者通过查看主机日志等信息来实现对用户和系统活动的监控。获取网络数据的一般方法是“抓包”,即将数据流中的所有包都抓下来进行分析。这就对入侵检测系统的效率提出了更高的要求。如果入侵检测系统不能实时地截获数据包并对它们进行分析,那么就会出现漏包或网络阻塞的现象,如果是前一种情况,系统的漏包就会很多,如果是后一种情况,就会影响到入侵检测系统所在主机或网络的数据流速,使得入侵检测系统成了整个系统的瓶颈,这显然是我们不愿看到的结果。因此,入侵检测系统不仅要能够监控、分析用户和系统的活动,还要使这些操作足够快。

2)发现入侵企图或异常现象这是入侵检测系统的核心功能,主要包括两个方面:一方面是入侵检测系统对进出网络或主机的数据进行监控,看是否存在对系统的入侵行为;另一方面是评估系统关键资源和数据的完整性,看系统是否已经遭受了入侵。前者的作用是在入侵行为发生时及时发现,从而避免系统遭受攻击。对系统资源完整性检查也有利于我们对攻击者进行追踪,对攻击行为进行取证。

3)记录、报警和响应入侵检测系统在检测到攻击以后,应该采取相应的措施来阻止攻击或响应攻击。作为一种主动防御策略,它必然应该具备这种功能。入侵检测系统首先应该记录攻击的基本情况,其次应该能够及时发出报警。好的入侵检测系统不仅应该能把相关数据记录在文件中或数据库中,还应该提供好的报表打印功能。在必要时,系统还应该采取必要的响应行为,如接收所有来自某台计算机的数据、追踪入侵行为等。实现与防火墙安全部件的响应互动,也是入侵检测系统需要研究和完善的功能之一。

作为一个好的入侵检测系统,除了具备上述基本功能外,还应该包括一些其他功能,如审计系统的配置和弱点、评估关键系统和数据文件的完整性等。另外,入侵检测系统还应该为管理员和用户提供良好、易用的界面,以方便管理员设置用户权限,管理数据库、手工设置和修改规则、处理报警和浏览、打印数据等。

2.入侵检测系统的基本构成一个入侵检测系统通常由以下一些基本组件构成。

(1)事件产生器。事件产生器是入侵检测系统中负责原始数据采集的部分,它对数据流、日志文件等进行追踪,然后将搜集到的原始数据转换为事件,并向系统的其他部分提供此事件。

(2)事件分析器。事件分析器接收事件信息,然后对它们进行分析,判断是否为入侵行为或异常现象,最后将判断结果转换为警告信息。

(3)事件数据库。事件数据库是存放各种中间数据和最终数据的地方。它从事件产生器或事件分析器接收数据,一般将数据进行较长时间的保存。它可以是复杂的数据库,也可以是简单的文本文件。

(4)响应单元。响应单元根据警告信息作出反应,它可以做出切断连接、改变文件属性等强烈反应,也可以只是简单地报警,它是入侵检测系统中的主动武器。

图7.2入侵检测系统的基本构成

7.2入侵检测系统的设计

7.2.1CIDF模型

CIDF模型是由美国国防高级研究计划署(DARPA)和因特网工程任务组(IETF)的入侵检测工作组(IDWG)发起制定的公共入侵检测框架(CommonIntrusionDetectionFranmework,

CIDF)提出的一个通用模型,它将入侵检测系统分为4个基本组件:事件产生器、事件分析器、响应单元和事件数据库,其结构如图7.3所示。

图7.3CIDF的模型

(1)事件产生器:CIDF将IDS需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统日志或其他途径得到的消息。事件产生器的任务是从入侵检测系统之外的计算机环境中收集事件,并将这些事件转换成CIDF的GIDO(统一入侵检测对象)格式的过滤器,也可以是被动地监视网络并根据网络数据流产生事件的另一种过滤器,还可以是SQL数据库中产生描述事务的事件的应用代码。

(2)事件分析器:分析从其他组件收到的GIDO,并将产生的新的GIDO传送给其他组件。事件分析器可以是一个轮廓描述工具,统计性地检查现在的事件是否可能与以前某个事件来自同一个时间序列;也可以是一个特征检测工具,用于在一个事件序列中将检查事件放到一起以利于以后的进一步分析。

(3)事件数据库:用来存储GIDO,以供系统需要的时候使用。

(4)响应单元:处理收到的GIDO,并据此采取相应的措施,例如终止相关进程,将连接复位,修改文件权限等。

7.2.2入侵检测系统的构建一般来说,一个企业或机构准备进军此领域时,往往选择从基于网络的IDS入手,因为网上有很多这方面的开放源代码和资料,实现起来比较容易,而且基于网络的IDS适应能力强。有了简单的基于网络的IDS的开发经验,再向基于主机的IDS、分布式IDS、智能IDS等方面迈进的难度就小了很多。在此我们以基于网络的IDS为例,介绍典型IDS的开发思路。根据CIDF规范,我们从功能上将入侵检测系统划分为4个基本部分:数据采集子系统、数据分析子系统、控制台子系统、数据库管理子系统。

1.获取libpcap和tcpdump审计踪迹是IDS的数据来源,而数据采集机制是实现IDS的基础,否则,入侵检测就无从谈起。数据采集子系统位于IDS的最底层,其主要目的是从网络环境中获取事件,并向其他部分提供事件。目前比较流行的做法是:使用libpcap和tcpdump将网卡置于“混杂”模式,捕获某个网段上所有的数据流。

libpcap是Unix或Linux从内核捕获网络数据包的必备工具,它是独立于系统的API接口,为底层网络监控提供了一个可移植的框架,可用于网络统计收集、安全监控、网络调试等应用。

tcpdump是用于网络监控的工具,可能是Unix上最著名的Sniffer了。它的实现基于libpcap接口,通过应用布尔表达式打印数据包首部,具体执行过滤转换、包获取和包显示等功能。tcpdump可以帮助我们描述系统的正常行为,并最终识别出那些不正常的行为。当然,它只是有益于收集关于某网段上的数据流(网络流类型、连接等)信息,至于分析网络活动是否正常,那是程序员和管理员要做的工作。

2.构建并配置探测器,实现数据采集功能

(1)根据自己网络的具体情况,选用合适的软件及硬件设备。如果网络数据流量很小,则用一般的PC机安装Linux即可;如果所监控的网络流量非常大,则需要用一台性能较高的机器。

(2)在Linux服务器上开出一个日志分区,用于采集数据的存储。

(3)创建libpcap库。从网上下载的通常都是libpcap.tar.z的压缩包,所以应先将其解压缩,然后执行配置脚本,创建适合于自己系统环境的Makefile,再用make命令创建libpcap库。libpcap安装完毕之后,将生成一个libpcap库、三个include文件和一个man页面(即用户手册)。

(4)创建tcpdump。与创建libpcap的过程一样,先将压缩包解压缩,解包到与libpcap相同的父目录下,然后配置、安装tcpdump。如果配置、创建、安装等操作一切正常的话,到这里,系统已经能够收集到网络数据流了。至于如何使用libpcap和tcpdump,还需要参考相关的用户手册。

3.建立数据分析模块网上有一些开放源代码的数据分析软件包,这给我们构建数据分析模块提供了一定的便利条件,但这些“免费的午餐”一般都有很大的局限性,要开发一个真正功能强大、实用的IDS,通常都需要开发者自己动手动脑设计数据分析模块,而这往往也是整个IDS的工作重点。数据分析模块相当于IDS的大脑,它必须具备高度的“智慧”和“判断能力”,因此,在设计此模块之前,开发者需要对各种网络协议、系统漏洞、攻击手法、可疑行为等有一个清晰、深入的研究,然后制定相应的安全规则库和安全策略,再分别建立滥用检测模型和异常检测模型,让机器模拟自己的分析过程,识别确知特征的攻击和异常行为,最后将分析结果形成报警消息,发送给控制管理中心。

设计数据分析模块的工作量庞大,并且考虑到“道高一尺,魔高一丈”的黑客手法日益翻新,因此这注定是一个没有终点的过程,需要不断地更新、升级和完善。在这里需要特别注意三个问题:

(1)应优化检测模型和算法的设计,确保系统的执行效率;

(2)安全规则的制定要充分考虑包容性和可扩展性,以提高系统的伸缩性;

(3)报警消息要遵循特定的标准格式,以增强其共享与互操作能力,切忌随意制定消息格式的不规范做法。

4.构建控制台子系统控制台子系统负责向网络管理员汇报各种网络违规行为,并由管理员对一些恶意行为采取行动(如阻断、跟踪等)。由于Linux或Unix平台在支持界面操作方面远不如常用的Windows产品流行,因此,为了把IDS做成一个通用、易用的系统,笔者建议将控制台子系统在Windows系列平台上实现。

控制台子系统的主要任务有两个:

(1)管理数据采集分析中心,以友好、便于查询的方式显示数据采集分析中心发送过来的警报消息;

(2)根据安全策略进行一系列响应动作,以阻止非法行为,确保网络的安全。

控制台子系统的设计重点是:警报信息查询、探测器管理、规则库管理及用户管理。

(1)警报信息查询:网络管理员可以使用单一条件或复合条件进行查询,当警报信息数量庞大、来源广泛的时候,系统需要对警报信息按照危险等级进行分类,从而突出显示网络管理员需要的最重要信息。

(2)探测器管理:控制台可以一次管理多个探测器(包括启动、停止、配置、查看运行状态等),查询各个网段的安全状况,针对不同情况制定相应的安全规则。

(3)规则库管理:为用户提供一个根据不同网段的具体情况可灵活配置安全策略的工具,如一次制定可应用于多个探测器、默认安全规则等。

(4)用户管理:对用户权限进行严格的定义,提供口令修改、添加用户、删除用户、用户权限配置等功能,有效保护系统使用的安全性。

5.构建数据库管理子系统一个好的入侵检测系统不仅仅应当为管理员提供实时、丰富的警报信息,还应详细地记录现场数据,以便日后需要取证时重建某些网络事件。数据库管理子系统的前端程序通常与控制台子系统集成在一起,用Access或其他数据库存储警报信息和其他数据。该模块的数据来源有两个:

(1)数据分析子系统发来的报警信息及其他重要信息;

(2)管理员经过条件查询后对查询结果处理所得的数据,如生成的本地文件、格式报表等。

6.联调以上几步完成之后,一个IDS的最基本框架就实现了。但要使这个IDS顺利地运转起来,还需要保持各个部分之间安全、顺畅地通信和交互,这就是联调工作所要解决的问题。首先,要实现数据采集分析中心和控制管理中心之间的通信,二者之间是双向通信。控制管理中心显示、整理数据采集分析中心发送过来的分析结果及其他信息,数据采集分析中心接收控制管理中心发来的配置、管理等命令。注意确保这两者之间通信的安全性,最好对通信数据流进行加密操作,以防止被窃听或篡改。同时,控制管理中心的控制台子系统和数据库子系统之间也有大量的交互操作,如警报信息查询、网络事件重建等。

7.3入侵检测系统的弱点与局限

7.3.1NIDS的弱点与局限

NIDS通过从网络上得到数据包进行分析,从而可检测和识别出系统中的未授权或异常现象。

1.网络局限

1)交换网络环境由于共享式Hub可以进行网络监听,这将给网络安全带来极大的威胁,因而现在网络尤其是高速网络基本上都采用交换机,从而给NIDS的网络监听带来了麻烦。

(1)监听端口。现在较好的交换机都支持监听端口,因此很多NIDS都连接到监听端口上。通常连接到交换机时都是全双工的,即在100MB的交换机上双向流量可能会达到200MB,但监听端口的流量最多只能达到100MB,从而导致交换机丢包。为了节省交换机端口,很可能配置为一个交换机端口监听多个其他端口。在正常的流量下,监听端口能够全部监听,但在受到攻击的时候,网络流量可能加大,使被监听的端口流量总和超过监听端口的上限,从而引起交换机丢包。一般的交换机在负载较大的时候,监听端口的速度赶不上其他端口的速度,从而导致交换机丢包。

增加监听端口即意味着需要更多的交换机端口,这可能需要购买额外的交换机,甚至修改网络结构(例如原来在一台交换机上的一个VLAN现在需要分布到两台交换机上)。支持监听的交换机比不支持监听的交换机要贵许多,很多网络在设计时并没有考虑到网络监听的需求,购买的交换机并不支持网络监听,或者监听性能不好,因而在准备安装NIDS的时候常常需要更换交换机。

(2)共享式Hub。在需要监听的网线中连接一个共享式Hub,可实现监听的功能。对小公司而言,在公司与Internet之间放置一个NIDS是一种相对廉价并且比较容易实现的方案。采用Hub将导致主机的网络连接由全双工变为半双工,并且如果NIDS发送的数据通过此Hub的话,将会增加冲突发生的可能性。

(3)线缆分流。采用特殊的设备,直接从网络中复制一份相同的数据,从一根网线中将复制出两份(每个方向一份),连接到支持监听的交换机上,NIDS再连接到此交换机上。这种方案不会影响现有的网络系统,但需要增加交换机,价格不菲,并且面临着与监听端口同样的问题。

2)网络拓扑局限对一个较复杂的网络而言,通过精心的发包可以导致NIDS与受保护的主机收到的包的内容或者顺序不一样,从而绕过NIDS的监测。

(1)其他路由。由于一些非技术的因素,可能存在其他路由可以绕过NIDS,从而到达受保护主机(例如某个被忽略的Modem,但Modem旁没有安装NIDS)。

(2)TTL。如果数据包到达NIDS与受保护主机的HOP数不一样,则可以通过精心设置TTL值来使某个数据包只能被NIDS或者只能被受保护主机收到,使NIDS的Sensor与受保护主机收到的数据包不一样,从而绕过NIDS的监测。

(3)MTU。如果NIDS的MTU与受保护主机的MTU不一致(由于受保护的主机各种各样,其MTU的设置也各不相同),则可以精心设置MTU使其处于两者之间,并设置此包不可分片,使NIDS的Sensor与受保护主机收到的数据包不一样,从而绕过NIDS的监测。

(4)TOS。有些网络设备会处理TOS选项,如果NIDS与受保护主机各自连接的网络设备处理不一样的话,则通过精心设置TOS选项,将会导致NIDS的Sensor与受保护主机收到的数据包的顺序不一样,于是有可能导致NIDS重组后的数据包与受保护主机的数据包不一致,从而绕过NIDS的监测(尤其在UDP包中)。

2.检测方法局限

NIDS常用的检测方法有特征检测、异常检测、状态检测、协议分析等。实际中的商用入侵检测系统大都同时采用几种检测方法。

NIDS不能处理加密后的数据,如果数据在传输中被加密,则即使只是简单的替换,NIDS也难以处理,例如采用SSH、HTTPS、带密码的压缩文件等手段都可以有效防止NIDS的检测。

NIDS难以检测重放攻击、中间人攻击、对网络的监听也无能为力。

目前,NIDS还难以有效地检测DDoS攻击。

1)系统实现局限由于受NIDS保护的主机及其运行的程序各种各样,甚至对同一个协议的实现也不尽相同,因此入侵者可能会利用不同系统其实现方式的差异来进行系统信息收集(例如Nmap通过TCP/IP指纹来对操作系统的识别)或者进行选择攻击。由于NIDS不大可能通晓这些系统的不同实现方式,故而可能被入侵者绕过。

2)异常检测的局限异常检测需要大量的原始审计记录。一个纯粹的统计入侵检测系统会忽略那些不会或很少会影响统计规律的审计记录的入侵,即使它具有很明显的特征。统计方法可以经过训练来适应入侵模式。当入侵者知道他的活动被监视时,他可以研究统计入侵检测系统的统计方法,并在该系统能够接受的范围内产生审计事件,逐步训练入侵检测系统,从而使其相应的活动偏离正常范围,最终将入侵事件作为正常事件来对待。应用系统越来越复杂,许多主体活动很难用简单的统计模型来刻画,而复杂的统计模型在计算量上不能满足实时的检测要求。统计方法中的阈值难以有效确定,太小的值会产生大量误报,太大的值会产生大量漏报。例如,系统中配置为200个/秒半开TCP连接为SYN-Flooding,则入侵者每秒建立199个半开连接将不会被视为攻击。异常检测常用于对端口扫描和DoS攻击的检测。NIDS存在一个流量日志的上限,如果扫描间隔超过这个上限,则NIDS将会忽略掉这个扫描。

3)特征检测的局限检测规则的更新总是落后于攻击手段的更新。就目前而言,一个新的漏洞在互联网上公布,第二天就可能在网上找到用于攻击的方法和代码,但相应的检测规则平均还需要好几天才能总结出来。这样就存在一个发现新入侵方法到用户升级规则库/知识库的时间差,对有心的入侵者将有充足的时间进行入侵。很多公布的攻击并没有总结出相应的检测规则或者检测规则误报率很高,并且现在越来越多的黑客更倾向于不公布他们发现的漏洞,从而很难总结出这些攻击的特征。目前总结出的规则主要针对网络上公布的黑客工具或者方法,但对于很多以源代码发布的黑客工具而言,很多入侵者可能只要对源代码进行简单的修改(例如黑客经常修改特洛伊木马的代码),产生攻击方法的变体,就可以绕过NIDS的检测。

4)协议局限对于应用层的协议,一般的NIDS只简单处理了常用的如HTTP、FTP、SMTP等,尚有大量的协议没有处理,也不大可能全部处理,直接针对一些特殊协议或者用户自定义协议的攻击,都能很好地绕过NIDS的检查。

5)入侵变体(1)HTTP攻击变体。●重复的目录分割符‘/’变为‘//’。●当前目录‘/cgi-bin/phf’变为‘/cgi-bin/./phf’。●上级目录‘/cgi-bin/phf’变为‘/cgi-bin/xxx/../phf’。●URL编码‘/cgi-bin/’变为‘%2fcgi-bin/’。●使用TAB等其他分割符代替空格。●NULL方法‘GET%00/cgi-bin/phf’。●使用GET外的其他方法,例如POST。●

改变参数顺序,添加无用参数。

对于IIS,还有以下方法:●DOS/Windows下目录分割符,‘/winnt/system32/cmd.exe’变为‘/winnt\system32\cmd.exe’。●大小写转换,例如cmd.exe变为CMD.EXE。●IIS二次解码,例如cmd.exe变为%2563md.exe,%25解码后为“%”,再解码%63为“c”。●

UNICODE编码,例如cmd.exe变为%c0%63md.exe。由于UNICODE编码比较复杂,因此目前只有极少数的NIDS能够对其进行解码。

(2)Telnet攻击变体。●使用退格键。●使用Tab键进行命令补齐。●采用Shell来执行攻击代码。●采用宏。●添加无用参数。●

事实上,NIDS很难检测通过Telnet连接到服务器后进行的本地攻击。

6)CP/IP协议局限

(1)IP分片。将数据包分片,有些NIDS不能对IP分片进行重组,或者超过了其处理能力,则可能绕过NIDS。一个IP数据包最多有8192个分片,NIDS的一个性能参数即为能重组的最大IP分片数。NIDS每接收到一个新的IP数据包的IP分片时,将启动一个分片重组过程,在重组完成或者超时后(一般为15s超时)将关闭此重组过程,NIDS的另一个性能参数即为能同时重组的IP包数。一个IP数据包的最大容量为64kB。为准备接收一个IP数据包,NIDS将准备足够的内存来容纳即将到来的后续分片,NIDS的第三个性能参数即为能进行重组的最大的IP数据包的长度。

(2)IP重叠分片。在重组IP包分片的时候,如果碰到重叠分片的话,则各个操作系统的处理方法是不一样的。例如有些系统会采用先收到的分片(Windows和Solaris),有些会采用后收到的分片(BSD和Linux),如果重叠分片的数据不一样,并且NIDS的处理方式与受保护主机不一样,则将导致NIDS重组后的数据包与被保护主机的数据包不一致,从而绕过NIDS的检测。再如,可以重叠TCP或UDP的目的端口,然后渗透过目前绝大多数防火墙,这样也可能绕过NIDS。还可以重叠TCP的标志位,使NIDS不能正确检测到TCPFIN包,从而使NIDS很快达到能够同时监控的TCP连接数的上限;使NIDS不能正确检测到TCPSYN包,从而使NID检测不到应有的TCP连接。

(3)TCP分段。如果NIDS不能进行TCP流重组,则可以通过TCP分段来绕过NIDS。一些异常的TCP分段将迷惑一些NIDS。

(4)TCPun-sync。在TCP中发送错误的序列号、发送重复的序列号、颠倒发送顺序等,也有可能绕过NIDS。

(5)OOB。攻击者发送OOB数据时,如果被保护主机的应用程序可以处理OOB,由于NIDS不可能准确预测被保护主机收到OOB时缓冲区内正常数据是多少,因此可能绕过NIDS。有些系统在处理OOB的时候,会丢弃开始的1字节数据(例如Linux下的Apache,但IIS不会),这时在发送的多个TCP段中,包含带OOB选项的TCP段则有可能导致NIDS流重组后的数据与受保护主机的应用程序不一致,从而绕过NIDS。

(6)T/TCP。如果目标主机可能处理事物TCP(目前很少系统支持),攻击者可以发送事物TCP,则NIDS可能不会与被保护主机上的应用程序进行同样的处理,从而可能绕过NIDS。

3.资源及处理能力局限

1)针对NIDS的DoS攻击

(1)大流量冲击。攻击者向被保护网络发送大量的数据,超过NIDS的处理能力时,将会发生丢包的情况,从而可能导致入侵行为漏报。

NIDS的网络抓包能力与很多因素有关。例如在每个包1500字节的情况下,NIDS将具有超过100MB/s的处理能力,甚至超过500MB/s的处理能力,但如果每个包只有50字节,则100MB/s的流量意味着2000000包/秒,这将超过目前绝大多数网卡及交换机的处理能力。

(2)IP碎片攻击。攻击者向被保护网络发送大量的IP碎片(例如TARGA3攻击),超过NIDS能同时进行的IP碎片重组能力时,将导致通过IP分片技术进行的攻击漏报。

(3)TCPConnectFlooding。攻击者创建或者模拟出大量的TCP连接(可以通过上面介绍的IP重叠分片方法),超过NIDS同时监控的TCP连接数的上限,将导致多余的TCP连接不能被监控。

(4)AlertFlooding。攻击者可能参照网络上公布的检测规则,在攻击的同时故意发送大量将会引起NIDS报警的数据(例如stick攻击),这样将可能超过NIDS发送报警的速度,从而产生漏报,并且使网管收到大量的报警,难以分辨出真正的攻击。如果发送100字节便可以产生1条报警,则通过拨号上网每秒可以产生50条报警,10MB局域网内每秒可以产生10000条报警。

(5)LogFlooding。攻击者发送大量将会引起NIDS报警的数据,最终将导致NIDS进行Log的空间被耗尽,从而删除先前的Log记录。

2)内存及硬盘限制如果NIDS希望提高能够同时处理IP碎片重组及TCP连接监控的能力,这将需要更多的内存做缓冲。如果NIDS的内存分配及管理不好的话,则将使系统在某种特殊的情况下耗费大量的内存。如果使用虚拟内存,则将有可能发生内存抖动。通常硬盘的速度远远比不上网络的速度。如果系统产生大量的报警并记录到硬盘,则将会耗费掉大量的系统处理能力。如果系统记录原始网络数据,保存大量高速的数据,则将需要昂贵的大容量RAID。

NIDS本身应当具有相当高的安全性。一般用于监听的网卡都没有IP地址,并且其他网卡不会开放任何端口。但与NIDS相关的系统可能会受到攻击。

(1)控制台主机的安全脆弱性。有些系统具有单独的控制台,如果攻击者能够控制控制台所在的主机,则就可以对整个NIDS系统进行控制。

(2)传感器与控制台通信的脆弱性。如果传感器与控制台间的通信可以被攻击者成功攻击,则将影响系统的正常使用。例如进行ARP欺骗或者SYN-Flooding。如果传感器与控制台间的通信采用明文通信或者只是简单的加密,则可能会受到IP欺骗攻击或者重放攻击。

(3)与系统报警有关的其他设备及其通信的脆弱性。如果攻击者能够成功攻击与系统报警有关的其他设备(例如邮件服务器等),则将会影响到报警消息的发送。

7.3.2HIDS的弱点与局限

1.资源局限由于HIDS安装在被保护主机上,因此所占用的资源不能太多,从而大大限制了所采用的检测方法及处理性能。

2.操作系统局限不像NIDS,厂家可以自己制定一个足够安全的操作系统来保证自身的安全,HIDS的安全性受其所在主机的操作系统的安全性限制,如果所在系统被攻破,则HIDS将很快被清除。如果HIDS为单机,则它基本上只能检测没有成功的攻击;如果HIDS为传感器/控制台结构,则将面临与NIDS同样的对相关系统的攻击。有些HIDS会考虑增加操作系统自身的安全性,例如LIDS。

3.系统日志限制

HIDS会通过监测日志来发现可疑的行为,但有些程序的系统日志并不足够详细,或者没有日志,因为有些入侵行为本身不会被具有系统日志的程序记录下来。如果系统没有安装第三方日志系统,则系统自身的日志系统很快就会受到入侵者的攻击或修改,而入侵检测系统通常不支持第三方日志系统。如果HIDS没有实时检查系统日志,则利用自动化工具进行的攻击将完全可能在检测间隔中完成所有的攻击工程,并清除在系统日志中留下的痕迹。

4.被修改过的系统核心能够骗过文件检查如果入侵者修改系统核心,则可以骗过基于文件一致性检查的工具。这就像当初某些病毒一样,当它们认为受到检查或者跟踪的时候将会把原来的文件或数据提供给检查工具或者跟踪工具。

5.网络检测局限有些HIDS可以检查网络状态,但这将面临NIDS所面临的很多问题。

7.4几种典型的入侵检测系统

7.4.1安氏LinkTrustTMIDS简介

1.产品概述安氏集多年的网络安全产品开发及工程实施经验,以及作为IDS市场领导者对用户需求的细致体会,在LinkTrustTMIDS产品的开发过程中采用了许多先进技术和设计理念,主要包括以下几个方面。

(1)在底层采用硬件加速包截获技术,大幅度提高了监听网卡的抓包能力。在一个真实的网络环境中,即使网络的负载达到1000MB/s,LinkTrustTMIDS也能确保不丢失一个包。

(2)采用完整的状态追踪技术,在IP分片重组、排序和TCP流重组的基础上,可完整记录并保持Session的发起、建立和结束等状态,同时记录SequenceNumbet,确保不会受到IDS躲避技术的欺骗。

(3)采用完整的应用层协议分析技术,基于对已知协议和RFC规范的理解,能够准确、高效地识别各种已知攻击,并且拥有检测协议异常、协议误用的能力,彻底解决了以往基于模式匹配技术的IDS产品片面信赖攻击特征签名数量来检测攻击的弊端,从而极大地提高了检测的效率,扩大了检测的范围。LinkTrustTMIDS目前支持多达30种的主流应用层协议,遥遥领先于其他IDS品牌。

(4)采用专用的硬件承载平台设计,配合功能强大的

LTOS(LinkTrustTMOperationSystem),提供多处理器并行、多进程增强和多线程优化的技术,使IDS的检测效率达到了一个前所未有的高度,其中高端产品LinkTrustTMND-GIGAHA能够在真实的网络环境下处理高达2000MB/s的网络流量。

(5)新一代的LinkTrustTMIDS采用创新的多层分布式体系结构设计。当许多产品还停留在落后的两层体系架构,部分产品刚刚实现三层体系架构的时候,安氏率先实现了四层体系架构,把原有的中间层事件收集器(EventCollector)拆分为应用服务器(ApplicationServer)和传感器适配器(SensorAdaptor),从而实现了对网络传感器、主机传感器、防火墙以及其他安全组件的统一、透明的管理。同时,各个组件都支持高可用性(HA)方式,确保在一个大型的、分布式的网络中能够实现灵活可靠的部署。

(6)通过特有的“行为描述代码”技术向用户提供了一个可以自定义攻击特征签名的强大的、可编译的语言平台,用户不仅可以方便地调整攻击签名的参数和变量,而且可以根据业务的需要和网络的特点,自己编写有针对性的签名,实现对特写协议的状态追踪和对应用层协议的分析。安氏领信入侵检测系统(LinkTrustTMIDS)由网络传感器、主机传感器以及管理器组成,在网络和主机层面,将基于攻击特征分析和协议分析的入侵检测技术紧密结合起来,并监控分析网络传输和系统事件,自动检测和响应可疑行为,使用户在系统受到危害之前截断并防范非法入侵和内部网络误用,从而最大限度地降低了安全风险,以保护企业网络系统的安全。

2.功能特色

LinkTrustTMIDS是著名的信息安全实验室“iS-OneSecurityLab”成功推出的最新一代入侵检测与防护系统。在充分吸收、融合世界上最先进的IDS技术的基础上,安氏自主开发并独立拥有知识产权的领信入侵检测系统迅速获得了国家信息安全测评认证,在第21届世界大学生运动会、上海APEC会议上大显身手,赢得了广大客户的认可和好评,巩固了安氏在国内IDS市场上多年以来的绝对领先地位,并于2003年8月再度荣获中国计算机学会颁发的最高奖项——“2003年中国网络安全最值得信赖IDS品牌”。

由于采用基于状态的应用层协议分析技术,因此结合高效率的签名,LinkTrustTMIDS不仅能够检测全部已知的主要攻击,而且能够识别很多未命名的新攻击。LinkTrustTMIDS的很多签名并不是针对某项具体的、已知的攻击编写的,而是针对某个协议的某类漏洞开发的,所有针对这类漏洞的攻击或者某种类型的攻击,不论它如何改头换面,如何升级变迁,LinkTrustTMIDS总是能很容易地识别它们,而不必等到它们被命名后才去编写一个新的签名。LinkTrustTMIDS具有如下特点。

(1)目标系统指纹识别技术。除了采用完整的状态追踪技术和协议分析技术来降低误报率以外,LinkTrustTMIDS还采用了独特的目标系统指纹识别技术,使其能够根据目标主机和应用了程序的响应来判断是何种操作系统,甚至是何种应用程序,进而对安全事件进行深度的关联分析和判断,从而可大幅度地降低误报率。比如,一个利用IIS漏洞的HTTP攻击是不会对Apache系统起作用的,但是绝大多数的IDS产品无法识别和关联这一点。

(2)专用硬件承载平台。

(3)多层分布式体系结构。

(4)高可用性系统。在实现多层分布式体系结构的同时,系统中可能存在单点故障的各个组件都支持HA(高可用性)方式,从而确保在一个大型的、分布式的网络中能够实现灵活可靠的部署,这样可保证对网络提供永不间断的监测。

(5)开放的、可编译的用于自定义攻击签名的语言平台。

(6)篡改系统。独创地可以从单张CD启动和运行防篡改系统,LinkTrustTMND系列传感器所需要的全部操作系统LinkTrustTMOS和应用程序代码都刻录在一张CD上,在安装和使用的过程中不能取出,并且LinkTrustTMOS仅开放必要的通信端口,不对外提供任何Shell界面,以确保系统自身的安全可靠。

(7)隐秘部署。LinkTrustTMIDS支持安全的部署模式——隐秘配置。系统安装有两块网卡:其中一块网卡不配置IP地址,用于监听时攻击者察觉不到它的存在;另一块通过安全网络与控制台连接。

(8)安全通信。所有组件之间的通信全部采用加密方式,以确保通信的高度安全性。无论是本地管理,还是远程控制,用户都不必担心遭受到攻击。

(9)丰富的响应方式。LinkTrustTMIDS提供了丰富的响应方式,不仅能够实现向控制台发出警告、发提示性的电子邮件、向网络管理平台发送SNMP消息等传统功能,而且能够通过TCPRST切断基于TCP的攻击,或者重新配置防火墙和路由器阻断连接,从而实现主动的防护。此外,LinkTrustTMIDS还支持执行一个用户自定义的响应程序。

(10)强大的报表功能。单独运行的报表软件充分考虑到用户和各种需求,提供了多达26种报告模版,并且可以依据多种条件定制新的模版,支持包括HTML在内的多种输出格式,支持各种图形报表和文本报表。

(11)安装简单、维护方便。在LinkTrustTMIDS的全部组件中,LinkTrustTMND传感器采用了专用硬件平台,用户只需要在图形界面下简单配置几个参数即可工作,而其他组件包括EventCollector(事件收集器,又分为ApplicationServer和SensorAdaptor两个部分)、GSM(GlobalSecurityManagement)、数据库和报表软件可以非常灵活地安装在不同的计算机上,也可以全部安装在同一台计算机上,全部安装过程都可以通过统一的图形化安装向导来完成。系统的升级和维护可以通过本地和远程两种方式来实现,用户可以方便地通过安氏公司的网站实现远程升级,也可以通过安氏公司定期分发的光盘来完成本地升级工作。

(12)人性化的管理平台。采用多项人性化设计,包括组件配置的图形化和可视化,显示风格可以在标准方式和WindowsXP方式之间任意选择、中英文双语言自动切换等。

7.4.2CiscoCatalyst6500系列入侵检测系统IDSM-2服务模块

1.性能特点

(1)思科是惟一可以提供一个交换机内置IDS解决方案的厂商,这种解决方案可以通过VLAN访问控制列表VACL获取功能来提供对数据流的访问权限,VACL可以支持无限个VLAN。

(2)通过被动的、综合的操作可提供透明的操作,这种操作方式可以通过VACL获取功能和交换机端口分析工具/远程SPANRSPAN/SPAN来检测分组的副本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论