基于Agent的分布式入侵检测系统研究

2009-10-26 09:34李建伟
电脑知识与技术 2009年22期
关键词:入侵检测网络安全

李建伟 殷 越

摘要:提出了一种基于Agent的分布式入侵检测系统模型,实现HIDS和NIDS的互补,充分利用Agent自身的独立性与自主性,有效解决了传统集中式处理的单点失效问题,同时降低各个部件之间的相互联系,实现了入侵检测系统计算的分布化,提高了入侵检测系统的性能及其可靠性,具有良好的扩展性,能更好的满足大规模网络环境的要求。

关键词:入侵检测;Agent;网络安全

中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)20-0000-00

0 引言

随着计算机网络的高速发展,计算机网络延伸到各个领域,但是由于网络的开放性和共享性,网络安全事件层出不穷,其安全问题越来越受到人们的关注。防火墙的应用大大提高了网络的安全性,防火墙作为一种静态的访问控制类安全产品通常使用包过滤技术来实现,可以将非预期的访问请求屏蔽在网络外部。但是其不能检查出经过它的合法流量中是否包含有恶意的入侵代码。面对日益复杂的网络环境,单单依靠防火墙的被动防御使远远不够的,仅依靠防火墙对网络进行保护已经满足不了对网络安全的要求。入侵检测系统(Intrusion Detection System,IDS)作为一种主动的网络安全工具,成为防火墙的一个有效补充。入侵检测系统通过对实时检测,分析被检测系统的审计数据或直接从网络捕获的数据,发现是否有违背安全策略或危及系统安全的行为或活动,从而确定网络是否受到了攻击。按照数据来源的不同,入侵检测系统可分为基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS)。HIDS通过对被检测主机的网络连接状态、审计日志和系统日志的分析来发现入侵行为,需要安装在每一台被监控的主机上,只能监控本主机的信息,部署起来相当麻烦,不适合扩展到大型网络。NIDS通过检测网络上的所有报文来发现入侵行为,在网络的关键节点部署即可,部署比较简单,但是其受到网络流量以及检测主机处理信息能力等因素影响,另外网络阻塞时也会导致整个入侵检测系统的失效。因而只有将主机和网络两种系统有效地结合起来,组成一种立体的、全方位的入侵检测系统,才能有效地保证整个网络和主机系统的安全。

针对上述问题本文提出了一种基于Agent的分布入侵检测系统模型,结合基于主机的入侵检测系统和基于网络的入侵检测系统,同时利用多种检测方法,从而提高入侵检测系统的可靠性。

1 Agent在入侵检测系统中的应用

Agent是具有一定智能、可代表其它实体自主运行的软件实体,它具有代理性、自治性、主动性、自适应性、智能性和可移植性等属性。各Agent之间是相对独立的,各自执行一定的功能,并可以单独进行配置、调试,若个别Agent出现故障,也只能影响与之相关的少数部件,而不会影响整个系统的运行。因而Agent技术的引入能够较好地解决现有IDS存在的缺陷。真正实现基于主机的入侵检测系统与基于网络的入侵检测系统的无缝集成,增加入侵检测系统的自治性、可靠性、扩展性以及容错性等。

Agent按照其功能可以分为静态Agent和移动Agent。静态Agent克服了传统IDS的一些固有缺陷,但是也带来了新的问题,如网络数据流量大等。移动Agent可以自主的在异构网络中由一个节点迁移到另一个节上,充分利用现有资源,减少不必要的网络通信,但是过多的使用移动Agent会降低检测性能。因此,结合使用静态Agent和移动Agent一起使用,以克服单独使用静态Agent或者移动Agent的缺陷。

2 基于Agent的入侵检测系统模型

本文提出了如图1所示的基于Agent的分布式入侵检测系统模型,主要部件有数据采集Agent(DCA)、分析Agent(AA)、报警信息融合Agent(DOCA)、通信Agent、响应Agent(RA)以及控制中心。这些部件功能相对独立,通过统一的网络接口进行信息交换,使得各个部件可以很容易地分布在网络的各个节点,可以集中安装在某一个或者几个主机上。具体的部署情况可以根据主机性能等实际情况灵活掌握。

2.1 数据采集Agent

数据采集Agent主要功能是收集原始数据,并对原始数据进行过滤、重组、预处理后传送给分析Agent。预处理的工作主要是将原始数据按照一定的统一格式的进行数据简化,使得传入分析Agent的数据得到了精简,从而减少分析Agent的工作量以及网络上的数据传输。数据采集Agent有主机数据采集Agent和网络数据采集Agent。主机数据采集Agent(HDCA)收集主机上的各种数据,包括收集系统日志、监视用户状态及其行为和主机网络状态等。网络数据Agent(NDCA)主要工作是负责抓取网络中的数据包。在部署上主机数据采集Agent安装在需要被检测的主机上,网络数据采集Agent安装在网络关键节点主机上。

2.2 检测Agent

检测Agent是入侵检测系统的关键部分,负责对数据采集Agent处理过的数据进行分析检测,从而发现入侵事件或者可疑事件。

入侵检测的分析技术主要有滥用检测和异常检测两种。滥用检测的分析机制基于攻击方法和攻击特征库的建立,但是对未知攻击无能为力。异常检测的分析机制基于正常行为模版建立,对未知入侵行为监测率较高,但是误报率较高。同时针对不同的数据来源其分析检测方法也不尽相同。针对上述问题,建立多个分析Agent,根据需要对不同来源的数据和不同的检测模式建立不同的数据分析Agent,相同的数据可以由多个检测Agent采用不同的检测方法进行检测,以实现检测方法的互补,提高检测准确率。

2.3 报警数据融合Agent

报警数据融合Agent负责对数据分析Agent产生的报警信息进行聚合与关联。通过对报警信息的汇聚和关联分析,印证不同Agent的分析结果,可以有效降低误报漏报,提高了报警的准确性。对报警信息的融合,可以消除重复报警,有利于对入侵情况的理解,发现高层攻击策略。

2.4 通信Agent

通信Agent是一个静态Agent驻留在各个安装Agent的主机上,专门负责相关Agent之间的通信,对Agent之间的通信加密,管理消息的传递和Agent主机的身份验证。采用加密技术对网络传输的重要指令和数据进行加密,防止信息被窃听、泄露、篡改和破坏,从而保证指令和结果传输的隐蔽性、完整性和可靠性。采用数字签名方案验证Agent主机的合法性。

2.5 响应Agent

响应Agent以对话框短信等方式将报警信息反馈给管理员,同时根据预先设定的响应规则采取主动措施,调整被攻击系统的状态,阻止和减轻攻击影响,如断开连接,阻塞系统调用、杀死可疑进程等,也可以同防火墙等安全产品实现联动。

2.6 控制中心

控制中心主要实现与用户的交互,通过控制中心对系统中的所有Agent进行统一的配置和管理。由于系统中存在多个不同级别、不同功能的Agent,要记录各个Agent的名字、IP地址、通信端口、运行状态以及其所实现的功能,使用户对系统的整体运行状况有一个直观的了解。用户通过控制中心用户可以控制各个Agent的启动与停止,制定分析Agent的检测规则和响应Agent的响应策略,通过控制中心还可以对入侵检测报警、可疑行为报警和错误报警进行管理和处理,从而保证系统高效运行。

猜你喜欢
入侵检测网络安全
网络安全知多少?
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
多Agent的创新网络入侵检测方法仿真研究
“4.29首都网络安全日”特别报道