[发明专利]一种基于粗糙熵属性约简的入侵检测方法有效
申请号: | 201110397516.0 | 申请日: | 2011-12-03 |
公开(公告)号: | CN102521534A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 刘峰;李威;赵志宏;骆斌 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;H04L29/06 |
代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 陈建和 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 粗糙 属性 入侵 检测 方法 | ||
1.一种基于粗糙熵属性约简的入侵检测方法,其特征在于该方法包括如下步骤:
1)训练阶段:
a)收集已知类型进程的系统调用序列作为训练集;
b)统计训练集里某类进程中系统调用的出现概率对其序列作规范化处理,生成短序列集合;
c)基于属性重要度模型计算短序列的属性重要度并排序;
d)基于粗糙熵属性约简算法训练出某类型进程分类规则;
e)重复b、c、d得到训练集中所有类型进程的分类规则,得到进程分类规则集;
f)结束;
2)检测阶段
a)收集待测进程的系统调用序列;
b)对调用序列进行预处理生成短序列集合;
c)根据进程分类规则识别进程种类,判断进程是否异常;
d)结束。
2.根据权利要求1所述的基于粗糙熵属性约简的入侵检测方法,其特征在于步骤1-b所述的规范化处理:
1)从训练集中取出尚未得到分类规则的第t类进程的所有系统调用序列集合C,计算其中每种系统调用的出现概率,构建系统调用号与按其概率值严格升序排序后序号值之间的映射Mapt,用排序后的序号值代替原序列中的系统调用号,生成新的序列集合C’;
2)以长度为K的窗口将C’中每个长序列以步长1滑动截取成多个长度为K的短序列,若某个长序列长度为n,则可得到n-K+1个短序列。构建一个序信息系统I(U,A,V,f),其中U是对象集,每个短序列都是一个对象;A为属性集,每个对象可表示为K个属性各自取值的向量;f(x,a)是一个信息函数,表示U中对象x的属性a的取值;V为属性值的集合,A中所有属性的值域上存在偏序关系;
3)结束。
3.根据权利要求1所述的基于粗糙熵属性约简的入侵检测方法,其特征在于步骤1-c所述的属性重要度计算:
1)根据序信息系统属性重要度模型计算每个属性重要度,公式如下:
algin(a,A)=GI(A-{a])-GI(A),a∈A (I)
其中,GI是属性或属性集的信息粒度,对于属性集B的信息粒度计算公式如下:
其中,为对象基于属性集B的优势类,计算公式如下:
2)按照属性重要度取值对属性集A中的所有属性作降序排序;
3)结束。
4.根据权利要求1所述的基于粗糙熵属性约简的入侵检测方法,其特征在于步骤1-d所述的属性约简算法:
1)序信息系统初始约简集Red(A)为
2)A中的属性已按照属性重要度降序排序,依次选取A中属性ai,0<1≤K,令Red(A)=Red(A)U{aL},计算algin(aL,Red(A));若algin(ai,Rdd(A))≥α,则重复2);否则执行3);其中α为属性重要度阈值(α一般取值为0.05);
3)计算GI(Red(A))-GI(A),如果该值大于β,则执行2);否则执行4);其中β为约简集信息差阈值(β一般取值为0.05);
4)确定Red(A)为序信息系统的约简,去除在Red(A)中属性取值完全相同的冗余对象,得到新的对象集Ut,Ut的属性集为Red(A);
5)将Ut每个属性的取值根据Mapt由排序序号还原为系统调用号,得到第t类进程的分类规则Rt。
6)结束。
5.根据权利要求1所述的基于粗糙熵属性约简的入侵检测方法,其特征在于步骤1-e所述的属性约简算法,该步骤生成训练集的最终进程分类规则集R。
6.根据权利要求1所述的基于粗糙熵属性约简的入侵检测方法,其特征在于步骤2-b所述的属性约简算法:
1)以长度为K的窗口将待检测进程的系统调用序列序列以步长1滑动截取成多个相同长度的短序列,定义该短序列集合为S;
2)结束。
7.根据权利要求1所述的基于粗糙熵属性约简的入侵检测方法,其特征在于步骤2-c所述的属性约简算法:
1)将短序列集合S中的每个短序列与进程分类规则集作匹配,用matchL[]来记录S中的第i个短序列与各种类型进程的匹配情况,matchL[]长度为规则集中进程类型数T。当该短序列匹配到第t类进程时,matchL[t]=1,否则为0;用unmatch来记录未匹配到任何类型进程的短序列数量,初始为0,如果数组matchL[]各元素均为0,则unmatch加1;
2)用长度为T的数组count[]记录S中的短序列与进程匹配规则集的匹配情况。则count[t]表示匹配到第t类进程的短序列个数;
3)计算进程匹配支持度Sup=1-unmatch/|S|;
4)用长度为T的数组Conf[]来记录匹配到各类进程的可信度,计算该未知进程匹配到第t类进程的可信度Conf[t]=(count[t])/(|S|-unmatch);
5)判断待检测进程的类别,确定是否为入侵进程。设定支持度阈值Vsup可信度阈值Yconf;若Sup<Vsup,则判定待测进程为新的未知类型的异常,执行6);否则,寻找最大Conf[t],若Conf[t]<Vconf,则待测进程仍然判定为新的未知类型的异常,执行6);否则,该进程的类型为t,执行7);
6)提示进程未识别,执行8);
7)提示进程类型,给出是否属入侵进程的判断结果,执行8);
8)结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110397516.0/1.html,转载请声明来源钻瓜专利网。