APP下载

基于变精度粗糙集的入侵检测技术研究

2018-07-12陈晓纯

电脑知识与技术 2018年12期
关键词:入侵检测

陈晓纯

摘要:随着网络攻击技术层出不穷,网络攻击方式呈现出多样性和隐蔽性的特征,網络入侵检测的漏报和误报频发。为了提高入侵检测的检测率、降低漏报率和误报率,利用变精度粗糙集挖掘数据之间潜在规律的特性,对测试数据集进行特征提取和属性约简,除去冗余信息降低属性维度,然后通过遗传算法进行分类和检测。实验测试表明该方法不仅可以提高检测率,并能较实时地检测其他类型的攻击。

关键词:入侵检测;变精度粗糙集;属性约简

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)12-0171-05

Abstract: As the network attack technology after another, showing a diversity of network attacks and covert features, network intrusion detection of false negatives and false alarm frequently. In order to improve the detection rate of intrusion detection, reducing the false negative rate and false alarm rate, the use of variable precision rough set of potential characteristics between data mining law, the test data set for feature extraction and attribute reduction, removing redundant information to reduce the dimension attributes and then classify and detect genetic algorithm, test results obtained. Experimental results show that this method can improve the accuracy of a denial of service attack detection type, and can be detected more complete other types of attacks.

Key words: intrusion detection; variable rough set; attribute reduction

入侵检测系统能够识别网络中发生的入侵行为并进行实时报警,具有实时性、动态检测等特点,可以弥补防火墙的不足。随着网络攻击技术和手段的广泛散布与不断更新,现有的入侵检测技术和系统已不能满足网络安全的需求,漏报和误报率越来越高,检测准确率越来越低。近年来涌现了很多入侵检测技术,FORREST[1]提出了将人工免疫理论应用于入侵检测领域,将计算机系统的保护问题与免疫系统中学习区分自体-非自体相比较,提出了阴性选择算法。Lee等人采用Ripper软件包[2]挖掘出正常和异常的模式,以规则的形式描述系统的运行状态。Asaka等提出了一种基于Discriminant method的入侵检测方法,通过预先标定的正常和异常系统的调用序列样本进行不断地学习,最终确定一个最优分类平面,以这个最优分类面为依据,来判断进程的系统调用是正常调用的还是异常入侵[3]。以上的研究表明,大部分的入侵检测技术需要大量的先验知识和攻击特征来构建攻击行为模型,Ripper要求有大量的训练数据,产生的规则才能有较高的检测率。

本文将变精度粗糙集理论应用于入侵检测,通过建立正常行为模型来区分正常行为和异常行为。在保持分类能力不变的前提下,对原始数据进行离散化等预处理,删除冗余信息,挖掘剩余属性间的关系,生产IF-THEN规则。该方法不需要大量数据和先验知识即可构建模型,作为初始种群。实验证明本文的方法在检测率和检测时间上优于其他检测方法。

1 相关理论基础

粗糙集(Rough Set)理论是由Z.Pawlak提出[4]的一种处理不精确、不确定、不完备的数据信息的数学工具,可以对大量数据进行知识约简和属性分类,尤其是在缺乏先验知识时,对模糊或不确定的数据进行相应的分析和处理,快速地获取区分和识别知识的规则。变精度粗糙集是粗糙集的扩展模型,它被成功地应用到了模式识别、机器学习、知识获取、数据挖掘等许多领域[5,6,7]。有很多的研究成果,文献[17]深入研究了变精度粗糙集的属性约简问题,给出了3种属性约简的概念,提出通过构造容差矩阵的属性核的最小约简算法,该算法可以减小属性约简的搜索空间,提高约简的效率。文献[18]分析了变精度粗糙集模型属性约简过程出现跳跃的原因,并给出消除跳跃现象的方法。文献[19]提出了一种将变精度粗糙集理论与概率神经网络相结合,建立变精度粗糙集模型,将信息系统中的冗余属性剔除,求出最小的知识表示,作为神经网络的输入,再用概率神经网络建立的模型进行分类和预测,其分类能力和预测精度都达到比较高的水平。变精度粗糙集理论研究[12,14,15]和实践研究两个方面都很成功,例如把变精度粗糙集理论应用于工作搜索[13],医疗诊断[16]。

经典的粗糙集理论对于边界的刻画过于简单,所处理的对象是已知的,但是在现实中,集合的关系不单单是包含于不包含的关系,还有属于关系,这个不足之处限制了粗糙集的适用对象。因此,有许多研究者对粗糙集理论进行扩展,其中Ziarko提出的变精度粗糙集模型[8]克服了粗糙集的局限性。通过引入阈值参数[β](0[≤β]<0.5),允许一定的错误分类率的存在,具有更好的抗噪声能力和鲁棒性。

它表示条件属性集[C]所划分的等价类能够以[β]分类误差分类于决策属性集[D]的等价类中元素个数占所有元数个数的比例,体现了在[β]分类误差下的分类能力。

在保持分类能力不变的前提下,将条件属性集[C]中的不必要的属性删除,求条件属性集的最小子集的过程就是属性约简。约简算法是入侵检测中的核心,通过约简可以减少冗余信息,减少计算量,提高识别速度,但是也要防止约简过度。约简有很多种算法,例如基于属性重要性的属性约简算法,基于条件信息熵的属性约简,[β]下分布约简等等。本文将采用改进的基于遗传算法的属性约简算法进行计算。

2 基于变精度粗糙集模型和算法

2.1 入侵检测信息系统和模型

本文用变精度粗糙集理论建立入侵检测信息系统,信息系统四元组[IS=U,C?D,V,f],其中[U]是入侵检测数据集的对象,[C]是数据的条件属性集合,有41个连接属性字段组成,[D]是决策集合,[V]是属性字段值的集合,[f]是每个连接属性对应值所构成的函数。

利用变精度粗糙集对训练数据进行预处理,通过调节分类误差[β]来求得网络状况的参数值,可以提供判断网络安全的依据,所提出的变精度粗糙集的模型如下:

如图1所示,采用的数据集分为两个部分,一部分作为训练数据,另一部分作为测试数据,刚开始构建入侵检测信息系统,对数据集预处理,训练数据要进行属性约简,具体约简算法在下面将会详细介绍,约简后得到规则库,最后用测试数据验证规则库的完备性,得出正常行为和异常行为。

2.2 基于改进的遗传算法的属性约简算法

本文采用遗传算法对多维属性进行属性约简,遗传算法在进化搜索的过程中使用是适应度函数作为进化的依据,[Fr=l-lrl+γC,D,β],[lr]表示染色体[r]中基因为1的个数。[γC,D,β]是决策属性[D]对条件属性[C]的[β]依赖度;对种群的个体计算适应值,根据适应值作为启发信息进行搜索,因此,在遗传算法中对适应度函数的设计是关键部分,非常重要。然而,基于粗糙集的属性约简遗传算法使用正区域作为适应度函数,因为变精度粗糙集的正域是根据所选取的阈值参数[β]来确定,所以本文设计的适应度函数选取的是决策属性对条件属性的[β]依赖度;属性编码所采用的是二进制编码方式,例如,在决策表中有属性集{[C1,C2,C3,C4,C5]},如果求解一个属性约简是[C1,C3,C5],则相应的染色体表示为10101。

属性约简遗传算[9]步骤如下:

1.属性编码。采用二进制的方式进行编码,存在记为1,否则为0;染色体的长度是条件属性的个数。

2.选择算子。采用轮盘赌选择方式[10],并且选择一个最优策略方式,如果得到新一代个体之后,如果其中最坏的个体适应值小于上一代最好的个体的适应值,那么舍弃新一代,用上一代的最好的个体代替新一代最坏的个体,来确保算法收敛[11]。

3.交叉因子。采用部分匹配交叉策略。

4.变异算子。采用单点变异方法。

3 实验与分析

实验的基本指标有检测率,漏报率和误报率,下面有相关的具体定义:

检测率=正确检测出的入侵事件个数/总的入侵事件个数;

漏报率=未检测出的入侵事件个数/总的入侵事件个数;

误报率=错误判别事件的总个数/(正确检出的入侵事件个数+漏报的入侵事件个数+错误判断的事件个数)。

3.1 实验环境

实验所用是Win7操作系统下的WEKA实验平台,用到的软件包括:UltraEdit,ROSETTA,JDK等。

WEKA的全名是怀卡托智能分析环境(Waikato Environment for knowledge Analysis),它是基于JAVA环境下开发的机器学习以及数据挖掘的软件。本文主要是利用此软件进行分类,区分正常行为和异常行为。

ROSETTA软件是挪威科技大学的计算机与信息科学系和波兰华沙大学数学研究所合作开发的一个基于Rough理论框架的表格逻辑数据分析工具包。

3.2 实验数据集

实验数据选取KDDCUP99数据集,它是林肯实验室通过模拟各种攻击收集了9周的数据,很多入侵检测竞赛都选用此数据,它和真实的网络环境相差无几,具有权威性。KDDCUP99数据集具有42个属性字段,,其中条件属性有41个,1个决策属性是一个高维数据集合。

3.3 数据的离散化

变精度粗糙集中所定义的规则是用决策表的形式,决策表要求属性值一定是离散值,进而对原始数据集进行离散化处理。下面对数据集进行等频离散,ROSETTA的使用界面如图2所示。

经过离散化后的数据格式如图3所示:

3.4 实验数据的预处理

数据集经过离散化处理,很多属性值为0,所以删除无用信息和冗余信息是非常有必要的。实验数据的预处理有如下几个步骤:

1)从获得的原始数据集分离出实验所用的数据集;

2)选好的数据集随机分为两个部分,一部分用于訓练数据,另一部分作为测试数据;

3)分别构建信息系统备用于数据离散化、属性约简。

实验数据经过预处理之后是比较规范的数据集合,采用不同的检测方法进行实验测试。

3.5 VPRS属性约简

对于数据集的属性约简在2.2已经详细介绍过了,该部分就采用如上的办法进行对训练数据集合进行属性约简,约简的结果如图4:

3.6 实验比较与分析

为了验证所提出方法的有效性,根据不同的比较参数进行比较,比较全面的判断方法的性能。首先是测试参数[β]对检测率的影响,由于实验数据非常的精细,选取了五种类型分别进行测试,每一种测试十次,去掉最高值和最低值,求平均值作为一个参考值,原因是避免偶然误差,使实验更加准确。下面的图5是不同的[β]值对应的检测率:

實验一是基于贝叶斯的入侵检测,使用WEKA内部自带的贝叶斯分类器来进行训练和分类。首先把未经过任何预处理的数据导入WEKA,再选择贝叶斯分类器对训练数据样本进行训练,可以得出训练时间,等训练结束后,把测试数据导入分类器进行测试。最后输出分类器处理结果的混淆矩阵。

从上面的表2可以得出,使用实验平台自带的分类器的检测率很低,远远不能达到入侵检测的要求。主要原因有选择的测试数据集和训练数据集的样本量比较大,增加了系统额外的开销,降低了训练和检测的效率;贝叶斯分类器假设变量之间是条件独立的,对于费变量的处理有较大的误差,因此导致检测率低。

实验二是基于粗糙集的入侵检测,不同的是数据集是经过离散化的,用粗糙集理论对数据进行离散化,对数据的训练使用简单遗传算法,实验选择80条作为初始种群,为了实验的合理性,保证U2R和R2L不为空集,然后在WEKA平台进行实验,后续步骤如上。

根据上表3的结果显示,实验二的检测率和误报率较实验一有所提高,对于相同的测试集,说明实验二的检测效果优于实验一。

主要原因是选择的80个样本进行遗传算法的训练,减少了训练时间而且提高了检测率,说明简单遗传算法的分类能力比贝叶斯分类器强。使用的数据依然是未经过属性约简的数据,检测效果还有待提高。

实验三是基于变精度粗糙集的入侵检测,把数据集预处理即利用变精度粗糙集对属性约简,采用ROSETTA软件中的Johnson Reducer算法进行属性约简,如图6所示:

为了简洁描述,把41个条件属性从1到41进行编号,使用Johnson Reducer算法进行属性约简后得到结果如表4:

约简后进行规则的提取,产生“IF(条件属性)THEN(决策属性)”的规则,对这些规则用改进的遗传算法进行训练和分类,得出混淆矩阵。实验结果如表2所示:

从上表5可以看出,此实验的前三种攻击的检测率明显高于以上两个实验,误报率也降低不少。实验3的检测结果表明,使用变精度粗糙集对数据进行属性约简和采用改进的遗传算法分类和检测是有效的。对于U2R和R2L的检测率不是特别高的原因是这两种攻击样本所占比例非常少。但是对于Probe攻击和DoS攻击的检测率都达到了95%以上。

三种定性的实验测试数据的结果得出了入侵攻击检测率对比图,如图7所示:

三种定性测量实验的入侵攻击误报率对比结果如下如图8所示:

以上的实验数据结果表明,通过比较三种实验的检测率和误报率两个指标进行分析,可以直观地看出:对于所有四种攻击,实验三的基于变精度粗糙集的入侵检测的检测率是最高的,误报率是最低的。证明了用变精度粗糙集对数据进行属性约简和采用改进的遗传算法训练和分类是效果较好的。

对于DOS和Probe这两种攻击的检测结果来看,实验三的预测性能比较好,都达到了97%的检测率。对于U2R和R2L两类攻击,其检测的正确率只有72.8%和80.4%,究其原因是:这两种攻击的获取样本非常少,只含有少量的格式化网络信息,网络数据报文段的非格式化信息又不容易提取出特征,因此对U2R和R2L的检测率不太高,同时由于KDDCUP99数据集本身收集的特征属性不足又有一定关系。

