郭宏刚
(河北师范大学,河北 石家庄 050016)
入侵检测系统在开放式网络中的设计与实现
郭宏刚
(河北师范大学,河北 石家庄 050016)
在说明入侵检测技术原理的基础上,在基于开放式网络的入侵检测系统方面作了一些尝试,综合利用分布式入侵检测技术,开发出一套适用于开放式网络的基于web的入侵检测系统,给出了系统总体结构、主要模块的设计实现。该系统能以直观友好的图形化方式显示入侵检测事件并做出响应。
入侵检测;分布式;网络安全;开放式
在我国,随着各个开放式网络的建设和普及,给人们的工作、生活、学习等多方面带来了很大促进的同时,开放式网络暴露出来的安全问题日益突出。由于网络的开放、高带宽、多主机、安全管理弱等特点,开放式网络成为黑客们青睐的地方。所以在网络内部建立网络安全系统是非常必要的。目前在开放式网络中普遍采用硬件防火墙的网络安全系统,但是由于防火墙保护的是网络边界安全,对在网络内部所发生的攻击行为无能为力。人侵检测系统(Intrusion Detect System,IDS)是一种基于主动策略的网络安全系统,作为对被动防御型的防火墙的必要补充,可以在不影响网络性能的情况下,对外部入侵行为和内部用户非授权行为进行检测,能有效地提高网络的安全级别。
(一)什么是入侵检测系统
入侵检测是指通过对行为、安全日志、审计数据或其他网络上可以获得的信息进行操作,检测到对系统的闯入或闯入的企图,其作用包括威慑、检测、响应、损失情况评估、攻击预测和起诉支持。它是为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。进行入侵检测的软件与硬件的组合便是入侵检测系统。
(二)入侵检测系统的基本结构
下面给出了一个入侵检测系统基本结构,如图1。
图1 入侵检测系统基本结构图
图1 中数据提取模块的作用在于为系统提供数据。数据的来源可以是主机上的日志信息、变动信息,也可以是网络上的数据信息,甚至是流量变化等。这些都可以作为数据源。数据提取模块在获得数据之后,需要对数据进行简单的处理,如简单的过滤、数据格式的标准化等。然后将经过处理的数据提交给数据分析模块。数据分析模块的作用在于对数据进行深入的分析,发现攻击并根据分析的结果产生事件,传递给结果处理模块。数据分析的方式多种多样,可以简单到对某种行为的计数(如一定时间内某个特定用户登录失败的次数,或者某种特定类型报文的出现次数),也可以是一个复杂的专家系统。该模块是一个入侵检测系统的核心。结果处理模块的作用在于报警与反应。
(三)入侵检测系统的分类
从数据来源看,入侵检测系统通常可以分为三类:基于主机的入侵检测系统(Host-based IDS,简称HIDS)、基于网络的入侵检测系统(Network-based IDS,简称NIDS)和分布式入侵检测系统(Distributed IDS,简称DIDS)。
基于主机的入侵检测系统,其输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵。
基于网络的入侵检测系统,是利用网络侦听技术收集网络上传输的分组数据包,并对这些数据包的源地址、目标地址,端口以及载荷内容等进行入侵检测分析,以发现入侵行为,能够检测该网段上发生的网络入侵。
分布式入侵检测系统一般采用分布监视、集中管理的结构,在每个网段里放置基于网络的入侵检测引擎,同时对于重要的服务器,例如MAIL服务器、WEB服务器放置基于主机的入侵检测引擎,再通过远程管理功能在一台管理站点上实现统一的管理和监控。这种分布式的入侵检测结构,结合了HIDS和NIDS这两种检测系统的优点,弥补了彼此的不足,可以进行更全面的入侵检测。
(一)入侵检测系统总体结构
基于开放式网络的入侵检测系统设计为分布检测、集中管理的模式,通过一个管理站点监控分布在开放式网络内的若干入侵检测引擎,即分布式网络入侵检测系统结构,见图2。
本系统主要由以下三个子系统组成:检测引擎、数据存储系统、响应与控制系统。这些子系统可以分布在不同的机器上,甚至不同的网络上,整个系统采用集中——分布式的控制结构,部件之间既要相互独立,又通过信息相互协作,共同完成对入侵攻击行为的检测和处理。
图2 基于开放式网络的入侵检测系统体系结构
(二)入侵检测系统的实现
1.检测引擎。在本系统中,检测引擎是其中的核心关键部分,它驻留在需保护的网段中的某台主机或服务器上,收集目标网段上传输的数据,根据预先设定的检测规则对来自内外网络的入侵行为进行实时跟踪检测,当发现入侵行为时,向响应和控制系统传送实时的报警信息,同时将入侵数据发送到数据存储系统中进行保存。由于检测引擎的重要性和开放式网络的特点,在本系统中的检测引擎是以Sonrt系统为基础开发而成的。
2.数据存储系统。数据存储系统的功能在于将检测引擎检测到的网络数据以及入侵报警数据保存起来,用于事后进行入侵分析、制定安全策略的参考,同时也是对入侵者进行法律制裁的证据。在数据库的选择上本系统选用MySQL数据库。MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。另外,MySQL在linux上是免费的,这对于经费不多的单位来说是非常适合的。
3.响应与控制系统。本模块采用net技术设计为B/S模式,这样的优点是无需安装客户端,管理员可以从开放式网络中任何联网的计算机通过其WEB界面察看报警信息并且对入侵检测系统进行管理,如图3。
图3 基于web的入侵检测系统控制模块
响应与控制系统按照功能分为用户管理模块、检测引擎配置模块、入侵信息报警模块、服务器报警模块、报警数据分析管理模块和图形分析模块六个子模块。
(1)用户管理模块
对用户的管理系统根据管理目的分为超级用户、一般管理者和普通用户三类。超级用户具有一切权限,一般管理者具有对系统进行管理的权限,拥有除了超级用户的其他权限。另外,管理员在控制模块中所进行的操作都将被一一记录下来,这样在事故发生以后,既可以方便取证,也让管理员加强了自身的责任感。第三类则是普通用户,他们只能进行查询、查看报警数据的操作,但没有管理检测引擎的权限。通过严格的分级限制,可以有效地加强对系统的管理,尽量避免人为的破坏活动。
(2)检测引擎配置模块
检测引擎配置模块的功能是在WEB界面上直接控制检测引擎的运行。并对检测引擎的规则进行增加、删除和修改的操作。另外,还可以从外部导入一个规则文件到规则库中,以便及时将最新的规则特征加入其中。
(3)入侵信息报警模块
其功能是将检测到的入侵事件发布出来,管理员可以通过报警信息决定下一步的行动。在报警信息中显示入侵的IP地址、端口号、协议等信息,并大致判断是何种类型的入侵。
(4)服务器报警模块
对于学校内主要服务器进行重点保护,如www服务器、mail服务器、ftp服务器、oas服务器、vod服务器等每个服务器都有专门的报警窗口,有利于网管及时发现对服务器的攻击情况。
(5)报警数据分析管理模块
报警数据整理器的作用是方便管理员对存储在数据库中的报警数据进行分门别类的查询、整理备份以及删除操作。如按时间来查询,可以让管理员了解在哪个时间段网络入侵事件最多,以此判断攻击者的活动时间。按攻击者的源地址进行查询可以获取攻击者的一些信息。根据这些不同的查询条件进行查询的结果,可以根据不同的需要生成日志分析报表。另外,由于日志流量比较大,需要定期备份清除陈旧的日志信息。同时根据需要可以删除无用或陈旧的报警数据,以保证系统的效能。
(6)图形分析模块
其功能是将保存在数据库中的入侵事件按照日期、远端口、目的端口和IP地址声称报警的图形化汇总,这样管理员可以通过分析总结入侵事件的规律和特点来制定下一步的安全策略。
3.入侵检测系统的测试
将入侵检测系统部署在校园网后,为了验证扫描攻击的效果,使用网络攻击软件对目标服务器进行攻击和扫描测试。通过分析检测结果发现入侵检测系统能够比较准确地检测到攻击和扫描,检测系统较好地实现了项目的设计思想,效果比较理想,如图4。
图4 入侵检测系统发现扫描攻击
本系统实时从网络上提取数据,根据设定的入侵规则对网络数据进行分析,从网络数据中分析出入侵事件,并通过WEB进行报警,同时根据策略通知防火墙进行拦截以阻止入侵的进一步进行,本系统具有下列优点:
首先,本系统在提供基本的入侵检测的基础上,可以对入侵事件通过WEB进行报警并与防火墙联动,对入侵事件及时进行处理。
其次,采用分布式体系结构。数据的分布处理,提高了数据处理效率,同时降低了在网络中传输的数据,减轻了网络的负担。
第三,操作简单、实用。虽然只提供了入侵检测最基本的功能,但是所提供的功能都是入侵检测系统中最实用和需要的功能,使网络管理人员可以方便地监测网络。
第四,易于扩展。由于系统在设计时就考虑了扩展性,所以本系统的通讯接口、入侵规则、模块接口等都具有很好的扩展性,便于扩展以监测最新的攻击。
当然,由于本系统只是一个相对简单的分布式入侵检测系统,和成熟的商业入侵检测系统相比,在很多功能上还有所欠缺,有待于进一步的细化、增强。
[1]沈昌祥.关于加强信息安全保障体系的思考:信息安全纵论[M].武汉:湖北科学技术出版社,2002.
[2]林闯,彭雪海.可信网络研究[J].计算机学报,2005,(5).
[3]冯登国.网络安全原理与技术[M].北京:科学出版社,2003.
[责任编辑:张钦]
D035
A
1672-6405(2009)03-0053-03
郭宏刚,男,河北师范大学网络信息中心教师。
2010-05-10