APP下载

基于粗糙集和信息熵的入侵检测特征选择方法研究

2011-01-25姜懿庭

关键词:约简粗糙集子集

吴 萍,姜懿庭

(云南师范大学信息学院,云南昆明650092)

入侵检测需要对大规模的网络数据流或主机审计信息进行数据分析,判定攻击类型,而网络中的行为一般都可以用一些特征来描述,如:源地址、目的地址、协议类型、服务类型、端口号及连接时长等,一条网络记录是正常行为还是攻击行为通常是由许多特征组合取不同值来表征的,但是存在着一些特征对于最后的判定起的作用很小,即这些特征的变化与否与判定结果基本无关,可以约简.过多的特征会给计算带来困难,占用大量的存储空间,会降低整个网络系统的吞吐效率,耗费大量的时间,检测的精准率也会降低,所以在进行数据处理之前需要进行特征选择.

特征选择技术[1]正是从原有的庞大的数据集中选择出满足需要的、重要性较高的一个精简数据集合的过程,并且该精简数据集可以保持原有数据集的完整性,且不会影响最后判定结果的准确性.文献[2]中采用的特征选择方法,是对单个特征进行评价,以对评估数据检测的正确率和时间作为度量准则,这种选择方法可以挑出前N个最有效的单个特征,但是这N个特征放在一起却不一定是最佳的组合,所以对于约简后的特征属性集合的信息完整性缺乏可靠验证[3].

为了解决上述问题,本文基于粗糙集的知识约简理论,采用计算信息熵的方法来选择重要特征,在保持知识库的分类或决策能力不变的条件下,删除不相关或不重要知识,得到保持分类正确的最小特征子集.

1 粗糙集中的知识表达系统在入侵检测特征中的描述

粗糙集(Rough Set)理论是由波兰学者Pawlak于1982年提出的[4],它是一种刻画具有不完整性和不确定性信息的数学工具,其基本思想是:在保持知识库的分类能力不变的前提下,通过知识(属性)约简得出问题的决策或分类规则.粗糙集的优点是[5]:在处理问题时不需要其他先验知识,利用定义在数据集合U上的等价关系R对U的划分作为知识.在不丢失信息的前提下,根据知识系统的条件属性与决策属性的依赖和关联度,通过知识约简算法得到具有最小决策规则的分类模型.

1.1 网络攻击特征数据的粗糙集知识表达

粗糙集中对知识进行表达和处理的基本工具是信息表知识表达系统[6],下面就本文中的研究对象网络攻击特征数据集进行粗糙集的知识表达.

攻击特征数据的知识表达:

设五元组T= <U,C,D,V,f>是一个网络攻击特征数据决策表知识表达系统,其中U是攻击样本的集合,C为攻击特征(条件属性)集合,D为攻击类型(决策属性)集合且D≠Ø,V是属性值的集合,Vr表示属性r∈C∪D的属性值范围,即属性r的值域,f:U×(C∪U)是一个信息函数,它指定U中每一个对象x的属性值.

1.2 网络攻击特征的选择

首先选定一个特征子集A,然后将其他特征属性加入该特征子集中,如果加入的特征属性并没有使原有的特征的信息熵发生变化,则该属性就是非必要特征属性,可以对其进行约简.可进行如下描述:

在网络攻击特征数据决策表系统T=<U,C,D,V,f>中,选定特征子集{A|A⊆C},将特征 r∈C加入到特征子集A中,形成A'并计算A'的信息熵,如果A'的信息熵不发生变化,则说明r不能为特征子集A的分类增加信息,则A为相对于D的特征选择.即:

特征选择的终止条件是在T中,有H({d}|A∪{r})=H({d}|A),则A为C的相对于{d}的特征选择.

1.3 网络攻击特征数据决策表的核

对于一个网络攻击特征数据决策表系统T=<U,C,D,V,f> ,C 中所有对{d}是必要的特征组成的集合称为特征集合 C相对于{d}的核,记作CORE{d}(C).

2 信息熵的相关定义和计算模型

信息熵[7]是测量不确定性的一种度量方法,任何一个随机变量的不确定性可以通过它的信息熵来表示.信息熵的定义为:A为U上的一个条件属性子集合,U/IND(A)={x1,x2,…,xn},d 为 u 上一个决策属性子集合,U/IND{d}={y1,y2,…,yn},则决策属性{d}相对于条件属性子集合的信息熵为:

如果将属性集分类进行合并[8],在合并过程中,当一个分类对于另一个分类的概率相等的情况下,不会导致信息熵发生变化,就出现了上面介绍过的增加一个属性并不能为原有的属性子集分类增加任何信息,此时就可以将之约简.

根据以上结论可以得出,可以将核作为计算信息熵的起点,则在特征选择的过程中,不断地向特征子集C'中增加属性r∈C,然后判断信息熵H(D|C'{r})是否发生变化.如果该信息熵值是递减的,则特征属性r为不可约简的特征属性.

即对于一个网络攻击特征数据决策表系统T=<U,C,D,V,f>,A 为 C 经过攻击特征选择后得到的特征集合,C0是核.如果ri∈AC0是任意一个不能被约简的特征属性,有:

因为核肯定是在特征选择的结果中,所以本文算法以核为起点,逐步向核的集合中增加特征,直到得到最后的特征选择结果为止.

3 计算信息熵进行特征选择的算法

攻击特征的相对重要性[9]定义为:对于一个网络攻击特征数据决策表系统 T= <U,C,D,V,f>,特征r∈C在C中对{d}的重要性定义为:

