一种基于数据挖掘的多步入侵警报关联模型
2013-12-03于潇菂努尔布力解男男
于潇菂,努尔布力,胡 亮,解男男
(1.吉林大学 计算机科学与技术学院,长春 130012;2.新疆大学 信息科学与工程学院,乌鲁木齐 830046)
入侵检测是信息系统中安全保障体系的重要组成部分,通过收集系统、用户和网络数据包等信息,可及时发现违背安全策略或危及系统安全的行为,在计算机应用环境下有预警和监督的作用[1].入侵检测系统(IDS)[2]是具有入侵检测功能的系统.传统的入侵检测技术存在下列不足:
1) 误报率和漏报率较高,对真实攻击的检测能力有限;
2) 检测攻击方式单一,已有的入侵检测系统大多数只能检测一个数据包是否拥有攻击特征来判别是否存在入侵,而当前的攻击通常是团队化的多步复杂攻击[3],传统的入侵检测系统对此无能为力;
3) 入侵特征知识库需要不断更新以适应新的攻击类型,维护的代价较高.
针对这些问题,需要建立更精确的安全事件检测机制以提高对单个安全事件和联合安全事件即多步入侵的有效检测.根据检测机制的不同,可将入侵检测分为误用检测和异常检测[4]:
1) 误用检测是通过对当前计算机行为和一直攻击行为的特征进行对比进行入侵检测,检测率相对较高,但若遇到未知的新入侵行为时无法检测;
2) 异常检测是通过建立正常用户和系统行为的特征模型,假设入侵行为不同于正常行为,将所有在正常行为外的行为均视为入侵,这样可检测未知的攻击和入侵.异常检测的基本方法包括统计学方法、数据挖掘、模糊理论和机器学习等,其中数据挖掘方法是一种成熟可靠的方法,可有效应用于异常检测.
在入侵检测系统中检测到的多个攻击事件可能由同一个攻击行为产生,即一个攻击行为可能只有一个简单的攻击动作,也可能由一系列复杂的攻击组成.相关的复杂攻击产生的警报之间也会有一定的关联,警报之间的关系有冗余关系或因果关系.
本文通过分析已有的异常检测和警报关联模型,设计一种基于数据挖掘的多步入侵警报关联模型.该模型能实现多个入侵检测系统的警报信息融合,通过数据关联对海量的无序警报信息进行分析,发现其中的内在联系,精简攻击事件警报,并通过不断更新场景知识库发现融合后警报中的多步入侵行为,这种入侵检测模型能使检测网络环境更安全.
1 入侵检测模型
入侵检测方法较多,目前已有一系列可供参考的框架和体系结构.如最早的入侵检测模型IDE[5]、传统网络入侵检测系统NADIR和DIDSGRIDS[6]、下一代网络入侵检测专家系统NIDES[7]、公共入侵检测框架CIDF[8]等.近年来,人们又引入了统计学方法、机器学习和数据挖掘等新方法解决入侵检测问题,形成了一系列新的入侵检测系统,这些方法具有以下特点:
1) 统计方法.不需要有安全和入侵方面的先验知识,且随系统的不断运行,对恶意活动的检测效果始终良好.基于统计方法的入侵检测主要有基于Bayes推理的入侵检测方法、基于Bayes聚类的入侵检测方法和基于Bayes网络的入侵检测方法等.
2) 机器学习方法.系统可随着时间的推移,通过学习提高工作能力.统计方法偏重认识的过程和产生的数据,而机器学习更注重建设一个可不断根据已有结果改善性能的系统.基于系统调用序列分析、Bayes网络、神经网络、Markov模型等机器学习方法都在入侵检测中得到了应用.
3) 数据挖掘方法.数据挖掘方法是一种有效识别攻击行为的方法,可改善入侵检测效果.典型数据挖掘入侵检测方法有:基础的入侵检测、聚类和入侵检测、关联规则发现等.基于规则方法的入侵检测系统使用规则集表示和存储使用模式.
本文将数据挖掘应用到入侵检测模型中.使用数据挖掘技术,可较好地解决网络数据的分析处理问题,通过构建入侵检测知识库发现攻击的关联或联系,发现攻击行为,并产生相应的警报信息.同时可同其他方法结合,检测警报信息中是否包含多步攻击,从而更有针对性地处理发现的入侵行为,改善了入侵检测系统的性能[9].通过使用数据挖掘技术对网络数据、日志数据、数据仓库等大量数据的检测,先在这些数据中提取感兴趣的、有助于入侵检测的位置数据信息,再利用入侵检测系统对这些数据进行检测,减轻了入侵检测系统的工作量,同时能发现隐藏更深的攻击行为.
典型的基于数据挖掘的入侵检测系统应包含下列模块:
1) 数据采集.主要包含主机的审计记录和日志信息;网络中实时产生的数据包;数据仓库中的数据信息.
2) 数据预处理.主要由格式转换和数据融合两部分组成.首先将复杂的数据包信息转换成当前系统能识别的模式,然后通过数据融合保存大量的数据,提供给数据挖掘过程.
3) 数据挖掘.对经过数据预处理的数据集合,采用关联分析和序列分析的方法进行挖掘,提取与入侵检测相关的、包含用户行为信息的关联规则和频繁序列模式,输出到入侵检测系统中,同时更新完善知识库信息.
4) 入侵检测.根据知识库中的内容,判断数据挖掘产生的特征信息是否为入侵行为,同时生成报警信息和日志.
基于数据挖掘的入侵检测有两层检测机制,用数据挖掘发现数据信息中的异常部分,使用入侵检测系统进行判断发现更隐蔽的攻击行为.通常入侵检测系统很难从海量的数据中发现攻击信息,但通过使用数据挖掘技术,如关联规则,可发现数据信息中频繁出现的属性信息值,通过发现这些属性信息值间的联系可找出网络流量信息间的联系,从而发现攻击信息的特征.对多种多步入侵攻击[10]的检测效果较好.
图1 典型的警报关联模型Fig.1 Typical alert correlation model
典型的警报关联模型主要包含数据采集、预处理、警报关联模块、知识库、数据库和策略等模块,如图1所示.
系统处理流程如下:
1) 警报数据采集.警报数据采集器主要采集多个不同的、异构的入侵检测系统的警报信息,采集的警报信息格式也是异构多样的.由于警报关联技术是对警报数据的属性信息进行关联,所以要先对不同格式的警报信息提取相应的属性信息,再转换成统一的格式信息,为警报关联模块的实施提供数据源支持.
2) 警报数据预处理.警报数据采集器输出统一格式的警报数据属性信息后,警报数据预处理先将这些统一格式的输出信息进行融合,再将融合后的警报属性进行一致性、冗余性检查,如IP、端口号、协议类型等,不同入侵检测系统的警报难免会有相同的、冲突的属性信息,只有正确地对不同入侵检测系统的警报数据预处理,才能更准确地进行警报关联,反映正确的网络运行情况.
3) 警报关联.警报关联模块用特定的警报关联算法和利用关联知识库对预处理后的整体网络数据进行警报关联,从中发现一系列关联警报的入侵目的和意图.警报关联也能发现误报的警报信息,如一个警报信息的很多属性值(如IP、端口号、协议)与其他警报信息的属性值内在关系差别较大,就有可能是误报,但也有可能是一种新的未知的攻击类型,所以还要进一步分析究竟是误报还是另一种新的类型.经过警报关联的警报数据属性信息,要保存到数据库并输出到策略动作模块,作为它们实施操作的数据源.此外,警报关联阶段不仅是用知识库的阶段,也是不断完善、更新知识库的阶段,使知识库中的信息满足当前网络环境的要求.
4) 数据存储和策略的制定.将关联后的更明确攻击意图的警报关联结果存到数据库中,便于以后分析.策略动作的制定是通过解释警报关联后更高层次的警报信息而触发的,制定出防护策略,保护网络环境更安全.
2 模型设计
2.1 多步入侵特征分析
多步入侵是一种较复杂、高级的攻击方式,主要特点是攻击间隔时间长、攻击未知、采用方法较多、混杂虚假信息等,这些特点都加大了入侵检测系统对多步攻击检测的难度.目前,已有的入侵检测系统多采用预制的方法对多步入侵进行检测,该方法相对局限和滞后,针对多步入侵的特点,采用警报关联方法对其进行检测,能取得较好的效果.
一个特定的网络攻击过程通常分为几个有相互联系的步骤,每个步骤都相对独立,能通过很多方法实现每个攻击步骤的结果,所以单个攻击步骤的检测相对较难发现,需要对多个攻击步骤进行关联,发现入侵攻击.
多个攻击步骤在时间上相对有联系,不管使用什么方法,如要先扫描存在性,再找脆弱点,再攻击,它们攻击目的的先后关系是确定的.每个单一步骤的目的、意图也是一致的,在因果关系上相同.
多步入侵一般可分为准备阶段、潜伏阶段、攻击阶段和善后阶段,本文根据多步攻击的特征,设计了多步入侵的警报关联模型.多步攻击的警报关联与普通的单步入侵警报关联模型基本类似,只是在知识库的设计中加入了多步攻击的知识规则,将以前警报关联后产生的数据作为经验存储到数据库中,当分析多步攻击时,使用数据库的信息进行判断,如传统方法很难检测出时间跨度较大的多步入侵行为,而通过本文方法可根据知识规则找到数据库之前对应的警报关联数据,从而判断出多步入侵行为,做出警报动作.
2.2 模型特性
本文设计的基于数据挖掘的多步入侵警报关联模型主要有以下特性:
1) 可扩展性好,节省资源,配置性强,能在大规模的异构网络中发挥入侵检测的作用;
2) 可移植性好,与平台无关,有较好的适应性;
3) 随着网络环境的变化能自动更新知识库,可以对未知类型的攻击和复杂的多步入侵进行检测,有较好的学习能力.
2.3 模型实现
基于数据挖掘的多步入侵警报关联模型结构主要由4部分组成:异常检测模块、单个IDS警报预处理模块、异构多IDS关联分析模块和警报模块[11],模型的设计如图2所示.
图2 基于数据挖掘的多步入侵警报关联模型Fig.2 Anomaly detection based on data mining and coordinated intrusion alert correlation model
2.3.1 异常检测模块 主要基于异常检测方法,将原始数据通过特征选择进行预处理,对数据进行过滤,同时应用数据挖掘提取经过预处理后数据中包含的规则,更新知识库,最后通过自身的知识库判断是否是入侵行为,同时,也可以结合其他入侵检测系统,通过投票或评分的方式对同一个警报进行协作式评估,但该方法对时间要求较苛刻,因此不适于大范围应用.
2.3.2 单个IDS警报预处理模块 该模块的主要功能是进行警报的过滤和格式的统一,警报的过滤即误报滤除,将警报中不是入侵行为的错误警报排除,可通过如隐Markov或条件随机场等方法实现.统一格式的警报利于数据的处理和交互.
2.3.3 异构多IDS关联分析模块 该模块的主要功能是进行多IDS的关联分析,本文主要考虑多步入侵警报的关联分析,先将经过单个IDS过滤的警报进行警报融合,再将融合后的警报数据进行关联分析,判断是否是多步攻击的警报,若属于多步攻击的警报,则进行如频度分析和优先级设置的处理后,与多步攻击场景知识库进行比对,判断是否是攻击及攻击的类型等信息,最后进行报警和攻击呈现,并将报警信息记录到日志中.主要有以下4种方法:
1) 多步攻击关联.随着网络中攻击模式的多样化、集团化,多步攻击已成为网络攻击中越来越重要的构成因素.目前主要有基于因果关联的关联方法和TIAA关联工具.
2) 警报信息融合.主要采用相似度关联算法及聚类、分类等算法处理原始警报信息,达到减少警报数量的目的[12].但警报的属性较多,警报的相似性难以定义,不易从众多属性中筛选出有效的特征值,对专家选择属性的正确性依赖较大,很难发现警报之间的因果关系,大量原始警报的手工分析效率较低.
3) 交叉关联.学习警报数据中隐含的关联模式,利用学习得出的警报关联模式分析新产生的警报关联数据,自动生成警报关联模式.缺点是需要使用大量数据进行训练,同时不能分析出训练数据中没包含的模式.
4) 其他关联方法.复杂攻击由不同阶段的攻击组合而成,这些攻击间存在一定的关联特征,由此产生的警报间也具有关联性.目前主要有日志关联方法和信息事件关联方法等.
2.3.4 警报模块 入侵检测系统本质上是为了通过发现数据特征来识别攻击,发现攻击后,最重要的工作就是报警,通过相应的机制也可以做到入侵的响应,如iptable防火墙的联动、入侵的反向追踪等方法.同时,也可结合电子证据的研究,进行网络入侵的审计采集,为大规模的多步攻击提供确实可信的电子证据.
3 模型对比分析
在模型结构方面,目前已有很多研究成果,如分布式入侵检测系统(DIDS)在处理小规模数据时较有效,但难处理大规模数据,且容易出现单点故障;基于图形的分层多步入侵攻击检测系统(GrIDS)不会出现单点故障但仍存在规模有限、不易扩展的问题;基于相似度的警报关联系统可扩展性较好,但难处理复杂攻击;基于多级的多步入侵警报关联体系结构可处理未知的攻击,但构建攻击数据库,进行警报关联花费的代价较高[13].将本文模型与上述模型进行比较可见,本文模型主要有以下3个特点:
1) 已有的对入侵警报关联的研究多数集中在异构警报数据融合处理方面,本文模型充分利用领域知识,提出了基于数据挖掘的多步入侵警报关联模型,从多步入侵警报关联角度出发,设计了一个适用于多步入侵检测领域的模型,扩展性好,能处理较大规模的数据,不需要专家人工建立攻击特征数据库,建立知识库花费的代价相对已有的系统较小;
2) 因为单个IDS数据和多个IDS数据融合后的数据特征可能存在不同的特性,考虑到减少关联分析系统的负担,增强检测效果,本文在模型中对单个IDS的过滤和数据预处理与多个IDS的过滤和数据处理及融合分开,从而可由不同的领域考虑,提出适合不同情况的单IDS过滤器和多IDS过滤器,尽可能地发挥IDS的功能,提高检测效率,处理更复杂的攻击;
3) 对关联分析方法及多步场景知识库的构建进行了分析,同时在模型中也对诸如优先级设置和频度分析进行了研究,能够结合系统特性,为应用者针对特定攻击提出特定的关联分析工具.
综上所述,本文提出了一种基于数据挖掘的多步入侵警报关联模型,该模型结合多个入侵检测系统的警报信息进行融合,对大量的、无序的警报信息进行分析,从而发现其中的内在联系,精简攻击事件警报,并通过不断更新的场景知识库发现融合后警报中的多步入侵行为,在异构多IDS关联、知识库的构建效率方面具有较好的效果.
[1] HU Liang,JIN Gang,YU Man,et al.Techniques of IDS Based on Anomaly Detection [J].Journal of Jilin University: Science Edition,2009,47(6): 1264-1270.(胡亮,金刚,于漫,等.基于异常检测的入侵检测技术 [J].吉林大学学报: 理学版,2009,47(6):1264-1270.)
[2] Ghosh A K,Schwartzbard A.A Study in Using Neural Networks for Anomaly and Misuse Detection [C]//Proceedings of the 8th USENIX Security Symposium.Berkeley: USENIX Association,1999: 12.
[3] JIANG Qian,HU Liang,ZHAO Kuo,et al.Research on Security of Telecommunication Accounting System [J].Journal of Jilin University: Information Science Edition,2009,27(4): 383-388.(姜千,胡亮,赵阔,等.入侵检测系统评估技术研究 [J].吉林大学学报: 信息科学版,2009,27(4):383-388.)
[4] Chandola V,Banerjee A,Kumar V.Anomaly Detection for Discrete Sequences: A Survey [J].IEEE Transactions on Knowledge and Data Engineeri,2012,24(5): 823-839.
[5] Stillerman M,Marceau C,Stillman M.Intrusion Detection for Distributed Applications [J].Communications of the ACM,1999,42(7): 62-69.
[6] XU Jing,CAO Zhong-wei.Research on Network Intrusion Detection System [J].Advanced Materials Research,2010,159: 77-82.
[7] GAO Ze-sheng,TAO Hong-cai.Implementation Mechanism of Next-Generation Intrusion Detection System [J].Journal of Yunnan University for Nationalites: Natural Sciences Edition,2003,12(4): 255-257.(高泽胜,陶宏才.下一代入侵检测系统NIDES的实现机制 [J].云南民族学院学报: 自然科学版,2003,12(4): 255-257.)
[8] Porras P,Schnackenberg D,Staniford-chen S,et al.The Common Intrusion Detection Framework Architecture [EB/OL].2006-05-02.http://gost.isi.edu/cidf/drafts/architecture.txt.
[9] ZHANG Jin-rong,LIU Feng,ZHAO Zhi-hong,et al.Applications of Data Mining to Network Intrusion Detection [J].Computer Engineering and Design,2009,30(24): 5561-5566.(章金熔,刘峰,赵志宏,等.数据挖掘方法在网络入侵检测中的应用 [J].计算机工程与设计,2009,30(24):5561-5566.)
[10] LI Bo.Research on Anomaly Intrusion Detection Based on Data Mining [D].Shenyang: Northeastern University,2005.(李波.基于数据挖掘的异常模式入侵检测研究 [D].沈阳:东北大学,2005.)
[11] Nurbol.Research on Anomaly Detection Based on Data Mining and Multi-stage Intrusion Alert Correlation [D].Changchun: Jilin University,2010.(努尔布力.基于数据挖掘的异常检测和多步入侵警报关联方法研究 [D].长春:吉林大学,2010.)
[12] Patcha A,Park J M.An Overview of Anomaly Detection Techniques: Existing Solutions and Latest Technological Trends [J].Computer Networks,2007,51(12): 3348-3470.
[13] Zhou C V,Karunasekera S,Leckie C.A Peer-to-Peer Collaborative Intrusion Detection System [C]//Proceedings of the IEEE International Conference on Networks.Piscataway: IEEE Press,2005: 118-123.