网络入侵检测系统综述熊炜摘要:简要介绍网络入侵检测系统的研究背景,与防火墙的差别,描述了入侵检测的概念、原理和CIDF模型,给出了入侵检测系统的分类和多种入侵检测技术,以及入侵检测系统的发展方向。关键词:入侵检测系统、CIDF模型、异常检测、误用检测AnOverviewonthenetIntrusionDetectionSystemXiongweiAbstract:ThispaperbeginswiththebriefbackgroundofnetIntrusionDetectionSystem,thedifferencefromfirewall,discussestheconception、principleandCIDFmodel,summarizesthecategoryandmanyintrusiondetectiontechniquesofIDS,thefuturedevelopmentofIDSisalsodiscussedInthepaper.Keywords:IntrusionDetectionSystem(IDS)、CIDFmodel、anomalydetection、misusedetection随着近年网络技术的发展,基于网络的计算机应用系统已经成为主流。商户、银行与其他商业及金融机构在电子商务热潮中纷纷连入Internet,以政府上网为标志的数字政府使国家机关与Internet互联。以宽带互联为基础的远程教育体系同样需要连入Internet。可以看到,通过Internet实现包括个人、企业与政府的全社会信息共享已逐步成为现实。目前,黑客在网上的攻击活动正以每年10倍的速度增长。因而,保障计算机系统、网络系统及整个信息基础设施的安全已经成为刻不容缓的重要课题。入侵检测是网络安全领域中一个较新的课题。从90年代开始就有一些针对具体入侵行为或具体的入侵过程进行的入侵检测研究,1994年以后逐渐出现一些入侵检测的产品,其中比较有代表性的产品有ISS(InternetSecuritySystem)公司的Realsecure,NAI(NetworkAssociates,Inc)公司的Cybercop和Cisco公司的NetRanger。现在入侵检测系统已经成为网络安全中一个重要的研究方向。1简介入侵检测的研究最早可追溯到JamesAnderson在1980年的工作,他首先提出了入侵检测的概念,将入侵尝试(Intrusionattempt)或威胁(Threat)定义为:潜在的有预谋未经授权访问信息、操作信息、致使系统不可靠或无法使用的企图。在该文中,Anderson提出审计追踪可应用于监视入侵威胁。但由于当时所有已有的系统安全程序都着重于拒绝未经认证主体对重要数据的访问,这一设想重要性当时并未被理解。1987年DorothyDenning提出入侵检测系统的抽象模型,首次将入侵检测的概念作为一种计算机系统安全防御问题的措施提出,与传统加密和访问控制的常用方法相比,IDS是全新的计算机安全措施。1988年的MorrisInternet蠕虫事件使得Internet近5天无法使用。该事件使得对计算机安全的需要迫在眉睫,从而导致了许多IDS系统的开发研制。早期的IDS系统都是基于主机的系统,也就是说通过监视与分析主机的审计记录检测入侵。在1986年为检测用户对数据库异常访问在IBM主机上用COBOL开发的Discovery系统可说是最早期的IDS雏形之一。1988年,TeresaLunt等人进一步改进了Denning提出的入侵检测模型,并创建了IDES(IntrusionDetectionExpertSystem),该系统用于检测单一主机的入侵尝试,提出了与系统平台无关的实时检测思想。同年,为了协助美国空军安全官员检测误用,空军基地使用的Unisys大型主机开发了Haystack系统;同时,出现了为美国国家计算机安全中心Multics主机开发的MIDAS(MulticsIntrusionDetectionandAlertingSystem)。1990年,Heberlein等提出了一个新的概念:基于网络的入侵检测—NSM(NetworkSecurityMonitor),NSM与此前的IDS系统最大的不同在于它并不检查主机系统的审计记录,它可以通过在局域网上主动地监视网络信息流量来追踪可疑的行为。1991年,NADIR(NetworkAnomalyDetectionandIntrusionReporter)与DIDS(DistributeIntrusionDetectionSystem)提出了收集和合并处理来自多个主机的审计信息以检测一系列主机的协同攻击。1994年,MarkCrosbie和GeneSpafford建议使用自治代理(autonomousagents)以便提高IDS的可伸缩性、可维护性、效率和容错性,该理念非常符合正在进行的计算机科学其他领域(如软件代理,softwareagent)的研究。另一条致力于解决当代绝大多数入侵检测系统伸缩性不足的途径于1996年提出,这就是GRIDS(Graph-basedIntrusionDetectionSystem)的设计和实现,该系统使得对大规模自动或协同攻击的检测更为便利,这些攻击有时甚至可能跨过多个管理领域。近年的主要创新包括:Forrest等将免疫原理运用到分布式入侵检测领域。1998年RossAnderson和AbidaKhattak将信息检索技术引进到入侵检测。2入侵检测系统与防火墙目前防范网络攻击最常用的方法是构建防火墙。但是随着攻击者知识的日趋成熟,攻击工具与手法的日趋复杂多样,单纯的防火墙策略已经无法满足对安全高度敏感的部门的需要,网络的防卫必须采用一种纵深的、多样的手段。与此同时,当今的网络环境也变得越来越复杂,各式各样的复杂的设备,需要不断升级、修补漏洞的系统使得网络管理员的工作不断加重,不经意的疏忽便有可能造成安全的重大隐患。防火墙作为一种边界安全,能较为有效地保护网络内部的安全,并在保护网络安全中起到了重要作用。其主要功能就是控制对受保护网络的非法访问,它通过监视、限制、更改通过网络的数据流,一方面尽可能屏蔽内部网的拓扑结构,另一方面对内屏蔽外部危险站点,用以防范外对内、内对外的非法访问。但防火墙也有其明显的局限性,诸如:首先,传统的防火墙在工作时,就像深宅大院里的高大院墙不能挡住小老鼠甚至是家贼的偷袭一样,有时无法阻止入侵者的攻击,因为入侵者可以找到防火墙背后可能敞开的后门。其次,防火墙完全不能阻止来自内部的袭击,而通过调查发现,50%的攻击都将来自于内部。对于企业内部心怀不满的员工来说,防火墙形同虚设。再者,由于性能的限制,防火墙通常不能提供实时的入侵检测能力,而这一点,对于现在层出不穷的攻击技术来说是至关重要的。第四,防火墙对于病毒也束手无策。因此,以为在Internet入口处部署防火墙系统就足够安全的想法是不切实际的。随着技术的发展,网络日趋复杂,正是由于传统防火墙所暴露出来的不足和弱点,才引发了人们对入侵检测系统(IDS)技术的研究和开发。网络入侵检测系统(NIDS)可以弥补防火墙的不足,为网络安全提供实时的入侵检测及采取相应的防护手段,如记录证据用于跟踪、恢复、断开网络连接等。攻击检测技术则类似于治安巡逻队,专门注重于发现形迹可疑者,信息系统的攻击者很有可能通过了城门的身份检查;这时要想进一步加强信息系统的安全强度,就需要增派一支巡逻队,专门负责检查在城市中鬼鬼祟祟行动可疑的人员。网络入侵检测系统成为了研究和开发的新热点,不仅愈来愈多地受到人们的关注,而且已经开始在各种不同的环境中发挥关键作用。3入侵检测系统入侵检测是指通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到攻击的迹象,同时做出响应。入侵检测系统(IDS:IntrusionDetectionSystem)是实现入侵检测功能的一系列的软件、硬件的组合。作为一种安全管理工具,它从不同的系统资源收集信息,分析反映误用或异常行为模式的信息,对检测的行为做出自动的反应,并报告检测过程的结果。入侵检测系统就其最基本的形式来讲,可以说是一个分类器,它是根据系统的安全策略来对收集到的事件、状态信息进行分类处理,从而判断出入侵和非入侵行为。入侵检测系统的主要功能有:用户和系统行为的监测与分析、系统配置和漏洞的审计检查、重要系统和数据文件的完整性评估、已知的攻击行为模式的识别、异常行为模式的统计分析、操作系统的审计跟踪管理及违反安全策略的用户行为的识别。一般来说,入侵检测系统还应对入侵行为做出紧急响应。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。入侵检测和漏洞扫描技术结合起来是预防黑客攻击的主要手段。入侵检测技术简单的说是指一种能够及时发现并报告系统中未授权或异常现象的技术。入侵检测的作用主要有如下几个方面:(1)若能迅速检测到入侵,则有可能在造成系统损坏或数据丢失之前识别并驱除入侵者。(2)若能迅速检测到入侵,可以减少损失,使系统迅速恢复正常工作,对入侵者造成威胁,阻止其进一步的行动。(3)通过入侵检测可以收集关于入侵的技术资料,可用于改进和增强系统抵抗入侵的能力。入侵检测的第一步是信息收集,内容包括系统、网络、数据及用户活动的状态和行为。入侵检测为了取得好的效果,一般应采用分布式结构,在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息,这除了尽可能扩大检测范围的因素外,还有一个重要的因素就是从一个采集点来的信息有可能看不出疑点,但从几个采集点来的信息的不一致性却是可疑行为或入侵的最好标识。入侵检测利用的信息一般来自以下4个方面:系统和网络日志文件、目录和文件中的不期望的改变、程序执行中的不期望行为、物理形式的入侵信息。入侵检测的第二步是根据收集到的信息进行分析,常用的分析方法有模式匹配、统计分析、完整性分析。模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为;统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,有可能发生入侵行为,该方法的难点是阈值的选择,阈值太小可能产生错误的入侵报告,阈值太大可能漏报一些入侵事件;完整性分析主要关注某个文件或对象是否被更改,包括文件和目录的内容及属性,它对付特洛伊木马攻击比较有效。4公共入侵检测框架CIDF目前的入侵检测系统大都是独立研究与开发的,不同系统之间缺乏互操作性和互用性。一个入侵检测系统的模块无法与另一个入侵检测系统的模块进行数据共享,在同一台主机上两个不同的入侵检测系统无法共存,为了验证或改进某个部分的功能就必须重新构建整个入侵检测系统而无法重用现有的系统和构件,这对入侵检测系统的发展造成了极大的障碍。入侵检测系统的标准—CIDF,就是为了解决不同入侵检测系统的互操作性和共存问题而提出的入侵检测的框架。通用入侵检测框架(CommonIntrusionDetectionFramework-CIDF)由TeresaLunt发起的,专门对入侵检测进行标准化工作的组织。开发一些协议和应用程序接口,以便入侵检测研究项目能够共享信息和资源,同样入侵检测系统组件也可以被其他系统应用。CIDF主要有3个目的:IDS构件共享,一个IDS系统的构件可以被另外一个IDS构件使用;数据共享,通过提供标准的数据格式,使得IDS中的各类数据可以在不同的系统之间传递并共享;完善互用性标准并建立一套开发接口和支持工具,以提供独立开发部分构件的能力。CIDF主要是通过定义数据格式和数据交换接口来实现其目标,在实现这些目标时并没有对IDS系统的体系结构进行任何约束,也没有限制他们的实现所采用的编程语言和依赖的操作系统。首先,