北京邮电大学信息安全中心
摘 要 入侵检测系统(IDS)的标准化是必然要经历的阶段,标准化的制定有利于不同的IDS之间的协作,从而发现新的入侵活动;有利于IDS与访问控制、应急、入侵追踪等系统交换信息,相互协作,形成一个整体有效的安全保障系统。本文首先介绍了网络安全的重要性,并给出了防火墙和入侵检测系统的相关知识,指出了其中存在的问题,从而说明了入侵检测系统标准化产生的背景,接着介绍了国外已经存在的标准草案,之后着重分析了制定IDS标准的意义以及国内制定标准的可行性,最后展望了IDS标准化发展的方向。
关键词 入侵检测系统(IDS) 入侵检测数据交换标准 通用入侵检测
1 引言
在信息化社会中,计算机通信网络在政治、军事、金融、商业、交通、电信、文教等方面的作用日益增大。社会对计算机网络的依赖也日益增强。随着网络的开放性、共享性及互联性的扩大,特别是Internet的出现,网络的重要性和对社会的影响也越来越大。随着网络上各种新业务的兴起,比如电子商务、电子现金等,以及各种专用网的建设,使安全问题显得越来越重要。
网络安全从本质上来讲就是网络上的信息安全。凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全所要研究的领域。防火墙技术是实现网络安全措施的一种手段。可以用来拒绝未经授权的用户访问,阻止未经授权的用户存取敏感数据,同时允许合法用户访问网络资源。但是,防火墙不能防止内部的攻击,因为它只是提供了对网络边缘的防卫。内部人员可能滥用被给予的访问权,由此导致的事故占了全部事故的一半以上。而且,一旦闯入防火墙,防火墙就无法知道正在发生的事情。入侵检测系统(IDS)是一种不同于防火墙的主动保护网络资源的网络安全系统,是防范网络攻击的最后一道防线,是其他安全措施的必要补充,在网络安全技术中起着不可替代的作用。入侵检测系统包括三个功能部件:提供事件记录流的信息源、发现入侵迹象的分析引擎、基于分析引擎的结果产生反应的响应部件。
但是,随着计算机网络资源共享的进一步加强,并且随着网络规模的扩大,网络入侵的方式、类型、特征各不相同,入侵活动变得复杂而又难以捉摸。某些入侵的活动靠单一IDS不能检测出来。不同的IDS之间没有协作,结果造成缺少某种入侵模式而导致IDS不能发现新的入侵活动。网络的安全也要求IDS能够与访问控制、应急、入侵追踪等系统交换信息,相互协作,形成一个整体有效的安全保障系统。然而,要达到这些要求,需要一个标准来加以指导,系统之间要有一个约定,如数据交换的格式、协作方式等。
2 IDS标准研究状况
为了提高IDS产品、组件及与其他安全产品之间的互操作性,美国国防高级研究计划署(DARPA)和互联网工程任务组(IETF)的入侵检测工作组(IDWG)发起制定了一系列IDS的标准草案。
IDWG主要负责制定入侵检测响应系统之间共享信息的数据格式和交换信息的方式,以及满足系统管理的需要。IDWG的任务是,对于入侵检测系统、响应系统和它们需要交互的管理系统之间的共享信息,定义数据格式和交换程序。IDWG提出的建议草案包括三部分内容:入侵检测消息交换格式(IDMEF)、入侵检测交换协议(IDXP)以及隧道模型(Tunnel Profile)。
IDMEF描述了一种表示入侵检测系统输出消息的数据模型,并且解释了使用这个模型的基本原理。IDMEF数据模型以面向对象的形式表示分析器发送给管理器的警报数据。数据模型的设计目标是用一种明确的方式提供了对警报的标准表示法,并描述简单警报和复杂警报之间的关系。该数据模型用XML(可扩展的标识语言)实现。自动的入侵检测系统能够使用IDMEF提供的标准数据格式,来对可疑事件发出警报。这种标准格式的发展将使得在商业、开放资源和研究系统之间实现协同工作的能力,同时允许使用者根据他们的强点和弱点获得最佳的实现设备。实现IDMEF最适合的地方是入侵检测分析器(或称为“探测器”)和接收警报的管理器(或称为“控制台”)之间的数据信道。
IDXP是一个用于入侵检测实体之间交换数据的应用层协议,能够实现IDMEF消息、非结构文本和二进制数据之间的交换,并提供面向连接协议之上的双方认证、完整性和保密性等安全特征。IDXP模型为建立连接、传输数据和断开连接。
DARPA提出的建议是通用入侵检测框架(CIDF),最早由加州大学戴维斯分校安全实验室主持起草工作。CIDF主要介绍了一种通用入侵说明语言(CISL),用来表示系统事件、分析结果和响应措施。为了把IDS从逻辑上分为面向任务的组件,CIDF试图规范一种通用的语言格式和编码方式以表示在组件边界传递的数据。CIDF所做的工作主要包括四部分:IDS的体系结构、通信体制、描述语言和应用编程接口(API)。
CIDF根据IDS系统通用的需求以及现有的IDS系统的结构,将IDS系统的构成划分为五类组件:事件组件、分析组件、数据库组件、响应组件和目录服务组件。从功能的角度,这种划分体现了入侵检测系统所必须具有的体系结构:数据获取、数据管理、数据分析、行为响应,因此具有通用性。这些组件以GIDO(统一入侵检测对象)格式进行数据交换。GIDO是对事件进行编码的标准通用格式(由CIDF描述语言CISL定义)。这里的组件只是逻辑实体,一个组件可能是某台计算机上的一个进程甚至线程,也可能是多个计算机上的多个进程。
CIDF组件在一个分层的体系结构里进行通信,这个体系结构包括三层:GIDO层、消息层和协商传输层。GIDO层的任务就是提高组件之间的互操作性,就如何表示各种各样的事件做了详细的定义。消息层确保被加密认证消息在防火墙或NAT等设备之间传输过程中的可靠性。消息层没有携带有语义的任何信息,它只关心从源地址得到消息并送到目的地;相应地,GIDO层只考虑所传递消息的语义,而不关心这些消息怎样被传递。协商传输层规定GIDO在各个组件之间的传输机制。
CIDF的通信机制主要讨论消息的封装和传递,分为四个方面:①匹配服务:它为CIDF组件提供一种标准的统一机制,并且为组件定位共享信息的通信“合作者”。因此极大提高了组件的互操作性,减少了开发多组件入侵检测与响应系统的难度;②路由:组件之间要通信时,有时需要经过非透明的防火墙,发送方先将数据包传递给防火墙的关联代理,然后再由此代理将数据包转发到目的地。CIDF采用了源路由和绝对路由;③消息层:消息层的使用达到了下面的目标:提供一个开放的体系结构,使通信独立于操作系统、编程语言和网络协议,简化向CIDF中添加新的组件,支持认证与保密的安全要求,同步(封锁进程与非封锁进程);④消息层处理:消息层处理规定了消息层消息的处理方式,它包括四个规程:标准规程、可靠传输规程、保密规程和鉴定规程。
CIDF的工作重点是定义了一种应用层的语言CISL,用来描述IDS组件之间传送的信息,以及制定一套对这些信息进行编码的协议。CISL使用了一种被称为S表达式的通用语言构建方法,S表达式是标识符和数据的简单循环分组,即对标记加上数据,然后封装在括号内完成编组。CISL使用范例对各种事件和分析结果进行编码,把编码的句子进行适当的封装,就得到了GIDO。GIDO的构建与编码是CISL的重点。
CIDF的API负责GIDO的编码、解码和传递,它提供的调用功能使得程序员可以在不了解编码和传递过程具体细节的情况下,以一种很简单的方式构建和传递GIDO。它分为两类:GIDO编码/解码API和消息层API。
CIDF和IDWG都还不成熟,目前仍在不断地改进和完善中,但可以预见,标准化是未来的入侵检测系统必然方向,而CIDF或IDWG很可能会代表将来的IDS国际通用标准。
3 入侵检测标准研究的意义
当面对入侵活动越来越广泛,并且许多攻击是经过长时期准备、通过网上协作开展进行时,入侵检测系统和它的组件之间共享这种类型攻击信息十分重要。共享让系统之间对可能即将来临的攻击发出警报。主要的意义在于共享攻击特征数据,安全控制系统之间相互协作有利于产品评估。
数据交换标准化解决了入侵检测系统和它的组件之间共享攻击信息问题。提高了IDS产品、组件及与其他安全产品之间的互操作性。CIDF使得IDS系统能够划分为具有不同的功能模型组件,在不同于最初被创建的环境下,这些组件依然能够被重新使用。同时,CIDF解决了不同入侵检测系统的互操作性和共存问题。它所提供的标准数据格式,使得IDS中的各类数据可以在不同的系统之间传递并共享。CIDF的完善的互用性标准以及最终建立的一套开发接口和支持工具,提供了独立开发部分组件的能力。
尽管计算机网络资源共享在进一步加强,网络规模在不断扩大,网络入侵的方式、类型、特征各不相同,入侵活动变得复杂而又难以捉摸,只要有统一的入侵检测标准,就能够检测出靠单一的IDS不能检测出来的某些入侵活动。而且,标准的制定使得不同的IDS之间存在协作,形成某种入侵模式使得IDS能够发现新的入侵活动。同时IDS能够与访问控制、应急、入侵追踪等系统交换信息,相互协作,形成一个整体有效的安全保障系统,满足网络安全的需求。
4 关于国内开展入侵检测系统标准的思考
要使得国内厂商做出的安全产品能够符合国际标准,与其他安全产品互相沟通,并且具有长久的生命力,就必须把IDS的标准化提高到一个重要的高度。目前国内还没有制定出入侵检测标准。要建立国内的入侵检测标准和IDS产品的测试开展,应该从以下几点进行。
首先应该宣传IDS的重要性。国外就特别关注入侵检测技术的发明创新及应用研究。DARPA资助20多个项目,用于入侵检测系统测试评估的费用达1000万美元。麻省理工学院林肯实验室开发了非实时的IDS性能评估工具,该工具能够动态地加速重放大量的数据,迅速产生所需测试数据。IBM公司苏黎世研究实验室也开发了一套IDS测评工具。
其次将IDS标准作为一个项目,进行分工合作。让更多的研究者参与到IDS标准的研究中,分别针对每一点去进行开发研究,这样做出来的产品更为成熟、更加能够经受得住市场的冲击。具有长久的生命力。
然后成立IDS讨论组如邮件列表,进行交换意见。最后起草IDS标准草案,征求意见稿。
国内制定IDS标准的可行性。从技术路线来看,国内可以取国外研究组织的研究成果,结合我国实际情况,制定可操作的标准。同时靠国内研究单位力量,调查IDS产品状况,然后制定标准草案。在制定标准的过程中可能会遇到难点,如标准的实际可操作性和标准的完备性。如何来解决相应的难点?我们可以组织人员调查研究国外IDS标准,在制定了IDS标准草案稿后,广泛征求意见使得标准尽可能地完善。同时建立IDS评估测试实验室来验证标准的可操作性。国外安全机构早已建立起弱点数据库系统,入侵者往往借助系统弱点而成功地进行攻击。因此,检测弱点使用常会发现入侵者。同时,弱点数据库系统会让安全管理员意识到系统存在,从而及时修补弱点漏洞,防止入侵。www.whitehats.com 已建立了全球免费的攻击特征数据库系统,IDS可以利用这些特征库来检测入侵者。在弱点数据库系统和攻击特征数据库系统基础上,设计IDS测试方法,并构建常用的检测公共库,因此就能够实现IDS的评估系统。测试环境包括两个方面,一种是在线实时网络环境,另一种是离线网络环境。考虑到测试的复杂性,可以使用系统仿真测试。
5 结束语
IDS是近年来发展起来的促进系统安全的技术,它日益受到各国政府和学者的重视。其标准化的发展尚未成熟,我国在这一方面所做的工作相对更少,本文较全面地介绍了IDS标准化所涉及的一些问题,以期推动我国IDS标准化的研究。
----《中国数据通信》