基于移动智能体的分布式入侵检测系统研究

时间:2007-04-28

摘要:分析当前分布式入侵检测系统中存在的一般性缺陷,在此基础上,研究了移动智能体在入侵检测系统中的可用性。提出一种具有网络拓扑结构感应能力和行为自主性的、基于移动智能体的分布式入侵检测系统模型,能有效保证网络系统的安全。

关键词:移动智能体 分布式入侵检测系统 智能体传输协议

入侵检测技术IDS(Intrusion Detection System)是一种主动保护目标网络或目标主机免受网络攻击的一种网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),提高了信息安全基础结构的完整性。

由于单个入侵检测系统检测能力和检测范围的限制,入侵检测系统一般采用分布监视集中管理的结构,多个检测单元运行于网络的各个网段或系统中,通过远程管理功能在一台控制中心上实现统一管理和监控。

仅仅依靠分布式监管,仍有以下问题:(1)系统的可伸展性受限制:单一的控制中心基数据处理能力无法适应网络规模的迅速扩张和网络速度的大幅提高;(2)中心处理主机具有单点失效性,导致整个系统的受到攻击时不能正常工作;(3)缺乏灵活性:增加新的功能模块需要对整个系统重新配置或安装。

因此,本文提出基于移动智能体技术的分布式入侵检测系统MABDIDS(Mobile Agent Based Distributed Intrusion Detection System),在保证Agent自身安全前提下,采用智能体传输协议ATP(Agent Transfer Protocol),实现移动策略,Agent可以自由地在主机和网络间穿梭,构建灵活、稳定的可伸展性入侵检测系统。
1 分布式IDS及移动智能体技术

1.1 分布式IDS

在网络拓扑中,入侵监测系统处于防火墙之后,对网络活动进行实时检测、记录和禁止。是入侵检测系统在网络拓扑中的位置。防火墙将内部网络与外部网络隔开,起物理隔离的作用;在入侵检测系统通过执行以下任务,实现对内、外网络数据流的监控:(1)监视、分析用户及系统活动;(2)系统构造和弱点的审计;(3)识别反映及已知进攻的活动模式并向相关人士报警;(4)异常行为模式的统计分析;(5)评估重要系统和数据文件的完整性;(6)操作系统的审计跟踪管理,并识别用户违反完全策略的行为。

1.2 一般分布式IDS的缺陷

一般的分布式入侵检测系统通常是由许多分布在信息系统各处的数据采集模块和一个处理能力很强的中心处理模块组成。它主要有两方面的缺陷:一是随着网络带宽的增加,中心处理模块计算能力的要求也越来越高,一旦中心处理模块失效,整个系统就会瘫痪;二是这样入侵检测系统本身的通讯量很大,占用过多的网络带宽。

1.3 移动智能体

智能体是包含程序代码及状态、代表用户自主执行任务的软件。基于面向对象与分布式人工智能相融合的面向智能体技术能够实现先进的应用软件系统。作为系统计算单元或模型构造单元的Agent以层次结构形成各种粒度的组件,组件再按需求导向和事件驱动的过程进行智能化集成,在Agent技术平台及其环境设施支持下,形成运行中的软件实体。

移动智能体的服务设施由智能体传输协议层、服务层和接口层三个逻辑层组成。智能体传输协议层是与现有网络通信协议的接口;服务层为智能体建立运行环境和安全保护机制,协调和监视智能体的运行;接口层为智能体与各主机、其他智能体之间的通信提供了底层的界面。
1.4 移动智能体与分布式IDS

移动智能体具有如下几个特征,可以很好地应用于分布式IDS:

(1)自主性和智能性:由于MA可以自由地在主机之间迁移,使得MA的运行场所不再局限于网络中的某一个特定位置,从而比较容易获得与网络安全相关的全面和有针对性的数据。

(2)减轻网络负载:MA能够离开其产生的平台,独立地生存和执行其功能,在驻留地对数据进行分析,避免了一般IDS必须将数据从叶子节点传输到中间节点和根节点的缺陷,从而可以减轻网络负载。

(3)动态适应性:MA系统监视环境并对其变化作出反应的能力在IDS中非常有用,可以用来构建健壮的和抵御攻击的IDS结构。

(4)多Agent协作:Agent之间互相协作,可以防止系统和Agent失效;一旦有Agent失效,其它Agnet可以采取措施,通过承担起失效Agent的任务或者启动新的Agnet的办法进行失效弥补。

移动智能体的工作过程是以周期的方式进行。因为网络环境的安全是一个变化的过程,不仅网络上各主机的软硬件环境会发生变化,而且网络的拓扑结构也可能发生变化。根据网络变化的具体情况,可以由系统管理员设定一轮的间隔周期,或者由系统利用移动策略算法,自动实现变周期检测。MABDIDS的检测过程如所示。

中,黑色箭头是初始环节,智能体移动的完整过程依箭头指向所示。整个工作过程模拟了跨Internet的两个节点,其过程如下:(1)控制中心选择需要检测的网段,并初始化检测程序;(2)移动智能体被送往个节点,开始一轮检测过程;(3)智能体依赖移动智能体服务设施进行传递,对本地网所采集数据进行分析与处理;(4)检测具有移动服务设施的网络段等各类节点;(5)检测无移动服务设施的节点;(6)利用服务设施,跨越广域网实现移动;(7)检测网络段等各类节点和无移动服务设施的节点;(8)移动智能返回控制台,控制台根据检测结果指定应对措施,实现免疫过程。

