基于分布式数据挖掘的协同入侵检测系统的制作方法

文档序号:6420343阅读:194来源:国知局
专利名称:基于分布式数据挖掘的协同入侵检测系统的制作方法
技术领域
本发明属于计算机安全领域,具体涉及一种基于分布式数据挖掘的协同入侵检测系统。
背景技术
在电子信息时代,计算机网络渗透到社会生活的各个方面,其安全问题已经成为影响国家独立与安全、经济运行与发展的重大问题。随着网络系统结构的复杂化和大型化,系统的弱点和漏洞趋于分布式。此外,随着黑客入侵水平的提高,入侵行为也不再是单一的行为,而表现出相互协作的特点。单个的入侵检测系统(IDS,Intrusion Detection System)设备(无论是主机型还是网络型)应对分布式、协同式、复杂模式攻击的入侵行为时,就显得十分力单势薄。日益加剧的分布化、协同化的网络攻击行为的典型特点有1)攻击持续时间长,单个攻击行为不明显;2)攻击者范围分布广泛,攻击危害性大;3)攻击成员之间及时交流攻击信息,使攻击时间缩短,攻击手段更加优化。
面对这种趋势,现有的安全系统暴露出严重的缺陷。例如,常用的安全系统只能针对独立的入侵行为,而难以防范有组织的协同入侵行为。随着协同入侵的危害性日益严重,构建一种可以防御协同入侵的安全系统是当前的迫切需要。
IDS作为一种重要的安全部件,是网络与信息安全防护体系的重要组成部分。IDS首先通过在计算机网络或系统中的若干关键点收集信息并对收集到的信息进行分析,判断网络或系统中是否有违反安全策略的行为和被攻击的迹象,然后根据分析结果采取决策并做出适当的响应。从理论上讲,IDS可以主动地检测到对系统或网络的入侵,并对这些入侵进行记录和响应,这是防火墙、身份识别和认证、加密解密等其他许多安全措施所不能做到的。但是IDS的处理速度一直是影响其性能的一大瓶颈,虽然IDS是直接接入网络的,但如果其检测速度跟不上网络数据的传输速度,那么就会漏掉其中的部分数据包,从而影响安全系统的准确性和有效性。为了提高检测速度,快速地从系统日志、网络流量等大量原始数据中发现检测攻击的知识和规律,我们将数据挖掘技术应用在入侵检测系统中。数据挖掘(DM,Data Mining)就是从大量的、不完全的、有噪声的、模糊的以及随机的数据中提取潜在有用的信息和知识的过程。
依照数据采集的地点和数据处理地点的是否相同,数据挖掘分为集中式数据挖掘和分布式数据挖掘。明尼苏达州大学研制出一个基于集中式数据挖掘的入侵检测系统(MINDS),即各个受保护节点的系统日志及网络数据被集中处理。数据挖掘所需的数据源(各个节点的系统日志和网络流量等信息)分布在各个节点上,随着网络的迅猛发展,这些数据量也急速增长,将这些数据集中处理存在着两大弊端一是数据传输占用了大量带宽,二是进行数据挖掘节点的资源有限,难以保证挖掘的实时性。随着受保护节点的增加,系统处理的任务将日趋繁重,降低了系统的可扩展性,同时也不能实现入侵检测的实时性。