通过在测试数据集中添加训练集中没有的攻击种类即未知攻击的种类的数据,依照上面的实验步骤重做着三个实验,结果也会得到混淆矩阵,计算出检测率和误报率等指标,下面就对得出的结果做出详细的比较图。

本文分别对三个实验分别进行已知攻击和未知攻击的测试,为了验证所提出的入侵检测技术的普遍性,实验结果比较已经如上面所示的图7、图8、图9和图10,从上面可以直观的看出来,对于添加到测试集中的,而在训练集中没有的攻击种类,基于变精度粗糙集的入侵检测技术依然能够有较好的检测率,说明变精度粗糙集的挖掘数据之间潜在规律的能力是非常强的,适合应用于入侵检测领域。

4 结论

本文主要解决了当前入侵检测中的检测率低、误报率高的问题。通过将变精度粗糙集理论应用在入侵检测领域中,对其捕捉的数据进行分析,对数据集合进行属性约简来降低数据的维数和删除冗余属性,提高了实时性和效率。然后在结合改进的遗传算法,对约简的数据建立模型,最后进行测试分类。实验结果表明,采用变精度粗糙集对数据预处理确实提高了检测率和实时性,证明方法的有效性。在以后的研究中,还要致力于如何把它用在真实的网络环境中,对于属性约简的算法如何更加有效和快速的属性约简也是一个重要的研究方向。

参考文献:

[1] Forrest S, Perelson A S, Allen L, Cherukuri R. Self-nonself discrimination in a computer[C]// IEEE Symposium on Security and Privacy. IEEE Computer Society, 1994:202.

[2] Cohen W W. Fast Effective Rule Induction[J]. American Journal of Kidney Diseases the Official Journal of the National Kidney Foundation, 2000, 46(2):115-123.

[3] Asaka M. A New Intrusion Detection Method Based on Discriminant Analysis[J]. IEICE Transactions on Information & Systems, 2001, E84D(5):570-577.

[4] Pawlak Z. Rough Sets: Theoretical Aspects of Reasoning about Data[M]. Kluwer Academic Publishers, 2015:26-49.

[5] Yang X, Song X, Chen Z, et al. Multi-granulation Rough Sets in Incomplete Information System[J]. International Journal of Machine Learning & Cybernetics,2012,3(3):223-232.

[6] Tian H, Kang X Y, Zhang J N, et al. Application of fuzzy rough sets in patterns recognition of bearing[C]. Quality, Reliability, Risk, Maintenance, and Safety Engineering (ICQR2MSE), 2012 International Conference on. IEEE, 2012:731-734.

[7] Zhang X, Guo J, Zou Q, et al.Vibrant fault diagnosis for hydroelectric generator units with a new combination of rough sets and support vector machine[J].Expert Systems with Applications,2012, 39(3):2621-2628.

[8] Ziarko W. Variable precision rough set model[J].Journal of Computer & System Sciences,1993,46(1):39-59.

[9] 易哲,李偉生. 基于粗糙集和遗传约简算法的入侵检测方法[J].计算机工程与应用,2010,46(21):116-118.

[10] 周明. 遗传算法原理及应用[M]. 国防工业出版社,1999:127-134.

[11] 任永功,王杨,闫德勤.基于遗传算法的粗糙集属性约简算法[J].小型微型计算机系统,2006,27(5):862-865.

[12] Liu J N K, Hu Y, He Y. A set covering based approach to find the reduct of variable precision rough set[J]. Information Sciences, 2014, 275(3):83-100.

[13] Park I K, Choi G S. A variable-precision information-entropy rough set approach for job searching[J]. Information Systems, 2015, 48:279-288.

[14] Yang Y, Chen D, Dong Z. Novel algorithms of attribute reduction with variable precision rough set model[J]. Neurocomputing, 2014, 139:336-344.

[15] Kang X, Miao D. A variable precision rough set model based on the granularity of tolerance relation[J]. Knowledge-Based Systems, 2016, 102:103-115.

[16] Roy S S, Gupta A, Sinha A, et al. Cancer data investigation using variable precision Rough set with flexible classification[C]// International Conference on Computational Science, Engineering and Information Technology. 2012:472-475.

[17] 陈昊,杨俊安,庄镇泉.变精度粗糙集的属性核和最小属性约简算法[J].计算机学报,2012,35(5):1011-1017.

[18] 李健,常太华,杨婷婷.变精度粗糙集模型属性约简分析[J].计算机工程与应用,2012,48(3):132-143.

[19] 营利荣,刘思峰.杂合VPRS与PNN的知识发现方法[J].情报学报,2005,24(4):426-432.

猜你喜欢

入侵检测
多Agent的创新网络入侵检测方法仿真研究