在智能体运行过程中,必须考虑移动环境的部署,移动智能体的运行环境不仅可以是网络系统中的任意一个主机,也可以是网络中的防火墙(包括软件防火墙和硬件防火墙)、交换机或路由器。相比静态部署的智能体而言,智能体在移动中保存代码和当前运行状态,在目标节点继续执行,因此智能体把整个网络当作一个安全系统考虑,比分离静态部署的智能更具有优势。

2 基于移动智能体的分布式IDS实现

2.1 智能体传输协议

移动智能体系统由移动智能体本身及移动智能体服服务设施(或称移动智能体服务器)两部分组成。移动智能体设备设施基于移动智能体传输协议ATP(Agent Transfer Protocol)实现智能体在整个异构网络环境中的传输,并为其分配执行环境和服务接口。由于Java具有平台无关,方便远程调用,安全性能好,MABDIDS采用Java开发。如下的前三个方法对本地和远程Agent进行调用或终止,对Agent身份的则采用第四个方法实现。

(1)public void recall (URN agent,…);

(2)public void retract (URN agent,…);

(3)public void terminate(URN agent,…);

(4)public Ticket authenticate (URN caller,int nonce)

智能体在异构的网络环境移动时,需要定位资源,其实现过程如下(434是移动智能体默认的通信端口):

ATP_URL=Service_host [Agent_resourceClass_resource]

Service_host="atp://"Host[:Port]

Host=<An Internet host domain name or IP address>

Port=Digit+

Agent_resource=[Name]"#"Agent_identifier

Name="/"<a string>

Class_resource=Class_path

Class_path=<A legal absolute path specification>

智能体传输协议(Asent Transfer Protocol)定义了Agent传输的语法和语义,具体实现了移动Agent在服务设施间的移动机制。ATP框架结构定义了一组原语性的接口和基础消息集,其基本操作如所示。

2.2 移动智能体路由方案

移动智能体的移动首先是对路由策略的制定,也就是确定智能体的旅行计划。移动智能体路由策略的优化,很大程度上能够决定智能体的效率高低,本文采用基于规则及目录服务的动态路由,通过移动智能体建立agentstate.ini文件,配置系统路由智能体运行参数。程序通过类Cinifile读取和配置,其使用如下:

IniFile:=CiniFile.Create(currentposition+'.ini');

IniFile.WriteString('移动站点序列’,‘移动站点’+inttostr(1),customlist[senti]);

IniFile.WriteString('移动站点序列',‘移动站点’+inttstr(2),Lip);

IniFile.WriteInteger('移动站点序列',‘总站点数目’,2);

IniFile.WriteString('运行状态',‘当前采集站点’,customlist[senti]);

IniFile.UpdateFileResource;

2.3 移动智能体控制和容错策略

移动智能体在移动过程中可能存在网络故障、服务设施故障、长时间停机等情况造成的移动Agent破坏和失败。移动智能体要实现在复杂网络环境下日志文件的有效采集,控制中心必须能协调智能体在各个分散的网段中正常移动,执行相应的挂起/继续运行的任务。对于正常情况下的Agent移动,控制中心仅需按照本文前述的移动智能体总体实现方案,根据配置好的路由方案,依次派出智能体即可。如果存在网络故障,按照默认的移动路线,将难以完成智能体后续的操作,此时,系统将故障节点挂起,继续向下一个节点移动。MABDIDS采用一种集中式容错策略。也即是在控制中心保留了移动Agent的原始备份,并实施跟踪,通过重发原始备份恢复失效的移动Agent。对移动Agent的跟踪,包括对移动Agent的派出和返回的双重跟踪,一旦出现故障,则调用相应的容错保护机制,重发智能体或者挂起该站点,继续向后继节点移动。
2.4 应用实例

是控制中心人机交互界面移动智能体任务执行程序,整个系统包括四个模块:

(1)数据采集模块:负责采集被监控的网络系统的连接数据,进行过滤和格式化处理,保存在日志文件中;并负责移动智能体的采集策略;

(2)入侵检测及响应模块:对各类日志文件进行分析,对比已知攻击行为的特征,利用人工智能、推理等检测手段,发现异常行为,实时警报;确保系统的实时性、灵活性、稳定性和资源占用;

(3)数据管理模块:保存和维护所有采集到的数据;

(4)查询模块:通过Web和程序方式,对各种历史数据、警报的查询和分析。

根据网络安全和木桶原理,网络系统的安全性主要取决于网络系统中薄弱的环节,然而安全策略的制定和实话在实际应用中相差甚远。MABDIDS使防护体系由静态到动态、由平面到立体,充分利用Agent的机动性和实时性,增强了IDS的整体工作效能。这种模式下的移动智能平台还可扩展到网管系统、扫描系统等。


  
上一篇:对于DES的差分能量分析攻击及其防范对策
下一篇:自适应调制技术及其性能分析

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料