发明内容
本发明针对现有入侵检测的不足以及协同入侵的特点,提出一种基于分布式数据挖掘的协同入侵检测系统,可以快速准确地检测出已知的协同入侵,并防范已知协同入侵的变种及新型的协同入侵。
本发明提供的一种基于分布式数据挖掘的协同入侵检测系统,利用计算机网络技术和入侵检测技术实现,其特征在于该系统由控制台模块和客户端模块组成,控制台模块负责为所有的客户端节点提供服务,为各个客户端模块之间的联系和合作提供信息,客户端模块主要完成数据挖掘所需数据的收集、处理和检测结果传输;客户端模块包括数据收集模块、数据集成模块、常规入侵检测模块、协同入侵检测模块、报警聚类模块、数据挖掘模块、数据传输模块、常规入侵规则库、协同入侵规则库和局部数据库;局部数据库用于存放本节点的网络信息,包括6个字段的信息协议号,源IP,源端口,目的IP,目的端口和时间;常规入侵规则库用于存放描述常见的单个入侵的规则;协同入侵规则库用于存放描述相互合作的、分布式入侵的规则,包括6个字段的信息相关性、空间相关度、时间相关度、不可信任IP范围、入侵危害程度和响应策略;数据收集模块负责收集本节点的网络信息,并存放于局部数据库,数据集成模块提取局部数据库的数据进行集成与预处理,选取特征域,提取关键信息,将信息提供给常规入侵检测模块、协同入侵检测模块;常规入侵检测模块负责将数据集成模块提供的信息与常规入侵规则库中的规则进行比较,生成可疑的常规入侵报警信息,传送给数据传输模块;协同入侵检测模块负责将数据集成模块提供的信息与协同入侵规则库中的规则进行比较,生成可疑的协同入侵报警信息,传送给数据传输模块;数据传输模块将可疑报警信息传送给负载最轻的节点中的数据传输模块,并由其传输给负载最轻的节点中报警聚类模块和数据挖掘模块;负载最轻的节点中的报警聚类模块负责将可疑报警信息进行整合和归并,生成确认报警信息,通过其数据传输模块传送给控制台模块;负载最轻的节点中的数据挖掘模块负责对可疑报警信息进行挖掘处理,生成新的协同入侵规则,通过其数据传输模块传送给控制台模块;控制台模块包括监控模块、规则发布模块和全局响应模块;监控模块负责对各客户端模块的监测与控制,找出本轮入侵检测中负载最轻的节点,并将接收到的确认报警信息和新的协同入侵规则分别传送给规则发布模块和全局响应模块;规则发布模块负责将新生成的协同入侵规则传送至各个客户端模块;全局响应模块根据确认报警信息对常规入侵和协同入侵进行响应。
上述客户端模块还可以包括规则更新模块,它接收规则发布模块发来的新的协同入侵规则,进行分析,确定是否添加至协同入侵规则库;并对协同入侵规则库进行使用频率统计与删除管理。
本发明的基于分布式数据挖掘的协同入侵检测系统具有以下优点及效果(1)通过数据挖掘将异常检测技术引入系统,检测未知模式的入侵行为传统的误用入侵检测系统是对任何已知攻击的特征进行编码,检测已知的入侵模式。这种系统可以有针对性地高效检测入侵活动,但是对未知的入侵活动或已知入侵活动的变形无能为力。通过将数据挖掘技术应用在入侵检测系统中,可以从网络流量等大量原始数据中发现用于检测未知攻击模式的知识和规律。
(2)减少了对网络资源的占用传统的数据挖掘是将分布在各个地方的数据通过网络传送到一个节点上进行集中的处理,这种方式适合客户端节点机数目少的情况;基于分布式数据挖掘所需的数据源就在本地,不需要经过网络传输,减少了对网络资源的占用。
(3)实时性由于数据挖掘是分布式的,每个客户端模块只负责处理本地的数据,与传统的集中式的数据挖掘相比具有实时性。
(4)可扩展性进行数据挖掘的客户端节点的数目可以按照管理员的要求在监控模块中设定,因此客户端节点的数目不受限制;控制台模块完成接受客户端模块的注册和注销请求的简单功能,不会成为系统可扩展性的瓶颈。
(5)动态的负载均衡性数据挖掘会消耗大量的系统资源,为了达到一个动态的负载均衡,在客户端负载最小的节点上对可疑报警信息进行报警聚类和数据挖掘,生存确认报警信息及新的协同入侵规则。
(6)规则加入与删除的动态性在每次检测过程中发现的新的协同入侵规则都会通过自动编码加入到各个节点的协同入侵规则库中;并依据一定的策略删除协同入侵规则库中无用的规则,防止入侵规则库的过度膨胀。


