APP下载

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

2012-09-14李树文孙敏

太原学院学报(社会科学版) 2012年2期
关键词:分析模型数据包分布式

李树文,孙敏

(1.山西煤炭职业技术学院计算机信息系,山西太原 030031; 2.山西大学计算机与信息技术学院,山西太原 030006)

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

李树文1,孙敏2

(1.山西煤炭职业技术学院计算机信息系,山西太原 030031; 2.山西大学计算机与信息技术学院,山西太原 030006)

随着网络信息量及速度的急剧上升,入侵检测技术必然也随之改变,分布式入侵检测就是一个好的选择。本文构建出一个基于移动Agent分布式入侵检测模型;探讨了该模型的实现并对其性能进行了仿真实验验证。该模型采用“域内集中处理,域间互助协作”的工作方式,将整个受保护的网络划分成若干个域,每个域内是一个完整的中心分析型分布式入侵检测系统,域间地位平等,互相协作,共同完成分布式入侵检测。这样以来,既能克服单点故障问题,又便于管理,容易分析判别是本地攻击还是分布式攻击。

移动Agent;入侵检测系统;域

1 概述

现有的分布式入侵检测系统针对分布式入侵通常采用以下三种分析模型[1]:中心分析模型、层次分析模型、协作分析模型。中心分析模型网络负载较大、扩展性差、延时长、易出现单点故障,只适合用在规模较小的网络。层次分析模型网络负载大和单点故障的问题依然存在。协作分析模型单点复杂度增加、可扩展性差、网络传输负载重等等[2]。

2 结构设计

为解决以上问题本文构建的基于移动Agent的分布式入侵检测模型的结构如图1所示。

图1 改进后的分布式入侵检测模型

接下来详细介绍该模型主要模块的功能。

1) 控制台是整个分布式入侵检测系统的管理者与决策者,负责管理、控制、协调网络上的所有移动Agent,接收事件Agent报告的状态和报警等,并根据这些状态和报警分析决策出入侵行为是针对某个主机、某个网段还是整个网络并做出响应。另外,控制台还提供了人机交互界面,以便管理员可以及时了解整个系统的运行情况,必要时进行干预,参与控制台的分析与决策。

管理模块负责管理控制台内部各部件的正常运行,协调系统内各个组件的动态配置,监视系统各部件的运行状态。分析决策模块通过对管理模块送来的检测实体的状态、警报等信息进行分析,判定出攻击是针对某个主机、某个网段还是整个网络并做出响应。

2) 人机交互界面在控制台的管理和控制之内,不同的用户有不同的权限,登录时要经过严格的身份确认。

3) 入侵行为数据库存储着大量非法入侵行为、系统正常运行时的日志以及用户的合法行为。控制台指派移动Agent到目的地时,选择相应的非法入侵行为拷贝到检测实体的数据库中。

4) 移动Agent管理模块包括移动Agent管理、移动Agent安全确认和移动Agent表三部分组成。移动Agent管理包括创建移动Agent,为Agent分发密钥,执行认证和会话授权服务,经控制台把移动Agent派遣到目的地。移动Agent安全确认是检查Agent的完整性,确保分配的Agent是可用的、安全的。

Agent表有以下几个功能:一、存储有可疑行为主机的IP地址。每张表中存放所有遭到同种类型入侵的主机的IP地址,每个移动Agent派往的主机也在Agent表中一一记录,由此可以查看某个移动Agent在整个网络中的移动路线。二、Agent表中存储着每个Agent的ID。Agent的ID是由移动Agent管理器分配的唯一的身份标识。三、Agent表中还记录着每个Agent的功能。

5) 移动Agent数据库中存放着多种移动A-gent,等待控制台的指令,被派遣到指定的目的地执行任务。

6) 网络上所有的检测实体都有事件Agent和响应Agent。事件Agent利用本地入侵行为数据库中的信息,完成检测功能。如果某一行为经分析确认是本地入侵,记录后由响应Agent采取相应的处理措施并把处理结果向控制台报告。如果是无法判定的可疑行为则由事件Agent交给控制台来处理,并把处理后的结果更新到本地入侵行为数据库中。

3 模块设计

该模型中主要由数据收集模块、预处理模块、BP神经网络模块、专家系统模块和报警模块组成,检测网络和主机上的数据流,包括网络数据包、系统日志和用户行为日志[3]。图2为各个模块之间的关系示意图。

数据收集模块把收集到的网络数据包或主机系统日志送给分析决策模块;数据分析模块对数据包进行格式检查、分片重组等初步的过滤,根据数据包的协议类型调用相应的分析器进行分析,之后将所需的信息传递给预处理模块;预处理模块将数据转换成BP神经网络能够识别的格式;如果是训练数据,转换了格式后连同期望的给出一起送给BP神经网络;如果是需要检测的数据,先交给专家系统来判定,专家系统根据已知攻击的特征分析检测数据,若是特征相吻合则产生报警送给报警模块;若是专家系统无法判定的可疑行为则再交给BP神经网络来判别;待BP神经网络模块分析并做出判断,确定了是入侵行为后,报警模块通知监控管理模块采取一些相应的措施。

图2 主要模块关系示意图

4 事件Agent和响应Agent的设计与实现

1) 事件Agent的设计与实现

事件Agent包括数据收集和数据分析两个模块,主要进行数据收集与分类,数据收集主要是用网络探测器来完成。网络探测器能够发现网络上的攻击行为,通常被放在ISP(Internet Service Provide)和防火墙之间的区域,即非军事化区(Demilibozed Zone,DMZ),同时在防火墙内也安置网络探测器,这样既能检测到外部攻击,也能检测到内部攻击。

