曲萍
(唐山学院 计算机科学与技术系,河北 唐山063000)
入侵检测系统IDS(intrusion detection system)是用户计算机主动安全防护的一种措施,它用于检测未经用户授权直接进行计算机信息访问的行为,它从系统内部和各种网络资源中主动采集信息,从中分析可能的异常入侵。根据入侵检测方法,IDS分为异常检测系统和误用检测系统两大类。误用检测系统只能检测出已知特征模式的攻击,对未知特征模式的攻击无法检测。而异常检测系统采用将系统当前的活动与过去行为模型进行比较的方法,能够有效地对新的、未知的攻击进行检测[1-3]。参考文献[4]提出了基于强规则和弱规则的关联规则挖掘方法来检测异常操作较少和分布时间长等不易的网络攻击。同时建立以各属性为节点的贝叶斯网络作为异常判别器,进一步判别关联规则挖掘中发现的可疑行为,提高了系统检测的准确率。但是在数据训练阶段,根据数据挖掘的要求,需要对原始的无攻击的纯净数据信息进行数据预处理,训练成适合数据挖掘的数据记录,而数据信息抓取过程中受到网络实时更新等因素的影响无法避免数据噪音,进而影响数据信息本身的安全性,依此数据信息训练的数据项集本身也就存在了安全隐患。参考文献[5]采用变长序列模式匹配算法对程序历史行为和当前行为进行比较,联合使用多个窗长度和判决门限对程序行为进行判决,提高了检测的准确率和灵活性。但由于网络数据信息量不断膨胀,多窗口长度和判决门限会增加计算机的运算量,造成数据拥塞,网络负载加大。参考文献[6]提出了一种基于时态知识模型和可变滑动窗口的实时模式提取算法,并在此基础上,实现了基于规则的、层次化的智能入侵检测原型系统。但在匹配算法中需要逐一遍历,对于复杂数据信息实时性难以体现。参考文献[7]提出了一种具有自主学习、自主完善功能的入侵监测模型,可发现已知和未知的异常入侵活动。但该模型中评估指标不具备完善性,对短时间内正常进程记录监管有限,从而更新的规则库存在安全隐患。基于以上问题,本文提出了一种新的基于数据挖掘技术的异常入侵检测系统ANEIDSDM(A New Exception Intrusion Detection System based on Data Mining)。
在ANEIDSDM模型中,数据信息E是否异常,由数据评估W决定。只有当数据评估通过数据信息异常检测,满足相似度、支持度和置信区阈值时,数据信息E才被认为是正常的数据信息,否则为异常。
数据信息是分散地存储于计算机和传播于网络中的,对于数据的采集是基于一定条件的,有基于主机的信息采集,也有基于网络的信息采集和混合型的数据信息采集等[8]。当数据信息采集完成后,会经过数据预处理,形成数据项集S,对S分类产生高频繁集和低频繁集。对于高频繁数据项集进行模式分析,形成数据模式集O。每一种模式集都对应一种数据规则,对数据模式集的数据分析处理过程就是数据挖掘规则过程,数据规则集Q形成后,为了便于检测,对其进行分类分析二次数据挖掘,形成分类规则集,最终形成规则库K。经过多次训练后,数据采集的规则库具有一定的记忆,当数据进行抓取时结合记忆库和规则库的双重考核,数据信息更加安全可信。
数据挖掘过程中对数据项集分析产生的数据模式可能有用,也可能是无关的。所以为了节约计算机存储空间和数据挖掘速度,采取以某一主属性为特征属性的方式对数据信息E进行挖掘。当待测数据信息E进行攻击时,启动检测系统,快速对其数据信息进行分析,形成数据规则集V,对规则集V实行分类匹配,对比相似度,搜索与之相对应或相类似的规则库对其规则集进行检验。若异常,则实行预警,否则以正常信息对待。当数据信息庞杂时,根据分类规则库,可快捷对数据规则集实行查找匹配,快速对数据信息进行检测。
数据检测时结合在线滑动窗口T,不仅对原始获取数据信息进行实时检测,而且对当前由用户操作所引起的原始数据部分信息丢失、更改等现象具有一定的处理应变能力。当数据评估W完成后,评估结果存入决策列表L中,以供用户决策。
其思想有以下特点:(1)数据信息的采集结合主属性产生高频和低频数据项集,减少了无关信息的处理过程。(2)采取关联分析和分类分析二次挖掘,数据处理速度和数据挖掘质量有明显的提高。(3)在线检测数据记录匹配,实时性更高。(4)引入相似度匹配检测思想,实现快速数据评估。
数据挖掘(Data Mining)是指从大量数据信息中发现数据间的潜在规律,进而提取人们感兴趣的和有用的知识的方法和技术,这些知识具有隐含性、未知性、异常性,但又是潜在的对系统安全检测有用的信息[9]。数据挖掘过程一般由三个阶段组成:数据准备阶段(包括数据清理与集成、数据选择与变换)、数据挖掘阶段、评估与表示阶段(结果表达与解释)。数据挖掘的模式有关联模式、分类模式、回归模式、时间序列模式、聚类模式和序列模式六种[10]。与数据挖掘的模式相对应的数据挖掘算法有:关联分析算法、数据分类算法、序列分析算法和聚类分析算法等。目前,应用于入侵检测领域的数据挖掘算法主要是关联分析算法、数据分类算法和序列分析算法。
(1)数据预处理
数据预处理模块处理原始数据包,抽取对应的主特征属性组成数据信息集,提供给数据挖掘模块。由于数据连接过程需要传送许多数据包,而这些数据包的基本属性很多是重复的,所以对于TCP连接,从连接建立到连接终止过程中所有数据包的传送抽象为一个连接事件,而对每一个连接事件建立一个与之相对应的数据项集。对无连接的UDP,可简单地将每一个数据包抽象成一个连接事件。
(2)关联规则挖掘
关联规则是指对数据项集中各种数据模式的有代表性的数据之间知识规律的规则描述。在入侵检测系统中,设定一个最小支持度和一个最小置信度来度量关联规则的相关性,从已知的数据信息中产生关联规则,保证其支持度和置信度大于用户预先设定的最小支持度和最小置信度阈值。其过程为:①特征抽取与数据预处理。数据信息被采集后形成数据项集,每一个数据项集以一个主属性为参考,对无关数据项集进行处理。②关联规则挖掘分析。对数据模式中关联规则的数据进行规则挖掘。③检测入侵。将新产生的关联规则添加到关联规则库中去,然后将用户行为与关联规则库中的规则匹配来判断是否入侵。常见的算法有Apriori算法和AprioriTid算法。
(3)频度分析
频度分析是指在一定时间窗口事件发生的频度,它有高频和低频繁两种[11]。①高频挖掘:即数据项集的属性集大于一定支持度和置信度,如DDOS攻击,在高频繁挖掘时就能检测出这类攻击。②低频繁挖掘:即数据项集的属性集支持度低于一定阈值而置信度大于一定阈值,如慢扫描过程在单位时间内异常扫描较少,假如只检查高频数据项集,就会漏掉这类模式的攻击。
(4)数据分类分析
数据分类的目的是提取数据库中数据项的特征属性,生成分类模型,把数据库中的数据项映射到预先定义的类别中的一个,异常入侵检测时它可以用数据规则集的形式表示[12]。数据分类的步骤如下:①训练数据项集,将待测数据信息训练成数据规则集。②分析数据规则集,提取主特征属性。③根据标准数据规则库中数据规则集对待测数据规则集进行分类。常用的分类算法有RIPPER、m3、C4.5、Near-neighbor和神经网络等。
定义1滑动窗口。在t时间内,数据匹配检测的范围。
设开始时间为t=nt0,则滑动窗口T的检测范围为t=T+nt0。其中,t0为步长,T为窗口大小,t为时间。一般T是固定值,为用户默认,专家可根据系统安全等级设置其值大小。
定义2相似度。数据挖掘规则库与系统检测匹配规则库的相似性度量值。
设系统设置的规则库为K0,每次数据挖掘规则库为Ki,m 为相 似度量,h 为相似系数,则h的值域为[0,1],值越大,相似度越小,一般设置为 0.5,系统管理员可根据自己的安全等级需求设置相应系数,安全等级越高,h越小。若数据挖掘的数据规则集V与规则库中的某个规则相似,即V=hK某个,则表示为:V≅K某个。
定义3数据评估。对数据规则是否符合系统安全的衡量。
设数据评估为W,则W=[正常,异常],其评估过程为在滑动窗口T内对规则库Ki的相似匹配和检测匹配。
本模型由一个 10元组{E,S,O,Q,P,K,W,T,M,L}来表示。其中E表示数据信息,包含基于网络流量,基于主机和混合型的数据信息。当获取数据信息E后,对其形成主属性为采集标准的数据项集S,如在时间、方向、端口号、主机IP地址等属性中,以目的主机IP地址为主属性,采集的所有数据记录经过数据去噪、预处理后形成数据项集。数据项集S经过数据模式分析后形成数据模式集,用O来表示。每种数据模式都对应一种数据规则算法,经过数据挖掘,形成数据规则集,用Q来表示。对数据挖掘的规则集进行分类分析,形成数据分类集,用P来表示。数据挖掘的结果最终形成规则库K。数据挖掘完成后需要对数据挖掘结果进行数据评估,用W来表示。在数据评估过程中引入滑动窗口T和相似度M,数据评估结束后结果添加在决策列表L,提供给用户。用户响应后,规则库K自动更新。
ANEIDSDM模型的框架如图1所示。本框架由以下几部分组成:(1)数据信息。数据信息既有基于网络流量的,也有基于主机的,亦有混合型数据信息。(2)数据采集。数据采集包括数据获取,数据去噪和数据预处理3个部分。数据信息的采集是数据挖掘的基础阶段,采集数据质量的好坏直接影响到数据挖掘质量的优劣。(3)数据分析。数据采集后需要对其进行模式分析,根据模式分析的方式选取合适的规则库算法,形成规则库挖掘。对数据挖掘产生的规则库进行二次挖掘,产生分类规则库。(4)数据评估。对数据挖掘的结果需要进行数据评估,为了提高数据匹配算法的实时性和高效性,引入了在线滑动窗口和相似度匹配思想,对于数据挖掘产生的规则库根据相似度匹配算法快速分类,然后通过滑动窗口在线对规则库进行匹配检测。(5)事件响应。对数据评估的结果进行决策,如果确定为异常数据记录,则启动预警系统,更新规则库。规则库作为数据去噪和数据挖掘的一个参考衡量标准,可以提高数据纯净度和数据挖掘质量。(6)用户。用户对事件响应有决策权,事件响应反映给用户时,用户可根据自己设置的系统安全等级选择是否预警。
ANEIDSDM模型的算法流程图如图2所示。ANEIDSDM模型采用滑动窗口和相似度技术,窗口大小为T,步长为t0(t0 (1)数据信息训练算法 输入:数据信息 E,滑动窗口 T,时间 t,相似度 m,窗口个数 k,步长 t0。 输出:数据挖掘规则库K。 ① S,O,Q,P,K,W,T,M,,n,c,s,k→0;//变 量 初始化; ②在t=n×t0至 t=T+n×t0之间得到的当前时间窗口内的数据信息E,k=k+l;//在滑动窗口内对数据信息进行采集; ③S=E{eip|ex};//以基于目的主机 IP地址为主属性的数据信息E形成的数据项集S; ④对其进行数据挖掘,分别挖掘高频数据项集和低频数据项集,重复规则的重复度计数+1,n=n+l; ⑤S→O;//对数据项集进行数据模式分析形成数据模式集O; ⑥O↔Q;//数据模式集对应数据规则集算法,形成数据规则集Q; ⑦if(k else执行⑧调用分类算法从数据规则集中挖掘分类规则集P,重复规则的重复度计数+1。调整该规则的支持度c和置信度k; ⑧Q→P;//对数据挖掘规则集进行数据分类,数据分类集P; ⑨if(∀S低频)break,执行⑩;//连续一定数量的窗口都有低频繁数据项集S低频; else返回②; ⑩P→K;//数据信息训练结果规则库为K0,由于数据纯净度不够,需要多次数据训练,系统指定规则库 将数据规则集中重复度小于最小阈值的规则舍去,输11出规则库K; (2)检测阶段的数据信息挖掘过程算法 输入:数据信息 E,滑动窗口 T,时间 t,相似度 m,窗口个数 k,步长 t0,数据挖掘规则库 K,待测数据规则为V。 输出:异常规则集Q异常,异常数据项集S异常。 ①S,O,Q,P,K,W,T,M,L,n,c,s,k→0; //变量初始化; ②对每一个时间窗口的数据信息经过采集后进行处理,用关联规则挖掘算法挖掘出关联规则; ③当滑过k个时间窗口时,对前k个时间窗口内的数据项集,用分类模式算法挖掘出分类规则P; ④for(each V∈K)if(cv>cK标准∞ kv>kK标准)//V的置信度 k和支持度 c与标准规则库K标准中相应规则的支持度、置信度比较,波动超过一定阈值; ⑤if W={异常}重复②、③、④ //对滑动时间窗口得到数据规则集进行数据评估; L=W //每次检测结果提交决策列表以供用户决策; 数据参考MIT林肯实验的DARPA 1999年评测数据集。由于数据信息自身的复杂性,需要对数据信息进行多次训练以降低数据噪音的影响。在本实验中对ANEIDSDM算法进行模拟测试分为两个阶段: (1)为数据训练阶段:首先收集数据信息,依此数据信息对其抽取特征主属性,挖掘高频度数据项集和低频数据项集,对高频数据项集进行数据模式集,对数据模式集进行数据挖掘,形成数据规则集,最后对数据规则集进行分类,形成标准规则库。实验时分为3个阶段收集,实现3次训练,如表1所示。 表1 ANEIDSDM算法数据训练实验数据 (2)数据模拟检测阶段:对待测数据信息进行数据规则集的挖掘,根据与标准规则库中分类规则集的相似度对比,快速分类,通过在线滑动窗口和匹配检测方法,对数据信息进行异常入侵检测。若属于异常信息,则进行预警。实验时通过对7种常见攻击类型的模式进行异常入侵检测,如表2所示。 表2 ANEIDSDM算法数据检测异常入侵实验数据 通过模拟攻击实验表明,数据信息经过ANEIDSDM入侵检测能够很好地检测异常数据信息,其误警率和检测率都有了明显的提高。本实验同时可以有效地提高入侵检测系统的检测速度。 本文针对现有异常入侵检测系统存在的问题,建立了一种新的基于数据挖掘技术的异常入侵检测系统模型。该模型包括数据采集、数据分析、数据评估、事件响应等一系列检测过程,利用多次训练、滑动窗口、规则分类和相似度匹配思想,大大降低了系统的误警率,提高了检测速度,提升了检测率,增强了网络系统的安全性能。 [1]VERWORD T,HUNT R.Intrusion detection techniques and approaches[J].Computer Communication,2002,25(15):1356.1365. [2]LANE T.Machine learning techniques for the computer security domain of anomaly detection[D].Purdue University,2000. [3]MUKKAMALA S, SUNG A H,ABRAHAM A.Intrusion detection using all ensemble of intelligent paradigms[J].Journal of Network and Computer Application,2005,28(2):167-182. [4]吕志军,袁卫忠,仲海骏,等.基于数据挖掘的异常入侵检测系统研究[J].计算机科学,2004,31(10):61-65. [5]田新广,李文法,段洣毅,等.基于数据挖掘和变长序列模式匹配的程序行为异常检测[J].信号处理,2008,24(4):521-555. [6]凌军,曹阳,尹建华,等.基于时态知识模型的网络入侵检测方法研究[J].计算机学报,2003,26(11):1591-1597. [7]杨向荣,宋擒豹,沈钧毅,等.基于数据挖掘的智能化入侵检测系统[J].计算机工程,2001,27(9):17-102. [8]BARFORD P,HIINE J,PLONKA D,et al.A signal analysis of network traffic anomalies[J].Internet Measurement Workshop,2002,7:1-82. [9]YE N, LI Xiang Yatig,CHEN Qiang.Probabilistic techniques for intrusion detection based on computer audit data[J].Man and Cybernetics,Part A,IEEE Transactions on 2001:31(4):266-274. [10]YE N,EMRAN S M,CHEN Q,et a1.Multivariate statistical analysis of audit trails for host-based intrusion detection[J].IEEE Transactions on Computers,2002,51(7):810-820. [11]OH S H,LEE W.A clustering based anomaly intrusion detection for a host computer[J].IEICE Transactions on In.formation and Systems,2004,E87-D(8):2086-2094. [12]HOFMEYR S A,FORREST S,SOMAYAJI A.Intrusion detection using sequences of system calls[J].Journal of Computer Security,1998(6):151-180. [13]LANE T,CARLA E B.An empirical study of two approaches to sequence learning for anomaly detection[J].Machine Learning,2003,51(1):73-107.5 实验分析