图1为基于分布式数据挖掘的协同入侵检测系统的结构示意图;图2为数据挖掘控制台模块和客户端模块的一种具体实施方式
的结构示意图;图3为数据挖掘控制台模块和客户端模块的另一种具体实施方式
的结构示意图;图4为数据挖掘控制台模块的工作流程图;图5为数据挖掘客户端模块的工作流程图。
具体实施例方式
下面结合附图对本发明作进一步详细的说明。
如图1所示,基于分布式数据挖掘的协同入侵检测系统共由两个部分组成控制台模块3和若干客户端模块2.1、2.2、……、2.n(下面称为客户端模块2)。其中控制台模块3为所有的客户端节点1.1、1.2、……、2.n提供服务,为各个客户端模块2之间的联系和合作提供信息。客户端模块2主要完成数据挖掘所需数据的收集、处理和检测结果传输。
控制台模块3由三个部分组成监控模块5,规则发布模块4和全局响应模块6。监控模块5接受并处理各个客户端模块2的注册或注销请求;数据收集和数据处理构成一轮入侵检测,数据处理完进入到下一轮的数据收集,在每一轮入侵检测的初始阶段收集并显示各个节点的负载信息,比较得到负载最轻的节点,并将比较结果传送到各个节点;向客户端模块2发布控制命令,其工作流程如图4所示。
如图2所示每个客户端模块2包括以下几个部分数据收集模块7、数据集成模块9、常规入侵检测模块11、协同入侵检测模块12、报警聚类模块16、数据挖掘模块14、数据传输模块15、常规入侵规则库10、协同入侵规则库13和局部数据库8。
局部数据库8用于存放本节点的网络信息,至少包括6个字段的信息协议号,源IP,源端口,目的IP,目的端口和时间。各字段的说明如下协议号入侵事件的协议类型,分为TCP、UDP及ICMP;源IP入侵事件的源IP地址;源端口入侵事件的源端口;目的IP入侵事件的源IP地址;目的端口入侵事件的目的端口;时间入侵事件发生的时间。
常规入侵规则库10用于存放描述常见的单个入侵的规则,可采用现有的入侵规则库,如Snort规则库。该规则库通常至少包括5个字段的信息规则编号、攻击类型、攻击服务、攻击特征码和入侵危害程度。各字段的说明如下规则编号一条规则纪录的数字编号;攻击类型分为Dictionary Attack(字典攻击)、Scan(端口扫描)、DoS(拒绝服务攻击)三种;攻击服务各种众所周知的服务(如Web、FTP等),ANY表示任意服务;攻击特征码表示代表一次攻击的标志性特征码;入侵危害程度指入侵事件的危害程度,该程度可分为最严重(0级)、较严重(1级)和次严重(2级)。
协同入侵规则库用于存放描述相互协作的、分布式入侵的规则。它包括已知的协同入侵的规则及系统发现的新的协同入侵的规则。通常该规则库包括6个字段的信息相关性、空间相关度、时间相关度、不可信任IP范围、入侵危害程度和响应策略。各字段解释如下相关性分为空间相关(S)和时间相关(T);空间相关度当“相关性”字段为S时,此处为构成一次空间上分布的入侵行为的相关度范围;时间相关度当“相关性”字段为T时,此处为时间上分布的入侵行为的相关度;不可信任IP范围指发起攻击的IP地址范围;入侵危害程度指入侵事件的危害程度,该程度可分为最严重(0级)、较严重(1级)和次严重(2级);响应策略针对某一协同入侵行为的全局响应策略。
数据收集模块7收集本节点的网络信息,如入侵事件的协议类型,入侵事件的源IP地址,入侵事件的源端口,入侵事件的源IP地址,入侵事件的目的端口,入侵事件发生的时间等,并存放于局部数据库8。数据集成模块9从局部数据库8中提取与常规入侵相关的数据,直接传送给常规入侵检测模块11;它还从局部数据库8中提取与协同入侵相关的数据,以时间为单位进行划分,例如以5分钟为单位,将该时间单位内的数据提供给协同入侵检测模块12。
常规入侵检测模块11将数据集成模块9提供的信息与常规入侵规则库10中的规则进行比较,如果匹配成功,则说明可能发生常规入侵。协同入侵检测模块12对数据集成模块9提供的信息进行统计分析,并与协同入侵规则库13中的规则进行比较,如果符合规则的描述,如1秒内中对同一端口所有连接的时间相关度大于0.7,就可能发生协同入侵,如表3所示。检测模块11、12将可疑报警信息通过数据传输模块15传送给负载最轻的节点。负载最轻的节点可能是本节点或其它的节点。
负载最轻的节点中的数据传输模块将接收到的可疑报警信息,传输给报警聚类模块16和数据挖掘模块14。
报警聚类模块16负责将可疑报警信息进行整合和归并,生成确认报警信息。由于一次攻击可能产生多个报警信息,报警聚类模块16对接收的可疑报警信息进行处理,把相关性较强的可疑报警信息进行聚类。本系统采用相似度评估的方法来衡量可疑报警信息之间的关系。相似度评估主要采用基于距离的方法,使用距离来表示两个可疑报警信息之间的相似性,距离越小则相似性越高。可疑报警信息中各个字段的重要性是不相同的,因此使用权值来代表字段的重要程度。对于两个可疑报警信息,如果它们在相同字段的权值越大,则它们越相似。因此,距离公式表示为d(i,j)=(|xi1-xj1|2+|xi2-xj2|2+...+|xip-xjp|)22]]>其中(xi1,xi2,...xip)和(xj1,xj2,...xjp)是两个p维的可疑报警信息,p为大于或等于局部数据库字段个数的正整数。
报警聚类模块16根据相似度评估函数对可疑报警信息进行分析,将相似性较大的报警信息进行聚类合并,生成确认报警信息,然后传送给数据传输模块15。
数据挖掘模块14负责对可疑报警信息进行挖掘处理,生成新的协同入侵规则。入侵者通常是制定一个全局的入侵计划,采取分步骤攻击的方式达到入侵目的。数据挖掘模块14采用基于特征值的报警信息的分析方法,对可疑报警信息进行时间和空间的关联分析,例如计算入侵者的IP分布的空间相关度,如果在1秒内建立半连接(已建立TCP/IP连接,未完成三次握手的状态)的源IP的空间相关度大于0.8,于是产生新的协同入侵规则在未来5分钟内拒绝来自这些IP的连接请求,如表3所示。数据挖掘模块14根据某一次协同入侵预测下一次协同入侵行为并提前进行预测和防范,对新的协同入侵行为进行识别;并且将新的协同入侵规则传送给数据传输模块15。
数据传输模块15将接收到的确认报警信息和新的协同入侵规则传输至控制台模块3中的监控模块5。当接收到确认报警信息后,监控模块5调用全局响应模块6,对入侵进行响应,如记录安全事件,隔离入侵者IP等等。当接收到新的协同入侵规则后,监控模块5调用规则发布模块4,将新的协同入侵规则传送到各个节点的协同入侵规则库13。
如图3所示,为了更好的管理协同入侵规则库13,本发明可以在客户端模块内增设规则更新模块17,用于优化协同入侵规则库。协同规则更新步骤中,为避免规则的重复性,在建立协同入侵规则库13之后,对于规则发布模块4每一次发布的新规则,规则更新模块17要根据它和已有规则之间的相似性度量阈值决定是否对协同入侵规则库13进行更新。为了避免规则库过度膨胀,对每一个新生成的规则定义使用频度,每当该规则匹配到一个安全事件,该规则的使用频度加1,规则更新模块17将使用最近最少使用算法淘汰使用频度低的规则。
实例在具有16个节点机上的集群系统构建一个基于分布式数据挖掘的协同入侵检测系统,其基本配置如表1所示。

