Agent技术在分布式入侵检测系统中的应用

发表于:2007-10-19来源:作者:点击数: 标签:
移动Agent技术 移动Agent是一种软件对象,它能携带执行代码、数据和运行状态,在复杂的网络中自治的、有目的迁移,并能响应外部事件,在迁移过程中能保持状态的一致性。移动Agent就是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可与其它Agent或
移动Agent技术
  移动Agent是一种软件对象,它能携带执行代码、数据和运行状态,在复杂的网络中自治的、有目的迁移,并能响应外部事件,在迁移过程中能保持状态的一致性。移动Agent就是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可与其它Agent或资源交互的程序。

  移动Agent技术是分布式技术和Agent技术相结合的产物,它除了具有智能Agent 的最基本特性:自主能力、社交能力、适应能力和一致主动性,还具有移动能力、可靠性和安全性。移动Agent不同于基于过程的RPC,也不同于面向对象的对象引用,其独特的对象传递思想和卓越的特性给分布式计算乃至开发系统带来了巨大的革新。移动Agent技术在实际中得到了广泛的应用,主要应用于电子商务、分布式信息检索、无线通信服务、入侵检测和网络管理等方面。本文仅讨论移动Agent技术在网络入侵检测方面的应用。

  基于移动Agent的分布式入侵检测系统
  该系统模型由如下3部分组成:(1)入侵检测处理部件(Intrusion Detection Processor,IDP);(2) 移动Agent 平台( Mobile Agent Platform,MAP);(3) 网络溴探器(Sniffer)。

  入侵检测处理部件(Intrusion Detection Processor,IDP):该部件是系统的基础,它被安装在一个关键的节点上,主要负责网络监控、中心入侵检测、Agent数据处理。网络中的审计数据由移动Agent送往中央处理部件进行包的解码和处理工作,IDP负责监控此Agent在网络中的移动,并且当发现异常活动时引导Agent定位关键节点,当检测到有问题包时,还负责发出报警信号。为了保证与移动Agent合适的交互作用,IDP需要与移动Agent平台交换数据和信息。该部件有3个主要的功能:包检测(packet sensing),包记载(packet logging),入侵检测。IDP提供的入侵检测服务主要有以下几种:
  a. 监控网络流;

  b. 集成由单个移动Agent发送来的相关数据,实现多点检测,处理来自网络内部的分布式攻击;
  c. 通过扫描包来监控网络内部的连接;
  d. 搜集在某时间窗口内攻击者行为的证据;

  移动Agent 平台( Mobile Agent Platform,MAP):MAP可以建立、解释、执行、传输、和终止Agents。MAP主要负责接受来自IDP的请求,产生移动Agent,并且将它们发送到网络中去执行特定的任务(例如,开始监控,向IDP回送搜集到的数据等等)。

  网络溴探器(Sniffer):嗅探器是网络黑客(Cracker)经常采用的、有效的工具之一。所谓嗅探器,是指在运行以太网协议、TCP/1P协议、IPX协议或者其他协议的网络上,可以攫取网络信息流的软件或硬件。嗅探器不同于一般的键捕获工具,后者只能捕获当地终端控制台上的按键内容,而嗅探器所“嗅”到的是动态的以信息包形式(如IP数据包或者以太网包)封装的信息流.其中可能携带了重要数据或敏感信息。嗅探器可以捕获这些信息包并存档,利用相应工具可以作进一步分析。

   IDP、MAP、Sniffer之间的关系: 系统初启时,IDP启动自己的Sniffer并且向MAP发送一个‘START’请求。MAP接到来自IDP的请求后,建立Agent并将它们发往网络。此时,若一个Agent在行程中向IDP发送一个报告,引起一个报警,IDP将向该Agent发送一个消息使它再次激活Sniffer,并且试图搜集较多的有关当前攻击的证据用于研究攻击行为。 IDP将提示MAP建立一个新的Agent用于接管前Agent的任务,这样一来,网络中将有较多的活动Sniffers,以较快的速度响应报警。

  系统中的Agent组成及功能:
  在系统中,依据功能的不同我们将Agent分为以下两大类六种Agent[3][4]:
  1)静态Agent
  · 管理Agent (Manager Agent) 它的主要任务是根据需要分别动态地将配置Agent、巡逻Agent、派遣Agent及防御Agent以移动Agent的形式发送到服务器、工作站、网关、用户PC机以及座落在网络边界对网络链路流量进行过滤的侦听计算机上以便对整个网络的入侵进行检测、告警和防御。

  ·主机监控Agent(Host Monitor Agent,HMA) 网络中每一台受监控的主机上都安装有一个HMA,负责与其它Agent合作完成局部检测。当某受控主机上的入侵可以确定时,该主机上的HMA 直接向管理Agent报告,否则向管理Agent发送求助信息同时记下可疑活动。当管理Agent收到求助请求后,它将派遣一个Agent到网络上其它节点巡视,搜集相关信息,确定是否不同主机上的可疑活动组合起来构成一个分布式入侵。如果检测到一个分布式入侵,管理Agent将发送一个响应Agent做出智能响应。

  · 配置Agent(Configuration Agent) 每当主机上的一个用户请求连接时,该主机上的配置Agent即开始执行。它的功能就是提供用户接口以及其它移动Agent在本主机上执行的一些配置。

  2)移动Agent(Mobile Agent)
  ·巡逻Agent(Patrol Agent) 它在网络中所有主机上巡逻,在巡逻到的主机上搜集连接到该主机上的用户信息或流量数据,并检测可疑的用户行为。当发现可疑行为时,它就向管理Agent发送求助信息。

  ·派遣Agent(Dispatch Agent) 一组含有能够鉴别某种类型入侵的智能Agent,它们由管理Agent派遣到有可疑行为的主机上,通过对比、协商来共同确定可疑行为是否为入侵,并将结果报告给管理Agent。

  ·响应Agent(Response Agent) 当出现入侵时,由管理Agent将其发送到被入侵主机上以取消非法用户连接和阻塞非法用户帐号的形式来防御入侵。

  3、分布式入侵检测系统中使用移动Agent技术所存在的问题
  将移动Agent技术应用于入侵检测可以带来诸多的优点[4][5]:减少网络负载、克服网络拥塞、自治执行、与平台无关、动态自适应、静态自适应、可扩展等等。但是Agent和Agent平台的引入也带来了许多问题:

  ·安全性 一方面,外来的恶意移动Agent试图获取信息的访问权,延缓或终止移动Agent运行环境的工作,篡改或销毁信息资源;另一方面,恶意移动Agent环境试图通过篡改信息或修改移动Agent的编码来扰乱、干涉或终止移动Agent的正常工作;恶意移动Agent试图在与其它移动Agent协商中提供假信息或监视和干涉其他移动Agent的正常活动。

   这些安全威胁在很大程度上都不同于一般的分布式系统和传统的入侵检测系统所面临的安全威胁,因为它们很难被准确定位(上述第二种情况除外),要预防和消除此类安全威胁存在不少困难,主要原因有两个:移动Agent有时需要在安全区域外移动和独立工作,但在一个未知运行环境中运行很难保证此移动Agent的安全。其次,当移动Agent从一个运行环境中移动到另一个运行环境中执行时,接受运行环境无法判断此移动Agent是否已经被篡改,而移动Agent也无法判断此运行环境是否存在恶意的攻击。

  ·代码大小 入侵检测系统是一个复杂的软件系统,实现其功能的Agent代码会很大,在网络中传输Agent会消耗系统时间。

  ·性能 为保证在不同平台之间容易移植,Agent常常使用脚本语言或解释性语言编写代码。这种执行模式相比较使用非脚本语言和解释性语言(如java语言和C++语言)性能较低。特别地,当一个入侵检测系统必须处理大量具有较强实时要求的数据时,使用移动Agent会降低系统性能。

  4、入侵检测未来发展趋势

   移动Agent技术可以有效地提高分布式入侵检测系统的灵活性和合作检测能力。它的主要特点是:代替传统的系统中将大量的数据移向处理部件,使用移动Agent只需将代码(Agent)移向要处理的数据,从而避免了在网络中传输大量的数据造成网络拥塞。特别地,由于移动性,使得系统可以借助相关数据分析合作检测找到分布式入侵。

   随着网络的不断发展,入侵检测系统作为一种网络安全系统的重要组成部分,仍然将发挥越来越重要的作用。预测它的发展趋势如下:

   (1)检测模型走向自适应。自适应模型结合了自学习系统的优点和特征系统的检测效率,这种混合模型已经被学术界公认为发展特点;

   (2)大规模分布式入侵检测技术研究。其中的关键技术为检测信息的协同处理与入侵攻击的全局信息提取;

   (3)面向应用的入侵检测。由于应用程序解释的各种不同类型的数据(如加密过的数据),它们的语义只有在应用层才能理解,若想能够分析并理解这些数据,入侵检测系统必须面向应用层。现在已经有了如何进行应用程序级入侵检测的初步分析。可以预见,应用层的入侵检测将成为新一代的入侵检测系统的特色。这样,入侵检测系统就成为一个以主机为中心,以网络为扩展面,以应用程序为高度的立体式的、全面的复杂系统;

   (4)入侵检测系统应该标准化,增强入侵检测系统的互操作性。目前,入侵检测系统的研究基本上没有标准化,入侵检测系统之间与其它安全产品之间的互操作性很差。多个系统的相互配合有利于应对攻击规模的扩大化,也有助于检测一些新型的入侵攻击方式;

   (5)安全性需要增强。作为安全防护体系中的重要组成部分,入侵检测系统必须加强本身的安全性。

原文转自:http://www.ltesting.net