基于层次化多代理的分布式入侵检测系统_第1页
基于层次化多代理的分布式入侵检测系统_第2页
基于层次化多代理的分布式入侵检测系统_第3页
基于层次化多代理的分布式入侵检测系统_第4页
基于层次化多代理的分布式入侵检测系统_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于层次化多代理的分布式入侵检测系统 杨仕喜 河海大学,江苏南京(210098 ) E-mail:yangshixi 摘 要:随着入侵检测技术的发展, IDS 越来越呈现出分布性、智能性的特征。传统的基于 多Agent 的分布式入侵检测系统,往往采取一种分布式数据采集和层次化数据分析的方法。 这虽然使系统的逻辑结构简单严谨,却很大程度上限制了系统的分布性、智能性与实时响应 能力。本文提对传统的层次化结构的分布式入侵检测系统进行改进。为提高系统的健壮性, 提出一种三层协同工作的系统结构,并且在各层次内部通过多Agent 的协作来完成本层工作; 对传统的分布式入侵检测系统进行了有效的改进。 关键词

2、:多Agent 系统;分布式入侵检测;通信;协作 1. 引言 随着对入侵检测系统( Intrusion Detection System ,简称IDS) 研究的深入,如今的IDS逐 渐呈现出智能性、分布性的特点。在最近10 年中,入侵检测系统正走向这样一种结构:它们由 一组分布式的监测器构成,在这个结构中每个监测器都负责本地的检测并为全局检测提供信 息,如:DIDS1, AAFID1 (图1所示),EMERALD1和COIDS1 (图2所示)等等。可以发现, 它们实际上都是采取一种分布式数据采集和层次化的数据分析的方式来对网域进行监控。采 用这种方式来构造分布式入侵检测系统,具有结构简单、系统

3、的逻辑结构严谨的优点。但也有明显的不足,主要表现在三个方面: (1) 集中的分析构件承受的负载较高,使每个分析构建的负载达到动态的平衡比较困难; (2) 集中的分析构件可能会成为系统的瓶颈与单一的失败点2 ; (3) 多级层次化的分析降低了系统的实时性2 。 本文主要论述对传统的层次化结构的分布式入侵检测系统进行改进。为提高系统的健壮 性,提出一种三层协同工作的系统结构,并且在各层次内部通过多Agent 的协作来完成本层工 作;为提高系统实时性,检测精度与负载平衡,将原有一个分析构件分析功能划分成多个有针 对性的分析构件,使他们动态分布在整个网络。本文第2 节简介系统逻辑结构及各层次的代 理类

4、型及功能;第3 节给出基于层次协作技术的若干方法;第4 节给出了系统实现的关键技术与部分。最后总结我们的研究工作,并且讨论未来研究开展的思路。 2.系统介绍 设所监控的网域由一系列的局域网构成,则系统的逻辑上由3个层次的Agent 构成, 自底向上分别是:数据采集层,数据分析层,决策控制层; 如图3所示: 该结构一改以前多个数据采集代理向同一个代理发送所有数据,以及数据采集代理单一 的弊端,将数据采集代理与数据分析处理代理的功能更加的细化,形成数据采集层,数据分析处理层;加强各层次间代理的互动,减少了由集中式带来的各种不足; 下面简单介绍三个层次的代理类型: 数据采集层:数据采集层有主机数据采

5、集代理(Host Date Collect Agent,HDCA )与网络数据采集代理(Net Date Collect Agent,NDCA )3两种;主机采集代理主要采集主机系统 的系统日志和审计记录,并将其转化成标准格式数据提交数据分析处理层;采集主机时时运 行的性能数据;在有请求的情况下,协同其他代理监视主机的异常操作。网络数据采集代理 主要采集原始网络数据包作为数据源,进行简单协议分析,转化成标准格式数据提交到数据 分析处理层;主机数据采集代理在注册时,每台主机都拥有一个主机数据采集代理(HDCA) 和一个网络数据采集代理(NDCA); 数据分析处理层:根据网络协议分析原理4将数据分

6、析处理代理(Data Analysis Agent, DAA )进行分类(如图4所示),数据分析处理层包含Telnet_DAA、FTP_ DAA、HTTP_ DAA、SMTP_ DAA、DNS_ DAA、SNMP_ DAA、ICMP_ DAA和Other_ DAA八种代理,加上主机 数据分析处理代理(Host DAA,HDAA ),共九种代理;主机数据分析处理处理所属辖域 内所有主机数据采集提交的采集数据;Telnet_ DAA,FTP_ DAA,HTTP_ DAA,SMTP_ DAA,DNS_ DAA,SNMP_ DAA,ICMP_ DAA处理各自所属网络数据采集代理提交上的对应的网 络数据

7、;Other_ DAA处理不是上述协议类型的网络数据。数据分析处理代理根据需要分布 在整个网络系统的的计算机中,各个代理协同工作; 控制决策层: 1)中央控制部件:系统的核心部件,常驻IDS服务器中,控制和协调其他各代理的中 心,管理着系统中所有的代理及部件的运行。 2 )响应代理:根据数据处理层提交的数据分析结果,做出相应响应,如跟踪,切断网络通讯等。 3)优化代理:根据系统长期稳定运行的情况,先给出相对优化的模型;运行时,可根据实时的情况进行调整优化; 系统工作步骤: Step1: 系统初始化,IDS系统服务器初始化所有代理及模块,其中CU是中央控制部件, 所有移动代理的,移动,挂起都由此

8、CU发出; Step2: 主机A1 向CU发出注册请求,CU同意,派出HDCA1和NDCA1,并由优化代理指定HA1和NA1对应的数据提交代理; Step3: HDCA1采集主机实时数据,并将此数据提交给对应的主机数据分析代理。 Step4: NDCA1收集原始网络数据,进行协议分析分类;如:根据以太网协议规则4,应 在第13 个字节处有2个字节的第三层网络层协议标志,如为“0800”,可见以太网帧数据区域中携带的协议是IP协议。再从第24字节处起有1个字节的第四层传输层协议标志号,从图中 得知其值为“06”,可见IP帧中数据区域携带的协议为TCP协议。TCP协议表明,在第35字节 处,有2个

9、字节的应用层协议标志,即“端口号”,从图中知其值为“0050”,转为十进制为80 ,而端口号80知其是个HTTP访问。 Step5: 网络数据代理不但具有网络数据采集的功能,而且具有网络数据数据分析的功 能,根据主机运行的实时情况,执行数据提交策略(Data Submit Strategy,DSS ); Step6: 数据分析处理层各代理协同工作,遇到异常情况,可向响应代理发出响应请求; Step7: 优化代理实时检查数据分析处理层各代理运行情况,优化数据采集代理数据提 交对象;优化数据分析处理层各代理的数量和位置;整个系统实际上是一个互相合作的多Agent系统。为了能使这个多Agent系统能

10、顺利地运行并且实现分布式入侵检测的功能,必须建立合适的方法体系来实现Agent之间的协调与合作。 3. 层次化协同检测 我们将系统分成三个逻辑层;不但要实现各层同类代理之间的协作,而且要实现各层之 间的协作。 在以前的系统之中,每一个局域网只有一个网络数据采集代理,它将采集到的网络数据 基本上直接提交数据分析代理,功能比较单一;而在本系统中,每个主机都存在一个HDCA 与NDCA,HDCA将所采集到的主机数据去掉冗余后将数据转化称为标准格式,提交HDAA 进行分析。NDCA将所采集到的网络数据按照协议进行分类,实时判断主机运行状态,根据系统设置和主机的运行状态判定数据提交策略。 网络数据采集不

11、仅仅采集网络原始数据包,并且要按照协议分析将其分别归类,实时检 测所在主机的系统情况,根据实际运行情况使用如下数据提交策略(DSS ): (1)全部发送对应代理,本机不分析任何数据; (2)本机分析HTTP数据包,其它都发送到对应的数据分析代理中; (3)本机分析HTTP,FTP数据包,其它都发送到对应的数据分析代理中; (4)本机分析TCP数据包,其它都发送到对应的数据分析代理中; (5)本机分析UDP数据包,其它都发送到对应的数据分析代理中。 这样动态承担系统负载,使得系统整体处于最优化状态。优化代理是个移动代理,实时对网络数据采集代理提交的对象进行优化,主要是确定数据采集代理提交对象,已

12、经所需要经过的路由。不但使得数据分析层的各个代理所承担的负载动态平衡,而且使整个网络处于最优状态,不出现因为某个网络节点上的瓶颈导致整个系统性能下降。 数据分析处理层各代理的协同主要表现在:(一)合理配置数据分析处理层的移动代理 的类型,数量,位置;确保从网络数据采集层提供的分析数据能够及时准确的处理,并且对代理所在的主机运行影响最小。(二)同一类数据分析代理之间的协同,当一个数据分析代 理发现异常行为时,可与同类数据分析代理进行关联分析,特别是针对一些复合攻击时,可以及时了解其他同类代理的处理情况,使得处理简单明了。在我们的系统中,每个代理的分工明确,工作正常且整个系统趋于自动化,智能化。将

13、 数据分析处理代理细分生成一些处理专用数据的代理,这些代理所含的规则少,算法简单, 易移动,可直接派遣到目标主机直接处理流量大,数据单一的数据;比如处理tcp:4662端 口的eMule下载工具下载的数据。这样减少网络数据流量的同时也减少了流量增大对承载数据分析处理代理主机的负担。 4. 系统实现 为了实现上述基于移动代理的入侵检测系统,移动代理系统采用IBM 的Aglets5,主要使用其包含的一个移动代理服务器Tahiti,远程计算机运行Tahiti 服务器以提供移动代理运行环境.为了平台无关性,我们采用Java作为开发语言,开发工具为JDK1.42。 4.1 系统通讯 Agent间的通信是

14、系统的核心问题之一,Agent之间要能够可靠、安全、高效地传递信息。系统的通信包括主机内Agent之间的通信和主机间Agent之间的通信,这两者的要求不同。主 机内的通信为线程之间的通信,侧重于线程之间的同步和通信的效率;而主机间的通信则要重点考虑通信的安全性问题,需要建立一个安全的通信协议。前者,我们采用管道方式6,因为管道非常适合于在同一主机内的两个线程之间交换大量的数据,并且能很好地解决线程 之间的同步问题。对于同一主机内Agent间大量数据的传输(数据源Agent和分析Agent之间的数据交换)适宜采用管道的形式。后者,采用TCP为传输层协议,通信双方通过特定的协议消息来传递会话控制消

15、息和系统消息,协议消息用来封装会话控制消息和系统消息。 4.2 数据采集与分析处理的实现 入侵检测系统的数据源主要包括基于主机的数据源和基于网络的数据源。基于主机的数 据源主要是指操作系统审计日志和各种应用程序日志等,基于主机的数据源可以提供较为完 备的日志信息。应用程序日志是从面向用户活动的层次来记录系统活动的用户级抽象信息, 除去了大量的冗余信息,更易于理解和分析。基于主机的数据采集应该结合操作系统行为和 用户行为来进行判定,对特定事件从多方面证据来进行检测,从而提高准确性。 基于网络的数据源主要是指实时网络原始数据包的采集。使用JPCAP(Java Package for Libpcap

16、)5开发包来捕捉网络链路上的数据包;按照协议分析,捕捉到的数据包分类发送对 应的数据处理代理中去;我们将数据分析处理代理按照网络协议的特征进行分类,并将规则按照数据分析处理代理的类型进行分类;每个数据分析处理代理拥有自己的分析策略与规则库;对于数据采集代理提交的数据,直接进行对应的处理;它即减少数据处理代理分析的工作量,提高运行效率,又减少了分析处理代理在移动过程中的资源消耗。 4.3 实验结果 实验表明,即使在重载的高速网络上,大量的包也可以被及时地分析,遗漏少,降低了漏报 率;正确性高,数据采集层按协议分析的方法将采集到数据提交到对应的数据分析处理代理, 使得每个代理的策略算法都具有针对性

17、,也减少了简单模式匹配方式中大量的误报,因为它 知道每种协议中潜在的攻击行为所在的精确位置,每种特征的真正含义被理解了;负载平衡得 到了保障,由于将数据分析处理层的代理进行了细化,使得数据得到及时的处理,但数量的量增大时对代理所在主机的影响也比较小;扩展性强,每个代理比以往的代理更加小巧灵活, 代理可以及时得到更新,代理的增加,移动对系统的资源消耗比较小。可以检测分片攻击和 协议验证,如果IP协议被分片,包首先在网络采集时就被重组,然后再细节地分析攻击行为,采用重组技术,系统可以检测出利用躲避技术的攻击,如包分片,TCP,RPC 分段边界欺骗等。 5.结束语 层次化主动协同和移动代理技术应用到

18、分布式网络入侵检测系统中,有以下优点: 能实现全局范围内的入侵检测功能,具有清晰的系统结构和良好的可扩展性;具有优良的可移植性能;对网络系统和主机资源的占用较低,减少了出现瓶颈的可能。如何优化局部系统和全局系统,使系统处于最优化状态,是我们今后重点深入研究的内容。 参考文献 1 Eugene H. Spa.ord, Diego Zamboni. Intrusion detection using autonomous agents. Computer Networks, 2000 ,34:547-570. 2 Shu-Ching Chen, LiWu Chang. A Distributed Agen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论