表1各节点的硬件及网络配置其中,控制台模块安装在一台主机上,客户端模块分别安装在其余15台主机上,由此组成了一个完整的基于分布式数据挖掘的协同入侵检测系统。具体实施如下一个节点安装控制台模块,其余节点分别安装客户端模块。对整个系统的配置说明如下1)局部数据库该数据库共6个字段,其示例如表1。

表1局部数据库示例2)常规入侵规则库该常规规则库共5个字段,其示例如表2。

表2常规入侵规则库示例3)协同入侵规则库该数据库共6个字段,其示例如表3。


表3协同入侵规则库的配置示例
权利要求
1.一种基于分布式数据挖掘的协同入侵检测系统,利用计算机网络技术和入侵检测技术实现,其特征在于该系统由控制台模块(3)和客户端模块(2)组成,控制台模块(3)负责为所有的客户端节点提供服务,为各个客户端模块(2)之间的联系和合作提供信息,客户端模块(2)主要完成数据挖掘所需数据的收集、处理和检测结果传输;客户端模块(2)包括数据收集模块(7)、数据集成模块(9)、常规入侵检测模块(11)、协同入侵检测模块(12)、报警聚类模块(16)、数据挖掘模块(14)、数据传输模块(15)、常规入侵规则库(10)、协同入侵规则库(13)和局部数据库(8);局部数据库(8)用于存放本节点的网络信息,包括6个字段的信息协议号,源IP,源端口,目的IP,目的端口和时间;常规入侵规则库(10)用于存放描述常见的单个入侵的规则;协同入侵规则库(13)用于存放描述相互合作的、分布式入侵的规则,包括6个字段的信息相关性、空间相关度、时间相关度、不可信任IP范围、入侵危害程度和响应策略;数据收集模块(7)负责收集本节点的网络信息,并存放于局部数据库(8),数据集成模块(9)提取局部数据库(8)的数据进行集成与预处理,选取特征域,提取关键信息,将信息提供给常规入侵检测模块(11)、协同入侵检测模块(12);常规入侵检测模块(11)负责将数据集成模块(9)提供的信息与常规入侵规则库(10)中的规则进行比较,生成可疑的常规入侵报警信息,传送给数据传输模块(15);协同入侵检测模块(12)负责将数据集成模块(9)提供的信息与协同入侵规则库(13)中的规则进行比较,生成可疑的协同入侵报警信息,传送给数据传输模块(15);数据传输模块(15)将可疑报警信息传送给负载最轻的节点中的数据传输模块,并由其传输给负载最轻的节点中报警聚类模块和数据挖掘模块;负载最轻的节点中的报警聚类模块负责将可疑报警信息进行整合和归并,生成确认报警信息,通过其数据传输模块传送给控制台模块(3);负载最轻的节点中的数据挖掘模块负责对可疑报警信息进行挖掘处理,生成新的协同入侵规则,通过其数据传输模块传送给控制台模块(3);控制台模块(3)包括监控模块(5)、规则发布模块(4)和全局响应模块(6);监控模块(5)负责对各客户端模块(2)的监测与控制,找出本轮入侵检测中负载最轻的节点,并将接收到的确认报警信息和新的协同入侵规则分别传送给规则发布模块(4)和全局响应模块(6);规则发布模块(4)负责将新生成的协同入侵规则传送至各个客户端模块;全局响应模块(6)根据确认报警信息对常规入侵和协同入侵进行响应。
2.根据权利要求1所述的检测系统,其特征在于所述客户端模块(2)还包括规则更新模块(17),它接收规则发布模块(4)发来的新的协同入侵规则,进行分析,确定是否添加至协同入侵规则库(13);并对协同入侵规则库(13)进行使用频率统计与删除管理。
3.根据权利要求1或2所述的检测系统,其特征在于所述报警聚类模块(16)采用基于距离的相似度评估函数对可疑报警信息进行分析,将相似性较大的报警信息进行聚类合并,生成确认报警信息。
4.根据权利要求1或2所述的检测系统,其特征在于所述数据挖掘模块(14)采用基于特征值的报警信息的分析方法,对可疑报警信息进行时间和空间的关联分析,生成新的协同入侵规则。
5.根据权利要求3所述的检测系统,其特征在于所述数据挖掘模块(14)采用基于特征值的报警信息的分析方法,对可疑报警信息进行时间和空间的关联分析,生成新的协同入侵规则。
全文摘要
本发明公开了一种基于分布式数据挖掘的协同入侵检测系统,包括控制台模块和客户端模块。前者为客户端节点提供服务,为客户端模块之间的联系和合作提供信息;后者完成数据挖掘所需数据的收集、处理和检测结果传输。其中,常规入侵检测模块可检测已知的常规入侵;协同入侵检测模块可检测已知的协同入侵;报警聚类模块对可疑报警信息进行整合与归并,降低了误警率;数据挖掘模块使用关联算法发现新的协同入侵规则,从而防范已知协同入侵的变种及新型的协同入侵。该系统与传统产品相比,不仅防范常规入侵,而且防范协同入侵;具有可扩展性、提高了入侵检测的实时性、减少了对网络资源的占用、达到动态的负载均衡性等优点。
文档编号G06F17/30GK1553293SQ20031011161
公开日2004年12月8日 申请日期2003年12月19日 优先权日2003年12月19日
发明者金海 , 孙建华, 韩宗芬, 陈浩, 程恩, 易川江, 邹建平, 涂旭平, 杨志玲, 何丽莉, 黄瑾, 金 海 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1