通信学论文-基于信息共享的协同入侵检测模型研究.doc_第1页
通信学论文-基于信息共享的协同入侵检测模型研究.doc_第2页
通信学论文-基于信息共享的协同入侵检测模型研究.doc_第3页
通信学论文-基于信息共享的协同入侵检测模型研究.doc_第4页
通信学论文-基于信息共享的协同入侵检测模型研究.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

通信学论文-基于信息共享的协同入侵检测模型研究摘要针对传统的IDS检测手段单一、误报率高的不足,研究如何在入侵检测中引入协作。提出了基于信息共享的协同入侵检测模型和算法。该模型独立于具体的系统,从而为通用的协同入侵检测系统提供了一个框架。协同入侵检测算法包括基于时间密度的抗噪声聚类算法和警报关联分析算法。在此基础上,实现了一个原型系统,并结合数据集测试方法对原型系统进行了测试,验证了模型和算法的可行性和有效性。关键词入侵检测;计算机支持的协同工作;CSCW1介绍随着入侵检测技术的发展和成熟,入侵检测系统已经成为安全防卫体系中一个重要的环节。对于有些IDS来说,对于某类攻击事件的危害结果只能反馈“非常严重”、“严重”、“中等”、“一般”等模糊的等级名字,而没有一个明确的界定和信息,这样就使用户很难了解某一个攻击事件究竟会对系统的哪些地方进行攻击、攻击到什么程度、可能会带来什么样的后果,即使用户知道一个攻击事件是严重的,也无法了解其具体细节,也就发有的放矢地采取具体的技术防范措施。这也是IDS产生大量报警信息,无法发挥其作用的原因所在。为了增强IDS的有效性,分布式入侵检测得到了广泛的应用,它们通常具有多个检测单元,这些检测单元给出抽象层次比较低的警报,需要进行协同分析和综合,从而生成更高层次的警报。分布式入侵检测系统通常可以分为分布式多数据源采集和分布式多引擎协作式入侵检测,前者采用相同的检测引擎,但是在数据采集上进行多点采集,丰富了检测数据的来源;后者则采用不同的检测引擎,可以弥补单一引擎的缺陷和盲点,但是由于各个检测引擎的警报格式有差异,因此需要有相应的机制保证警报处理时的信息互享。上述两种分布式入侵检测都会带来一个同样的问题,即造成警报和日志的数量的海量增加。就目前的现状来看,IDS还不能做到完全的自动化,对于检测结果的最终确认必须有管理员的参与,而数量庞大的警报和日志往往超出了管理员的处理能力,因此必须找到办法来解决这一问题。2协同入侵检测模型“协同”最初是一个社会学的概念,更多地用于描述人与人之间的分工与协作。在实际应用中,通过恰当地划分工作并利用群体优势互补来做到这两点。人与人之间的协作比较容易理解:“尺有所长,寸有所短。”通过恰当地划分待完成的任务,根据各人的特长分配不同的工作,使每一项工作都能最好、最快地完成。这样不但能完成个人无法完成的工作,而且提高了工作效率。相对而言,计算机系统之间的协作显得有些费解。虽然在理论上通用计算机系统可以通过安装所需的硬件与软件而实现所需的功能,但在设计与制造时出于成本的考虑,单个计算机系统的能力与可扩展性都是有限的。这使不同的计算机具有不同的计算能力,相应地适合不同的任务,也就在某种程度上具备“特长”。网络的出现使单个计算机系统之间可以共享资源,从而更进一步扩展了可利用的资源。基于网络的应用充分利用这一点,使联网的单个计算机系统发挥更大的作用。具体到入侵检测系统,协作的意义在于多个检测组件通过协作能获得同样数量的相互独立的多个入侵检测系统所不能获知的信息,并在此基础上对信息进行进一步的提炼和取舍,从而达到更好的检测效果。本文提出了入侵检测协作的三个不同层次:通信协议的格式规范,多检测引擎的信息共享和基于知识的协同工作支持。如图1所示。图1入侵检测协作的三个层次本文重点致力于信息共享的协作研究,提出了基于信息共享的协同检测模型。在检测模型中,“个体”是单个检测组件,而“群体”是由这些个体组成的“协同入侵检测系统”。图2给出了协同检测模型,它与传统模型最大的不同在于引入了协作服务:多个检测组件在协作服务的支持下检测入侵,达到比独立工作的多个入侵检测系统更好的检测效果。协同检测模型可以简单地划分成检测组件与协作服务两部分。图2中有两个检测组件,实际系统可以有更多检测组件。检测组件的特点之一在于与协作服务的接口,这使得检测组件是开放的既可以接受来自协作方的数据,也可以为协作方提供数据,协作服务为检测组件提供协作服务,支持协同检测。图2协同入侵检测模型2.1协作服务的内容协作服务的内容主要包括:(1)可用数据与规则的检索。数据与规则集中存放在数据库中。这里提供的可用数据与规则检测功能并非面向用户,而是面向检测组件。(2)计算数据相关性。当检测组件提出数据请求时,根据请求的数据描述,计算可用数据的相关性,将相关性满足需要的数据返回。(3)转发协作请求。当数据库中没有可用的相关数据时,把数据请求转发给其它检测组件,由它们直接响应数据请求。对规则请求也作同样处理。(4)维护待订规则表。当数据库中没有可用的相关规则,而且没有检测组件响应规则请求时,就把提求的请求添加到待订规则表,通知用户制订相应的新规则。2.2信息共享方式在协同检测模型中,检测组件之间通过协作服务来共享数据,组件间共享数据在改善检测效果的同时也会带来系统通信的额外开销。组件间的共享策略可以分为两种:策略一:检测组件共享所有数据,如果检测组件IDC1与IDC2之间共享所有数据,这样的好处是数据最全,而问题在于通信开销也最大,同时IDC1与IDC2各自需要处理的数据量也最大,如果检测组件增加的话,处理的数据量呈爆炸性增长。策略二:检测组件共享相关数据,如果IDC1与IDC2之间仅共享相关数据,则IDC1与IDC2之间通信开销以及各自需要处理的数据量都会明显减少,这样做需要解决的一个问题是如何提取数据的相关性,利用相关数据来提高分析的准确性和提高检测组件的处理效率。无论是通信开销还是分析效率,第二种共享策略均有更优异的表现,因此本文在协同检测模型中采用第二种共享策略。结合第三章提出的攻击知识库,考虑到实时入侵检测对数据处理性能和迅速响应的要求,本文增加了特征分类一项,并通过谓词规则来表示和提取数据的相关性,从而能迅速定位相关数据。2.3警报格式由于各个检测组件使用的原始警报格式可能各不相同,有些检测组件的原始警报输出并不支持IDMEF1格式,因此本文定义了通用警报格式,用来表示事件和警报记录。alert:=(1)表1给出了各个属性字段的定义和简要介绍。其中SIG_CLSID特征类标识用于警报聚合算法,PRE_SIG和POST_SIG属性用于关联分析算法。表1通用警报格式属性字段定义协同检测算法包括DBTCAN聚类算法和关联分析算法。警报聚合将多个事件警报聚合成对应于一个特征分类的警报,在基于密度的抗噪声空间聚类算法DBSCAN2(Density-BasedSpatialClusteringofApplicationwithNoise)基础之上,本文提出了一种基于密度的抗噪声时间聚类算法DBTCAN(Density-BasedTimeClusteringofApplicationwithNoise)。DBSCAN算法的优越性在于适用于任意形状的二维空间,并且是抗噪声的。警报聚合过程可以认为是一个一维带噪声的密度聚类应用,因此本文在该算法的基础上用时间替代空间维度。定义2.1:对于任意给定事件i,以事件的时间戳t为圆心,为半径的邻域称为事件i的邻域,记作I=t()。定义2.2:如果事件i的邻域内,存在M个事件i1,i2,iM,满足条件i1,i2,iMI,则称事件i为核,且事件i到事件ij(1jM)是直接密度可达的。定义2.3:事件i与事件im密度可达,当且仅当存在n个事件i1,i2,in,满足条件i到i1直接密度可达,ij到ij+1(1jn-1)直接密度可达,in到im直接密度可达。假设系统实时处理警报的时间间隔为T0,通常取警报聚合半径为=T0。图3给出了DBTCAN算法的描述。图3DBTCAN算法描述在聚合算法中,cl为常数系数,hl为属性聚合函数,包括优先级,时间戳等属性的更新和合并。PRIORITY是警报进入关联分析队列的阈值。当遇到突发情况大量重复事件警报增加时,在警报聚合计算优先级时会除以该时间内连续重复警报的数量降低优先级,以免淹没正常的警报。在聚合警报的基础上,对进入关联队列的警报进行关联分析。图4给出警报关联分析算法的描述。图4关联分析算法描述3原型系统实现3.1体系结构以IDS的一般结构为基础,考虑到协同检测的需要,原型系统采用基于组件的系统构建方法,图5给出了体系结构示意图,系统主要包括下述组件:检测组件(IntrusionDetectionComponent,IDC);协作管理器(CooperativeManager,CM);入侵检测管理器(IntrusionDetectionManager,IDM);用户接口(UserInterface,UI)。图5原型系统体系结构3.2入侵检测组件检测组件IDC是协同检测系统最基本的工作单位,它实际上对IDS提供了一种封装,通过封装,提供了与协作管理器的统一接口。以SNORT为例,通过一个Wrapper程序将SNORT封装成一个IDC,这个IDC既可以完成与SNORT一样的检测功能,也可以与协作管理器交互,参与协作。原型系统使用的检测组件主要封装了BRO3、SNORT4和LERAD5三种IDS,以下对各个检测组件稍作介绍。3.2.1BRO从检测方法分类来看,BRO是基于网络的误用检测系统。BRO的核心是事件的生成和处理机制。事件的生成和处理机制与MFC比较相似。BRO系统预定义了一系列的基本事件,包括TCP连接的建立、结束等,同时也对这些事件注册了基本的事件处理函数。BRO提供一种类似于C+的编程语言,用户可以利用这种语言定义新的事件和相应的事件处理函数,同时也可以扩充预定义的事件处理函数。BRO本身有一些针对不同协议的事件处理插件,用户可以编写自己的事件处理插件。3.2.2SnortSnort是著名的开源NIDS,它是一个轻量级的入侵检测系统,具有执行即时流量分析的功能,可以执行特定协议的分析,检测缓冲区溢出、隐蔽式端口扫描、SMB探测、操作系统指纹测试等攻击行为。从分类来看,它是基于特征匹配的网络IDS,采用基于规则的工作方式,可以检测1000多种不同的入侵行为和探测活动,但是误报率也相当高。Snort同时也被用于本实验分析的基线。3.2.3LERADLERAD也是一个出色的开源IDS,它是基于异常的网络入侵检测系统,需要通过学习不包含攻击的网络流量来生成用于检测的规则集,并以此作为实际检测的依据。3.3协作管理器作管理器是协作服务的提供者和协作策略的执行者,其功能在2.2中已经介绍过,这里不再赘述。3.4入侵检测管理器入侵检测管理器是协同检测系统的控制部件,负责管理数据、规则、日志和管理IDC,并与用户接口交互。入侵检测管理器可以有多个,相互之间互为备份,以应对入侵检测管理器失效的意外。3.5用户接口用户接口用来完成与管理员的交互,其功能是以图形化的方式显示安全状况,报告安全事件,以及响应管理员的操作,如维护规则与日志数据库等。4实验结果与分析4.1实验测试方法与攻击设计实验采用了数据集测试方法,其优点在于可以由测试者自行设计测试环境和攻击方案。将1999年MITLincolnLab一周的干净数据作为背景数据流6,并作为LERAD的训练数据。考虑到MIT当时的测试数据中的攻击7,8已经比较陈旧,因此重新设计了攻击方案,将两者合成作为新的实验数据集。测试环境如图6所示,分为内网和外网。内网和外网之间通过一台CISCO路由器连接。内网有一台机器用于回放不含有攻击流量样本网络背景流量,将之前生成的一周数据集作为网络背景流量。外网两台服务器作为自动攻击主机,运行攻击调度程序,最多可同时模拟40个攻击者对内网发起攻击。另有一台服务器作为手动攻击主机,模拟复杂的攻击行为。内网和外网各有一台主机运行Tcpdump记录内网外的数据流用于实验结果分析。内网有三台主机分别运行三个不同的IDC,封装了BRO、SNORT和LERAD三种不同的IDS。图6为了体现协同检测算法的有效性,实验中采取有区别的攻击实

温馨提示

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

评论

0/150

提交评论