基于中间件的分布式网络异常检测系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2006年第23卷・增刊微电子学与计算机
1引言
随着网络的发展,保证网络的安全与稳定也越来越为重要。网络异常检测是发现网络故障和安全问题进而及时解决问题的有效手段,然而网络规模的不断扩大和网络流量的不断增加使得网络异常检测面临挑战,异常检测的性能随着网络规模的扩大和网上业务的增多呈现下降趋势,如何快速有效的检测网络异常并提高检测的可靠性已成为一个研究热点。
本文引入了分布式计算的方法,设计了一种基于中间件的分布式网络异常检测系统,旨在用分布式计算的方法提高对海量网络数据的处理能力,保证检测的实时性和检测数据的可靠性。
2网络异常检测
这里提到的网络异常的范围较大,除了正常行为以外的网络行为都可以称为网络异常。造成这些异常的原因是多种多样的,包括:网络设备故障,网路超负荷,恶意的拒绝服务攻击,以及网络入侵等影响网络运输服务的行为。网络异常大体可以分为两类:第一类是关于网络故障和性能问题,例如文件服务器故障,广播风暴,虚假节点和瞬时拥塞等等。第二类网络异常是安全相关的问题,拒绝服务攻击和网络入侵就是这方面的例子。这些异常的一个共同点就是会导致巨大的网络通信流量变化。
检测网络异常的主要思路是:先通过一个足够长的训练阶段来定义出网络正常行为,再根据网络行为偏离正常行为的程度来判定异常是否发生。我们可以通过有规律的网络数据来定义网络正常行为,但这要依赖很多特殊因素,例如网络通信流量的变化,可获得的网络数据的变化,以及网络上运行的软件种类的变动,这些都将影响对网络正常行为的描述[2]。准确地获得网络性能检测数据对于异常检测是十分重要的一步,检测数据的来源主要有:第一是通过网络探针来获得网络行为测量值;第二是基于流统计的包过滤;第三是通过路由协议获取数据;第四是通过网管协议获取数据。网络异
基于中间件的分布式网络异常检测系统
陈宁军倪桂强潘志松姜劲松
(解放军理工大学指挥自动化学院,江苏南京210007)
摘要:文章介绍了网络异常的概念和思路,然后对中间件技术做了分析比较,重点提出了一种基于中间件的分布式网络异常检测系统。该系统采用CORBA实现分布式交互,能对网络异常进行分布式检测,与单点异常检测系统相比具有更高的实时性和处理数据的能力,对大型网络效果更好。本系统通过MIB变量相关联地剧烈突变来检测异常的发生。CORBA标准定义的比较完善的安全体系结构使本系统自身的安全性得到了保证。
关键词:网络异常检测,分布式,中间件,CORBA,MIB
中图分类号:TP393文献标识码:A文章编号:1000-7180(2006)S0-0015-03
ADistributedNetworkAnomalyDetectingSystemBasedon
CORBA
CHENNing-jun,NIGui-qiang,PANZhi-song,JIANGJin-song(CollegeofAutomaticCommanding,PLAUniversityofScienceandTechnology,Nanjing210007,China)
Abstract:Thispaperintroducetheconceptandthoughtofnetworkanomalydetection,thenanalyzeandcomparethetechniquesofmiddleware,andlayemphasisondesigningofadistributednetworkanomalydetectionsystembasedonmiddleware.ThesystemachievesdistributedcommunicationthroughCORBA,andcandetectnetworkanomaliesthroughdistributedway.Itismorereal-timeandhasbetterabilityondataprocessingcomparedwithsinglepointdetection,es-peciallyforlargenetwork.AnomalycanbedetectedthroughcorrelatedabruptchangesofMIBvariables.Thewellde-finedsecurityframeworkofCORBAhasensuredthisnetworkanomalydetectionsystem'sownsecurity.
Keywords:Networkanomalydetection,Distributed,Middleware,CORBA,MIB
收稿日期:2006-05-28
15
微电子学与计算机2006年第23卷・增刊
常的检测方法主要包括基于规则的方法,有限状态机,基于模式匹配的方法和基于统计分析的方法。
网络异常检测的计算量是很大的,随着网络规模的日益膨胀,计算量也越来越大,异常检测系统往往来不及处理获得的数据,这可能导致数据丢失和检测结果严重滞后,从而影响检测的实时性,不能及时报警和触发相应异常处理机制,于是就产生了分布式异常检测的思想。
3中间件技术的分析比较
中间件是一种独立的系统软件或服务程序,是一种构建分布式应用程序切实可行的软件,它屏蔽底层的异构性,为程序员提供一个简便的编程模型。当今流行的中间件平台有:JavaRMI,CORBA和COM/DCOM。CORBA的特点是互操作性和开放性好,平台兼容性和语言兼容性都很强;COM/DCOM是单一厂家提供的分布对象构件模型;JavaRMI是服务器市场的主流还是大型机和UNIX平台。
相比其它中间件,CORBA的优势有:第一,互操作性非常好,它能解决远程对象之间的互操作问题。第二,它是真正跨平台的。它可以比较平滑的运行于各个平台之上。第三,它的IDL语言是一种标准的接口定义语言,目前主流的编程语言都支持IDL语言,这就使CORBA有了其它中间件都不完全具备的跨语言性。综合考虑,我们选择CORBA来设计这个分布式网络异常检测系统。
4本网络异常检测系统的设计
4.1网络数据的采集
快速、准确、无遗漏地采集到网络数据是进行正确有效的网络异常检测的基础。取得网络数据的方法很多,上文一共提到了四种方法,本系统采用通过网管协议获得网络数据的方法。网管软件只能检测出很有限的网络异常,主要是网络中的硬件故障。我们的异常检测系统可以通过网管中的MIB的实例变量来获取网络数据。MIB实例变量提供了被管网络中每个节点的信息,这些信息的实时性较强,完全满足对网络进行实时异常检测的数据要求。对于没有被网管管理的网络,则采用安置网络探针的方式来采集网络数据。
4.2采用的异常检测方法
MIB变量随时间变化的曲线都是有规律的相对平缓的。研究发现,网络异常可以通过与网络通信流量相关联的MIB变量来描述[2]。先经过一个足够长的学习阶段,找出各MIB变量随时间变化的曲线的规律,描述网络正常运行时MIB变量值的范围,当异常发生时,与网络通信流量相关联的所有MIB变量的曲线几乎会同时发生剧烈的突变,超过正常值的范围并持续一段时间,我们可以利用这个规律来进行异常检测。判定规则为:当与网络通信流量相关的多个MIB变量关于时间的曲线同时发生持续一段时间的剧烈突变时就可以判定异常发生,如图1所示。然而与通信流量相关的MIB变量较多,如果只有部分变量变化时,如何判定异常呢?这里采用投票的方法,当超过半数的这种变量同时产生剧烈突变时,就认为异常发生了。也可以根据需要调整异常的判定标准。
4.3系统的体系结构
我们采用弱中心的方法,将检测分析模块分散部署在网络上,同各个网管代理相结合,分别进行数据采集和检测,并由一些子控制器分片管理各个分析模块,再通过一个中心控制器进行总体管理,同时接收各节点的告警并进行异常处理。对于没有网管的网络,采用探针来获取网络数据。该系统的结构如图2所示。各部分的功能描述如下:(1)中心控制器:负责定义各个分处理器所采用的检测策略和告警阈值,同时接收各个分处理器或者子控制器的异常告警,并且根据告警中提供的异常定位信息制定相应的异常处理措施;(2)子控制器:管理部分异常检测分处理器,根据中心控制器的指令控制分处理器,同时接收告警并上报中心控制器。具有一定的控制权限,可自行定义管理的分处理器的异常检测策略和告警阈值,并可以决定是否将异常告警上报,也可以根据情况对部分异常实施应急处理;(3)分处理器:负责对采集上来的网络数据进行分析。从网管代理的MIB实例库中获取网络数据,并用预先定义的检测策略来对该子网段进行异常检测,根据MIB
变量来定位异常发生的大
16