QQ:574461795
您当前的位置:首页 > 理工学 > 通信学 > 正文

基于信息共享的协同入侵检测模型研究

摘 要  针对传统的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 警报格式      由于各个检测组件使用的原始警报格式可能各不相同,有些检测组件的原始警报输出并不支持IDMEF[1]格式,因此本文定义了通用警报格式,用来表示事件和警报记录。     alert ::=<SID, CID, PRE_SIG, POST_SIG, SIG_CLSID, SIG_PRI, TIMESTAMP, IP_SRC, IP_DST, OS, PROTO, L4_SRCPRT, L4_DSTPRT, EVTINFO>(1)表1给出了各个属性字段的定义和简要介绍。其中SIG_CLSID特征类标识用于警报聚合算法,PRE_SIG和POST_SIG属性用于关联分析算法。表1 通用警报格式属性字段定义       协同检测算法包括DBTCAN聚类算法和关联分析算法。警报聚合将多个事件警报聚合成对应于一个特征分类的警报,在基于密度的抗噪声空间聚类算法DBSCAN[2](Density-Based Spatial Clustering of Application with Noise)基础之上,本文提出了一种基于密度的抗噪声时间聚类算法DBTCAN(Density-Based Time Clustering of Application with Noise)。DBSCAN算法的优越性在于适用于任意形状的二维空间,并且是抗噪声的。警报聚合过程可以认为是一个一维带噪声的密度聚类应用,因此本文在该算法的基础上用时间替代空间维度。      定义2.1:对于任意给定事件i,以事件的时间戳t为圆心,ε为半径的邻域称为事件i的ε邻域,记作I = t(ε)。      定义2.2:如果事件i的ε邻域内,存在M个事件i1,i2,…,iM,满足条件i1,i2,…,iM∈I,则称事件i为核,且事件i到事件ij(1≤j≤M)是直接密度可达的。      定义2.3:事件i与事件im密度可达,当且仅当存在n个事件i1,i2,…,in,满足条件i到i1直接密度可达,ij到ij+1(1≤j≤n-1)直接密度可达,in到im直接密度可达。      假设系统实时处理警报的时间间隔为T0,通常取警报聚合半径ε为ε =T0。图3给出了DBTCAN算法的描述。                                                 图3 DBTCAN算法描述  

相关内容推荐