所以可以看出,在C确定的情况下,SGE(r,C,{d})越大,对于决策{d}就越重要.当且仅当SGE(r,C,{d}) >0时,攻击特征 r是必要的.

网络攻击特征数据选择的具体步骤如下:

1)计算攻击数据决策表系统中的信息熵H({d}|C):

2)求特征集合的核:

CORE{d}(C)={c∈C|SGF(c,C,{d}) >0};

SGF(c,C,{d})=H({d}|C{c}) -H({d}|c).

则可以求出条件属性特征集的核C0.

3)计算核的信息熵:H({d}|CORE{d}(C0)).

4)以核为起点,选择使信息熵最小的特征加入特征选择子集中.

令C0为核,A={C -C0},设 ri∈A,则依次计算信息熵H({d}|C0∪{ri}),使H({d}|C0∪{ri})最小的ri加入 C0中,C0'={C0+ri},若 H({d}|C0')=H({d}|C),则算法终止,得到了特征选择的结果.

4 特征选择结果分析

4.1 实验数据的选取

本文选用的数据集KDDCup99[10]是一个网络连接记录集,其中包含了大量的有代表性的正常网络流量和各种攻击类型,具有很强的代表性.KDDCup99数据集中的每条数据有41维属性特征和一个为标记正常与非正常的特征(即决策属性).前41维属性特征被划分为4个特征子集:基于TCP连接的特征属性、基于内容的特征属性、基于2 s时间窗的流量特征属性、基于主机的流量特征属性.决策属性分为5类,即正常、DOS攻击、Probing攻击、U2R攻击和R2L攻击.

本文选取KDDCup99离线测试数据的10%子集作为实验基本数据,其各种攻击类型所占比例为Normal(19.68%)、DOS(62.54%)、U2R(3.43%)、Probing(6.58%)、R2L(6.92%).

4.2 实验结果分析

经过本文的算法对数据进行处理后,共约简出21个攻击特征,如表1~4所示.

表1 选择出的基于TCP连接的基本属性特征

表3 特征选择出的基于目的主机的网络流量特征

表4 特征选择出的基于内容的特征属性

经过粗糙集特征选择后,各候选特征子集所包含的特征数相比全部41个特征而言大为减少,这对于神经网络的学习训练和入侵检测系统的实时检测而言,会有较好的性能提升.

根据特征属性约简的结果,对于样本数据重新整合形成神经网络的输入向量,约简后的特征属性不会影响数据连接之间的内在联系,且可以减少存储空间和降低算法复杂性.在后面通过小波神经网络进行入侵分类的时候,根据选择出的特征属性,对样本数据集进行输入向量的构建,并在训练之前须对数据进行数值化和归一化处理,使它们可以适合于小波神经网络的处理,使用约简前后的数据集对基于小波神经网络的入侵检测系统进行检测,检测率分别为88.1%和90.4%,说明特征属性约简并不会影响网络的分类性能,而且可以缩短网络的训练时间.

5 结语

大量冗余特征的存在会加重入侵检测系统的存储负担并降低网络入侵检测分类器的性能.为此本文提出了基于粗糙集和信息熵的入侵检测特征选择处理方法,针对于KDDCup99标准数据集,使用该算法对网络入侵数据特征进行信息熵的计算、重要性的度量,完成了特征的选择.结果表明去除冗余特征后,入侵检测系统的检测率与使用全部特征时是基本不变的,但是训练和测试时间却降低了,达到了预想的效果.

[1]王元龙.模式识别在发动机故障诊断中的应用[J].科技信息,2011,28(1):32 -35.

[2] SUNG A H,MUKKAMALA S.Identifying important features for intrusion detection using support vector machines and neural networks[C] //Proceedings of the 2003 International Symposium on Applications and the Internet Technology.IEEE Computer Society Press,2003,209 -216.

[3] PAWLAK Z.Rough set theory and its applications to data analysis[J].Cybernetics and Systems 1998,29(7):661-688.

[4]付磊,王金亮.基于粗糙集理论的 RBF神经网络在LUCC分类浅析[J].云南师范大学学报:自然科学版,2010,30(3):28 -31.

[5]耿德志.基于粗糙集和模糊聚类方法的属性约简算法[J].软件导刊,2010,9(12):81 -83.

[6]蒋桂莲,徐蔚鸿.改进粗糙集属性约简算法和支撑向量机的特征选择算法[J].微计算机信息,2010,32(27):235-241.

[7]孟洋,赵方.基于信息熵理论的动态规划特征选取算法[J].计算机工程与设计,2010,39(17):1542-1548.

[8]邓林峰,赵荣珍.基于特征选择和变精度粗集的属性约简算法及其应用[J].机械科学与技术,2010,32(10):384-389.

[9]姜懿庭,姜跃,李静,等.入侵检测系统中动态优化检测器生成方法的研究[J].云南民族大学学报:自然科学版,2010,19(3):216-219.

[10] Kddcup99 -DataSet[EB/OL].[2010 -12 -20]http://kdd.ics.uci.edu/Databases/Kddcup99/task.html,1999.

猜你喜欢

约简粗糙集子集
基于隶属函数的模糊覆盖粗糙集新模型
局部双量化模糊粗糙集
魅力无限的子集与真子集
拓扑空间中紧致子集的性质研究
变精度多粒度粗糙集的信任结构
面向连续参数的多粒度属性约简方法研究
基于差别矩阵的区间值决策系统β分布约简
带权决策表的变精度约简算法
多粒度犹豫模糊粗糙集*
近似边界精度信息熵的属性约简