数据收集是进行分析和决策的前提,其准确性和实时性将会直接影响系统的整体性能。如果数据收集不及时,当系统检测到入侵时可能入侵者的攻击任务已经完成;如果收集到的数据本身不完整、不正确,系统自然就无法准确检测出攻击行为,可能会造成严重的后果。文中数据收集模块采用winpcap和snort或者winpcap和TCPdump相结合的方式,具有高效的捕获数据包的能力,通过对其参数的设置可以得到需要的数据包字段。

2) 响应Agent的设计与实现

响应Agent主要包括三部分:预处理模块、BP神经网络模块和专家系统模块。

预处理模块主要负责把数据收集模块即snort或TCPdump捕获的数据包转换成BP神经网络能够识别的格式。

事件分析器即BP神经网络模块,是整个入侵检测系统的核心,它负责判断出专家系统不能确定的可疑异常行为是不是攻击行为。如果输出层个数足够,它可以更充分地表达出被检测数据的信息,进而判断出是哪类攻击。输入来自预处理模块传来的数据或者来自事件产生器产生的二进制文件。输出包括期望输出和实际输出两种。期望输出是根据训练样本预先定义好的入侵行为;实际输出是对可疑行为的检测结果,可能是某种攻击行为或是正常行为,输出本质是一组在0~1之间的实数,在距0的某个范围内认为是0,在距1的某个范围内认为是1。[3]

5 实验仿真与分析

5.1 仿真实验环境设计

为了便于测试模型的性能,实验环境特做了如下简化:

1) 当测试分布式入侵检测系统的性能时,攻击主机可以直接在某网段上进行攻击;

2) 目标主机的操作系统由所要进行测试的项目而定;

3) 实验中用两台主机代表整个网络中两个不同的子域,每台主机采用VMware以网络地址转换(Network Address Translation,NAT)方式建立两台虚拟机[4]。NAT自动将服务功能赋于给虚拟交换机VMnet8,虚拟机连接到虚拟交换机VM-net8后,自动获取IP地址和网关。每台主机连同两台虚拟机代表一个子域,每台宿主机代表一个控制台并进行必要的设置,宿主机上的虚拟机代表控制台所管辖的域。这样只有两个域的虚拟网络便搭建起来了。

5.2 实验方法与过程

1) 收集数据

首先使用winpcap和snort或者winpcap和TCPdump获取数据包作为训练或检测的原始数据,用DARPA 1999用为评估数据集。

先用TCPdump把数据集存储为8组数据文件,每组有400个正常行为和400个异常行为(包括了典型的攻击行为);再将8组数据文件分成两个大组,一组用于训练,一组用于检测。

2) 预处理数据

将收集到的数据格式化,留下所需要的字段属性,并将其转换成二进制格式文件,训练样本里再附加上期望输出值。实验编码见表1所示。

表1 实验编码规则

3) 遗传算法及BP神经网络参数设置。遗传算法最大进化代数设为200,选择概率设为0.9,交叉率设为0.8,变异率设为0.09,种群交流概率设为0.6。BP神经网络输入层节点个数为164,隐含层节点个数为96,输出层节点个数为 3;隐含层传递函数选用tansig,输出层传递函数选用logsig,训练函数选用traingda,目标精度设为0.001,最大训练周期设为5000。

5.3 实验结果及分析

本文提出的分布式入侵检测模型实验结果见表2所示。

实验表明,将神经网络应用到分布式移动A-gent入侵检测系统中,可以达到较好的检测效果,提高系统的整体性能。采用改进的遗传算法优化的BP神经网络降低了检测的漏报率和误报率,提高了检测的准确率。实验中没有考虑子域与子域之间的协同工作和实时性等问题,假设在理想的协同下进行实验的,还有待于进一步的改进和提高。

[1]Dorothy E Denning.An Intrusion Detection Model[J].IEEE Transactions on Software Engineering,1987,13(2): 222-232.

[2]李生,唐学文,高工.基于移动代理的分布式入侵检测系统的研究[D].重庆大学,2009.

[3]吴宏伟,孙名松.基于改进BP神经网络的分布式入侵检测模型研究[D].哈尔滨理工大学,2005.

[4]刘志平,基于VMware虚拟网络的构建[J].内蒙古大学学报(自然科学版),2007,1(38):94-95.

[责任编辑:袁太生]

Mobile-agent-based Distributed Intrusion Detection System

LI Shu-wen1,Sun Min2
(1.Department of Computer Information,Shanxi Coal Vocational and Technical College,Taiyuan 030031,China; 2.School of Computer and Information Technology,Shanxi University,Taiyuan 030006,China)

This paper builds a model of Distributed Intrusion Detection System Based on mobile Agent and discusses the realization of the model,and simulation tests are carried out about its properties.The model takes the working method of“Collective disposition within a domain and mutual cooperation among domains".The protected network is divided into a number of domains,and each of them is a complete analysis center of distributed intrusion detection system.These domains have relatively equal positions,mutually cooperate,and complete distributed intrusion detection together.In this way,single point failures can be overcome,management becomes easy,and it is easily analyzed and discriminated whether the attack is locally aggressive or distributed.

mobile Agent;intrusion detection system;domain

TP393

A

1671-5977(2012)02-0125-04

2012-02-11

面向行为约束的可信Web服务组合方法研究,国家自然科学基金(61100058)

李树文(1973-),男,山西大同人,山西煤炭职业技术学院计算机信息系讲师,工学硕士,主研方向:网络安全,互联网技术。

猜你喜欢

分析模型数据包分布式
基于BERT-VGG16的多模态情感分析模型
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
层次分析模型在结核疾病预防控制系统中的应用
全启发式语言分析模型
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL