Mobile Agent Based Intelligent Distributed Intrusion Detection System Model
WANG Hai-xing1, WAN Yan1
(1. College of Computer Science & Technology of Donghua University, Shanghai, 200051, China);
Abstract: Intrusion Detection System is used to monitor attack from Internet, but the past structure is difficult to adapt the structure of the high-speed network nowadays, taking misstatements and frequent omissions as example.Moreover they have not analyzed the data to intelligent automatic update detection mechanism or other rules, the heavy workload of network management and Intrusion Detection System is independent of each other . In order to solve the above problems, we proposed a Mobile Agent Based Intelligent Distributed Intrusion Detection System Model.
Keywords: Mobile Agent; Manager Agent; NIDS;HIDS; Mobile Agent Based Intelligent Distributed Intrusion Detection System Model;
1 引 言
入侵检测系统(Intrusion Detection System,IDS) 的作用是监控网络和计算机系统是否被入侵的防护工具。作为监控和识别攻击的标准解决方案,IDS系统已经成为安全防护体系的重要组成部分。
目前的IDS从本质上说可以分成两类:基于主机的IDS(HIDS)和基于网络型的IDS(NIDS)。HIDS是在操作系统应用程序或内核层次上对攻击进行监控。 HIDS有权检查日志、错误消息、服务和应用程序权限,以及受监控主机的任何可用资源。NIDS是放置在网络基础设施的关键区域,监控流向其他主机的流量。 NIDS 由于成本比HIDS更低,通过很少的检测设备就能保护一大片网段,所以更容易被人们所接受。
然而,由于设计上的因素,NIDS存在一些固有的缺点。NIDS为了保持效率就必须非常高效地捕获网络上的大流量数据。而且IDS必须有效地发现新的攻击行为,并把当前分布在各处的各种各样的攻击报告给各地的网络管理员,然而各地的网络管理员之间并没有任何的合作,彼此之间相互独立而且信息不能共享,从而使一些有效的信息浪费,所以必须设法使得各种系统之间能够相互合作,当然这就涉及到了它们之间的安全问题,所以也有必要建立一个互信的安全机制。另外,入侵检测的结果的可靠性和检测方法的更新都必须得到解决。
为了解决上述这些问题,我们提出了基于移动代理(Mobile Agent,MA)平台的智能化分布式模型。本文主要包含以下内容:传统IDS 模型与基于MA的IDS模型之间的比较,一个大规模基于MA的分布式入侵监测系统(MADIDS)模型,中间涉及到的一些关键的实现,以及一些主要部件的功能介绍。
2 MADIDS模型的特点
如今,网络管理员在处理网络入侵中遇到的最大的问题是:
(1) 需要分析大流量的网络数据。如超过5GB/s的大流量;
(2) 需要有全局的网络结构图;
(3) 需要有移交数据系统。
大多数的组织都采用的是NIDS。但是NIDS对网络流量的限制的同时,也限制了它的使用,使它不能运用到更广阔的网络环境中去,为了说明为什么基于MA的分布式模型是一种更好的方法,我们将两种实现方法进行一个简单的对比。
以往的一些IDS的实现是依靠一些传感器来收集数据,然后将其传送给收集器来分析和发出报警。网管使用控制台连接到收集器来收集和分析报警。其中比较典型的就是Snort, 它是一种开源的IDS[1]。这种方法的优点是:
(1) 安装每个传感器很方便。配置一个小系统是很快的;
(2) 传感器可以存在于几乎每一种平台上;
(3) 传感器的定位是很容易的;
(4) 这种传感器的执行很容易变化去收集特定的行为。
缺点是:
在较高的网络负荷下出现丢包,比如Snort在流量超过500Mbit/s时,它就无法工作。
(1) 如果一个传感器出问题,就不会再有数据被提交;
(2) 这种类型的IDS对拒绝服务式攻击(DoS, Denial of Service)的防御太差;
(3) 传感器的性能好坏依赖于计算机硬件,所以它很难有大的提高;
(4) 传感器来的相关数据不能很好地进行实时分析;
(5) 没有一个使每个传感器都安全的设施;
(6) 当需要更新时,你不得不分别对每一个传感器单独更新。
使用Mobile Agent的IDS是一个全新的方法。 它的提出主要是为了解决传统的IDS的缺陷,比如:可以监控超大规模的网络、容易扩充新的方法和减少网管负担等。
这种方法的优点有:
(1) 它适用于大型的网络,对高网络流量环境有着无可比拟的优势;
(2) 对于DoS来说它有更好的抵抗性。如果某台计算机资源被耗尽,代理可以移到另外的机器上继续运行;
(3) 由于它的可移动性以及平台无关性和适应异构网络,所以它能够很好地扩充IDS 的性能;
(4) 相互之间的协调更加容易,因为基于MA的平台有专门通信的语言;
(5) 它的安全性也表现得更好,它有更灵活的安全保护措施, 比如说Agent之间的身份认证,Agent的传输保护和采用“黑盒子技术(SandBox)”等[3];
(6) 可以智能化地分析并动态更新规则库, 从而减少了误报和漏报的可能, 进一步提高了监测的实时性。
由上面可以看出,利用MA方法可以解决传统的NIDS的模型的一些关键的缺陷, 从而使入侵检测系统更加完美。
在防御的整个布局上, 比如HIDS与NIDS混合使用就能成为深度防御的有效组件,来达到一个小规模系统的完全的入侵检测方法,它除了用NIDS提供对一片网络基础设施的保护之外,还用HIDS为一些关键的主机提供了必要的保护。而基于Mobile Agent的智能化分布式的入侵检测方法由于可以适应更大流量的网络环境,并且有分布式的信息共享机制,它的实现也不需要占用太多的网络资源,所以可以在不影响整个系统的性能上,提供一个更大范围的合作保护模式,从而可以使用它实现更大规模系统的入侵检测。
3 移动代理技术
移动代理(Mobile Agent,简称MA)是一个能在异构计算机网络中的主机间自主地迁移的程序,它在汲取传统分布计算技术的有益经验的基础上,为分布计算提供了一个全新的范型。可以将Mobile Agent 定义为:“具有跨平台持续运行、自我控制移动能力,模拟人类行为关系,并能够提供一定人工智能服务的程序”。其突出特征就是Agent实体的运行不是固定在一台机器上,而是可以在多台机器上。移动代理的特点在于移动上,它可以选择何时进行迁移,移动到何地。主要表现在每个代理可以在执行的任意点上挂起并将自己传送到另一台主机上,然后在该处继续执行,任务结束后将执行结果返回给原主机。它还可以执行克隆等操作,产生子代理共同完成任务[2]。
与传统的代理相比,移动代理有许多独特的特性:
(1) 动态迁移
在传统的构架中,代理是固定在特定的主机上的。工作时,需要将得到的数据发送给上一级处理器,或者其他代理。这样,需要一个比较复杂的通信过程。而移动代理则可以在运行期间直接进行主机间的迁移。
(2) 智能性
由于移动代理可以自由地在主机之间进行迁移,使得代理的运行场地不再局限在某一个特定位置,从而比较容易获得全面和有针对性的数据。在这些数据的基础上,代理可以充分利用现有的人工智能和统计技术,作出更加及时和准确的判断。这种特性使得移动代理与传统代理相比,可以更有效地自主完成某一个特定的任务。
(3) 平台无关性
多数移动代理采用与平台无关的语言,这样的程序可以跨平台运行。由于主流的平台无关语言例如Java在各种操作系统上都有其相应的实现,所以选用这些语言的移动代理可以很容易地完成跨平台的连接。另外,一般的移动代理体系都建立了与移动代理相配套的平台无关的通信协议。通过这些协议,代理之间无须建立直接的通信连接,而是利用虚拟机提供相应的消息服务,简化消息传递的操作。在这个基础上,可以更容易地开发异构平台上的应用系统。
(4) 低网络数据流量
由于结构上的特殊性,移动代理可以实时对所采集到的数据进行过滤,然后将关键数据提取出来,而无需像传统的代理体系那样,将各个主机的所有数据都汇集到一个中央服务器中,由这个服务器进行综合处理,然后再向相关的代理转发。这样,可以明显减少经过网络上的数据流量,提高网络的总体性能。
(5) 多代理合作方便
多代理合作是移动代理的一个重要特性。比如说相同代理之间相互协作,可以在单个代理失效时由候补代理完成其功能。或者是多种不同功能的代理相互合作来完成共同的目标。
4 智能化分布式的MADIDS
该系统解决以下几个关键问题:
(1) 信息收集和过滤
代理分析结果必须保证所分析的结果是有价值的信息。这里最重要的问题是如何评估信息的有效性。这里我们把信息分成几类分别存入数据库。
代理根据一定的规则过滤出的有效信息必须存放到一个综合数据库中,以方便Manager Agent 的查询。
(2) 安全信任等级
在实际的IDS 中,误报和漏报信息是时常发生的事情,为了得到满意的结果,每一个Analyzer Agent 都需对其它的 Analyzer Agent有一个信任等级,来决定某条信息是否计算在内。同样的,对于处于不同的网络来说(比如网络一和网络二),它们之间也应该有类似的信任等级做为参考,以便做出合理的选择。
(3) Agent之间的通信
Agent之间有时要进行相互协调的工作, 因此Agent通信是必要的,但是通信中涉及到了Agent之间的安全性。这包括Agent之间数据传输的安全,Agent对绝密数据的保护与传播机制。
如图1所示,局部的基于MA的入侵检测分析,它们之间各个部分及其作用有:

图1
收集代理(Collector Agent):
这种Agent将通过网络分布式克隆到其他主机上, Agent根据一定的标准确保收集到信息。之后分配给Correlator Agent。
合作代理(Correlator Agent):
这种Agent 将分析从不同的Collector Agent来的信息,从而决定某条信息对某个Analyzer Agent是否有用。在这种情况下Correlator Agent 将会直接和相关的Agent通信,而且不通过Manager Agent。如果不能决定则将其传送给Manager Agent, 这个功能有点像Snort 中的预处理。
分析代理(Analyzer Agent):
Analyzer Agents是解决问题的引擎。通过各种分析比如传统的特征分析,动作分析和新的基于抽象解释的安全协议分析。 它是由Manager Agent所创建并分配的。
管理代理(Manager Agent):
这种Agent是整个这套系统的分布中心,大部分的主要功能都要依赖与它,而且它也是这个模型的核心部分,这种Agent的任务主要有:
(1) 根据收集到的不同信息,和一定的算法分析出的不同的结果决定是否创建和回收一个Analyzer Agent;
(2) 接收Correlator Agent收集未处理的信息,进行分析得出结论。如有必要就发送一个Mobile Agent去其它网络上收集信息来做决定;
(3) 提供一个与网络管理员交流的界面,方便管理员及时了解系统运行状况;
(4) 提供一个与外部网络的接口,来与外部系统交流,如提供查询服务和发送询问Mobile Agent到其它的系统中去;
(5) 能够访问本地数据库;
(6) 能够依据一定的算法自主地决定行为,和更新规则库实现智能化。
如图2中,网络与网络之间的联系也都是靠各个网络中的Manager Agent来完成的,下面介绍一个典型的例子来说明这种模式的工作方法:

图2
某个Manager Agent A要问 Manager Agent B:“XXX 用户是否被授权”,Manager Agent B要做出相应的决定,比如说拒绝Manager Agent A的询问,还是无法解释它的问题,或是帮Manager A查询用户在本地的情况(如:是否执行了代码,执行了何种代码)。如果有必要,Manager Agent B将会发一个Mobile Agent去询问Manager Agent C,同样依据上述方法.
5 结 论
本文中,主要介绍了一个基于移动代理的智能化分布式的入侵检测系统(MADIDS)模型。总的来说这个结构还是基于移动代理的,利用移动代理的优点主要有:可以使检测系统更加智能化;并能实现全局范围内的入侵检测功能,具有清晰的系统结构和良好的可扩展性;具有很好的可移植性;对网络和主机资源的占用较低。由这些特点可以看出,这种方法非常符合入侵检测未来的发展方向。之后我们简要介绍了这种全新的入侵检测体系结构,很好地解决了传统的IDS中存在的问题。但是,在它的具体实现方面并没有涉及很多,比如对Agent之间的通信机制,任务的分解与调度,资源管理策略,和他们之间的合作模型及交互策略,以及Agent的安全性等都没有做详细的介绍。现阶段主要工作是提出一个合理的可实现模型,或完成一个简单的实现,从而在这个简单实现的基础之上进行完善和修改,或者进行反复验证以得到最好的效果。
参考文献
[1] Jack Koziol. Intrusion Detection with Snort[M].北京: 机械工业出版社, 2005.
[2] 张云勇, 刘锦德. 移动Agent技术[M]. 北京: 清华大学出版社, 2004.
[3] 何炎祥, 陈莘萌. Agent和多Agent系统的设计和应用[M],武汉大学出版社,2001
[4] Nabil EL KADHI, Elie BURSTEIN. Toward Agent IDS: agent platform security features study[J], 2003.
[5] Taraka D. Peddireddy; University of South Carolina; Columbia.
[6] Min-Hui Lin , Chin-Chen Chang, Yan-Ren Chen. A fair and secure mobile agent environment based on blind signature and proxy host. Computers&Security[J], 2004.
作者简介:
王海星(1981-),男(汉族),内蒙古巴彦淖尔市,东华大学计算机应用系硕士研究生,主要从事移动代理应用、数据挖掘等研究。
万燕(1970-),女(汉族),江苏,东华大学计算机学院,副教授,主要从事移动代理、嵌入式系统、决策支持等研究。